Cantera 2.6.0

Public Member Functions | Static Public Member Functions | Static Private Attributes | List of all members
KineticsFactory Class Reference

Factory for kinetics managers. More...

`#include <KineticsFactory.h>`

Inheritance diagram for KineticsFactory:
[legend]
Collaboration diagram for KineticsFactory:
[legend]

## Public Member Functions
virtual void | deleteFactory ()
| Virtual abstract function that deletes the factory. More...
virtual Kinetics * | newKinetics (XML_Node &phase, std::vector< ThermoPhase * > th)
| Return a new kinetics manager that implements a reaction mechanism specified in a CTML file. More...
virtual Kinetics * | newKinetics (const std::string &model)
| Return a new, empty kinetics manager. More...
Public Member Functions inherited from Factory< Kinetics >
Kinetics * | create (const std::string &name, Args... args)
| Create an object using the object construction function corresponding to "name" and the provided constructor arguments. More...
void | reg (const std::string &name, std::function< Kinetics *(Args...)> f)
| Register a new object construction function. More...
void | addAlias (const std::string &original, const std::string &alias)
| Add an alias for an existing registered type. More...
std::string | canonicalize (const std::string &name)
| Get the canonical name registered for a type. More...
bool | exists (const std::string &name) const
| Returns true if `name` is registered with this factory. More...
Public Member Functions inherited from FactoryBase
virtual | ~FactoryBase ()
| destructor More...

## Static Public Member Functions
static KineticsFactory * | factory ()
Static Public Member Functions inherited from FactoryBase
static void | deleteFactories ()
| static function that deletes all factories in the internal registry maintained in a static variable More...

## Static Private Attributes
static KineticsFactory * | s_factory = 0
static std::mutex | kinetics_mutex

## Additional Inherited Members
Protected Member Functions inherited from Factory< Kinetics >
void | addDeprecatedAlias (const std::string &original, const std::string &alias)
| Add a deprecated alias for an existing registered type. More...
Protected Member Functions inherited from FactoryBase
| FactoryBase ()
| Constructor. More...
virtual void | deleteFactory ()=0
| Virtual abstract function that deletes the factory. More...

## Detailed Description

Factory for kinetics managers.

Definition at line 34 of file KineticsFactory.h.

## Constructor & Destructor Documentation

## ◆ KineticsFactory()

KineticsFactory | ( |  | ) |
| private

Definition at line 43 of file KineticsFactory.cpp.

## Member Function Documentation

## ◆ factory()

static KineticsFactory * factory | ( |  | ) |
| inline static

Definition at line 37 of file KineticsFactory.h.

## ◆ deleteFactory()

virtual void deleteFactory | ( |  | ) |
| inline virtual

Virtual abstract function that deletes the factory.

This must be properly defined in child objects.

Implements FactoryBase.

Definition at line 45 of file KineticsFactory.h.

## ◆ newKinetics() [1/2]

Kinetics * newKinetics | ( | XML_Node & | phase,
|  | std::vector< ThermoPhase * > | th
| ) |  |
| virtual

Return a new kinetics manager that implements a reaction mechanism specified in a CTML file.

In other words, the kinetics manager, given the rate constants and formulation of the reactions that make up a kinetics mechanism, is responsible for calculating the rates of progress of the reactions and for calculating the source terms for species.

Parameters

  phase | An XML_Node that contains the XML data describing the phase. Of particular note to this routine is the child XML element called "kinetics". The element has one attribute called "model", with a string value. The value of this string is used to decide which kinetics manager is used to calculate the reaction mechanism.
  th | Vector of phases. The first phase is the phase in which the reactions occur, and the subsequent phases (if any) are for example bulk phases adjacent to a reacting surface.

Returns
  Pointer to the new kinetics manager.

Deprecated:
  The XML input format is deprecated and will be removed in Cantera 3.0.

Definition at line 25 of file KineticsFactory.cpp.

References XML_Node::child(), Cantera::importKinetics(), and KineticsFactory::newKinetics().

Referenced by KineticsFactory::newKinetics().

## ◆ newKinetics() [2/2]

Kinetics * newKinetics | ( | const std::string & | model | ) |
| virtual

Return a new, empty kinetics manager.

Definition at line 58 of file KineticsFactory.cpp.

References Factory< Kinetics >::create(), and Cantera::toLowerCopy().

## Member Data Documentation

## ◆ s_factory

KineticsFactory * s_factory = 0
| static private

Definition at line 81 of file KineticsFactory.h.

## ◆ kinetics_mutex

std::mutex kinetics_mutex
| static private

Definition at line 83 of file KineticsFactory.h.

The documentation for this class was generated from the following files:

- KineticsFactory.h
- KineticsFactory.cpp