mirror of
https://github.com/Cantera/cantera.git
synced 2025-02-25 18:55:29 -06:00
37 lines
879 B
Python
37 lines
879 B
Python
import cantera as ct
|
|
|
|
class SquareRateData(ct.ExtensibleRateData):
|
|
__slots__ = ("Tsquared",)
|
|
use_count = [0] # used in test for memory leak
|
|
|
|
def __init__(self):
|
|
self.use_count[0] += 1
|
|
|
|
def update(self, gas):
|
|
self.Tsquared = gas.T**2
|
|
return True
|
|
|
|
def __del__(self):
|
|
self.use_count[0] -= 1
|
|
|
|
@ct.extension(name="square-rate", data=SquareRateData)
|
|
class SquareRate(ct.ExtensibleRate):
|
|
__slots__ = ("A",)
|
|
use_count = [0] # used in test for memory leak
|
|
|
|
def __init__(self, *args, **kwargs):
|
|
super().__init__(*args, **kwargs)
|
|
self.use_count[0] += 1
|
|
|
|
def set_parameters(self, node, units):
|
|
self.A = node["A"]
|
|
|
|
def get_parameters(self, node):
|
|
node["A"] = self.A
|
|
|
|
def eval(self, data):
|
|
return self.A * data.Tsquared
|
|
|
|
def __del__(self):
|
|
self.use_count[0] -= 1
|