OGS
ProcessLib::TES::TESFEMReactionAdaptor Class Referenceabstract

Detailed Description

Definition at line 31 of file TESReactionAdaptor.h.

#include <TESReactionAdaptor.h>

Inheritance diagram for ProcessLib::TES::TESFEMReactionAdaptor:
[legend]

Public Member Functions

virtual bool checkBounds (std::vector< double > const &, std::vector< double > const &)
 
virtual ReactionRate initReaction (const unsigned int_pt)=0
 
virtual void preZerothTryAssemble ()
 
virtual double getReactionDampingFactor () const
 
virtual ~TESFEMReactionAdaptor ()=default
 

Static Public Member Functions

static std::unique_ptr< TESFEMReactionAdaptornewInstance (TESLocalAssemblerData const &data)
 

Constructor & Destructor Documentation

◆ ~TESFEMReactionAdaptor()

virtual ProcessLib::TES::TESFEMReactionAdaptor::~TESFEMReactionAdaptor ( )
virtualdefault

Member Function Documentation

◆ checkBounds()

virtual bool ProcessLib::TES::TESFEMReactionAdaptor::checkBounds ( std::vector< double > const & ,
std::vector< double > const &  )
inlinevirtual

Reimplemented in ProcessLib::TES::TESFEMReactionAdaptorAdsorption.

Definition at line 34 of file TESReactionAdaptor.h.

36 {
37 return true; // by default accept everything
38 }

◆ getReactionDampingFactor()

virtual double ProcessLib::TES::TESFEMReactionAdaptor::getReactionDampingFactor ( ) const
inlinevirtual

Reimplemented in ProcessLib::TES::TESFEMReactionAdaptorAdsorption.

Definition at line 44 of file TESReactionAdaptor.h.

44{ return -1.0; }

◆ initReaction()

◆ newInstance()

std::unique_ptr< TESFEMReactionAdaptor > ProcessLib::TES::TESFEMReactionAdaptor::newInstance ( TESLocalAssemblerData const & data)
static

Definition at line 26 of file TESReactionAdaptor.cpp.

28{
29 auto const* ads = data.ap.react_sys.get();
30 if (dynamic_cast<Adsorption::AdsorptionReaction const*>(ads) != nullptr)
31 {
32 return std::make_unique<TESFEMReactionAdaptorAdsorption>(data);
33 }
34 if (dynamic_cast<Adsorption::ReactionInert const*>(ads) != nullptr)
35 {
36 return std::make_unique<TESFEMReactionAdaptorInert>(data);
37 }
38 if (dynamic_cast<Adsorption::ReactionSinusoidal const*>(ads) != nullptr)
39 {
40 return std::make_unique<TESFEMReactionAdaptorSinusoidal>(data);
41 }
42 if (dynamic_cast<Adsorption::ReactionCaOH2 const*>(ads) != nullptr)
43 {
44 return std::make_unique<TESFEMReactionAdaptorCaOH2>(data);
45 }
46
47 OGS_FATAL("No suitable TESFEMReactionAdaptor found. Aborting.");
48 return nullptr;
49}
#define OGS_FATAL(...)
Definition Error.h:26

References ProcessLib::TES::TESLocalAssemblerData::ap, OGS_FATAL, and ProcessLib::TES::AssemblyParams::react_sys.

◆ preZerothTryAssemble()

virtual void ProcessLib::TES::TESFEMReactionAdaptor::preZerothTryAssemble ( )
inlinevirtual

Reimplemented in ProcessLib::TES::TESFEMReactionAdaptorAdsorption.

Definition at line 42 of file TESReactionAdaptor.h.

42{}

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