Chaste Workshop

Download Report

Transcript Chaste Workshop

Chaste Workshop
Welcome and Introduction
David Gavaghan
Chaste History
• Commenced as a 4-week taught course in Software Engineering in
May 2005
• May 2005-September 2007 part-time activity, 1 day/week involving
a group of around 6-10 PhD students and post-docs
• September 2007-date EPSRC-funding for two full time post-docs to
join the team
• Focus remains primarily on cardiac electrophysiology, soft tissue
modelling (including cardiac electro-mechanics) and cancer
modelling
Development approach
• Focus from the start on software engineering issues
– Object-oriented
– C++
– Built on PETSc
• Agile approach
–
–
–
–
–
Test-driven (test first)
Pair programming
Short iterations
Frequent refactoring
Team ownership
• Code base now contains 119,974 lines of code and 69,737
lines of test
Current capability
• Cardiac
– Monodomain and bidomain for a wide range of practical
problems
– Efficient parallel implementation
– Open source release available under GNU LGPL license
• Soft Tissue Mechanaics
– Non-linear (finite deformation) elasticity
– Discrete cell-based models
• Cancer
– Focus on colorectal cancer and tumour spheroids
– Off-lattice cell-based simulations (cell-centre and (soon)
cell-vertex
– Variety of cell models and field equations
Performance of cardiac code
• Test Case: sequential simulation of 100ms of bidomain
using the UCSD heart mesh (propagation)
– September 2007 (start of EPSRC grant)
• 1383 minutes
– Thursday of last week
• 117 minutes
– Factor of ~12
• Parallel performance
– Example in next graph is parallel monodomain simulation
of the UCSD heart mesh (propagation)
Parallel scalability
Workshop overview: Day 1
• 10:30-11:30 Session 1 - Introduction to Chaste Functionality:
– Project Overview: David Gavaghan
– Past, present and future: Joe Pitt-Francis
– Science enabled: Blanca Rodriguez
• 11:45-12:30 Session 2 - Basic Installation:
– Joe Pitt-Francis: how to download a binary from the website
• 14:00-17:30 Session 3a and 3b - Use it
– Miguel Bernabeu and Alberto Corrias
– This first practical will cover examples of tissue simulations with
Chaste:
•
•
•
•
1D cable simulation with LR cells.
2D tissue sheet.
S1-S2 stimulation protocol for re-entry generation.
3D slab. Whole heart simulation
Workshop overview: Day 2
• 09:00-11:00 Session 4 – Examples of Cardiac Research
undertaken using Chaste
–
–
–
–
–
Rafel Bordas: Purkinje system.
Pras Pathmanathan: Electro-mechanics.
Jonathan Cooper: Automatic integration of CellML models in Chaste.
Miguel Bernabeu: HPC simulations with highly detailed cardiac models.
James Southern (Fujitsu Laboratories of Europe): HPC and Chaste Towards real-time simulation
• Chair: Blanca Rodriguez
• Some of these examples will form the basis of the practicals
in Sessions 5 and 6.
Workshop overview: Day 2
•
11:30-13:00 Session 5 - Case study 1 (led by Alberto Corrias and Gary
Mirams)
– Practical demonstrating a Purkinje fibre stimulating a 3D tissue slab.
Functionality covered:
• Simulating the activity of different cell types coupled within a 3D geometry.
• Implementation of spatially heterogeneous tissue conductivities.
• Stimulation of a Purkinje fibre to excite the ventricular tissue coupled to the fibre.
•
14:30-17:00 Session 6 - Case study 2 Using CellML (led by Jonathan
Cooper and Alberto Corrias)
– Practical focusing on the integration of CellML and Chaste, covering the use of a
tool for automatic conversion of CellML models into Chaste-compatible C++
code:
• How to generate a C++ implementation of a given CellML model.
• How to write a C++ main function that uses it and change (at least) one of the
parameters in the cell model.
• Running two Chaste 2D tissue simulations that incorporating this parameter
change into the cell model.
Workshop overview: Day 3
• 3 Sessions will run at different times (depending on individual
requirements):
– 9:00-12:30. Session D1 and D2.
– 14:00-17:00. Session D2 and D3.
• Session D1 - Developer installation
– led by Joe Pitt-Francis and Jonathan Cooper
• Session D2 - Tutorials
– led by Pras Pathmanathan and Rafel Bordas
• Session D3 - Adding functionality
– led by Miguel Bernabeu, Matt Gibb and Martin Bishop