21bool supports_active_stress(
const consts::EquationType eq_type);
126 virtual std::unique_ptr<ActiveStressModelParameters>
169 virtual void init(
const unsigned int tnNo);
254 const double calcium,
255 const double fiber_stretch,
256 const double fiber_stretch_rate,
267 const double fiber_stretch)
const = 0;
298#define REGISTER_ACTIVE_STRESS_MODEL(name, type) \
299 REGISTER_IN_FACTORY(ActiveStress, type, name)
Abstract active stress class.
Definition ActiveStress.h:100
virtual void init_local(Vector< double > &state) const =0
Initialize the state vector for a single node.
double get_tension_sheet_normals(const int idx) const
Get the tension along sheet normals at a given point.
Definition ActiveStress.h:157
double eta_n
Active tension coefficient along the sheet-normal direction.
Definition ActiveStress.h:285
double time
Current time. Updated whenever calling advance_time_step.
Definition ActiveStress.h:270
virtual void advance_time_step_local(const double t, const double dt, const double calcium, const double fiber_stretch, const double fiber_stretch_rate, Vector< double > &state) const =0
Advance in time for a single node.
bool needs_fiber_stretch_
Backing store for needs_fiber_stretch.
Definition ActiveStress.h:208
virtual double compute_active_tension_local(const Vector< double > &state, const double fiber_stretch) const =0
Compute the active tension for a single node.
virtual void advance_time_step(const double t, const double dt, const Vector< double > &calcium, const Vector< double > &fiber_stretch, const Vector< double > &fiber_stretch_rate)
Advance in time.
Definition ActiveStress.cpp:45
virtual void read_model_specific_parameters(const ActiveStressModelParameters ¶ms)=0
Read model parameters from a parameter object.
double eta_f
Active tension coefficient along the fiber direction.
Definition ActiveStress.h:279
bool needs_fiber_stretch_rate_
Backing store for needs_fiber_stretch_rate.
Definition ActiveStress.h:213
Vector< double > active_tension
Active tension at every node.
Definition ActiveStress.h:276
void read_parameters(const ActiveStressParameters ¶ms)
Read model parameters from a parameter object.
Definition ActiveStress.cpp:12
double get_tension_fibers(const int idx) const
Get the tension along fibers at a given point.
Definition ActiveStress.h:142
Array< double > states
State variables for the model.
Definition ActiveStress.h:273
double eta_s
Active tension coefficient along the sheet direction.
Definition ActiveStress.h:282
const unsigned int n_states
Number of state variables for this model.
Definition ActiveStress.h:188
void distribute_parameters(const CmMod &cm_mod, const cmType &cm)
Distribute model parameters to all parallel processes.
Definition ActiveStress.cpp:21
bool needs_fiber_stretch_rate() const
Whether this model uses the fiber stretch rate passed to advance_time_step. This flag can be used to ...
Definition ActiveStress.h:202
virtual ~ActiveStress()=default
Virtual destructor.
virtual std::unique_ptr< ActiveStressModelParameters > get_parameters() const =0
Construct an instance of model parameters for this model.
bool needs_fiber_stretch() const
Whether this model uses the fiber stretch passed to advance_time_step. This flag can be used to deter...
Definition ActiveStress.h:195
virtual void distribute_model_specific_parameters(const CmMod &cm_mod, const cmType &cm)=0
Distribute model parameters to all parallel processes.
virtual void init(const unsigned int tnNo)
Initialize the model.
Definition ActiveStress.cpp:30
double get_tension_sheets(const int idx) const
Get the tension along sheets at a given point.
Definition ActiveStress.h:149
ActiveStress(const unsigned int n_states_, const bool needs_fiber_stretch, const bool needs_fiber_stretch_rate)
Constructor.
Definition ActiveStress.h:113
Parameters for a generic active stress model.
Definition Parameters.h:1444
Parameters for active stress models.
Definition Parameters.h:1534
The CmMod class duplicates the data structures in the Fortran CMMOD module defined in COMU....
Definition CmMod.h:36
Abstract self-registering factory.
Definition factory.h:30
The Vector template class is used for storing int and double data.
Definition Vector.h:26
The cmType class stores data and defines methods used for mpi communication.
Definition CmMod.h:56