Personal tools
You are here: Home / cm / Wiki / Bidomain
Navigation
Log in


Forgot your password?
 

Bidomain

Purpose: This wiki is intended to be a collection site of changes that CMISS developers (mainly T. Austin) have made to routines employed by monodomain/bidomain problems (and coupled problems), in particular, when Grid-based FEM is employed as discretization.

  • General Parallelization changes and New Features
    • On 22 June 05 Changed ASSEMBLE10_FE so that construction of matrix is performed in parallel. Appears to be close to speedup of p for p processors. Needs to be tested and then submitted.
    • Learned from above changes that ASSERT causes problems (if not carefully accounted for) for parallel runs in that it caused me grief by causing code to die.
  • MARCH8 class of subroutine changes and new features
    • FUTURE PLANS: Plan in the near future to add second-order time-stepping using Strang Splitting (reaction solve - diffusion solve - reaction solve). This will require a better coding of the reaction solve in MARCH8.
  • ASSEMBLE10 class of subroutine changes and new features
    • See OpenMP changes.
    • Also fixed change that Leo made which worked for non-lattice but not

for lattice-based.

  • FUTURE PLANS: Need to parallelize assembly routine for ASSEMBLE10_FV.
  • CALC_FE_GRID_COEF and CALC_FE_COEF changes and new features.
    • For parallelization of assembly in ASSEMBLE10_FE I split up work

done in CALC_FE_GRID_COEF and CALC_FE_COEF by creating CALC_FE_GRID_stncl and CALC_FE_STNCL. These new routines are called first to set-up the stencil pattern. Then once setup we call CALC_FE_GRID_COEF and CALC_FE_COEF to compute stencil entries.

Note 1: MARCH8 class of subroutines consists mainly of MARCH8, MARCH8_COUPLED, and newer subroutines, which perform time-stepping for monodomain/bidomain or m/b/torso problems. Most routines written by M. Buist.

Note 2: ASSEMBLE10 class of subroutines consists of ASSEMBLE10_FE, ASSEMBLE10_FD, and ASSEMBLE10_FV. These names were changes from ASSEMBLE10 and ASSEMBLE10_FE in order to better describe the subroutines.