15 auto surf = std::dynamic_pointer_cast<SurfPhase>(
thermo);
18 "Thermo object of type '{}' does not descend from SurfPhase.",
26 auto surfkin = std::dynamic_pointer_cast<InterfaceKinetics>(
kinetics);
29 "Kinetics object of type '{}' does not descend from InterfaceKinetics.",
36 const string& name,
const vector<string>& adjacent)
39 auto iface = std::dynamic_pointer_cast<Interface>(sol);
42 AnyMap& phaseNode = rootNode[
"phases"].getMapWhere(
"name", name);
44 "Phase definition does not define a surface phase");
50 const string& name,
const vector<shared_ptr<Solution>>& adjacent)
53 AnyMap& phaseNode = rootNode[
"phases"].getMapWhere(
"name", name);
58 const vector<shared_ptr<Solution>>& adjacent)
60 auto sol =
newSolution(phaseNode, rootNode,
"", adjacent);
61 auto iface = std::dynamic_pointer_cast<Interface>(sol);
64 "Phase definition does not define a surface phase");
Headers for the factory class that can create known ThermoPhase objects (see Thermodynamic Properties...
A map of string keys to values whose type can vary at runtime.
static AnyMap fromYamlFile(const string &name, const string &parent_name="")
Create an AnyMap from a YAML file.
Base class for exceptions thrown by Cantera classes.
shared_ptr< InterfaceKinetics > m_surfkin
Kinetics manager.
void setThermo(shared_ptr< ThermoPhase > thermo) override
Set the reacting phase thermo object.
shared_ptr< InterfaceKinetics > kinetics()
Get the surface phase Kinetics object.
shared_ptr< SurfPhase > thermo()
Get the surface phase thermo object.
void setKinetics(shared_ptr< Kinetics > kinetics) override
Set the Kinetics object.
shared_ptr< SurfPhase > m_surf
Surface phase ThermoPhase manager.
virtual void setThermo(shared_ptr< ThermoPhase > thermo)
Set the ThermoPhase object.
virtual void setKinetics(shared_ptr< Kinetics > kinetics)
Set the Kinetics object.
shared_ptr< Solution > newSolution(const string &infile, const string &name, const string &transport, const vector< shared_ptr< Solution >> &adjacent)
Create and initialize a new Solution manager from an input file.
shared_ptr< Interface > newInterface(const string &infile, const string &name, const vector< string > &adjacent)
Create and initialize a new Interface from an input file.
Namespace for the Cantera kernel.