|
svZeroDSolver
|
Strain-dependent active stress model from [1]. More...
#include <ActiveStress.h>
Public Member Functions | |
| int | num_extra_vars () const override |
| Number of internal variables this model owns beyond ChamberSphere's fixed 5 (radius, velo, stress, tau, volume). | |
| std::list< std::string > | extra_var_names () const override |
| Names of this model's extra internal variables, in registration order (appended immediately after "volume"). | |
| int | num_extra_equations () const override |
| Number of equations this model owns beyond ChamberSphere's fixed 6 core equations. Every ActiveStress supplies at least the equation defining | |
| ActivationSignalType | required_signal_type () const override |
| Type of activation signal this active stress model needs. | |
| void | update_constant (SparseSystem &system, const std::vector< int > &global_eqn_ids, const std::vector< int > &global_var_ids) override |
| Constant (time- and solution-independent) contributions. | |
| void | update_time (SparseSystem &system, const std::vector< int > &global_eqn_ids, const std::vector< int > &global_var_ids, double activation_signal) override |
| Time-dependent contributions. | |
| void | update_solution (SparseSystem &system, const std::vector< int > &global_eqn_ids, const std::vector< int > &global_var_ids, const Eigen::Matrix< double, Eigen::Dynamic, 1 > &y, const Eigen::Matrix< double, Eigen::Dynamic, 1 > &dy, double radius0, double activation_signal) override |
| Solution-dependent contributions. | |
| Public Member Functions inherited from ActiveStress | |
| ActiveStress (const std::vector< std::pair< std::string, InputParameter > > &props) | |
| Construct an ActiveStress model. | |
| Public Member Functions inherited from ParameterHolder | |
| ParameterHolder (const std::vector< std::pair< std::string, InputParameter > > &props) | |
| Construct a ParameterHolder. | |
| void | set_param (const std::string &name, double value) |
| Set a scalar parameter value by name. | |
| void | set_param_vector (const std::string &name, const std::vector< double > &value) |
| Set a vector-valued parameter value by name. | |
| virtual void | finalize () |
| Called once after all parameters have been read from the input file (e.g. by the loader). | |
Additional Inherited Members | |
| Static Public Member Functions inherited from ActiveStress | |
| static std::unique_ptr< ActiveStress > | create (const std::string &type_str) |
| Factory: create an active stress model from a type string. | |
| Public Attributes inherited from ParameterHolder | |
| const std::vector< std::pair< std::string, InputParameter > > | input_param_properties |
| Properties of the input parameters for this component [(name, InputParameter), ...]. | |
| Static Public Attributes inherited from ActiveStress | |
| static constexpr int | RADIUS_VAR |
| Radius position within ChamberSphere's own global_var_ids array. | |
| static constexpr int | VELO_VAR |
| static constexpr int | STRESS_VAR |
| static constexpr int | TAU_VAR |
| static constexpr int | VOLUME_VAR |
| Volume position within ChamberSphere's own global_var_ids array. | |
| static constexpr int | NUM_CORE_VARS |
| static constexpr int | NUM_CORE_EQNS |
| Protected Attributes inherited from ParameterHolder | |
| std::map< std::string, double > | params_ |
| Map of scalar parameter names to their values. | |
| std::map< std::string, std::vector< double > > | params_vec_ |
| Map of vector-valued parameter names to their values. | |
Strain-dependent active stress model from [1].
Owns 5 extra equations and 4 extra variables ( 
![\[\tau = E_s \frac{e_{1D} - e_c}{(1 + 2 e_c)^2}
\]](form_15.png)
with 
![\[\dot{\omega} = \frac{1}{\alpha_r}(m_0 - \omega)
\]](form_17.png)
![\[\dot{e}_c = \frac{1}{\mu}\left(E_s \frac{(e_{1D} - e_c)(1 + 2 e_{1D})}
{(1 + 2 e_c)^3} - \tau_c\right)
\]](form_18.png)
![\[\dot{k}_c = -(|u|_+ + \omega |u|_- + \alpha |\dot{e}_c|) k_c + n_0 k_0 |u|_+
\]](form_19.png)
![\[\dot{\tau}_c = -(|u|_+ + \omega |u|_- + \alpha |\dot{e}_c|) \tau_c + n_0
\sigma_0 |u|_+ + k_c \dot{e}_c
\]](form_20.png)
where 



Parameters: E_s, mu, alpha_r, alpha, k_0, sigma_0, n0_e_c, n0_values, m0_e_c, m0_values
|
inlineoverridevirtual |
Names of this model's extra internal variables, in registration order (appended immediately after "volume").
Reimplemented from ActiveStress.
|
inlineoverridevirtual |
Number of equations this model owns beyond ChamberSphere's fixed 6 core equations. Every ActiveStress supplies at least the equation defining 
Implements ActiveStress.
|
inlineoverridevirtual |
Number of internal variables this model owns beyond ChamberSphere's fixed 5 (radius, velo, stress, tau, volume).
Reimplemented from ActiveStress.
|
inlineoverridevirtual |
Type of activation signal this active stress model needs.
Checked against the chamber's ActivationFunction::signal_type in ChamberSphere::setup_dofs to catch mismatched pairings (e.g. strain_dependent active stress with a normalized activation function).
Implements ActiveStress.
|
overridevirtual |
Constant (time- and solution-independent) contributions.
| system | System to update contributions at |
| global_eqn_ids | ChamberSphere's global equation indices |
| global_var_ids | ChamberSphere's global variable indices |
Reimplemented from ActiveStress.
|
overridevirtual |
Solution-dependent contributions.
| system | System to update contributions at |
| global_eqn_ids | ChamberSphere's global equation indices |
| global_var_ids | ChamberSphere's global variable indices |
| y | Current solution |
| dy | Current derivative of the solution |
| radius0 | Reference radius |
| activation_signal | The chamber's ActivationFunction evaluated at the current time |
Implements ActiveStress.
|
overridevirtual |
Time-dependent contributions.
| system | System to update contributions at |
| global_eqn_ids | ChamberSphere's global equation indices |
| global_var_ids | ChamberSphere's global variable indices |
| activation_signal | The chamber's ActivationFunction evaluated at the current time |
Reimplemented from ActiveStress.