170 likes | 267 Views
OpenCMISS + CellML. David Nickerson & Chris Bradley Auckland Bioengineering Institute University of Auckland New Zealand. OpenCMISS. Re-engineering of CMISS Main website http://www.opencmiss.org/ Open source on github https:// github.com/organizations/OpenCMISS.
E N D
OpenCMISS + CellML David Nickerson & Chris Bradley Auckland Bioengineering Institute University of Auckland New Zealand
OpenCMISS • Re-engineering of CMISS • Main website • http://www.opencmiss.org/ • Open source on github • https://github.com/organizations/OpenCMISS
OpenCMISS(Iron) library core library Iron library openCMISS (cm) openCMISS (cm) openCMISS (cm) External Program or script External Program or script External Program or script External Program or script OpenCMISS (iron) Language Bindings Language Bindings Language Bindings Language Bindings FieldML API FieldML API FieldML API FieldML API Fortran Fortran Fortran Fortran CellML API CellML API C/C++ C/C++ C/C++ C/C++ CellML API CellML API Python Python Python Python Etc. Etc. Etc. Etc. Processors FieldML file CellML file History file
OpenCMISS application Zinc Com Layer Com Layer Com Layer Com Layer Com Layer openCMISS (cm) Iron openCMISS (cm) openCMISS (cm) Network FieldML API FieldML API FieldML API FieldML API FieldML API CellML API CellML API CellML API CellML API Processors FieldML file OpenCOR CellML file History file CellML API
Cell model = Extracellular Space e, e Iion Cell Membrane Intracellular Space i, i Example – Electrical Activation (Bidomain representation)
Bidomain equations Where: • Vm = transmembrane potential • i = intracellular potential • e = extracellular potential • Am = membrane surface/volume ratio • Cm = membrane capacitance • e = intracellular conductivity tensor • i = intracellular conductivity tensor • Iion = ionic source current from cellular model • Im = transmembrane stimulus current • ii = current injection per volume intro intracellular space • ie = current injection per volume intro extracellular space
IKs INa IKr2 IbNa IKr1 IpNa IKto Calcium Buffering IK1 IKATP TropC Ca2+ Calmodulin Na+ Na+ K+ K+ Na+ K+ Ca2+ K+ K+ K+ Vleak IbCa K+ Magnesium Buffering Na+ Vtr MgATP Ca2+ NSR Ca2+ Vup 3Na+ MgATP+ JSR Mg2+ MgADP DS Vdecay Vrel MgATP Ca2+ ICa-stretch 2K+ MgPi Ca2+ H+ 3MgADP+3Pi IK-stretch 3H+ H2PO4- VCO2transport INa-stretch Glycogenolysis H+ CO2 Contraction INS-stretch 3MgATP 3Na+ ImKATP IAn-stretch 2Lac ADP MgADP Intrinsic Buffers AK AMP MgATP Ca2+ K+ Cl- OxPhos PCr ADP+H+ MgATP MgADP+Pi+H+ Ca2+ CK NCE Cl- Cr ATP Na+ HCO-3 2Na+ Na+ HCO-3 CBE OH- Lac CHE H+ H2PO-4 H+ LAT NPE NHE NBC Cellular processes
IKs INa IKr2 IbNa IKr1 IpNa IKto IK1 IKATP TropC Ca2+ Calmodulin Na+ Na+ K+ K+ Na+ K+ Ca2+ K+ K+ K+ Vleak IbCa K+ Na+ Vtr MgATP Ca2+ NSR Ca2+ Vup 3Na+ MgATP+ JSR Mg2+ MgADP DS Vdecay Vrel MgATP Ca2+ ICa-stretch 2K+ MgPi Ca2+ H+ 3MgADP+3Pi IK-stretch 3H+ H2PO4- VCO2transport INa-stretch H+ CO2 INS-stretch 3MgATP 3Na+ ImKATP IAn-stretch 2Lac ADP MgADP Intrinsic Buffers AK AMP MgATP Ca2+ K+ Cl- OxPhos PCr ADP+H+ MgATP MgADP+Pi+H+ Ca2+ CK NCE Cl- Cr ATP Na+ HCO-3 2Na+ Na+ HCO-3 CBE OH- Lac CHE H+ H2PO-4 H+ LAT NPE NHE NBC Problem/Field description • Fields: • Geometric • Fibre • Material (i, e, Am, Cm etc.) • Potential (Vm, e, etc.) • Source (Iion, etc.) • Cellular state variables • Cellular intermediate variables • Cellular parameter variables
Field parameter vector Parameter vector, x 35 33 31 29 21 17 19 15 Component, u1 7 3 5 1 Field variable, u 35 32 33 34 31 30 28 29 27 25 24 26 23 21 20 22 17 16 18 19 15 Component, u2 14 13 10 9 11 12 8 6 3 7 2 Global DOFs 5 1 4
300% +50 mV +50 mV +50 mV 100% -85 mV -85 mV -85 mV Electrophysiology - CellML Stimulus off gNa Distribution Normal activation gNa activation
Finite Elasticity – Breast Mechanics Skin Undeformed Deformed Under gravity loading Breast Tissue Courtesy of Prasad Gamage
Fluid Mechanics – 3D NS Carotid Artery Flow, Re=100 Mesh Velocity Pressure Courtesy of David Ladd
CellML as a DOF black box Inputs Outputs Component 1 Field variable Component 2 Component 3 Parameter DOF Vector
IKs INa IKr2 IbNa IKr1 IpNa IKto IK1 IKATP TropC Ca2+ Calmodulin Na+ Na+ K+ K+ Na+ K+ Ca2+ K+ K+ K+ Vleak IbCa K+ Na+ Vtr MgATP Ca2+ NSR Ca2+ Vup 3Na+ MgATP+ JSR Mg2+ MgADP DS Vdecay Vrel MgATP Ca2+ ICa-stretch 2K+ MgPi Ca2+ H+ 3MgADP+3Pi IK-stretch 3H+ H2PO4- VCO2transport INa-stretch H+ CO2 INS-stretch 3MgATP 3Na+ ImKATP IAn-stretch 2Lac ADP MgADP Intrinsic Buffers AK AMP MgATP Ca2+ K+ Cl- OxPhos PCr ADP+H+ MgATP MgADP+Pi+H+ Ca2+ CK NCE Cl- Cr ATP Na+ HCO-3 2Na+ Na+ HCO-3 CBE OH- Lac CHE H+ H2PO-4 H+ LAT NPE NHE NBC OpenCMISSCellML Import CellMLEnvironment State Parameters Intermediate CellMLModel CellML Variables State Parameters Intermediate void computeRates( double VOI, double *PARAMETERS, double *RATES, double *STATES, double *INTERMEDIATE); { const double FIXED[..]; : : } Set as known Set as wanted Set as known and wanted Import
IKs INa IKr2 IbNa IKr1 IpNa IKto IK1 IKATP TropC Ca2+ Calmodulin Na+ Na+ K+ K+ Na+ K+ Ca2+ K+ K+ K+ Vleak IbCa K+ Na+ Vtr MgATP Ca2+ NSR Ca2+ Vup 3Na+ MgATP+ JSR Mg2+ MgADP DS Vdecay Vrel MgATP Ca2+ ICa-stretch 2K+ MgPi Ca2+ H+ 3MgADP+3Pi IK-stretch 3H+ H2PO4- VCO2transport INa-stretch H+ CO2 INS-stretch 3MgATP 3Na+ ImKATP IAn-stretch 2Lac ADP MgADP Intrinsic Buffers AK AMP MgATP Ca2+ K+ Cl- OxPhos PCr ADP+H+ MgATP MgADP+Pi+H+ Ca2+ CK NCE Cl- Cr ATP Na+ HCO-3 2Na+ Na+ HCO-3 CBE OH- Lac CHE H+ H2PO-4 H+ LAT NPE NHE NBC CellML Interface CellML environ Models State Parameters Intermediate OpenCMISS Field CellML Fields
CellML/Field Maps CellML environ Models State Parameters Intermediate Cellular model CellML to field Map Field to CellML Map CellML integrate Transmembrane Voltage Field
CellML/Field Maps CellML environ Models State Parameters Intermediate Constitutive Law CellML evaluate CellML to field Map Field to CellML Map Strain Field Stress Field