CheckMonoLr91Vars.hpp
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.GetMonodomainPde()->GetCardiacCell(index.Global)->rGetStateVariables();
00052 for (int j=0; j<8; j++)
00053 {
00054
00055 if ((j!=4) && (j!=3))
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