16Interface::Interface() {}
20 auto surf = std::dynamic_pointer_cast<SurfPhase>(
thermo);
23 "Thermo object of type '{}' does not descend from SurfPhase.",
31 auto surfkin = std::dynamic_pointer_cast<InterfaceKinetics>(
kinetics);
34 "Kinetics object of type '{}' does not descend from InterfaceKinetics.",
41 const std::string& name,
const std::vector<std::string>& adjacent)
44 auto iface = std::dynamic_pointer_cast<Interface>(sol);
47 AnyMap& phaseNode = rootNode[
"phases"].getMapWhere(
"name", name);
49 "Phase definition does not define a surface phase");
55 const std::string& name,
const std::vector<shared_ptr<Solution>>& adjacent)
58 AnyMap& phaseNode = rootNode[
"phases"].getMapWhere(
"name", name);
63 const std::vector<shared_ptr<Solution>>& adjacent)
65 auto sol =
newSolution(phaseNode, rootNode,
"", adjacent);
66 auto iface = std::dynamic_pointer_cast<Interface>(sol);
69 "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 std::string &name, const std::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.
Namespace for the Cantera kernel.
shared_ptr< Solution > newSolution(const std::string &infile, const std::string &name, const std::string &transport, const std::vector< std::string > &adjacent)
Create and initialize a new Solution from an input file.
shared_ptr< Interface > newInterface(const std::string &infile, const std::string &name="", const std::vector< std::string > &adjacent={})
Create and initialize a new Interface from an input file.