|
svMultiPhysics
|
Uniform and time dependent active stress model. More...
#include <ActiveStressUniformUnsteady.h>
Classes | |
| class | Parameters |
| Model parameters class. More... | |
Public Member Functions | |
| ActiveStressUniformUnsteady () | |
| Constructor. | |
| virtual std::unique_ptr< ActiveStressModelParameters > | get_parameters () const override |
| Construct an instance of model parameters. | |
| virtual void | init (const unsigned int tnNo) override |
| Initialization. | |
Public Member Functions inherited from ActiveStress | |
| ActiveStress (const unsigned int n_states_, const bool needs_fiber_stretch, const bool needs_fiber_stretch_rate) | |
| Constructor. | |
| virtual | ~ActiveStress ()=default |
| Virtual destructor. | |
| void | read_parameters (const ActiveStressParameters ¶ms) |
| Read model parameters from a parameter object. | |
| void | distribute_parameters (const CmMod &cm_mod, const cmType &cm) |
| Distribute model parameters to all parallel processes. | |
| double | get_tension_fibers (const int idx) const |
| Get the tension along fibers \(\eta_f \Tact\) at a given point. | |
| double | get_tension_sheets (const int idx) const |
| Get the tension along sheets \(\eta_s \Tact\) at a given point. | |
| double | get_tension_sheet_normals (const int idx) const |
| Get the tension along sheet normals \(\eta_n \Tact\) at a given point. | |
| 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. | |
| bool | needs_fiber_stretch () const |
| Whether this model uses the fiber stretch passed to advance_time_step. This flag can be used to determine whether fiber stretch computation can be skipped for efficiency. | |
| 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 determine whether fiber stretch rate computation can be skipped for efficiency. | |
Static Public Attributes | |
| static const std::string | label = "UniformUnsteady" |
| Model label. | |
Protected Member Functions | |
| virtual void | read_model_specific_parameters (const ActiveStressModelParameters ¶ms) override |
| Read model parameters from a parameter object. | |
| virtual void | distribute_model_specific_parameters (const CmMod &cm_mod, const cmType &cm) override |
| Distribute model parameters to all parallel processes. | |
| virtual void | init_local (Vector< double > &state) const override |
| Initialize the state vector for a single node. | |
| 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 override |
| Advance in time for a single node. | |
| virtual double | compute_active_tension_local (const Vector< double > &state, const double fiber_stretch) const override |
| Compute the active tension for a single node. | |
Protected Attributes | |
| bool | ramp |
| Toggle between ramp or Fourier transform. | |
| std::string | temporal_values_file_path |
| Name of the file containing the temporal values. | |
| FourierInterpolation | fourier_interpolation |
| Fourier interpolation of the time dependent data. | |
Protected Attributes inherited from ActiveStress | |
| bool | needs_fiber_stretch_ |
| Backing store for needs_fiber_stretch. | |
| bool | needs_fiber_stretch_rate_ |
| Backing store for needs_fiber_stretch_rate. | |
| double | time |
| Current time. Updated whenever calling advance_time_step. | |
| Array< double > | states |
| State variables for the model. | |
| Vector< double > | active_tension |
| Active tension at every node. | |
| double | eta_f |
| Active tension coefficient along the fiber direction. | |
| double | eta_s |
| Active tension coefficient along the sheet direction. | |
| double | eta_n |
| Active tension coefficient along the sheet-normal direction. | |
Additional Inherited Members | |
Public Attributes inherited from ActiveStress | |
| const unsigned int | n_states |
| Number of state variables for this model. | |
Uniform and time dependent active stress model.
Defines an active tension that is constant in space but time dependent, i.e.
\[ \Tact(t, \calcium, \fiberstretch, \fiberstretchrate, \astressstate) = g(t)\;, \]
where \(g(t)\) is a user-defined function of time.
|
inline |
Constructor.
|
inlineoverrideprotectedvirtual |
Advance in time for a single node.
This model has no states, so this function does nothing.
Implements ActiveStress.
|
overrideprotectedvirtual |
Compute the active tension for a single node.
Implements ActiveStress.
|
overrideprotectedvirtual |
Distribute model parameters to all parallel processes.
Implements ActiveStress.
|
inlineoverridevirtual |
Construct an instance of model parameters.
Implements ActiveStress.
|
overridevirtual |
Initialization.
Calls the parent class initialization method, and reads the Fourier coefficient from file.
Reimplemented from ActiveStress.
|
inlineoverrideprotectedvirtual |
Initialize the state vector for a single node.
This model has no states, so this function does nothing.
Implements ActiveStress.
|
overrideprotectedvirtual |
Read model parameters from a parameter object.
Implements ActiveStress.
|
protected |
Fourier interpolation of the time dependent data.
|
inlinestatic |
Model label.
|
protected |
Toggle between ramp or Fourier transform.
|
protected |
Name of the file containing the temporal values.