7#ifndef SVZERODSOLVER_MODEL_ChamberSphere_HPP_
8#define SVZERODSOLVER_MODEL_ChamberSphere_HPP_
184 void setup_dofs(DOFHandler& dofhandler)
override;
194 std::vector<double>& parameters)
override;
204 std::vector<double>& parameters)
override;
216 SparseSystem& system, std::vector<double>& parameters,
217 const Eigen::Matrix<double, Eigen::Dynamic, 1>& y,
218 const Eigen::Matrix<double, Eigen::Dynamic, 1>& dy)
override;
224 void set_material(std::unique_ptr<SphereMaterial> m)
override;
227 double activation_signal_ = 0.0;
229 std::unique_ptr<ActivationFunction> activation_function_;
231 std::unique_ptr<ActiveStress> active_stress_;
233 std::unique_ptr<SphereMaterial> material_;
241 TripletsContributions num_triplets{0, 0, 18};
Activation function classes for cardiac chamber models.
Active stress models for chamber blocks.
BlockType
The types of blocks supported by the solver.
Definition BlockType.h:15
BlockClass
The classes/categories of blocks supported. Some classes require special handling (e....
Definition BlockType.h:45
SparseSystem source file.
Material models for the ChamberSphere block.
Block(int id, Model *model, BlockType block_type, BlockClass block_class, std::vector< std::pair< std::string, InputParameter > > input_params)
Construct a new Block object.
Definition Block.h:103
const int id
Global ID of the block.
Definition Block.h:80
const Model * model
The model to which the block belongs.
Definition Block.h:81
void set_active_stress(std::unique_ptr< ActiveStress > as) override
Set active stress model (for chamber blocks that use one).
Definition ChamberSphere.cpp:160
ChamberSphere(int id, Model *model)
Construct a new ChamberSphere object.
Definition ChamberSphere.h:167
void update_constant(SparseSystem &system, std::vector< double > ¶meters) override
Update the constant contributions of the element in a sparse system.
Definition ChamberSphere.cpp:55
ParamId
Local IDs of the parameters.
Definition ChamberSphere.h:154
void set_activation_function(std::unique_ptr< ActivationFunction > af) override
Set activation function (for chamber blocks that use one).
Definition ChamberSphere.cpp:155
void update_solution(SparseSystem &system, std::vector< double > ¶meters, const Eigen::Matrix< double, Eigen::Dynamic, 1 > &y, const Eigen::Matrix< double, Eigen::Dynamic, 1 > &dy) override
Update the solution-dependent contributions of the element in a sparse system.
Definition ChamberSphere.cpp:94
void update_time(SparseSystem &system, std::vector< double > ¶meters) override
Update the time-dependent contributions of the element in a sparse system.
Definition ChamberSphere.cpp:87
void setup_dofs(DOFHandler &dofhandler) override
Set up the degrees of freedom (DOF) of the block.
Definition ChamberSphere.cpp:11
void set_material(std::unique_ptr< SphereMaterial > m) override
Set wall material (for ChamberSphere blocks).
Definition ChamberSphere.cpp:151
Model of 0D elements.
Definition Model.h:56