Solving an electrophysiology problem consists of two steps: initialize and integrate. This page provides a summary of the workflow for both steps.
Initialize
-
self.SinitElectrophys();
-
guiCallback() – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – -[/pcty/client/electrophysiologyCommands.py|class SolveElectrophysInit]
- doit()
- doInitilize()
- send_cmd([‘epprob.setup.Initialize])
- Initialize() – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – -[/pcty/server/problem/Electrophysiology/Setup.py | class Setup]
-
self.prob.LoadIonicModel() – – – – – – – – – – – – – – [/pcty/server/problem/Electrophysiology/Electrophysiology.py | class Electrophysiology]
- self.LoadEP_module()
-
self.prob.LoadStimulus()
- self.build_basic_ODEs()
- self.build_ECG_nodel_dist()
- self.build_basis_num_dep_var()
- calcNodalDepVars()
- self. build_elem_mesh_dofs()
- self.build_param_set_list()
- self.CGinitialize() – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – [/pcty/server/problem/Electrophysiology/Setup.py | class Setup]
- self.dynamicInitialize()
- self.calcInitialODEs()
- self.initializePDEs()
- self.setup_rPar()
- self.dynamicInitialize()
-
Integrate
self.SintElectrophys()
-
guiCallback() – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – [/pcty/client/electrophysiologyCommands.py|class SolveElectrophysInt]
- form = integrateForm() – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – [/pcty/client/forms/integrateForm.py|class integrateForm]
- doit()
- send_cmd([‘epprob.control.solvers.Integrate’])
- _ _Integrate() – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – -[/pcty/server/problem/Solvers.py|class Solvers]
- build_stateVarList()
- build_stateVarIndices
- self.prob.cgint(ren, parallel, surfaceInfo) – – – – – – – [/pcty/server/problem/Electrophysiology/Electrophysiology.py | class Electrophysiology]
- self.initialize_odesolver()
- odeInit() – specific to GPU/CPU serial/parallel
- self.solveStep(t_now, surfaceInfo, ren)
- evaluateODEs()
- self.cgint_{serial,parallel}_odesolver()
- self.pack_source_gal()
- self.linearSolver.allocateAndBuild()
- self.allocate()
- self.build_matricies()
- self.linearSolver.build_rhs()
- solvePDEs()
-
self.linearSolver.cont2Axb()- – – – – – – – – [/pcty/server/problem/Electrophysiology/LinearSolverEP.py | class PyCont2Axb]
- self.build_lhs()
- self.setupSolver()
- self.factorization()
- self.ep.call_solver() – – – – – – – – – – – – – – – – – – – – – – – – – – [/pcty/server/problem/Problem.py | class Problem]
-
self.solve() – – – – – – – – – – – – – – – [/pcty/server/problem/Electrophysiology/LinearSolverEP.py | class PyCont2Axb]
- self.ep.call_solver() – – – – – – – – – – – – – – – – – – – – – – – – – – – [/pcty/server/problem/Problem.py | class Problem]
- self.build_lhs()
-
- _cgint_eval_soln()
- ren.rmout._callback()
- evaluateODEs()
- self.initialize_odesolver()