Tvorba konceptuálního modelu Obecné systémové vlastnosti fyzikálního světa opakování Vazebné grafy Fyzikální analogie při modelování cirkulace Modelování fyzikálního světa analogie ID: 816058
Download The PPT/PDF document "Od konceptuálního modelu k simulační..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Od konceptuálního modelu k simulačnímu modelu
Slide2Tvorba konceptuálního modelu
Obecné systémové vlastnosti fyzikálního světa (opakování)
Vazebné grafy
Fyzikální analogie při modelování cirkulace
Slide3Slide4Slide5Modelování fyzikálního světa - analogie
Elektrická doména
Mechanická doména
Hydraulická doména
v
m
m
*v
p
der
F
p
Hybnost p
F
I
v
p
1/m
Impuls síly I = změna hybnosti p
Indukční tok
Průtočná hybnost
v
=1/m
dF
dt
Slide6Zobecněná hybnost
(akumulace kinetické energie)
1/L
effort
flow
der
effort
flow
L
L*
flow
Slide7e
f
p
q
Zobecnělé úsilí (effort)
Zobecnělý tok (flow)
R
e=Rf
Zobecnělá akumulace (quantity)
ò
C
q=Ce
Zobecnělá hybnost
ò
L
p=Lf
Obecné systémové vlastnosti
Slide8Obecné systémové vlastnosti
e
f
p
q
Zobecnělé úsilí (effort)
Zobecnělý tok (flow)
R
e=Rf
Zobecnělá akumulace (quantity)
ò
C
q=Ce
Zobecnělá hybnost
ò
L
p=Lf
úsilí
hybnost
tok
akumulace
Slide9e
f
p
q
úsilí
hybnost
tok
akumulace
napětí
proud
náboj
indukční tok
síla
rychlost
poloha
impuls síly
moment
úhlová rychlost
úhel
impuls momentu síly
tlak
objemový průtok
objem
průtočná hybnost
koncentrace
molární průtok
množství
teplota
tepelný tok
teplo
teplota
entropický průtok
entropie
ò
ò
Obecné systémové vlastnosti
Slide10e
f
p
q
úsilí
hybnost
tok
akumulace
napětí
proud
náboj
indukční tok
síla
rychlost
poloha
impuls síly
moment
úhlová rychlost
úhel
impuls momentu síly
tlak
objemový průtok
objem
průtočná hybnost
koncentrace
molární průtok
množství
teplota
tepelný tok
teplo
teplota
entropický průtok
entropie
energie
ò
ò
Obecné systémové vlastnosti
Slide11e
f
p
q
Zobecnělé úsilí (effort)
Zobecnělý tok (flow)
R
e=Rf
Zobecnělá akumulace (quantity)
ò
C
q=Ce
Zobecnělá hybnost
ò
L
p=Lf
Obecné systémové vlastnosti
energie
Obecné systémové vlastnosti
Slide12Elektrický obvod a mechanický systém
F
d
= a v
F
s
= v
dt
1
C
s
F
m
= m
dv
dt
v =
F
m
dt
1
m
setrvačná
hmotnost
m
síla F
tlumič
pružina
R
L
C
u
s
u
R
=
i
R
R
u
C
=
i
C
dt
1
C
u
L
= L
di
L
dt
i
L
=
u
L
dt
1
L
Slide13Slide14Spotřebiče energie
Akumulátory energie
Akumulátory energie
Slide15Zdroje energie
e
flow
effort
f
flow
effort
Slide16Měniče energie - transformátory
u
1
=ku
2
i
2
=ki
1
p=(1/S)F
Q=(1/S) v
M
2
=k M
1
ω
1
=k
ω
2
F
2
=k
F1
v1=k v2
n
flow
1
=flow
2*n
flow2
n
effort
2
=effort
1
*
n
effort1
1/n
flow
1=flow2/n
flow2
1/n
effort
2
=effort1/n
effort
1
Slide17Měniče energie -
gyrátory
effort
1
1/r
1/r
flow
1
=effort
2
/r
effort
2
flow
2
=effort
1
/r
effort
1
=r*flow
2
r
r
f
low
1
effort
2
=r flow
1
flow
2
Slide18Spotřebiče energie - odpory
R
flow
effort
1/R
flow
effort
Slide19Akumulátory energie
-
kapacitory
1/C
flow
effort
der
flow
effort
C
C*
effort
Slide20Akumulátory energie
-
kapacitory
1/C
flow
effort
der
flow
effort
C
C*
effort
Naakumolovaný
tok
(náboj, objem, natažení spirály)
Úsilí
(napětí, tlak, síla)
Slide21Příklad
kapacitoru
se složitějším chováním
Slide22Akumulátory energie
- induktory
1/L
effort
flow
der
effort
flow
L
L*
flow
Slide23Slide24Zdroje energie
(zdroje zobecněného úsilí či toku)
Spotřebiče energie
(odpory)
Akumulátory energie
(
kapacitory
a induktory)
Měniče energie
(transformátory a
gyrátory
)
Konceptuální model
Přeměna energie
Přenos a zpracování informací (a řízení)
Slide25Konceptuální model
Přeměna energie
Přenos a zpracování informací (a řízení)
Slide26Slide27Slide28Bond
Graphs
vazební grafy (výkonové grafy)
Směr přenosu energie
Slide29Slide30Bond
Graphs
vazební grafy (výkonové grafy)
e
f
f
e
f
e
f
e
Slide31Bond
Graphs
vazební grafy (výkonové grafy)
Základní
jednobrany
Ideální zdroj úsilí
SE
e
f
Ideální zdroj toku
SF
e
f
e
flow
effort
f
flow
effort
Slide32Bond
Graphs
vazební grafy (výkonové grafy)
Základní
jednobrany
R
e
f
Rezistor
R
e
f
R
flow
effort
1/R
flow
effort
Slide33Bond
Graphs
vazební grafy (výkonové grafy)
Základní
jednobrany
C
e
f
Kapacitor
C
e
f
1/C
flow
effort
der
flow
effort
C
C*
effort
Slide34Bond
Graphs
vazební grafy (výkonové grafy)
Základní
jednobrany
L
e
f
Induktor
L
e
f
1/L
effort
flow
der
effort
flow
L
L*
flow
Slide35Bond
Graphs
vazební grafy (výkonové grafy)
Základní
dvoubrany
Transformátor
TF
e
f
e
f
TF
e
f
e
f
n
flow
1
=flow
2
*n
flow
2
n
effort
2
=effort
1
*
n
effort
1
effort
1
=effort
2
/n
1/n
1/n
f
low
1
flow
2
=flow
1
/n
effort
2
Slide36Bond
Graphs
vazební grafy (výkonové grafy)
Základní
dvoubrany
Gyrátor
GY
e
f
e
f
GY
e
f
e
f
effort
1
1/r
1/r
flow
1
=effort
2
/r
effort
2
flow
2
=effort
1
/r
effort
1
=r*flow
2
r
r
f
low
1
effort
2
=r flow
1
flow
2
Slide37Bond
Graphs
vazební grafy (výkonové grafy)
Slide38Bond
Graphs
vazební grafy (výkonové grafy)
Slide39Bond
Graphs
vazební grafy (výkonové grafy)
Slide40Bond
Graphs
vazební grafy (výkonové grafy)
Slide41Bond
Graphs
vazební grafy (výkonové grafy)
Slide42Bond
Graphs
vazební grafy (výkonové grafy)
Slide43Bond
Graphs
vazební grafy (výkonové grafy)
Slide44Bond
Graphs
vazební grafy (výkonové grafy)
Slide45Bond
Graphs
vazební grafy (výkonové grafy)
Slide46Bond
Graphs
vazební grafy (výkonové grafy)
Slide47Bond
Graphs
vazební grafy (výkonové grafy)
Slide48Bond
Graphs
vazební grafy (výkonové grafy)
1
Stejný tok
Algebraická suma úsilí = 0
Slide49Bond
Graphs
vazební grafy (výkonové grafy)
Slide50Bond
Graphs
vazební grafy (výkonové grafy)
Kauzální analýza
Slide51Stejné
úsolí
Algebraická suma toků = 0
Bond
Graphs
vazební grafy (výkonové grafy)
Slide52Bond
Graphs
vazební grafy (výkonové grafy)
Slide53Bond
Graphs
vazební grafy (výkonové grafy)
Bond
Graphs
vazební grafy (výkonové grafy)
Kauzální analýza
Slide54Generování uzlů
Generování hran
Vyznačení orientace přenosu výkonu
Metody redukce grafů
Vyznačení kauzality
Význam pro generování algoritmu v kauzálních modelovacích nástrojích
Bond
Graphsvazební grafy (výkonové grafy)
Slide55Kauzální modelovací nástroje
Matlab/Simulink
Model v Simulinku vyjadřuje spíše
způsob výpočtu
než
strukturu modelované reality
Kauzální modelování
Je jednoznačně
definován
postup výpočtu
Bond Grafy
Umožní nalézt způsob jak odvodit kauzalitu
Slide56Slide57V Modelice lze programovat i blokově
Pozor při přebírání modelů ze
Simulinku
!
Struktura modelů je pak vzdálena struktuře modelovaného originálu a vystihuje spíše způsob výpočtu.
Slide58Konceptuální model
Přeměna energie
Přenos a zpracování informací (a řízení)
Slide59Slide60LeftHeart
Výkonové prvky
Výkonové prvky
Výkonové prvky
Výkonové prvky
Řídící prvky
Řídící prvky
Slide61Elektrické, hydraulické analogie při modelování fyziologických systémů
Hodkgin
Huxley
model membrány
Slide62Elektrické, hydraulické analogie při modelování fyziologických systémů
Model mechaniky kosterního svalu
Slide63Kompartmenty
(
analogie toku mez nádobami)
Kompartmenty
a
toky
Kompartmenty
a toky
Kauzální řídící prvky
Kauzální řídící prvky
Slide64Vznik modelu
Vito
Volterra
(1860-1940)
italský matematik,
zeť,
Humberto D'Ancona, biolog studie o vývoji počtu ryb,
několik modelů popisujících interakci dvou a více druhů.
Model predátor – kořist první a nejjednodušší model
Alfred J. Lotka
(1880-1949)
americký matematik a biolog,
formuloval mnoho podobných modelů jako
Volterra
.
vztahu býložravců a jejich potravy.
Slide65Lotka-
Volterra
model
model predátor-kořist
jeden z nejjednodušších modelů popisujících interakci dravec x kořist
model populační dynamiky popisující vývoj počtu dravců v závislosti na počtu jejich kořisti.
jedním z prvních pokusů o matematické vysvětlení mechanismů zabezpečujících druhovou koexistenci.
Slide66Formulace modelu 1
Předpoklady z pohledu kořist:
x =
x
(t) velikost populace kořisti v čase t
Neexistence predátorů
y = y
(t) velikost populace predátorů v čase t Predátoři loví kořistb závisí na velikosti obou populací
Slide67Formulace modelu 2
Předpoklady z pohledu predátor:
Absence potravy:
S dostatkem potravy roste míra porodnosti
predátorů:
Slide68Predátor-Kořist Model
Model má dvě proměnné x a y a několik parametrů:
x = hustota populace kořisti
y = hustota populace predátorů
a
,
b
, c, a p jsou kladné konstanty a faktor množení kořisti
b koeficient predace
c faktor úhynu predátorů
p reprodukční míra predátorů na jednu kořist
Slide69Kompartmentové vyjádření Lota-
Volterrova
modelu
(populační
model v prostředí STELLA
)
Slide70Kompartmentové vyjádření Lota-
Volterrova
modelu
(populační
model v
Modelice
)
Slide71Výstupy výpočtů – populační graf a populační křivka
Slide72Populační graf
a=1,
b=0,03
,
c=0,4
,
p=0,01
x
0
=15
,
y
0
=15
Slide73C
R
R
Proměnná poddajnost resp. elasticita (C)
Zdroj tlaku
Pulzní pumpa
Slide74C
Proměnné poddajnost resp. elasticita (C)
Pulzní pumpa
Ventil
Kapacitor
(výkonový prvek)
C
Ventil
Kapacitor
(výkonový prvek)
objem
tlak
Slide75Fyzikální analogie při modelování cirkulace
Konceptuální schéma
R
R
R
R
R
R
R
R
R
R
R
R
- rezistence
C
-
kapacitor
C
C
C
C
C
C
C
C
C
C
C
Kapacitory
s proměnnou
kapacitancí
L
- induktor
L
X
- chlopeň
X
X
X
X
Slide76Definice komponent
Slide77Brány - konektory pro propojení prvků
tok
= průtok krve
úsilí = tlak krve
connector BloodFlowConnector
"Connector for blood flow"
flow Real Q "blood flow in ml/sec";
Real Pressure "Pressure in torr";
end BloodFlowConnector;
connector BloodFlowInflow
"Blood flow inflow"
flow Real Q "blood inflow in ml/sec";
Real Pressure "Pressure in torr";
end BloodFlowInflow;
connector BloodFlowOutflow
"Blood flow outflow"
flow Real Q "blood flow outflow in ml/sec";
Real Pressure "Pressure in torr";
end BloodFlowOutflow;
Slide78Co mají odpory a induktory společného?
Inflow/Outflow Connectors
partial model BloodFlowOnePort
BloodFlowInflow Inflow;
BloodFlowOutflow Outflow;
Real PressureDrop;
Real BloodFlow;
equation
PressureDrop=Inflow.Pressure - Outflow.Pressure;
Inflow.Q + Outflow.Q=0; //nehromadí se krev!!
BloodFlow=Inflow.Q;
end BloodFlowOnePort;
flow Real Q
Real Pressure
flow Real Q
Real Pressure
Slide79Fyzikální analogie při modelování cirkulace
průtok
tlak
Slide80Rezistence
model BloodResistor
parameter Real BloodResistance(start=1) "resistance in torr sec/ml";
extends BloodFlowOnePort;
equation
PressureDrop=BloodFlow*BloodResistance;
end BloodResistor;
model VariableBloodResistor
extends BloodFlowOnePort;
Modelica.Blocks.Interfaces.RealInput BloodResistance "in torr sec/ml“;
equation
PressureDrop=BloodFlow*BloodResistance;
end VariableBloodResistor;
Slide81Rezistence
model BloodResistor
parameter Real BloodResistance(start=1) "resistance in torr sec/ml";
extends BloodFlowOnePort;
equation
PressureDrop=BloodFlow*BloodResistance;
end BloodResistor;
model VariableBloodResistor
extends BloodFlowOnePort;
Modelica.Blocks.Interfaces.RealInput BloodResistance "in torr sec/ml“;
equation
PressureDrop=BloodFlow*BloodResistance;
end VariableBloodResistor;
Slide82Rezistence
model VariableBloodConductance
extends BloodFlowOnePort;
Modelica.Blocks.Interfaces.RealInput BloodConductance "in torr ml/sec“;
equation
PressureDrop*BloodConductance=BloodFlow;
end VariableBloodConductance;
Slide83Induktor (setrvačnost proudu krve)
model Inductor
extends
BloodFlowOnePort
;
Modelica.Blocks.Interfaces.RealInput
Inertance
"in torr * sec^2/ml“;
equation
PressureDrop=der(BloodFlow)*Inertance;
end Inductor;
Slide84Kapacitor
– elastický kompartment
Slide85Kapacitor – elastický kompartment
Pext
Pressure
TransmuralPressure
=
Pressure
-
Pext
Volume
TransmuralPressure
Unstressed
volume
Stressed
volume
Slide86model
BloodElasticCompartment "Elastic compartment with unstressed volume"
Modelica.Blocks.Interfaces.RealInput
Elastance
"\"in torr/ml\"";
Modelica.Blocks.Interfaces.RealOutput
Volume
(start=V0);
Modelica.Blocks.Interfaces.RealInput
ExternalPressure
"\"in torr\"";
Modelica.Blocks.Interfaces.RealInput
UnstressedVolume
"in ml";
Modelica.Blocks.Interfaces.RealOutput
Pressure
"Blood pressure in torr";
BloodFlowConnector
bloodFlowInflow
;
BloodFlowOutflow
bloodFlowOutflow
;
Modelica.Blocks.Interfaces.RealOutput
StressedVolume(start=V0); parameter Real V0=1 "initial volume in ml"; Real
TransmuralPressure;
Kapacitor – elastický kompartment
Slide87Kapacitor – elastický kompartment
equation
bloodFlowInflow.Pressure=bloodFlowOutflow.Pressure;
bloodFlowInflow.Pressure=Pressure;
TransmuralPressure=Pressure - ExternalPressure;
der
(Volume)=bloodFlowInflow.Q + bloodFlowOutflow.Q;
StressedVolume=Volume - UnstressedVolume;
if
StressedVolume > 0
then
TransmuralPressure=Elastance*StressedVolume;
else
TransmuralPressure=0;
end if
;
end BloodElasticCompartment
;
Slide88Chlopeň
Slide89Elasický kompartment s proměnnou poddajností (resp. elasticitou)
Proměnná
Elastance
Modelování činnosti síní a komor
Slide90Využití implicitních rovnic
Ideální dioda, Ideální chlopeň
p
1
p
2
i
v= p
2
- p
1
= 0
i
v
i=0
když v =< 0
v=0
když i >= 0
i
v
p
1
p
2
i = 0
v= p
2
- p
1
<= 0
Slide91p
1
p
2
p
1
p
2
i
i = 0
v= p
2
- p
1
= 0
v= p
2
- p
1
<= 0
i
v
s<0
s> 0
s= 0
i
v
s
Využití implicitních rovnic
Ideální dioda, Ideální chlopeň
= s : s<0
= 0 : s>=0
= 0 : s<0
= s : s>=0
Slide92i
v
s<0
s> 0
s= 0
i
v
s
= s : s<0
= 0 : s>=0
= 0 : s<0
= s : s>=0
s
v
s
i
v=s
Využití implicitních rovnic
Ideální dioda, Ideální chlopeň
v=0
i=0
i=s
Slide93open=false
open=true
i
v
s<0
s> 0
s= 0
i
u
s
= s : s<0
= 0 : s>=0
= 0 : s<0
= s : s>=0
Využití implicitních rovnic
Ideální dioda, Ideální chlopeň
v
s
s
i
v=s
v=0
i=0
i=s
model
IdealDiode
„
An
Ideal
Diode
“
extends
Modelica.Electrical.Analog.Interface.OnePort
;
protected
Real s „
Parametric
independent
variable
“
Boolean
open;
equation
open = s>0;
v =
if
open
then
0
else
s;
i =
if
open
then
s
else
0;
end
IdealDiode
Slide94Chlopeň
Slide95Valve
model Valve
BloodFlowInflow
bloodFlowInflow
;
BloodFlowOutflow
bloodFlowOutflow
;
Real
q
;
Real
dp
;
Boolean
open
(start=true);
Real
passableVariable
;
equation
bloodFlowInflow.Q + bloodFlowOutflow.Q=0;
q=bloodFlowInflow.Q;
dp=bloodFlowInflow.Pressure - bloodFlowOutflow.Pressure; open=passableVariable > 0; if open then
dp=0; q=passableVariable; else dp=passableVariable; q=0; end if;
end Valve;
Slide96model HeartIntervals
Modelica.Blocks.Interfaces.RealInput
HR
;
Haemodynamics.Parts.RealDiscreteOutput
Tas
"duration of atrial systole";
Haemodynamics.Parts.RealDiscreteOutput
Tav
"atrioventricular delay";
Haemodynamics.Parts.RealDiscreteOutput
Tvs
"duration of ventricular systole";
Haemodynamics.Parts.RealDiscreteOutput
T0
"start time of cardiac cycle in sec";
discrete Real
HP
(start=0) "heart period - duration of cardiac cycle in sec";
Boolean
b
(start=false);
equation
b=time - pre(T0) >= pre(HP); when {initial(),b} then T0=time;
HP=60/HR; Tas=0.03 + 0.09*HP; Tav=0.01; Tvs=0.16 + 0.2*HP; end when
;end HeartIntervals;
Délka srdečních intervalů
Slide97Elasticita síní
model AtrialElastance
Modelica.Blocks.Interfaces.RealInput
Tas
"duration of atrial systole";
Modelica.Blocks.Interfaces.RealOutput
Et
"elasticity (torr/ml)";
Modelica.Blocks.Interfaces.RealInput
T0
"time of start of cardiac cycle ";
parameter Real
EMIN
=0.05 "Diastolic elastance (torr/ml)";
parameter Real
EMAX
=0.15 "Maximum systolic elastance (tor/ml)";
equation
if
time - T0 < Tas then
Et=EMIN + (EMAX - EMIN)*sin(Modelica.Constants.pi*(time - T0)/Tas);
else Et=EMIN;
end if;end AtrialElastance;
Slide98Elasticita komor
model VentricularElastance
Modelica.Blocks.Interfaces.RealInput
Tas
"duration of atrial systole";
Modelica.Blocks.Interfaces.RealOutput
Et
"elasticity (torr/ml)";
Modelica.Blocks.Interfaces.RealInput
T0
"time of start of cardiac cycle ";
Modelica.Blocks.Interfaces.RealInput
Tav
"atrioventricular delay";
Modelica.Blocks.Interfaces.RealInput
Tvs
"duration of ventricular systole";
Modelica.Blocks.Interfaces.RealOutput
Et0
„normalized elasticity (torr/ml)";
Modelica.Blocks.Interfaces.RealOutput
HeartInterval
„heart interval (sec)"; constant Real Kn=0.57923032735652; parameter Real EMIN=0 "Diastolic elastance (torr/ml)";
parameter Real EMAX=1 "Maximum systolic elastance (tor/ml)";equation HeartInterval=time - T0;
Et=EMIN + (EMAX - EMIN)*Et0; if HeartInterval >= Tas + Tav and HeartInterval < Tas + Tav + Tvs then
Et0=(HeartInterval - (Tas + Tav))/Tvs*sin(Modelica.Constants.pi*(HeartInterval - (Tas + Tav))/Tvs)/Kn; else Et0=0; end if;
end VentricularElastance;
Slide99Lego
Slide100Slide101Pravé srdce
Slide102RightHeart
Slide103Levé srdce
Slide104LeftHeart
Slide105Systémové arterie
Slide106SystemicArteries
Slide107Systémové periferní cévy
Slide108SystemicPeripheralVessels
Slide109Systémové žíly
Slide110SystemicVeins
Slide111Plicní cirkulace
Slide112PulmonaryCirculation
Slide113Slide114Výstup modelu:
tlak v levé síni a v aortě
Slide115Výstup modelu:
PV diagram
levé a pravé komory