Method Index (AutoDoc)
CirculatorySystemModels.CR
CirculatorySystemModels.CRL
CirculatorySystemModels.Capacitor
CirculatorySystemModels.ConstantFlow
CirculatorySystemModels.ConstantPressure
CirculatorySystemModels.DHChamber
CirculatorySystemModels.DrivenFlow
CirculatorySystemModels.DrivenPressure
CirculatorySystemModels.Inductance
CirculatorySystemModels.MynardValve_Atrioventricular
CirculatorySystemModels.MynardValve_SemiLunar
CirculatorySystemModels.OrificeValve
CirculatorySystemModels.PoiseuilleResistor
CirculatorySystemModels.QResistor
CirculatorySystemModels.RRCR
CirculatorySystemModels.Resistor
CirculatorySystemModels.ResistorDiode
CirculatorySystemModels.ShiAtrium
CirculatorySystemModels.ShiChamber
CirculatorySystemModels.ShiHeart
CirculatorySystemModels.ShiPulmonaryLoop
CirculatorySystemModels.ShiSystemicLoop
CirculatorySystemModels.WK3
CirculatorySystemModels.WK3E
CirculatorySystemModels.WK4_P
CirculatorySystemModels.WK4_PE
CirculatorySystemModels.WK4_S
CirculatorySystemModels.WK4_SE
CirculatorySystemModels.Compliance
CirculatorySystemModels.DHdelastance
CirculatorySystemModels.DHelastance
CirculatorySystemModels.DShiElastance
CirculatorySystemModels.Elastance
CirculatorySystemModels.ShiElastance
CirculatorySystemModels.ShiValve
CirculatorySystemModels.VariableElastance
CirculatorySystemModels.CR
— ConstantCR(;name, R=1.0, C=1.0)
Implements the compliance, resistor subsystem.
Parameters are in the cm, g, s system. Pressure in mmHg. Volume in ml. Flow in cm^3/s (ml/s).
Named parameters:
R
: Component resistance in mmHg*s/ml
C
: Component compliance in ml/mmHg
CirculatorySystemModels.CRL
— ConstantCRL(;name, C=1.0, R=1.0, L=1.0)
Implements the compliance, resistor, inductance subsystem.
Parameters are in the cm, g, s system. Pressure in mmHg. Volume in ml. Flow in cm^3/s (ml/s).
Named parameters:
C
: Component compliance in ml/mmHg
R
: Component resistance in mmHg*s/ml
L
: Component blood inertia in mmHg*s^2/ml
CirculatorySystemModels.Capacitor
— ConstantCapacitor(;name, C=1.0)
Implements a capacitor to represent vessel capacitance.
Parameters are in the cm, g, s system. Pressures in mmHg. Δp
is calculated in mmHg, q
is calculated in cm^3/s (ml/s).
Named parameters:
C
: capacitance of the vessel in ml/mmHg
CirculatorySystemModels.ConstantFlow
— ConstantConstantFlow(;name, Q=1.0)
Implements a constant flow source to a system.
Parameters are in the cm, g, s system. Pressure in mmHg. Δp
is calculated in mmHg, q
is calculated in cm^3/s (ml/s).
Named parameters:
Q
: Constant flow in cm^3/s (ml/s)
CirculatorySystemModels.ConstantPressure
— ConstantConstantPressure(;name, P=1.0)
Implements a constant pressure source to a system.
Parameters are in the cm, g, s system. Pressure in mmHg. Δp
is calculated in mmHg, q
is calculated in cm^3/s (ml/s).
Named parameters:
P
: Constant pressure in mmHg
CirculatorySystemModels.DHChamber
— ConstantDHChamber(;name, V₀, Eₘᵢₙ, n₁, n₂, τ, τ₁, τ₂, k, Eshift=0.0, inP=false)
The Double Hill chamber/ventricle model is defined based on the vessel element, but has a time varying elastance function modelling the contraction of muscle fibres
The time varying elastance is calculated using the Double Hill model.
This model uses external helper functions elastance
and delastance
which describe the elastance function and the first derivative of it.
It calculates the elastance as:
E(t) = (Eₘₐₓ - Eₘᵢₙ) * e(t) + Eₘᵢₙ
where e(t) is the Double-Hill function.
Named parameters:
V₀
: stress-free volume (zero pressure volume)
p₀
pressure offset (defaults to zero) this is present in some papers (e.g. Shi), so is provided here for conformity. Defaults to 0.0
Eₘᵢₙ
: minimum elastance
Eₘₐₓ
: maximum elastance
n₁
: rise coefficient
n₂
: fall coefficient
τ
: pulse length [s]
τ₁
: rise timing parameter[s]
τ₂
: fall timimg paramter [s]
k
: elastance factor*
Eshift
: time shift of contraction (for atria)
inP
: (Bool) formulate in dp/dt (default: false)
*Note: k
is not an independent parameter, it is a scaling factor that corresponds to 1/max(e(t)), which ensures that e(t) varies between zero and 1.0, such that E(t) varies between Eₘᵢₙ and Eₘₐₓ.
CirculatorySystemModels.DrivenFlow
— ConstantDrivenFlow(; name, fun, Q=1.0)
Implements a driven flow source to a system.
Parameters are in the cm, g, s system. Pressure in mmHg. Δp
is calculated in mmHg, q
is calculated in cm^3/s (ml/s).
Named parameters:
Q
: Constant flow in cm^3/s (ml/s).
τ
Length of cardiac cycle is s
fun
: Function which modulates the input
CirculatorySystemModels.DrivenPressure
— ConstantDrivenPressure(; name, fun, P=1.0)
Implements a driven pressure source to a system modulated by a function provided.
Parameters are in the cm, g, s system. Pressure in mmHg. Δp
is calculated in mmHg, q
is calculated in cm^3/s (ml/s).
Named parameters:
P
: Constant pressure in mmHg
fun
: Function which modulates the input
CirculatorySystemModels.Inductance
— ConstantInductance(;name, L=1.0)
Implements the inductance to represent blood inertance.
Parameters are in the cm, g, s system. Pressures in mmHg. Δp
is calculated in mmHg, q
is calculated in cm^3/s (ml/s).
Named parameters:
L
: Inertia of the fluid in mmHg*s^2/ml
CirculatorySystemModels.MynardValve_Atrioventricular
— ConstantMynardValve_Atrioventricular(; name, ρ, Mrg, Mst, Ann, Kvc, Kvo)
Implements the Mynard description for flow across the atrioventricular valves, full description in [Mynard]. This valve description corresponds to the atrioventricular valves where interia is not considered.
Note: The minimum level of regurgitation has to be set to machine precision eps()
Parameters are in the cm, g, s system. Pressure in mmHg. Flow in cm^3/s (ml/s) p is scaled to ensure units are consistent throughout.
Named parameters:
name name of the element ρ
Blood density in g/cm^3 Mrg
Level of regurgitation exhibited by a valve in DN Mst
Level of stenosis exhibited by a valve in DN Ann
Annulus area in cm^2 Kvc
Valve closing rate coefficent in cm^2/(dyness) Kvo
Valve opening rate coefficent in cm^2/(dyness)
p is calculated in mmHg q is calculated in cm^3/s (ml/s)
CirculatorySystemModels.MynardValve_SemiLunar
— ConstantMynardValve_SemiLunar(; name, ρ, Leff, Mrg, Mst, Ann, Kvc, Kvo)
Implements the Mynard description for flow across the semilunar valves, full description in [Mynard]. This valve description corresponds to the semilunar valves where interia is an effect we consider.
Note: The minimum level of regurgitation has to be set to machine precision eps()
Parameters are in the cm, g, s system. Pressure in mmHg. Flow in cm^3/s (ml/s) p is scaled to ensure units are consistent throughout.
Named parameters:
name name of the element ρ
Blood density in g/cm^3 Leff
An effective length in cm Mrg
Level of regurgitation exhibited by a valve in DN Mst
Level of stenosis exhibited by a valve in DN Ann
Annulus area in cm^2 Kvc
Valve closing rate coefficent in cm^2/(dyness) Kvo
Valve opening rate coefficent in cm^2/(dyness)
p is calculated in mmHg q is calculated in cm^3/s (ml/s)
CirculatorySystemModels.OrificeValve
— ConstantOrificeValve(;name, CQ=1.0)
Implements the square-root pressure-flow relationship across a valve.
Parameters are in the cm, g, s system. Pressure in mmHg. Flow in cm^3/s (ml/s)
Named parameters:
CQ
Flow coefficent in ml/(s*mmHg^0.5)
CirculatorySystemModels.PoiseuilleResistor
— ConstantPoiseuilleResistor(;name, μ=3e-2, r=0.5, L=5)
Implements the resistance following the Poiseuille law.
Parameters are in the cm, g, s system. Pressures in mmHg. Δp
is calculated in mmHg, q
is calculated in cm^3/s (ml/s).
Named parameters:
μ
: viscosity of fluid in dyne s / cm^2
r
: radius of vessel segmenty in cm
L
: length of vessel segment in cm
CirculatorySystemModels.QResistor
— ConstantQResistor(;name, K=1.0)
Implements the quadratic resistor to represent a vessels non-linear resistance to blood flow.
Parameters are in the cm, g, s system. Pressures in mmHg. Δp
is calculated in mmHg, q
is calculated in cm^3/s (ml/s).
Named parameters:
K
: non-linear resistance of the vessel to the fluid in mmHg*s^2/ml^2
CirculatorySystemModels.RRCR
— ConstantRRCR(;name, R1=1.0, R2=1.0, R3=1.0, C=1.0)
Implements the resistor, resistor, compliance, resistor subsystem.
Parameters are in the cm, g, s system. Pressure in mmHg. Volume in ml. Flow in cm^3/s (ml/s).
Named parameters:
R1
: Component resistance in mmHg*s/ml
R2
: Component resistance in mmHg*s/ml
C
: Component compliance in ml/mmHg
R3
: Component resistance in mmHg*s/ml
CirculatorySystemModels.Resistor
— ConstantResistor(;name, R=1.0)
Implements the resistor using Ohm's law to represent a vessels linear resistance to blood flow.
Parameter is in the cm, g, s system. Pressure in mmHg. Δp
is calculated in mmHg q
calculated in cm^3/s (ml/s)
Named parameters:
R
: Resistance of the vessel to the fluid in mmHg*s/ml
CirculatorySystemModels.ResistorDiode
— ConstantResistorDiode(;name, R=1e-3)
Implements the resistance across a valve following Ohm's law exhibiting diode like behaviour.
Parameters are in the cm, g, s system. Pressure in mmHg. Flow in cm^3/s (ml/s)
Named parameters:
R
Resistance across the valve in mmHg*s/ml
CirculatorySystemModels.ShiAtrium
— ConstantShiAtrium(;name, V₀, p₀, Eₘᵢₙ, Eₘₐₓ, τ, τpwb, τpww, inP = false)
Implementation of the Atrium following Shi/Korakianitis.
Named parameters:
name name of the element
V₀
Unstressed chamber volume in ml
p₀
Unstressed chamber pressure in mmHg
Eₘᵢₙ
Minimum elastance (diastole) in mmHg/ml
Eₘₐₓ
Maximum elastance (systole) in mmHg/ml
τ
Length of cardiac cycle in s
τpwb
Atrial contraction time in s
τpww
Atrial offset time in s
CirculatorySystemModels.ShiChamber
— ConstantShiChamber(;name, V₀, p₀=0.0, Eₘᵢₙ, Eₘₐₓ, τ, τₑₛ, τₑₚ, Eshift=0.0)
Implemention of a ventricle following Shi/Korakianitis.
This model uses external helper function shiElastance
which describes the elastance function.
Named parameters:
V₀
stress-free volume (zero pressure volume)
p₀
pressure offset (defaults to zero) this is present in the original paper, so is provided here for conformity. Defaults to 0.0
Eₘᵢₙ
minimum elastance
τ
pulse length
τₑₛ
end systolic time (end of rising cosine)
τₑₚ
end pulse time (end of falling cosine)
Eshift
: time shift of contraction (for atria), set to 0
for ventricle
inP
: (Bool) formulate in dp/dt (default: false)
CirculatorySystemModels.ShiHeart
— ConstantShiHeart(; name, τ, LV.V₀, LV.p0, LV.Emin, LV.Emax, LV.τes, LV.τed, LV.Eshift, RV.V₀, RV.p0, RV.Eₘᵢₙ, RV.Eₘₐₓ, RV.τes, RV.τed, RV.Eshift, LA.V₀, LA_p0, LA.Emin, LA.Emax, LA.τes, LA.τed, LA.Eshift, RA.V₀, RA.p0, RA.Emin, RA.Emax, RA.τes, RA.τed, RA.Eshift, AV.CQ, AV.Kp, AV.Kf, AV.Kb, AV.Kv, AV.θmax, AV.θmin, PV.CQ, PV.Kp, PV.Kf, PV.Kb, PV.Kv, PV.θmax, PV.θmin, MV.CQ, MV.Kp, MV.Kf, MV.Kb, MV.Kv, MV.θmax, MV.θmin, TV.CQ, TV.Kp, TV.Kf, TV.Kb, TV.Kv, TV.θmax, TV.θmin)
Models a whole heart, made up of 2 ventricles (Left & Right Ventricle) and 2 atria (Left & Right atrium) created from the ShiChamber element. Includes the 4 corresponding valves (Aortic, Mitral, Pulmonary and Tricuspid valve) created using the ShiValve element.
Parameters are in the cm, g, s system. Pressure in mmHg. Volume in ml. Flow in cm^3/s (ml/s). Maximum and Minimum angles given in rad, to convert from degrees multiply angle by pi/180.
Named parameters:
τ
Length of the cardiac cycle in s
LV_V₀
Unstressed left ventricular volume in ml
LV_p0
Unstressed left ventricular pressure in mmHg
LV_Emin
Minimum left ventricular elastance (diastole) in mmHg/ml
LV_Emax
Maximum left ventricular elastance (systole) in mmHg/ml
LV_τes
Left ventricular end systolic time in s
LV_τed
Left ventricular end distolic time in s
LV_Eshift
Shift time of contraction - 0 for left ventricle
RV_V₀
Unstressed right ventricular volume in ml
RV_p0
Unstressed right ventricular pressure in mmHg
RV_Emin
Minimum right ventricular elastance (diastole) in mmHg/ml
RV_Emax
Maximum right ventricular elastance (systole) in mmHg/ml
RV_τes
Right ventricular end systolic time in s
RV_τed
Right ventricular end distolic time in s
RV_Eshift
Shift time of contraction - 0 for right ventricle
LA_V₀
Unstressed left atrial volume in ml
LA_p0
Unstressed left atrial pressure in mmHg
LA_Emin
Minimum left atrial elastance (diastole) in mmHg/ml
LA_Emax
Maximum left atrial elastance (systole) in mmHg/ml
LA_τes
Left atrial end systolic time in s
LA_τed
Left atrial end distolic time in s
LA_Eshift
Shift time of contraction in s
RA_V₀
Unstressed right atrial volume in ml
RA_p0
Unstressed right atrial pressure in mmHg
RA_Emin
Minimum right atrial elastance (diastole) in mmHg/ml
RA_Emax
Maximum right atrial elastance (systole) in mmHg/ml
RA_τes
Right atrial end systolic time in s
RA_τed
Right atrial end distolic time in s
RA_Eshift
Shift time of contraction in s
AV_CQ
Aortic valve flow coefficent in ml/(s*mmHg^0.5)
AV_Kp
Pressure effect on the aortic valve in rad/(s^2*mmHg)
AV_Kf
Frictional effect on the aortic valve in 1/s
AV_Kb
Fluid velocity effect on the aortic valve in rad/(s*m)
AV_Kv
Vortex effect on the aortic valve in rad/(s*m)
AV_θmax
Aortic valve maximum opening angle in rad
AV_θmin
Aortic valve minimum opening angle in rad
MV_CQ
Mitral valve flow coefficent in ml/(s*mmHg^0.5)
MV_Kp
Pressure effect on the mitral valve in rad/(s^2*mmHg)
MV_Kf
Frictional effect on the mitral valve in 1/s
MV_Kb
Fluid velocity effect on the mitral valve in rad/(s*m)
MV_Kv
Vortex effect on the mitral valve in rad/(s*m)
MV_θmax
Mitral valve maximum opening angle in rad
MV_θmin
Mitral valve minimum opening angle in rad
PV_CQ
Pulmonary valve flow coefficent in ml/(s*mmHg^0.5)
PV_Kp
Pressure effect on the pulmonary valve in rad/(s^2*mmHg)
PV_Kf
Frictional effect on the pulmonary valve in 1/s
PV_Kb
Fluid velocity effect on the pulmonary valve in rad/(s*m)
PV_Kv
Vortex effect on the pulmonary valve in rad/(s*m)
PV_θmax
Pulmonary valve maximum opening angle in rad
PV_θmin
Pulmonary valve minimum opening angle in rad
TV_CQ
Tricuspid valve flow coefficent in ml/(s*mmHg^0.5)
TV_Kp
Pressure effect on the tricuspid valve in rad/(s^2*mmHg)
TV_Kf
Frictional effect on the tricuspid valve in 1/s
TV_Kb
Fluid velocity effect on the tricuspid valve in rad/(s*m)
TV_Kv
Vortex effect on the pulmonary valve in rad/(s*m)
TV_θmax
Tricuspid valve maximum opening angle in rad
TV_θmin
Tricuspid valve minimum opening angle in rad
CirculatorySystemModels.ShiPulmonaryLoop
— ConstantShiPulmonaryLoop(; name, PAS.C, PAS.R, PAS.L, PAT.C, PAT.R, PAT.L, PAR.R, PCP.R, PVN.C, PVN.R)
Implements systemic loop as written by Shi in [Shi].
Parameters are in the cm, g, s system. Pressure in mmHg. Volume in ml. Flow in cm^3/s (ml/s).
Named parameters:
PAS__C
: Artery sinus compliance in ml/mmHg
PAS__R
: Artery sinus resistance in mmHg*s/ml
PAS__L
: Artery sinus Inductance in mmHg*s^2/ml
PAT__C
: Artery compliance in ml/mmHg
PAT__R
: Artery resistance in mmHg*s/ml
PAT__L
: Artery Inductance in mmHg*s^2/ml
PAR__R
: Arteriole resistance in mmHg*s/ml
PCP__R
: Capillary resistance in mmHg*s/ml
PVN__C
: Vein compliance in ml/mmHg
PVN__R
: Vein resistance in mmHg*s/ml
CirculatorySystemModels.ShiSystemicLoop
— ConstantShiSystemicLoop(; name, SAS.C, SAS.R, SAS.L, SAT.C, SAT.R, SAT.L, SAR.R, SCP.R, SVN.C, SVN.R)
Implements systemic loop as written by Shi in [Shi].
Parameters are in the cm, g, s system. Pressure in mmHg. Volume in ml. Flow in cm^3/s (ml/s).
Named parameters:
SAS_C
: Aortic sinus compliance in ml/mmHg
SAS_R
: Aortic sinus resistance in mmHg*s/ml
SAS_L
: Aortic sinus inductance in mmHg*s^2/ml
SAT_C
: Artery compliance in ml/mmHg
SAT_R
: Artery resistance in mmHg*s/ml
SAT_L
: Artery inductance in mmHg*s^2/ml
SAR_R
: Arteriole resistance in mmHg*s/ml
SCP_R
: Capillary resistance in mmHg*s/ml
SVN_C
: Vein compliance in ml/mmHg
SVN_R
: Vein resistance in mmHg*s/ml
CirculatorySystemModels.WK3
— ConstantWK3(;name, Rc=1.0, Rp=1.0, C=1.0)
Implements the 3 element windkessel model.
Parameters are in the cm, g, s system. Pressure in mmHg. Volume in ml. Flow in cm^3/s (ml/s)
Named parameters:
Rc
: Characteristic impedance in mmHg*s/ml
Rp
: Peripheral resistance in mmHg*s/ml
C
: Arterial compliance in ml/mmHg
CirculatorySystemModels.WK3E
— ConstantWK3E(;name, Rc=1.0, Rp=1.0, E=1.0)
Implements the 3 element windkessel model. With a vessel elastance instead of a capacitor.
Parameters are in the cm, g, s system. Pressure in mmHg. Volume in ml. Flow in cm^3/s (ml/s)
Named parameters:
Rc
: Characteristic impedance in mmHg*s/ml
Rp
: Peripheral resistance in mmHg*s/ml
E
: Arterial elastance in mmHg/ml
CirculatorySystemModels.WK4_P
— ConstantWK4_P(;name, Rc=1.0, L=1.0, Rp=1.0, C=1.0)
Implements the 4 element windkessel model with parallel inertance.
Parameters are in the cm, g, s system. Pressure in mmHg. Volume in ml. Flow in cm^3/s (ml/s)
Named parameters:
Rc
: Characteristic impedance in mmHg*s/ml
L
: Inertance/Inductance in mmHgs^2ml^-1
Rp
: Peripheral resistance in mmHg*s/ml
C
: Arterial compliance in ml/mmHg
CirculatorySystemModels.WK4_PE
— ConstantWK4_PE(;name, Rc=1.0, L=1.0, Rp=1.0, E=1.0)
Implements the 4 element windkessel model with parallel inertance. With a vessel elastance instead of a capacitor.
Parameters are in the cm, g, s system. Pressure in mmHg. Volume in ml. Flow in cm^3/s (ml/s)
Named parameters:
Rc
: Characteristic impedance in mmHg*s/ml
L
: Inertance/Inductance in mmHgs^2ml^-1
Rp
: Peripheral resistance in mmHg*s/ml
E
: Arterial elastance in mmHg/ml
CirculatorySystemModels.WK4_S
— ConstantWK4_S(;name, Rc=1.0, L=1.0, Rp=1.0, C=1.0)
Implements the 4 element windkessel model with serial inertance.
Parameters are in the cm, g, s system. Pressure in mmHg. Volume in ml. Flow in cm^3/s (ml/s)
Named parameters:
Rc
: Characteristic impedance in mmHg*s/ml
L
: Inertance/Inductance in mmHgs^2ml^-1
Rp
: Peripheral resistance in mmHg*s/ml
C
: Arterial compliance in ml/mmHg
CirculatorySystemModels.WK4_SE
— ConstantWK4_SE(;name, Rc=1.0, L=1.0, Rp=1.0, E=1.0)
Implements the 4 element windkessel model with serial inertance. With a vessel elastance instead of a capacitor.
Parameters are in the cm, g, s system. Pressure in mmHg. Volume in ml. Flow in cm^3/s (ml/s)
Named parameters:
Rc
: Characteristic impedance in mmHg*s/ml
L
: Inertance/Inductance in mmHgs^2ml^-1
Rp
: Peripheral resistance in mmHg*s/ml
E
: Arterial elastance in mmHg/ml
CirculatorySystemModels.Compliance
— MethodCompliance(; name, V₀=0.0, C=1.0, inP=false, has_ep=false, has_variable_ep=false, p₀=0.0)
Implements the compliance of a vessel.
Parameters are in the cm, g, s system. Pressure in mmHg. p
is calculated in mmHg, q
is calculated in cm^3/s (ml/s).
Named parameters:
V₀
: Unstressed volume ml
C
: Vessel compliance in ml/mmHg
inP
: (Bool) formulate in dp/dt (default: false)
has_ep
: (Bool) if true, add a parameter p₀
for pressure offset e.g., for thoracic pressure (default: false)
p₀
: External pressure in mmHg (e.g., thorax pressure, default: 0.0) Note: if this argument is set, it will be used, even if `hasepis
false.
haseponly controls if
p₀` will be exposed as a parameter!
hasvariableep: (Bool) expose pin for variable external pressure (default: false) This pin can be connected to another pin or function providing external pressure. _Note: if
hasvariableepis set to
truethis pin is created, independent of
hasep`!
CirculatorySystemModels.DHdelastance
— MethodDHdelastance(t, Eₘᵢₙ, Eₘₐₓ, n₁, n₂, τ, τ₁, τ₂, Eshift, k)
Helper function for DHChamber
CirculatorySystemModels.DHelastance
— MethodDHelastance(t, Eₘᵢₙ, Eₘₐₓ, n₁, n₂, τ, τ₁, τ₂, Eshift, k)
Helper function for DHChamber
CirculatorySystemModels.DShiElastance
— MethodDShiElastance(t, Eₘᵢₙ, Eₘₐₓ, τ, τₑₛ, τₑₚ, Eshift)
Helper function for ShiChamber
Derivative of the elastance function E(t)
for ventricle simulation based on Shi's double cosine function.
Parameters:
Eₘᵢₙ
: minimum elastance (diastole)
Eₘₐₓ
: maximum elastance (systole)
τₑₛ
: end systolic time (end of rising cosine)
τₑₚ
: end of pulse time (end of falling cosine)
Eshift
: time shift of contraction (for atria), set to 0
for ventricle
CirculatorySystemModels.Elastance
— MethodElastance(; name, V₀=0.0, E=1.0, inP=false, has_ep=false, has_variable_ep=false, p₀=0.0)
Implements the elastance of a vessel. Elastance more commonly used to describe the heart.
Parameters are in the cm, g, s system. Pressure in mmHg. p
is calculated in mmHg, q
is calculated in cm^3/s (ml/s).
Named parameters:
V₀
: Unstressed volume ml
E
: Vessel elastance in ml/mmHg. Equivalent to compliance as E=1/C
inP
: (Bool) formulate in dp/dt (default: false)
has_ep
: (Bool) if true, add a parameter p₀
for pressure offset e.g., for thoracic pressure (default: false)
p₀
: External pressure in mmHg (e.g., thorax pressure, default: 0.0) Note: if this argument is set, it will be used, even if `hasepis
false.
haseponly controls if
p₀` will be exposed as a parameter!
hasvariableep: (Bool) expose pin for variable external pressure (default: false) This pin can be connected to another pin or function providing external pressure. _Note: if
hasvariableepis set to
truethis pin is created, independent of
hasep`!
CirculatorySystemModels.ShiElastance
— MethodShiElastance(t, Eₘᵢₙ, Eₘₐₓ, τ, τₑₛ, τₑₚ, Eshift)
Elastance function E(t)
for ventricle simulation based on Shi's double cosine function.
Parameters:
Eₘᵢₙ
: minimum elastance (diastole)
Eₘₐₓ
: maximum elastance (systole)
τₑₛ
: end systolic time (end of rising cosine)
τₑₚ
: end of pulse time (end of falling cosine)
Eshift
: time shift of contraction (for atria), set to 0
for ventricle
CirculatorySystemModels.ShiValve
— MethodShiValve(; name, CQ, Kp, Kf, Kb, Kv, θmax, θmin)
Implements the Shi description for valve opening and closing, full description in [Shi].
Parameters are in the cm, g, s system. Pressure in mmHg. Flow in cm^3/s (ml/s) Maximum and Minimum angles given in rad, to convert from degrees multiply angle by pi/180.
Named parameters:
CQ
Flow coefficent in ml/(s*mmHg^0.5)
Kp
Pressure effect on the valve in rad/(s^2*mmHg)
Kf
Frictional effect on the valve in 1/s
Kb
Fluid velocity effect on the valve in rad/(s*m)
Kv
Vortex effect on the valve in rad/(s*m)
θmax
Valve maximum opening angle in rad
θmin
Valve minimum opening angle in rad
CirculatorySystemModels.VariableElastance
— MethodVariableElastance(; name, V₀=0.0, C=1.0, Escale=1.0, fun, inP=false, has_ep=false, has_variable_ep=false, p₀=0.0)
VariableElastance
is defined based on the Elastance
element, but has a time varying elastance function modelling the contraction of muscle fibres.
Named parameters:
V₀
: stress-free volume (zero pressure volume)
Escale
: scaling factor (elastance factor)
fun
: function object for elastance (must be fun(t)
)
inP
: (Bool) formulate in dp/dt (default: false)
has_ep
: (Bool) if true, add a parameter p₀
for pressure offset e.g., for thoracic pressure (default: false)
p₀
: External pressure in mmHg (e.g., thorax pressure, default: 0.0) Note: if this argument is set, it will be used, even if `hasepis
false.
haseponly controls if
p₀` will be exposed as a parameter!
hasvariableep: (Bool) expose pin for variable external pressure (default: false) This pin can be connected to another pin or function providing external pressure. _Note: if
hasvariableepis set to
truethis pin is created, independent of
hasep`!