/
Od konceptuálního modelu k simulačnímu modelu Od konceptuálního modelu k simulačnímu modelu

Od konceptuálního modelu k simulačnímu modelu - PowerPoint Presentation

mudth
mudth . @mudth
Follow
344 views
Uploaded On 2020-11-06

Od konceptuálního modelu k simulačnímu modelu - PPT Presentation

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

flow grafy konov

Share:

Link:

Embed:

Download Presentation from below link

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.


Presentation Transcript

Slide1

Od konceptuálního modelu k simulačnímu modelu

Slide2

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

Slide3

Slide4

Slide5

Modelová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

Slide6

Zobecněná hybnost

(akumulace kinetické energie)

1/L

effort

flow

der

effort

flow

L

L*

flow

Slide7

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

Obecné systémové vlastnosti

Slide8

Obecné 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

Slide9

e

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

Slide10

e

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

Slide11

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

Obecné systémové vlastnosti

energie

Obecné systémové vlastnosti

Slide12

Elektrický 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

Slide13

Slide14

Spotřebiče energie

Akumulátory energie

Akumulátory energie

Slide15

Zdroje energie

e

flow

effort

f

flow

effort

Slide16

Mě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

Slide17

Mě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

Slide18

Spotřebiče energie - odpory

R

flow

effort

1/R

flow

effort

Slide19

Akumulátory energie

-

kapacitory

1/C

flow

effort

der

flow

effort

C

C*

effort

Slide20

Akumulá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)

Slide21

Příklad

kapacitoru

se složitějším chováním

Slide22

Akumulátory energie

- induktory

1/L

effort

flow

der

effort

flow

L

L*

flow

Slide23

Slide24

Zdroje 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í)

Slide25

Konceptuální model

Přeměna energie

Přenos a zpracování informací (a řízení)

Slide26

Slide27

Slide28

Bond

Graphs

vazební grafy (výkonové grafy)

Směr přenosu energie

Slide29

Slide30

Bond

Graphs

vazební grafy (výkonové grafy)

e

f

f

e

f

e

f

e

Slide31

Bond

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

Slide32

Bond

Graphs

vazební grafy (výkonové grafy)

Základní

jednobrany

R

e

f

Rezistor

R

e

f

R

flow

effort

1/R

flow

effort

Slide33

Bond

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

Slide34

Bond

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

Slide35

Bond

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

Slide36

Bond

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

Slide37

Bond

Graphs

vazební grafy (výkonové grafy)

Slide38

Bond

Graphs

vazební grafy (výkonové grafy)

Slide39

Bond

Graphs

vazební grafy (výkonové grafy)

Slide40

Bond

Graphs

vazební grafy (výkonové grafy)

Slide41

Bond

Graphs

vazební grafy (výkonové grafy)

Slide42

Bond

Graphs

vazební grafy (výkonové grafy)

Slide43

Bond

Graphs

vazební grafy (výkonové grafy)

Slide44

Bond

Graphs

vazební grafy (výkonové grafy)

Slide45

Bond

Graphs

vazební grafy (výkonové grafy)

Slide46

Bond

Graphs

vazební grafy (výkonové grafy)

Slide47

Bond

Graphs

vazební grafy (výkonové grafy)

Slide48

Bond

Graphs

vazební grafy (výkonové grafy)

1

Stejný tok

Algebraická suma úsilí = 0

Slide49

Bond

Graphs

vazební grafy (výkonové grafy)

Slide50

Bond

Graphs

vazební grafy (výkonové grafy)

Kauzální analýza

Slide51

Stejné

úsolí

Algebraická suma toků = 0

Bond

Graphs

vazební grafy (výkonové grafy)

Slide52

Bond

Graphs

vazební grafy (výkonové grafy)

Slide53

Bond

Graphs

vazební grafy (výkonové grafy)

Bond

Graphs

vazební grafy (výkonové grafy)

Kauzální analýza

Slide54

Generová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)

Slide55

Kauzá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

Slide56

Slide57

V 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.

Slide58

Konceptuální model

Přeměna energie

Přenos a zpracování informací (a řízení)

Slide59

Slide60

LeftHeart

Výkonové prvky

Výkonové prvky

Výkonové prvky

Výkonové prvky

Řídící prvky

Řídící prvky

Slide61

Elektrické, hydraulické analogie při modelování fyziologických systémů

Hodkgin

Huxley

model membrány

Slide62

Elektrické, hydraulické analogie při modelování fyziologických systémů

Model mechaniky kosterního svalu

Slide63

Kompartmenty

(

analogie toku mez nádobami)

Kompartmenty

a

toky

Kompartmenty

a toky

Kauzální řídící prvky

Kauzální řídící prvky

Slide64

Vznik 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.

Slide65

Lotka-

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.

Slide66

Formulace 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í

Slide67

Formulace modelu 2

Předpoklady z pohledu predátor:

Absence potravy:

S dostatkem potravy roste míra porodnosti

predátorů:

Slide68

Predá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

Slide69

Kompartmentové vyjádření Lota-

Volterrova

modelu

(populační

model v prostředí STELLA

)

Slide70

Kompartmentové vyjádření Lota-

Volterrova

modelu

(populační

model v

Modelice

)

Slide71

Výstupy výpočtů – populační graf a populační křivka

Slide72

Populační graf

a=1,

b=0,03

,

c=0,4

,

p=0,01

x

0

=15

,

y

0

=15

Slide73

C

R

R

Proměnná poddajnost resp. elasticita (C)

Zdroj tlaku

Pulzní pumpa

Slide74

C

Proměnné poddajnost resp. elasticita (C)

Pulzní pumpa

Ventil

Kapacitor

(výkonový prvek)

C

Ventil

Kapacitor

(výkonový prvek)

objem

tlak

Slide75

Fyziká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

Slide76

Definice komponent

Slide77

Brá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;

Slide78

Co 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

Slide79

Fyzikální analogie při modelování cirkulace

průtok

tlak

Slide80

Rezistence

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;

Slide81

Rezistence

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;

Slide82

Rezistence

model VariableBloodConductance

extends BloodFlowOnePort;

Modelica.Blocks.Interfaces.RealInput BloodConductance "in torr ml/sec“;

equation

PressureDrop*BloodConductance=BloodFlow;

end VariableBloodConductance;

Slide83

Induktor (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;

Slide84

Kapacitor

– elastický kompartment

Slide85

Kapacitor – elastický kompartment

Pext

Pressure

TransmuralPressure

=

Pressure

-

Pext

Volume

TransmuralPressure

Unstressed

volume

Stressed

volume

Slide86

model 

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

Slide87

Kapacitor – 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

;

Slide88

Chlopeň

Slide89

Elasický kompartment s proměnnou poddajností (resp. elasticitou)

Proměnná

Elastance

Modelování činnosti síní a komor

Slide90

Využ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

Slide91

p

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

Slide92

i

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

Slide93

open=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

Slide94

Chlopeň

Slide95

Valve

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;

Slide96

model 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ů

Slide97

Elasticita 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;

Slide98

Elasticita 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;

Slide99

Lego

Slide100

Slide101

Pravé srdce

Slide102

RightHeart

Slide103

Levé srdce

Slide104

LeftHeart

Slide105

Systémové arterie

Slide106

SystemicArteries

Slide107

Systémové periferní cévy

Slide108

SystemicPeripheralVessels

Slide109

Systémové žíly

Slide110

SystemicVeins

Slide111

Plicní cirkulace

Slide112

PulmonaryCirculation

Slide113

Slide114

Výstup modelu:

tlak v levé síni a v aortě

Slide115

Výstup modelu:

PV diagram

levé a pravé komory