30 #ifndef ELECTRO_PHYSIOLOGY_H 31 #define ELECTRO_PHYSIOLOGY_H 43 size_t gate_variable_;
44 size_t active_contraction_stress_;
46 virtual Real getProductionRateIonicCurrent(StdVec<
StdLargeVec<Real>> &species,
size_t particle_i) = 0;
47 virtual Real getLossRateIonicCurrent(StdVec<
StdLargeVec<Real>> &species,
size_t particle_i) = 0;
48 virtual Real getProductionRateGateVariable(StdVec<
StdLargeVec<Real>> &species,
size_t particle_i) = 0;
49 virtual Real getLossRateGateVariable(StdVec<
StdLargeVec<Real>> &species,
size_t particle_i) = 0;
50 virtual Real getProductionActiveContractionStress(StdVec<
StdLargeVec<Real>> &species,
size_t particle_i);
51 virtual Real getLossRateActiveContractionStress(StdVec<
StdLargeVec<Real>> &species,
size_t particle_i);
56 k_a_(k_a), voltage_(species_indexes_map_[
"Voltage"]),
57 gate_variable_(species_indexes_map_[
"GateVariable"]),
58 active_contraction_stress_(species_indexes_map_[
"ActiveContractionStress"])
60 reaction_model_ =
"ElectroPhysiologyReaction";
61 initializeElectroPhysiologyReaction();
65 void initializeElectroPhysiologyReaction();
78 Real
k_, a_, b_, mu_1_, mu_2_, epsilon_, c_m_;
80 virtual Real getProductionRateIonicCurrent(StdVec<
StdLargeVec<Real>> &species,
size_t particle_i)
override;
81 virtual Real getLossRateIonicCurrent(StdVec<
StdLargeVec<Real>> &species,
size_t particle_i)
override;
82 virtual Real getProductionRateGateVariable(StdVec<
StdLargeVec<Real>> &species,
size_t particle_i)
override;
83 virtual Real getLossRateGateVariable(StdVec<
StdLargeVec<Real>> &species,
size_t particle_i)
override;
86 explicit AlievPanfilowModel(Real k_a, Real c_m, Real k, Real a, Real b, Real mu_1, Real mu_2, Real epsilon)
88 epsilon_(epsilon), c_m_(c_m)
90 reaction_model_ =
"AlievPanfilowModel";
103 Real diff_cf, Real bias_diff_cf, Vecd bias_direction);
115 Real diff_cf, Real bias_diff_cf, Vecd bias_direction);
118 virtual void readFromXmlForLocalParameters(
const std::string &filefullpath)
override;
147 virtual Vecd
getKernelGradient(
size_t particle_index_i,
size_t particle_index_j, Real dW_ij, Vecd &e_ij)
override 153 namespace electro_physiology
155 typedef DiffusionReactionSimpleData<RealBody, SolidParticles, Solid> ElectroPhysiologyDataDelegateSimple;
156 typedef DiffusionReactionInnerData<RealBody, SolidParticles, Solid> ElectroPhysiologyDataDelegateInner;
171 StdVec<StdLargeVec<Real>> &species_n_;
191 RelaxationOfAllDiffusionSpeciesInner<RealBody, SolidParticles, Solid>>
204 RelaxationOfAllDiffusionSpeciesComplex<RealBody, SolidParticles, Solid, RealBody, SolidParticles, Solid>>
253 #endif // ELECTRO_PHYSIOLOGY_H
set initial condition for a muscle body This is a abstract class to be override for case specific ini...
Definition: electro_physiology.h:162
Simple particle dynamics without considering particle interaction.
Definition: particle_dynamics_algorithms.h:48
Complex material for diffusion or/and reactions.
Definition: diffusion_reaction.h:195
The simplest Electrophysiology Reaction model, which reduces the complex of array of ion currents to ...
Definition: electro_physiology.h:74
Compute the diffusion relaxation process of all species with second order Runge-Kutta time stepping...
Definition: particle_dynamics_diffusion_reaction.h:204
material class for electro_physiology.
Definition: electro_physiology.h:99
Definition: electro_physiology.h:229
Compute the reaction process of all species by forward splitting.
Definition: particle_dynamics_diffusion_reaction.h:239
material class for electro_physiology with locally oriented fibers.
Definition: electro_physiology.h:111
A group of particles with electrophysiology particle data.
Definition: electro_physiology.h:125
Definition: electro_physiology.h:38
Compute the diffusion relaxation process.
Definition: electro_physiology.h:202
Computing the time step size based on diffusion coefficient and particle smoothing length...
Definition: particle_dynamics_diffusion_reaction.h:83
Computing the time step size from diffusion criteria.
Definition: electro_physiology.h:177
A group of reduced particles with electrophysiology particle data.
Definition: electro_physiology.h:137
virtual ~ElectroPhysiologyReducedParticles()
Definition: electro_physiology.h:144
Base class for all reaction models.
Definition: diffusion_reaction.h:163
Solve the reaction ODE equation of trans-membrane potential using forward sweeping.
Definition: electro_physiology.h:216
ElectroPhysiologyReducedParticles(SPHBody &sph_body, DiffusionReaction< Solid > *diffusion_reaction_material)
Definition: electro_physiology.cpp:99
Compute the diffusion relaxation process.
Definition: electro_physiology.h:189
Compute the reaction process of all species by backward splitting.
Definition: particle_dynamics_diffusion_reaction.h:260
The relation combined an inner and a contact body relation. The interaction is in a inner-boundary-co...
Definition: complex_body_relation.h:42
A group of particles with diffusion or/and reactions particle data.
Definition: diffusion_reaction_particles.h:45
SPHBody is a base body with basic data and functions. Its derived class can be a real fluid body...
Definition: base_body.h:61
virtual Vecd getKernelGradient(size_t particle_index_i, size_t particle_index_j, Real dW_ij, Vecd &e_ij) override
Definition: electro_physiology.h:147
This is the derived class of base particles.
The abstract relation within a SPH body.
Definition: base_body_relation.h:117
Apply specific stimulus currents This is a abstract class to be override for case specific implementa...
Definition: electro_physiology.h:242
prepare data for simple particle dynamics.
Definition: base_particle_dynamics.h:185
Derived body with inner particle configuration or inner interactions. After construction, the particle and material must be specified.
Definition: base_body.h:182
This is the particle dynamics applicable for all type bodies TODO: there is an issue on applying corr...
Definition: solid_body_supplementary.cpp:9
Real k_
Definition: electro_physiology.h:78