LABORATOŘ BIOKYBERNETIKY A POČÍTAČOVÉ PODPORY VÝUKY ÚPF,. LF UK
Nátroje pro tvorbu modelů Tvorba modelu Tvorba imulátoru Nátroje pro tvorbu imulátorů Formalizace fyziologických vztahů Implementace modelu do imulátoru Vytváření imulačního modelu Vytváření uživatelkého rozhraní imulátoru Ověřování chování imulačního modelu Verifikace imulátoru ve výuce Chování modelu je jiné než chování biologického originálu Dotatečně dobrá hoda chování modelu chováním biologického originálu Nové požadavky na imulátor nové požadavky na imulační modelu
Formalizace fyziologických vztahů Annual Review of Phyiology 972 A.C. Guyton
Functional block 2-4 5 Divider Formalizace fyziologických vztahů??!! Integrator Multiplier PPA PLA Summator + + - PCP PCP=.55 PLA+.45 PPA
Formalizace fyziologických vztahů Multiplier Guyton Simulink Divider Guyton Summator + + - Guyton Integrator Guyton Nátroje pro tvorbu modelů Simulink + + - Simulink Simulink Functional block 2 2-4 5-4 5 Simulink Guyton
NON-MUSCLE OXYGEN DELIVERY VASCULAR STRESS RELAXATION MUSCLE BLOOD FLOW CONTROL AND PO2 26 OSV 68 269 227 PK u^3 PK3 257 4 225 x o 2 235 Xo P2O upper limit 8 MO2 265 24 224 u^3 27 POT^3 HM xo 27 VVE P3O 242 PVO 223 POT 88 22 89 AHM HM 6 AHM 58A NOD 2 23 27 24 CNA 42.3 RFN lower limit.35 PVO RBF..25 2.5.2 77 PRA CNX 78 79 CNE.7 2 8 REK PPC AHY 8 AHZ AH7 AHM.2 28 84 lower limit 3 RFN.4 AH 222 39 AOM.9898 AMM.3333 CNR RBF AUM 82 CN8.2 83 76 75 CNY lower limit 4 CNZ 6 AM AHM 4 AH u NOD 22 upper limit 5. lower limit.4 RFN.2 ARF 95.3 249 EXC 87 AHC 85.785 AH2 GP3 PDO 52 6.9999. 25 APD 22 86 AH4 26 AAR 243 8.25 7.999 AM 2.5.8 22 VPF 2 POM PMO.5 2.86 VIM 96.5 25 244 PM5 2.8 8 GF4 GF3 xo u^3 P3O^3 233 2 TVD..9.3 6 9. 29 8. OVA QO2.333 GF3 97 BFN 4 POT 57.4 23 algebraic loop breaking VIM.95 RMO 234 255 272 upper limit 8 PO 232 OSA VV7 VV 62 9 27 GLP 3.67 VV7 VV2 6 lower limit Z AHM 5 lower limit.5 25 Z 29 PPC 5.66 8 POE 248 AAR 98 63 TVD 4 22 7.987 24 94 STH 8.25.2 TRR.8 VV7 DVS 5 93 STH.7 28.78 VV6. PFL EVR AAR 33 AOM 8 VUD lower limit.3.25 SRK 252 247 P2O 24 256 264 253 92 POT 8 VUD 2.25 -.7 23 28 GFR 99 PM4 x o OVA DOB 236 QOM BFM THIRST AND DRINKING 26 65 64 238 98.7 5 P4^3 GFN 25 246 P4O 8..5 KIDNEY DYNAMICS AND EXCRETION RR xo 2A u^2 PM^2 5 OVA POV 266 237 25 23 263 AMM lower limit. 226 2688 lower limit 5 254 239 4 RDO 52 267 AU 229 258 262 POT 245 PMO 5 RMO 5 268 PM3 24 PK2 8 POV 27 228 BFM 259.7 26 AOM x o 57.4 2M AM AU AH8 lower_limit_ NON-MUSCLE LOCAL BLOOD FLOW CONTROL 4 POV 277 278 POB 276 274 275 POD 273 ARM POK lower limit.2 AR 4 AR3 AR xo lower limit.5 2 RAR. AR2 RAR AUM PAM 3.5 PON 283 286 52.495 2.86.355 A3K.3 32 xo.85 VAS PA VAE 5 VBD VVR 6 BFN PGS PIF xo 3.25 8 VVS.3 QVO 2.8 VVS lower limit. VVE.825 QVO PVS 29 5 294 293 3 298 295 AUC AB u^3.4 24 AUK AUB^3 34 6 RPT 22 2 VPE PPA PGL AUZ AUN 3 AU AUN calculation.2 AU9.85 34 32 AUV xo 33 AUY 38.5 39 2.949 AUH. 8 VVR 7 PPA AUH 5.4667 5 46 AVE.55.4 5 38.375 PPD AUTONOMIC CONTROL SVO 32 327 328 QLO 324 325 AU 2 PPI 2-(.5/u) DFP PPI = 2 - (.5/VPF) 333-3.994e- DFP 42.25 xo VPF.252 335.42 REK u^2 CHY^2 7 NOD 93 94 PGC PGR PG2 95 99 CNA 8 NED.25 9 xo 23. NAE CNA 42 6 HM 576 348 343 4 42 PIF 576 upper limit PGP NID PTC PGH HMD 4 334 344 349 VRC 2 xo HPL xo HMD HPR STH. VG RKC VRC 24 CKE 26 2. xo. 5 RC2 5 23 25 96 V2D.4 VPF 75 KE KOD 6 VB HEART RATE AND STROKE VOLUME xo.3332 VGD 352 HPR 347 342.58 43 PLF KID.4.4 22 KED DHM 336b 2 2 98 HPL xo VRC PFI 4 AM KCD.28 u^.625 PP3^. u^.625 PA4^.625 xo 285 KE 27 5 xo HM 4 336 KIR CKE 3 (u/2)^2.25 35 4 HMD.5 PP3 346 57 HYL PTS 89 9 9 VIC PIF 92.25 VPF 4 4 VTW PRM -5.9 5 VEC CHY 3 VP 2 VTS VTW 24.2.25 PULMONARY DYNAMICS AND FLUIDS RED CELLS AND VISCOSITY HEART HYPERTROPHY OR DETERIORATION VIC 28 29 KIE KCD.3 HM2 4 RCD 332 32 5 52 44.3 PPA4 336c PPO CPF 4 326.3 2 PRA 6 3 355 97 34 RC 33 PPI 322 323 HR PTT = (VTS/2)^2 PTT PLF PLF 45 35 345 xo VG 85 POT 5 35 xo 25 KI GPR VTS PPA HSR 34 POS POS.99 PA HSL.92 PPC 39 8 5.5 337 464e-7 PPD VG 33 6.822e-8 48 PPN PCP SVO 338 VIE POY 47 AVE 86 VTS lower limit.2375 xo 34 PTS = f(vif) VIM.333 VPF.225 2 339 PO2 PPR 49 37 AUM. 3 7 xo 88 8.25 28 36 POT GPD -6.3 2.9897 VIM 329 PO CPN CPP PPC 32 PIF PTS xo CNA VIC VIF 2 84 CCD VID 2 VID VVR PLA.7 87 33 32.5 VTC CIRCULATORY DYNAMICS 2.95 35 GP2 83 VV9.3 AUD VID CKI VTL 3.59 AU.5e-6 GPD VTD. AUL GP VIF.2.5.74.994.38 AUJ^AUZ 36 37 AUJ uv xo ALDOSTERONE CONTROL IFP xo 2. VPA.48 PTT 2 3 DPI TISSUE FLUIDS PRESSURES AND GEL x7 o lower limit 6 4 2 DPL.3625 5 PRA CNA 9 CPI DPC.4 4 PRA VPA.5 66 KN AMC -6.328 VRA 5 QRO 69 6 9.25 QRN = f(pra) 8 2 65 CKE 5 CPI PIF lower limit 4 2-4 QPO 9 5.22 PLA AM AMT AMR 2.4 PR QPO 3 5 xo PRA.352 7.8 42 PTC AMP = f(pa) 6 PIF 2.7 8 DPL 5 VRA PPA AU8 AUM QRN AUH 23.4. 3 AUH 5.26 AMP PLD lower limit 5.2 DRA 5 RVM = f(pp2) Z8 39 AUN CALCULATION AUN 5 PPA xo when PA<5: AUN=6 when 2>PA<5: AUN=.2*(5-PA) when PA>=5: AUC= VTL 5.43 2 -.7 68 DPL PTC 38 AUB 7 67 7 QRO 6 PP2 RPT.3825.896 VTL HMD HMD 52 AU2.5 AUB calculation PA QVO RVM PL PLA u AM2 AM3 PA HSR HPR 55.357 2 57 DAU 35 when PA<4: AUB=.8578 AUB when 4>PA<7: AUB=.4286*(7-PA) when PA>=7: AUB= AUH.4 RPV DLA 3 AUB CALCULATION PA 37 33 AU6 9.8 lower limit 32 72 AM5 64 56 73 74 AM ANM 2.738 5 PP QLN = f(pla) xo AM 49 RPA 2-4 2.39.3 48 qrt AUC AUC calculation VP RVG RVM 53 QLN VLA QLO AUC CALCULATION CPA 54 26 VLA when PA<4: AUC=.2 when 4>PA<8: AUC=.3*(8-PA) when PA>=8: AUC= PA PLA 25 EXC Z2 ANGIOTENSIN CONTROL DPC 4.4.24.3838 2 3 3.4 PR 5 VLE. 8 296 297 EXE P2O VP xo 3 VTL QRF 47 28 8 POQ 5 ANT 44 27. DPC.4 PVS.6 QLN 58 QLO 26 LVM = f(pa2) ANM 52.2 45 46.2255 PLA 57 AN 74 PVS 56 55 CNE CP VPD VUD CNA 42 xo CPI 7 DFP VRA PLA 8 upper limit 8 PA lower limit 4. 5 VPA CNE 54 75 PC^3 7 PA2 LVM 59 ANC (.2/u)^3 (.2/RFN)^3 CPP TVD. VB VLA 58 QLN 5.85 QLO.4 LVM HMD HPL POT POQ 59 HSL QAO QLO 29 74.6283e-7 VVS RFN.2 69.78 CPK 3 PA.897 VTC.42 53b 53a 6 VAS 8 PPC AN2 u REK.4 u^3 3.7 CV 73.2 5 PA 292 28 6 6 AN3 4. 2 CPP VAS3 DAS 3.3 lower limit.7 ANM xo 6.8 PTC PVS AN5.4 VTC 9 VV8 PPC 69.7-6.3 3.78 7 PRP VP CFC 2.95 DVS 6 CPP 72 VP PVS 2 RSN AR3 xo if (POD<) {POJ=PODx3.3} POZ 289 33.33 lower limit.3 VV7 QAO BFN 99.95 284b 68 2.3229 62 63 ANM 8 7 62 4 3 288 VB VVE RBF PA POJ 6.8 VRC BFM.4 DPP.47 PC 5.4 RVS.2 34 284 POC VB 5 7 AUM DLP LPK CPR 7.4 DPL 78 77 85 PC PC.7 67 PVS 3.7 2.782 287 BFN 7 2.9 BFM PGS DP 79 PPD PVG 39 7 PAM AUM 66 2.8 4 CN2 ANTIDIURECTIC HORMONE CONTROL RVS.6379.2.22 RV 3 37 VIM VIM A2K RV 43 RVS RSM AUM RAM CAPILLARY MEMBRANE DYNAMICS 2.9 x o CN7.79 AMM VIM RAM 96.3 35 ANU.6 ARM 4A 38 36 ANU 279 28 42 29 POA 28 282 285 algebraic loop breaking 4 AVE lower limit.95 ARM POR.6 ANM.9456 xo AK ELECTROLYTES AND CELL WATER
Matlab/Simulink Softwarové nátroje pro tvorbu modelů
Matlab/Simulink Softwarové nátroje pro tvorbu modelů
Matlab/Simulink Softwarové nátroje pro tvorbu modelů
Matlab/Simulink Grafické zobrazení matematických vztahů?
GKf RAP RBF AffC TubC TubC GP=RAP-PAff PAff=RBF/AffC PTP=GFR/TubC GP PTP AVeCOP GKf NETP=GP-PTP-AVeCOP GFR=NETP*GKf Grafické zobrazení matematických vztahů? GFR GFR RPF APr APr B A (APr)^2 A*Apr GFR RPF B*(APr)^2 ACOP=A*Apr+B*(APr)^2 FF=GFR/RPF EPr=APr/(-FF) EPr^2 (-FF) B*EPr^2 ACOP+ECOP Matlab/Simulink A*EPr ECOP=A*EPr+B*EPr^2 AVeCOP=(ACOP+ECOP)/2
GKf RAP RBF AffC TubC TubC GP=RAP-PAff PAff=RBF/AffC PTP=GFR/TubC GP PTP AVeCOP GKf NETP=GP-PTP-AVeCOP GFR=NETP*GKf Grafické zobrazení matematických vztahů? GFR GFR RPF APr APr B A (APr)^2 A*Apr GFR RPF B*(APr)^2 ACOP=A*Apr+B*(APr)^2 FF=GFR/RPF EPr=APr/(-FF) EPr^2 (-FF) B*EPr^2 ACOP+ECOP Matlab/Simulink A*EPr ECOP=A*EPr+B*EPr^2 AVeCOP=(ACOP+ECOP)/2
GKf RAP RBF AffC TubC TubC GP=RAP-PAff PAff=RBF/AffC PTP=GFR/TubC GP PTP AVeCOP GKf NETP=GP-PTP-AVeCOP GFR=NETP*GKf Grafické zobrazení matematických vztahů? GFR GFRold-GFRnew Algebraic Contraint GFR RPF APr APr B A (APr)^2 A*Apr GFR RPF B*(APr)^2 ACOP=A*Apr+B*(APr)^2 FF=GFR/RPF EPr=APr/(-FF) EPr^2 (-FF) B*EPr^2 ACOP+ECOP Matlab/Simulink A*EPr ECOP=A*EPr+B*EPr^2 AVeCOP=(ACOP+ECOP)/2
Grafické zobrazení matematických vztahů? Ne! Grafické zobrazení tranformace vtupních hodnot na výtupní Matlab/Simulink
Matlab/Simulink Softwarové nátroje pro tvorbu modelů
Kauzální modelovací nátroje Je jednoznačně definován potup výpočtu Kauzální modelování Model v Simulinku vyjadřuje píše způob výpočtu než trukturu modelované reality Matlab/Simulink
Akauzální modelovací nátroje Komponenty obahují rovnice Propojení komponent pře konenktory Soutava rovnic Akauzální modelování
Akauzální přítup Zobecnělé úilí (effort) Zobecnělá hybnot p e e=rf R C q=ce q Zobecnělá akumulace (quantity) p=lf L f Zobecnělý tok (flow) Obecné ytémové vlatnoti
Akauzální přítup e Zobecnělé úilí (effort) f Zobecnělý tok (flow) Obecné ytémové vlatnoti
Akauzální přítup e f Zobecnělé úilí (effort) Zobecnělý tok (flow) Obecné ytémové vlatnoti
Akauzální konektory e f Zobecnělé úilí (effort) Zobecnělý tok (flow)
Akauzální propojení Hodnoty propojených nonflow proměnných (e) jou tejné Součet toků (f) =
v v=v2=v3 v2 i i+i2+i3= i2 i i3 v3 i
p.v p.i Reitor n.v n.i R*i = v p.v v = p.v n.v n.v p.v p.i Capacitor i = C*der(v) n.v n.i p.i v i = p.i = n.i n.i p.v p.i Inductor L*der(i) = v n.v n.i p.v v = p.v n.v n.v p.v v = p.v n.v n.v p.i v n.i p.i v n.i i = p.i = n.i i = p.i = n.i
Potačí popi rovnicemi akauzální modelováni Blok Modelování v Modelice konektor PAO vodič typ flow P Q RC Q-QA PAW CS QA typ nonflow Hodnoty propojených nonflow proměnných jou tejné RP PA CL PPL CW P = tlak R*Q=P Součet toků = Q = tok Q=C*der(P) R*Q=P Q=C*der(P) Q=C*der(P)
Modelování v Modelice PAO Q RC PAW QA RP PA Potačí popi rovnicemi akauzální modelováni P Q-QA CS CL PPL CW R*Q=P R*Q=P Q=C*der(P) Q=C*der(P) Q=C*der(P)
Example: Simple pulmonary mechanic model Simulink olution
Potačí popi rovnicemi akauzální modelováni Modelování v Modelice P RC = Q LC=, Q-QA PAW QA RP =,5 CS=,5 PA CL=,2 PPL CW=,2 L*der(Q)=P R*Q=P R*Q=P Q=C*der(P) Q=C*der(P) Q=C*der(P)
Example: Simple pulmonary mechanic model Simulink olution
Příklad: Elatický kompartment <V <V <V V V V StreedVolume = max(vol-v,); Preure V Vol Preure = (StreedVolume/Compliance) V
Příklad: Elatický kompartment <V <V <V V V V StreedVolume = max(vol-v,); Preure ExternalPreure V Vol Preure = (StreedVolume/Compliance) + ExternalPreure; V
Příklad: Elatický kompartment <V <V <V V V V StreedVolume = max(vol-v,); Preure ExternalPreure V Vol Preure = (StreedVolume/Compliance) + ExternalPreure; V der(vol) = q; tok - q
Příklad: Elatický kompartment <V <V <V V V V StreedVolume = max(vol-v,); Preure ExternalPreure V Vol Preure = (StreedVolume/Compliance) + ExternalPreure; der(vol) = q; V tok - q preure
Příklad: Elatický kompartment <V <V <V V V V StreedVolume = max(vol-v,); Preure Název konektoru: referencepoint ExternalPreure V Vol Preure = (StreedVolume/Compliance) + ExternalPreure; V der(vol) = q; Název konektoru: referencepoint tok - referencepoint.q referencepoint.preure
Příklad: Elatický kompartment Třídy: Vzory Komponenty: Intance Název akauzálního konektoru: referencepoint Vol Preure
referencepoint.preure referencepoint.q initial equation Vol = initialvol; equation der(vol) = referencepoint.q; StreedVolume = max(vol-v,); Vol Preure Preure = (StreedVolume/Compliance) + ExternalPreure; referencepoint.preure = Preure; end VacularElacticBloodCompartment;
Vtup ExternalPreure konektor 2 Vtup V Vtup Compliance konektor konektor ReferencePoint konektor 3 Výtup Preure Výtup Vol
Elatické kompartmenty cév Toky krve v cévách (mají tlak a průtok) Řízené čerpadlo (pravá komora) Sběrnice řídících ignálů Regulovatelné odpory
VacularCompartment organbloodflo... organbloodflow Signal bone organbloodflow Signal brain organbloodflow Signal fat organbloodflo... organbloodflow Signal kidney organbloodflow Signal kin q_in organbloodflow Signal keletal... q_out 34 ml min... Kidney_NephronCount_Total_xNormal Kidney_NephronCount_Total_xNormal Nephro... TGF_Vacular_ignal Anetheia_VacularConductance TGFEff... AlphaPool_Effect A2Pool_LogConc AlphaBlocade_Effect AplhaR... AlphaPool_Effect GangliaGeneral_NA AlphaBlocade_Effect Kidney_MyogenicDelay_PreureChange Myogen... GangliaGeneral_NA q_in Affere... kidney 23 ml min... Nephro... Aneth... A2Effe... AplhaR... Effere... 6 ml/min/... Kidney_Acurate... q_out organbloodflow Signal repirat... organbloodflow Signal leftheart organbloodflow Signal rightheart organbloodflow Signal otherti... peripheral
Quantitative Human Phyiology (QHP) Thoma Coleman
Změna nátrojů pro tvorbu imulátorů Nátroje pro tvorbu imulátorů Směr imulátory putitelné v prohlížeči
Automatické generování modelu jako virtuálního řadiče Automatické generování modelu jako.net aembly Tvorba imulačního modelu v protředí Matlab/Simulink Model jako virtuální řadič Řídící vrtva Model jako.net aembly Řídící vrtva Tvorba animací (v Adobe Flah) Vývoj imulátoru (programátorká práce) Interaktivní animace Vývojové protředí Control Web Interaktivní animace Vývojové protředí Microoft ViualStudio.NET Ditribuce imulátorů Tvorba cénářů výukových programů využívajících imulační hry a imulátory
Protředí.NET 3.5 Model jako virtuální řadič Modelica.NET Automatické generování modelu jako.net aembly Model jako.net aembly Řídící vrtva Vývojové protředí Microoft ViualStudio Tvorba imulačního modelu v protředí Matlab/Simulink Modelica Tvorba animací v Expreion Blend Vývoj imulátoru (programátorká práce) Interaktivní animace Řídící vrtva Interaktivní animace Vývojové protředí Control Web Ditribuce imulátorů v prohlížeči Tvorba cénářů výukových programů využívajících imulační hry a imulátory