7#ifndef SVZERODSOLVER_MODEL_OPENLOOPCORONARYBC_HPP_
8#define SVZERODSOLVER_MODEL_OPENLOOPCORONARYBC_HPP_
146 void setup_dofs(DOFHandler& dofhandler)
override;
155 State initial_state, std::vector<double>& parameters)
override;
164 std::vector<double>& parameters)
override;
174 std::vector<double>& parameters)
override;
202 const std::vector<std::pair<std::string, InputParameter>>&
input_params)
219 virtual double get_Ram(std::vector<double>& parameters,
double time)
const;
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:44
model::Parameter source file
SparseSystem source file.
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:101
const std::vector< std::pair< std::string, InputParameter > > input_params
Map from name to input parameter.
Definition Block.h:84
const int id
Global ID of the block.
Definition Block.h:78
const Model * model
The model to which the block belongs.
Definition Block.h:79
const BlockType block_type
Type of this block.
Definition Block.h:80
Model of 0D elements.
Definition Model.h:55
virtual double get_Ram(std::vector< double > ¶meters, double time) const
Get microvascular resistance value.
Definition OpenLoopCoronaryBC.cpp:40
void update_constant(SparseSystem &system, std::vector< double > ¶meters) override
Update the constant contributions of the element in a sparse system.
Definition OpenLoopCoronaryBC.cpp:11
OpenLoopCoronaryBC(int id, Model *model, BlockType block_type, const std::vector< std::pair< std::string, InputParameter > > &input_params)
Protected constructor for derived classes.
Definition OpenLoopCoronaryBC.h:200
void update_time(SparseSystem &system, std::vector< double > ¶meters) override
Update the time-dependent contributions of the element in a sparse system.
Definition OpenLoopCoronaryBC.cpp:46
OpenLoopCoronaryBC(int id, Model *model)
Construct a new OpenLoopCoronaryBC object.
Definition OpenLoopCoronaryBC.h:123
TripletsContributions num_triplets
Number of triplets of element.
Definition OpenLoopCoronaryBC.h:182
void setup_initial_state_dependent_params(State initial_state, std::vector< double > ¶meters) override
Setup parameters that depend on the initial state.
Definition OpenLoopCoronaryBC.cpp:67
void setup_dofs(DOFHandler &dofhandler) override
Set up the degrees of freedom (DOF) of the block.
Definition OpenLoopCoronaryBC.cpp:7
double Pim_0
Pim at initial state.
Definition OpenLoopCoronaryBC.h:207
double P_Cim_0
Pressure proximal to Cim/Vim at initial state.
Definition OpenLoopCoronaryBC.h:206
virtual ~OpenLoopCoronaryBC()=default
Virtual destructor for proper cleanup in derived classes.
The number of triplets that the element contributes to the global system.
Definition Block.h:27