23struct TESLocalAssemblerData;
35 std::vector<double>
const& )
47 static std::unique_ptr<TESFEMReactionAdaptor>
newInstance(
56 bool checkBounds(std::vector<double>
const& local_x,
57 std::vector<double>
const& local_x_prev_ts)
override;
79 const double C0)
const;
ReactionRate initReaction(const unsigned int_pt) override
ReactionRate initReaction_slowDownUndershootStrategy(const unsigned int_pt)
double getReactionDampingFactor() const override
TESFEMReactionAdaptorAdsorption(TESLocalAssemblerData const &data)
double estimateAdsorptionEquilibrium(const double p_V0, const double C0) const
std::vector< bool > _bounds_violation
bool checkBounds(std::vector< double > const &local_x, std::vector< double > const &local_x_prev_ts) override
double _reaction_damping_factor
void preZerothTryAssemble() override
TESLocalAssemblerData const & _d
ReactionRate initReaction(const unsigned) override
static bool odeRhs(const double, MathLib::ODE::MappedConstVector< 1 > const y, MathLib::ODE::MappedVector< 1 > ydot, React &reaction)
TESFEMReactionAdaptorCaOH2(TESLocalAssemblerData const &data)
std::unique_ptr< MathLib::ODE::ODESolver< 1 > > _ode_solver
ReactionRate initReaction(const unsigned int_pt) override
TESFEMReactionAdaptorInert(TESLocalAssemblerData const &)
TESLocalAssemblerData const & _d
TESLocalAssemblerData const & _d
ReactionRate initReaction(const unsigned) override
TESFEMReactionAdaptorSinusoidal(TESLocalAssemblerData const &data)
virtual void preZerothTryAssemble()
virtual bool checkBounds(std::vector< double > const &, std::vector< double > const &)
virtual ~TESFEMReactionAdaptor()=default
static std::unique_ptr< TESFEMReactionAdaptor > newInstance(TESLocalAssemblerData const &data)
virtual ReactionRate initReaction(const unsigned int_pt)=0
virtual double getReactionDampingFactor() const
MappedConstMatrix< N, 1 > MappedConstVector
MappedMatrix< N, 1 > MappedVector
const double reaction_rate
const double solid_density