OpenCMISS & CellML Chris Bradley 1,2 & David Nickerson 1 1 Auckland Bioengineering Institute,...
If you can't read please download the document
OpenCMISS & CellML Chris Bradley 1,2 & David Nickerson 1 1 Auckland Bioengineering Institute, University of Auckland. 2 Department of Physiology, Anatomy
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