Transcript of OpenCMISS & CellML Chris Bradley 1,2 & David Nickerson 1 1 Auckland Bioengineering Institute,...
- Slide 1
- OpenCMISS & CellML Chris Bradley 1,2 & David Nickerson
1 1 Auckland Bioengineering Institute, University of Auckland. 2
Department of Physiology, Anatomy and Genetics, University of
Oxford.
- Slide 2
- Why OpenCMISS? We want to solve larger scale coupled models of
the heart, lungs, stomach and other biological systems than we can
currently solve We need to redevelop legacy CMISS computational
code. Take advantage of modern High Performance computer
architectures.
- Slide 3
- OpenCMISS Re-engineering of CMISS Main website
http://www.opencmiss.org/http://www.opencmiss.org/ Open source on
github
https://github.com/organizations/OpenCMISShttps://github.com/organizations/OpenCMISS
Fortran 95/2003. Object based
- Slide 4
- OpenCMISS Design Goals 1.It should be a library based rather
than a monolithic application. 2.It should use the Physiome
standards FieldML and CellML. 3.It should be a general code. 4.It
should be an inherently parallel code. 5.It should be used,
developed, and understood by novices and experts alike. 6.It should
deal with multiscale and multiphysics applications and with
complicated workflows.
- Slide 5
- OpenCMISS library openCMISS librarycore library openCMISS (cm)
FieldML API CellML API openCMISS (cm) FieldML API CellML API
openCMISS (cm) CellML API FieldML API FieldML file CellML file
Processors History file Language Bindings Fortran C/C++ Python Etc.
Language Bindings Fortran C/C++ Python Etc. Language Bindings
Fortran C/C++ Python Etc. Language Bindings Fortran C/C++ Python
Etc. OpenCMISS (cm) FieldML API CellML API External Program or
script
- Slide 6
- OpenCMISS application openCMISS (cm) FieldML API CellML API Com
Layer openCMISS (cm) FieldML API CellML API openCMISS (cm) CellML
API FieldML API Com Layer FieldML file CellML file OpenCOR
Processors CellML API FieldML API Com Layer History file FieldML
API CellML API Com Layer OpenCMISS Cmgui Network
- Slide 7
- General parallel environment Bus CC CC Cache CCCCC CCCCC CCCCC
CCCCC CCCCC Memory CPU Accel CC CC Cache CCCCC CCCCC CCCCC CCCCC
CCCCC Memory CPU Accel Memory Network Bus CC CC Cache CCCCC CCCCC
CCCCC CCCCC CCCCC Memory CPU Accel CC CC Cache CCCCC CCCCC CCCCC
CCCCC CCCCC Memory CPU Accel Memory Network Hierarchy of
heterogeneous computing elements
- Slide 8
- Multi-scale & Multi-physics In order to accurately model
biological systems OpenCMISS must model multiple physical systems
at different time and space scales. OpenCMISS deals with this via:
A flexible system for describing multiple models, solvers and
workflows. Methods for coupling different physical systems
together. Handling different spatial and temporal scales via
FieldML and CellML
- Slide 9
- Multi-physics: Equations Sets Can be broken down into
Linear/Nonlinear Dynamic/Static General form of OpenCMISS
equations: DynamicLinearNonlinearSourceRHS
- Slide 10
- Example Electrical Activation (Bidomain representation) Cell
Membrane Intracellular Space i, i Extracellular Space e, e I ion
Cell model =
- Slide 11
- Bidomain equations Where: V m = transmembrane potential i =
intracellular potential e = extracellular potential A m = membrane
surface/volume ratio C m = membrane capacitance e = intracellular
conductivity tensor i = intracellular conductivity tensor I ion =
ionic source current from cellular model I m = transmembrane
stimulus current i i = current injection per volume intro
intracellular space i e = current injection per volume intro
extracellular space
- Slide 12
- Cellular processes
- Slide 13
- Problem/Field description Fields: Geometric Fibre Material ( i,
e, A m, C m etc.) Potential (V m, e, etc.) Source (I ion, etc.)
Cellular state variables Cellular intermediate variables Cellular
parameter variables
- Slide 14
- Field parameter vector 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 1 3 5 7 15
17 19 21 29 31 33 35 Field variable, u Component, u 1 Component, u
2 Parameter vector, x Global DOFs
- Slide 15
- Electrophysiology - CellML 300% 100% gNa Distribution +50 mV
-85 mV Stimulus off +50 mV -85 mV Normal activation +50 mV -85 mV
gNa activation
- Slide 16
- Finite Elasticity Breast Mechanics Courtesy of Prasad Gamage
Skin Breast Tissue Undeformed Deformed Under gravity loading
- Slide 17
- Fluid Mechanics 3D NS Carotid Artery Flow, Re=100
MeshVelocityPressure Courtesy of David Ladd
- Slide 18
- CellML as a DOF black box Field variable Parameter DOF Vector
Component 1 Component 2 Component 3 InputsOutputs
- Slide 19
- OpenCMISS CellML Import void computeRates(double VOI, double
*PARAMETERS, double *RATES, double *STATES, double *INTERMEDIATE);
{ const double FIXED[..]; : } StateParametersIntermediate
StateParametersIntermediate CellML Variables CellML Environment
CellML Model Import Set as known Set as wanted Set as known and
wanted
- Slide 20
- CellML Interface ModelsStateParametersIntermediate CellML
environ OpenCMISS Field CellML Fields
- Slide 21
- CellML/Field Maps ModelsStateParametersIntermediate CellML
environ CellML to field MapField to CellML MapCellML integrate
Cellular model Transmembrane Voltage Field
- Slide 22
- CellML/Field Maps ModelsStateParametersIntermediate CellML
environ Strain Field Stress Field CellML to field Map Field to
CellML Map CellML evaluate Constitutive Law
- Slide 23
- FPGA Acceleration Investigating using Field Programmable Gate
Array (FPGAs) as accelerators for CellML equations (see Tings talk
next).
- Slide 24
- GPU Acceleration
- Slide 25
- Acknowledgements A (hopefully complete) list of those
individuals who have contributed to OpenCMISS (so far.) Bojan
Blazevic Andy Bowery Chris Bradley Randall Britten Vincent
Budelmann Phani Chichapatnam Richard Christie Andrew Cookson Andrew
Crozier Prasad Gamage Arne Gjuvsland Thomas Heidlauf Alice Hung
Peter Hunter Jagir Hussan Chloe Irwin Whitney Jessica Jor Sebastian
Krittian David Ladd Sander Land Jack Lee Caton Little Xaio Bo Lu
Kumar Mithraratne Christian Michler Jennine Mitchell Martyn Nash
David Nickerson Steven Niederer Poul Nielsen yvind Nordb David
Nordsletten Stig Omholt Ali Pashaei Vijayaraghavan Rajagopal Adam
Reeve Oliver Rohle Ishani Roy Ole W. Saastad Soroush Safaei Vickie
Shim Matt Sinclair Nic Smith Martin Steghofer Merryn Tawhai Mark
Trew Jon Olav Vik Tim Wu Robert Jiahe Xi Nancy (Xiani) Yan Ting Yu
Heye Zhang Ju Zhang