00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef CHECKMONOLR91VARS_HPP_
00031 #define CHECKMONOLR91VARS_HPP_
00032
00033 #include "MonodomainProblem.hpp"
00034
00035 template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
00036 void CheckMonoLr91Vars(MonodomainProblem<ELEMENT_DIM, SPACE_DIM>& problem)
00037 {
00038
00039 DistributedVector voltage = problem.rGetMesh().GetDistributedVectorFactory()->CreateDistributedVector(problem.GetSolution());
00040 for (DistributedVector::Iterator index = voltage.Begin();
00041 index != voltage.End();
00042 ++index)
00043 {
00044
00045 double Ena = 54.4;
00046 double Ek = -77.0;
00047
00048 TS_ASSERT_LESS_THAN_EQUALS( voltage[index] , Ena + 30);
00049 TS_ASSERT_LESS_THAN_EQUALS(-voltage[index] + (Ek-30), 0);
00050
00051 std::vector<double> odeVars = problem.GetMonodomainTissue()->GetCardiacCell(index.Global)->rGetStateVariables();
00052 for (int j=0; j<8; j++)
00053 {
00054
00055 if ((j!=0) && (j!=7))
00056 {
00057 TS_ASSERT_LESS_THAN_EQUALS( odeVars[j], 1.0);
00058 TS_ASSERT_LESS_THAN_EQUALS( -odeVars[j], 0.0);
00059 }
00060 }
00061 }
00062 }
00063
00064 #endif