Main components for physiological fluid modeling.
Extends from Modelica.Icons.Package (Icon for standard packages).
Name | Description |
---|---|
![]() |
Hydraulic resistor, where conductance=1/resistance |
![]() |
Hydraulic resistor |
![]() |
Elastic compartment as chemical solution envelop |
![]() |
Elastic compartment as chemical solution envelop |
![]() |
Hydrostatic column pressure between two connectors (with specific muscle pump effect) |
![]() |
Inertia of the volumetric flow |
![]() |
Ideal valve |
![]() |
Ideal valve |
![]() |
Prescribed mass flow |
![]() |
Prescribed mass flow |
![]() |
Divide inflow to outflow and reabsorption |
![]() |
Membrane for BodyFluid medium |
Hydraulic resistor, where conductance=1/resistance
This hydraulic conductance (resistance) element contains two connector sides. No hydraulic medium mass is changing in this element during simulation. That means that sum of flow in both connector sides is zero. The flow through element is determined by Ohm's law. It is used conductance (=1/resistance) because it could be numerical zero better then infinity in resistance.
Extends from Physiolibrary.Fluid.Interfaces.OnePort (Hydraulical OnePort), Physiolibrary.Icons.HydraulicResistor.
Name | Description |
---|---|
replaceable package Medium | Medium model |
Conductance | Hydraulic conductance if useConductanceInput=false [m3/(Pa.s)] |
Conditional inputs | |
useConductanceInput | =true, if external conductance value is used |
Advanced | |
Performance | |
EnthalpyNotUsed |
Name | Description |
---|---|
q_in | Inflow |
q_out | Outflow |
cond | [m3/(Pa.s)] |
Hydraulic resistor
This hydraulic resistance element contains two connector sides. No hydraulic medium mass is changing in this element during simulation. That means that sum of flow in both connector sides is zero. The flow through element is determined by Ohm's law.
Extends from Physiolibrary.Fluid.Components.Conductor (Hydraulic resistor, where conductance=1/resistance).
Name | Description |
---|---|
replaceable package Medium | Medium model |
Conductance | Hydraulic conductance if useConductanceInput=false [m3/(Pa.s)] |
Resistance | Hydraulic conductance if useConductanceInput=false [(Pa.s)/m3] |
Conditional inputs | |
useConductanceInput | =true, if external conductance value is used |
useResistanceInput | =true, if external resistance value is used |
Advanced | |
Performance | |
EnthalpyNotUsed |
Name | Description |
---|---|
q_in | Inflow |
q_out | Outflow |
cond | [m3/(Pa.s)] |
resistance | [(Pa.s)/m3] |
Elastic compartment as chemical solution envelop
constant compliance
sigmoid compliance
Extends from Physiolibrary.Icons.ElasticBalloon, Physiolibrary.Fluid.Interfaces.Accumulation.
Name | Description |
---|---|
replaceable package Medium | Medium model |
onElectricGround | =true, if electric potencial is zero |
Compliance | Compliance e.g. TidalVolume/TidalPressureGradient if useComplianceInput=false [m3/Pa] |
ZeroPressureVolume | Functional Residual Capacity. Maximal fluid volume, that does not generate pressure if useV0Input=false [m3] |
ExternalPressure | External pressure if useExternalPressureInput=false. [Pa] |
Initialization of medium composition | |
massFractions_start[:] | * Masses of all base molecules. If size is nS-1 then last value is 1-sum(others). If size is nS then all values are scaled to sum==1. [1] |
extraConcentration_start[Medium.nC] | Extra substance amounts per kilogram of solution |
Initialization | |
temperature_start | Initial temperature [K] |
pressure_start | Initial pressure [Pa] |
use_mass_start | Use mass_start, otherwise volume_start |
volume_start | Total volume of solution start value [m3] |
mass_start | Total mass of solution start value [kg] |
Conditional inputs | |
useSubstances | =true, if substance ports are used |
useThermalPort | Is thermal port pressent? |
useV0Input | =true, if zero-pressure-fluid_volume input is used |
useComplianceInput | =true, if compliance input is used |
useExternalPressureInput | =true, if external pressure input is used |
isExternalPressureAbsolute | External pressure as absolute pressure? Relative to ambient otherwise. |
useInternalSpaceInput | =true, if internal space input is used |
Advanced | |
stateName | State name in input/output files |
Pressure-Volume relationship | |
ResidualVolume | Residual volume. Or maximal fluid volume, which generate negative collapsing pressure in linear model [m3] |
useSigmoidCompliance | Sigmoid compliance e.g. lungs |
VitalCapacity | Relative volume capacity if useSigmoidCompliance [m3] |
BaseTidalVolume | Base value of tidal volume [m3] |
InternalSpace | Internal space if there is no pressure gradient [m3] |
Name | Description |
---|---|
q_in[nPorts] | |
substances | |
heatPort | |
zeroPressureVolume | [m3] |
compliance | [m3/Pa] |
externalPressure | [Pa] |
fluidVolume | [m3] |
internalSpace | additional internal volume (e.g. another inserted compartment inside) [m3] |
Elastic compartment as chemical solution envelop
Extends from Physiolibrary.Fluid.Components.ElasticVessel (Elastic compartment as chemical solution envelop).
Name | Description |
---|---|
replaceable package Medium | Medium model |
onElectricGround | =true, if electric potencial is zero |
Compliance | Compliance e.g. TidalVolume/TidalPressureGradient if useComplianceInput=false [m3/Pa] |
ZeroPressureVolume | Functional Residual Capacity. Maximal fluid volume, that does not generate pressure if useV0Input=false [m3] |
ExternalPressure | External pressure if useExternalPressureInput=false. [Pa] |
Elastance | Elastance if useComplianceInput=false [Pa/m3] |
Initialization of medium composition | |
massFractions_start[:] | * Masses of all base molecules. If size is nS-1 then last value is 1-sum(others). If size is nS then all values are scaled to sum==1. [1] |
extraConcentration_start[Medium.nC] | Extra substance amounts per kilogram of solution |
Initialization | |
temperature_start | Initial temperature [K] |
use_mass_start | Use mass_start, otherwise volume_start |
volume_start | Total volume of solution start value [m3] |
mass_start | Total mass of solution start value [kg] |
Conditional inputs | |
useSubstances | =true, if substance ports are used |
useThermalPort | Is thermal port pressent? |
useV0Input | =true, if zero-pressure-fluid_volume input is used |
useComplianceInput | =true, if compliance input is used |
useExternalPressureInput | =true, if external pressure input is used |
isExternalPressureAbsolute | External pressure as absolute pressure? Relative to ambient otherwise. |
useInternalSpaceInput | =true, if internal space input is used |
useElastanceInput | =true, if elastance input is used |
Advanced | |
stateName | State name in input/output files |
Pressure-Volume relationship | |
ResidualVolume | Residual volume. Or maximal fluid volume, which generate negative collapsing pressure in linear model [m3] |
useSigmoidCompliance | Sigmoid compliance e.g. lungs |
VitalCapacity | Relative volume capacity if useSigmoidCompliance [m3] |
BaseTidalVolume | Base value of tidal volume [m3] |
InternalSpace | Internal space if there is no pressure gradient [m3] |
Name | Description |
---|---|
q_in[nPorts] | |
substances | |
heatPort | |
zeroPressureVolume | [m3] |
compliance | [m3/Pa] |
externalPressure | [Pa] |
fluidVolume | [m3] |
internalSpace | additional internal volume (e.g. another inserted compartment inside) [m3] |
elastance | [Pa/m3] |
Hydrostatic column pressure between two connectors (with specific muscle pump effect)
The hydrostatic pressure is proportional to height of the column.
Archimedes law
Extends from Physiolibrary.Icons.HydrostaticGradient, Interfaces.OnePort_UpDown (OnePort with different position of connectors).
Name | Description |
---|---|
replaceable package Medium | Medium model |
H | Height of hydrostatic column if useHeightInput=false [m] |
Conditional inputs | |
useHeightInput | =true, if height input is used |
usePumpEffect | =true, if musce pump effect is used |
Name | Description |
---|---|
q_up | Top site |
q_down | Bottom site |
replaceable package Medium | Medium model |
height | Vertical distance between top and bottom connector [m] |
pumpEffect | [1] |
Inertia of the volumetric flow
Inertance I of the simple tube could be calculated as I=ro*l/A, where ro is fuid density, l is tube length and A is tube cross-section area.
Extends from Physiolibrary.Fluid.Interfaces.OnePort (Hydraulical OnePort), Physiolibrary.Icons.Inertance.
Name | Description |
---|---|
replaceable package Medium | Medium model |
I | Inertance [Pa.s2/kg] |
Initialization | |
massFlow_start | Mass flow start value [kg/s] |
Advanced | |
Performance | |
EnthalpyNotUsed |
Name | Description |
---|---|
q_in | Inflow |
q_out | Outflow |
Ideal valve
Ideal Valve allows a volumetric flow in one direction in case of pressure gradient is greater.
Extends from Icons.IdealValve, Physiolibrary.Fluid.Interfaces.OnePort (Hydraulical OnePort).
Name | Description |
---|---|
replaceable package Medium | Medium model |
_Gon | Forward state-on conductance (open valve conductance) [m3/(Pa.s)] |
_Goff | Backward state-off conductance (closed valve conductance) [m3/(Pa.s)] |
Pknee | Forward threshold pressure [Pa] |
Conditional inputs | |
useLimitationInputs | =true, if Gon and Goff are from inputs |
Advanced | |
Performance | |
EnthalpyNotUsed |
Name | Description |
---|---|
q_in | Inflow |
q_out | Outflow |
Gon | open valve conductance = infinity for ideal case [m3/(Pa.s)] |
Goff | closed valve conductance = zero for ideal case [m3/(Pa.s)] |
Ideal valve
Ideal Valve allows a volumetric flow in one direction in case of pressure gradient is greater.
Extends from Physiolibrary.Fluid.Components.IdealValve (Ideal valve).
Name | Description |
---|---|
replaceable package Medium | Medium model |
_Gon | Forward state-on conductance (open valve conductance) [m3/(Pa.s)] |
_Goff | Backward state-off conductance (closed valve conductance) [m3/(Pa.s)] |
Pknee | Forward threshold pressure [Pa] |
_Ron | Forward state resistance [(Pa.s)/m3] |
_Roff | Backward state-off resistance (closed valve resistance) [(Pa.s)/m3] |
Initialization | |
open | Switching state |
passableVariable | Auxiliary variable for actual position on the ideal diode characteristic [1] |
Conditional inputs | |
useLimitationInputs | =true, if Gon and Goff are from inputs |
useResistanceInputs | =true, if Ron and Roff are from inputs |
Advanced | |
Performance | |
EnthalpyNotUsed |
Name | Description |
---|---|
q_in | Inflow |
q_out | Outflow |
Gon | open valve conductance = infinity for ideal case [m3/(Pa.s)] |
Goff | closed valve conductance = zero for ideal case [m3/(Pa.s)] |
Ron | open valve resistancece = zero for ideal case [(Pa.s)/m3] |
Roff | closed valve resistance = infinity for ideal case [(Pa.s)/m3] |
Prescribed mass flow
This element needs to be connected only to next hydraulic elements, which contain calculation of hydraulic pressure in connector. It is because equation contains only hydraulic volume flow variable, which is set to value of input signal variable.
Extends from Icons.Pump, Physiolibrary.Fluid.Interfaces.OnePort (Hydraulical OnePort), Physiolibrary.Fluid.Interfaces.ConditionalMassFlow (Input of solution mass flow vs. parametric solution mass flow).
Name | Description |
---|---|
replaceable package Medium | Medium model |
SolutionFlow | Mass flow of solution if useSolutionFlowInput=false [kg/s] |
Conditional inputs | |
useSolutionFlowInput | =true, if solution flow input is used instead of parameter SolutionFlow |
Advanced | |
Performance | |
EnthalpyNotUsed |
Name | Description |
---|---|
q_in | Inflow |
q_out | Outflow |
solutionFlow | [kg/s] |
Prescribed mass flow
This element needs to be connected only to next hydraulic elements, which contain calculation of hydraulic pressure in connector. It is because equation contains only hydraulic volume flow variable, which is set to value of input signal variable.
Extends from Icons.Pump, Physiolibrary.Fluid.Interfaces.OnePort (Hydraulical OnePort), Physiolibrary.Fluid.Interfaces.ConditionalVolumeFlow (Input of solution volume flow vs. parametric solution volume flow).
Name | Description |
---|---|
replaceable package Medium | Medium model |
SolutionFlow | Mass flow of solution if useSolutionFlowInput=false [m3/s] |
Conditional inputs | |
useSolutionFlowInput | =true, if solution flow input is used instead of parameter SolutionFlow |
Advanced | |
Performance | |
EnthalpyNotUsed |
Name | Description |
---|---|
q_in | Inflow |
q_out | Outflow |
solutionFlow | [m3/s] |
Divide inflow to outflow and reabsorption
If useOutflowMin=false then the next schema is used.
If useOutflowMin=true then the extended schema is used:
Extends from Physiolibrary.Icons.Reabsorption.
Name | Description |
---|---|
replaceable package Medium | Medium model |
OutflowMin | Minimal outflow if useExternalOutflowMin=false [m3/s] |
Conditional inputs | |
useExternalOutflowMin | =true, if minimal outflow is garanted |
Name | Description |
---|---|
replaceable package Medium | Medium model |
Inflow | |
Outflow | |
Reabsorption | |
FractReab | [1] |
outflowMin | [m3/s] |
Membrane for BodyFluid medium
Semipermeable membrane for substances of BodyFluid medium.
Extends from Physiolibrary.Icons.Membrane.
Name | Description |
---|---|
replaceable package BloodPlasma | Medium model of blood plasma |
replaceable package Dialysate | Medium model of dialysate |
Permeabilities[BloodPlasma.nS] | Membrane permeability coeficients for {Na,HCO3-,K,Glu,Urea,Cl,Ca,Mg,Alb,Glb,Others,H2O} [mol2.s-1.J-1] |
Name | Description |
---|---|
replaceable package BloodPlasma | Medium model of blood plasma |
replaceable package Dialysate | Medium model of dialysate |
bodyFluid_b | |
bodyFluid_a |