svMultiPhysics
Loading...
Searching...
No Matches
Classes | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
ActiveStressUniformUnsteady Class Reference

Uniform and time dependent active stress model. More...

#include <ActiveStressUniformUnsteady.h>

Inheritance diagram for ActiveStressUniformUnsteady:
[legend]

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 &params)
 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 &params) 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.
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ ActiveStressUniformUnsteady()

ActiveStressUniformUnsteady::ActiveStressUniformUnsteady ( )
inline

Constructor.

Member Function Documentation

◆ advance_time_step_local()

virtual void ActiveStressUniformUnsteady::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
inlineoverrideprotectedvirtual

Advance in time for a single node.

This model has no states, so this function does nothing.

Implements ActiveStress.

◆ compute_active_tension_local()

double ActiveStressUniformUnsteady::compute_active_tension_local ( const Vector< double > &  state,
const double  fiber_stretch 
) const
overrideprotectedvirtual

Compute the active tension for a single node.

Implements ActiveStress.

◆ distribute_model_specific_parameters()

void ActiveStressUniformUnsteady::distribute_model_specific_parameters ( const CmMod &  cm_mod,
const cmType &  cm 
)
overrideprotectedvirtual

Distribute model parameters to all parallel processes.

Implements ActiveStress.

◆ get_parameters()

virtual std::unique_ptr< ActiveStressModelParameters > ActiveStressUniformUnsteady::get_parameters ( ) const
inlineoverridevirtual

Construct an instance of model parameters.

Implements ActiveStress.

◆ init()

void ActiveStressUniformUnsteady::init ( const unsigned int  tnNo)
overridevirtual

Initialization.

Calls the parent class initialization method, and reads the Fourier coefficient from file.

Reimplemented from ActiveStress.

◆ init_local()

virtual void ActiveStressUniformUnsteady::init_local ( Vector< double > &  state) const
inlineoverrideprotectedvirtual

Initialize the state vector for a single node.

This model has no states, so this function does nothing.

Implements ActiveStress.

◆ read_model_specific_parameters()

void ActiveStressUniformUnsteady::read_model_specific_parameters ( const ActiveStressModelParameters &  params)
overrideprotectedvirtual

Read model parameters from a parameter object.

Implements ActiveStress.

Member Data Documentation

◆ fourier_interpolation

FourierInterpolation ActiveStressUniformUnsteady::fourier_interpolation
protected

Fourier interpolation of the time dependent data.

◆ label

const std::string ActiveStressUniformUnsteady::label = "UniformUnsteady"
inlinestatic

Model label.

◆ ramp

bool ActiveStressUniformUnsteady::ramp
protected

Toggle between ramp or Fourier transform.

◆ temporal_values_file_path

std::string ActiveStressUniformUnsteady::temporal_values_file_path
protected

Name of the file containing the temporal values.


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