These tutorials assume prior knowledge or understanding of various C++ language features and some libraries, including (at least): std::vectors, c_vectors, and abstract and concrete base classes.
To run any of these tutorials, call scons test_suite=<NAME_OF_TUTORIAL_FILE>, from the main chaste directory, e.g.
scons test_suite=ode/test/TestSolvingOdesTutorial.hpp
To do this, either call this from the command line, or create a new make target in eclipse, with the above command as the 'Build command'
See also a cancer Chaste practical and a cardiac Chaste practical.
Tutorials corresponding to released versions of Chaste can be found at https://chaste.github.io/releases/
Tutorials
The basics
- UserTutorials/WritingTests - start here, then choose any of the following three sections
Solving ODEs and PDEs
Cardiac Chaste
For executable users:
Source code users:
- UserTutorials/RunningBidomainSimulations - basic bidomain simulation; note monodomain is virtually the same
- UserTutorials/AnotherBidomainSimulation - shows how to use varying fibre directions and different output formats in particular
- UserTutorials/Monodomain3dExample - illustrates the (trivial) changes required to go from 2d to 3d, or bidomain to monodomain
- UserTutorials/BidomainWithBath
- UserTutorials/BidomainWithBathAndFibres
- UserTutorials/CardiacCheckpointingAndRestarting
Cell-based Chaste
- UserTutorials/RunningCryptSimulations
- UserTutorials/RunningTumourSpheroidSimulations
- UserTutorials/CreatingAndUsingANewCellCycleModel
- UserTutorials/CreatingAndUsingANewCellKiller
- UserTutorials/CreatingAndUsingANewCellPopulationBoundaryCondition
- UserTutorials/CreatingAndUsingANewForce
- UserTutorials/CreatingAndUsingANewCellMutationState
- UserTutorials/CreatingAndUsingANewCellProperty
- UserTutorials/RunningVertexBasedSimulations
- UserTutorials/VisualizingWithParaview
Solid Mechanics (incl. cardiac electro-mechanics)
- UserTutorials/SolvingElasticityProblems - computing the deformation of a nonlinearly elasticity body
- UserTutorials/CardiacElectroMechanics
Automatically generated alphabetical listing
- AnotherBidomainSimulation Another example showing how to run a bidomain simulation
- BidomainWithBath An example showing how to run a bidomain simulation for tissue contained in a perfusing bath
- BidomainWithBathAndFibres Running a bidomain simulation with a bath and fibres
- CardiacCheckpointingAndRestarting Checkpointing and restarting cardiac simulations
- CardiacElectroMechanics Cardiac Electro-mechanical Problems
- CardiacExecutable Using the cardiac executable
- BidomainSimulationsWithPerfusingBath Running a bidomain simulation of cardiac tissue contained in a perfusing bath
- CheckpointingAndRestarting Checkpointing
- DrugAction Running a simulation with multiple-channel drug action
- HardCodedCellModels Hardcoded cell model options
- HeterogeneousExample Simulations with heterogeneities
- MeshConvert Making the `MeshConvert` utility and using it the help produce scalable mesh loading
- Propagation1d Running a simple example: propagation in a tissue fibre
- Propagation3d 3D on a realistic cardiac geometry
- S1S2Protocol Running a simulation of a spiral wave in 2d mesh
- UsingCellmlFiles UserTutorials/CardiacExecutable/UsingCellmlFiles
- UsingFibreDefinitions Using fibre directions and postprocessing
- CreatingAndUsingANewCellCycleModel An example showing how to create a new cell-cycle model and use it in a cell-based simulation
- CreatingAndUsingANewCellKiller An example showing how to create a new cell killer and use it in a cell-based simulation
- CreatingAndUsingANewCellMutationState An example showing how to create a new cell mutation state and use it in a cell-based simulation
- CreatingAndUsingANewCellPopulationBoundaryCondition An example showing how to create and use a new cell population boundary condition
- CreatingAndUsingANewCellProperty An example showing how to create a new cell property and use it in a cell-based simulation
- CreatingAndUsingANewForce An example showing how to create and use a new force
- Monodomain3dExample 3D monodomain example
- RunningBidomainSimulations An example showing how to run bidomain simulations
- RunningCryptSimulations Examples showing how to run crypt simulations on periodic meshes with different cell-cycle models
- RunningTumourSpheroidSimulations An example showing how to run tumour spheroid simulations
- RunningVertexBasedSimulations Examples showing how to create, run and visualize vertex-based simulations on periodic meshes with different cell-cycle models
- SolvingElasticityProblems Solving solid mechanics problems
- SolvingLinearPdes Examples showing how to solve linear elliptic and parabolic PDEs
- SolvingNonlinearPdes An example showing how to solve a nonlinear elliptic PDE. Also includes function-based boundary conditions
- SolvingOdes In this tutorial we show how Chaste can be used to solve an ODE system
- VisualizingWithParaview Examples showing how to visualize simulations in Paraview
- WritingTests Writing tests