OGS
ProcessLib::TES::TESFEMReactionAdaptorSinusoidal Class Referencefinal

Detailed Description

Definition at line 98 of file TESReactionAdaptor.h.

#include <TESReactionAdaptor.h>

Inheritance diagram for ProcessLib::TES::TESFEMReactionAdaptorSinusoidal:
[legend]
Collaboration diagram for ProcessLib::TES::TESFEMReactionAdaptorSinusoidal:
[legend]

Public Member Functions

 TESFEMReactionAdaptorSinusoidal (TESLocalAssemblerData const &data)
 
ReactionRate initReaction (const unsigned) override
 
- Public Member Functions inherited from ProcessLib::TES::TESFEMReactionAdaptor
virtual bool checkBounds (std::vector< double > const &, std::vector< double > const &)
 
virtual void preZerothTryAssemble ()
 
virtual double getReactionDampingFactor () const
 
virtual ~TESFEMReactionAdaptor ()=default
 

Private Attributes

TESLocalAssemblerData const & _d
 

Additional Inherited Members

- Static Public Member Functions inherited from ProcessLib::TES::TESFEMReactionAdaptor
static std::unique_ptr< TESFEMReactionAdaptornewInstance (TESLocalAssemblerData const &data)
 

Constructor & Destructor Documentation

◆ TESFEMReactionAdaptorSinusoidal()

ProcessLib::TES::TESFEMReactionAdaptorSinusoidal::TESFEMReactionAdaptorSinusoidal ( TESLocalAssemblerData const & data)
explicit

Definition at line 277 of file TESReactionAdaptor.cpp.

279 : _d(data)
280{
281 assert(dynamic_cast<Adsorption::ReactionSinusoidal const*>(
282 data.ap.react_sys.get()) != nullptr &&
283 "Reactive system has wrong type.");
284}

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

Member Function Documentation

◆ initReaction()

ReactionRate ProcessLib::TES::TESFEMReactionAdaptorSinusoidal::initReaction ( const unsigned )
overridevirtual

Implements ProcessLib::TES::TESFEMReactionAdaptor.

Definition at line 286 of file TESReactionAdaptor.cpp.

288{
289 const double t = _d.ap.current_time;
290
291 // Cf. OGS5
292 const double rhoSR0 = 1.0;
293 const double rhoTil = 0.1;
294 const double omega = 2.0 * 3.1416;
295 const double poro = _d.ap.poro;
296
297 return {rhoTil * omega * cos(omega * t) / (1.0 - poro),
298 rhoSR0 + rhoTil * std::sin(omega * t) / (1.0 - poro)};
299}

References _d, ProcessLib::TES::TESLocalAssemblerData::ap, ProcessLib::TES::AssemblyParams::current_time, and ProcessLib::TES::AssemblyParams::poro.

Member Data Documentation

◆ _d

TESLocalAssemblerData const& ProcessLib::TES::TESFEMReactionAdaptorSinusoidal::_d
private

Definition at line 106 of file TESReactionAdaptor.h.

Referenced by initReaction().


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