Commit 97553ea0 authored by Chris Cantwell's avatar Chris Cantwell

Clang format time integration code and fix some comments.

parent 5d0a37b0
......@@ -275,7 +275,7 @@ SET(TimeIntegrationHeaders
)
SET(TimeIntegrationSources
./TimeIntegration/SchemeInitializor.cpp
./TimeIntegration/SchemeInitializer.cpp
./TimeIntegration/TimeIntegrationScheme.cpp
./TimeIntegration/TimeIntegrationSchemeData.cpp
./TimeIntegration/TimeIntegrationSolution.cpp
......
......@@ -30,7 +30,7 @@
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
//
// Description: Header file of time integration scheme wrappers
//
///////////////////////////////////////////////////////////////////////////////
......@@ -47,101 +47,121 @@
///////////////////////////////////////////////////////////////////////////////
namespace Nektar {
namespace LibUtilities {
namespace Nektar
{
namespace LibUtilities
{
class CNABTimeIntegrationScheme : public TimeIntegrationScheme
class CNABTimeIntegrationScheme : public TimeIntegrationScheme
{
public:
CNABTimeIntegrationScheme() : TimeIntegrationScheme()
{
public:
CNABTimeIntegrationScheme() : TimeIntegrationScheme()
{
std::cout << "creating a CNABTimeIntegrationScheme\n";
m_integration_phases = TimeIntegrationSchemeDataVector( 3 );
m_integration_phases[ 0 ] = TimeIntegrationSchemeDataSharedPtr( new TimeIntegrationSchemeData( this ) );
m_integration_phases[ 1 ] = TimeIntegrationSchemeDataSharedPtr( new TimeIntegrationSchemeData( this ) );
m_integration_phases[ 2 ] = TimeIntegrationSchemeDataSharedPtr( new TimeIntegrationSchemeData( this ) );
IMEXdirk_3_4_3TimeIntegrationScheme::SetupSchemeData( m_integration_phases[0] ); // dirk 3 4 3
IMEXdirk_3_4_3TimeIntegrationScheme::SetupSchemeData( m_integration_phases[1] ); // dirk 3 4 3
CNABTimeIntegrationScheme::SetupSchemeData( m_integration_phases[2] ); // CNAB
}
virtual ~CNABTimeIntegrationScheme()
{
}
m_integration_phases = TimeIntegrationSchemeDataVector(3);
m_integration_phases[0] = TimeIntegrationSchemeDataSharedPtr(
new TimeIntegrationSchemeData(this));
m_integration_phases[1] = TimeIntegrationSchemeDataSharedPtr(
new TimeIntegrationSchemeData(this));
m_integration_phases[2] = TimeIntegrationSchemeDataSharedPtr(
new TimeIntegrationSchemeData(this));
IMEXdirk_3_4_3TimeIntegrationScheme::SetupSchemeData(
m_integration_phases[0]); // dirk 3 4 3
IMEXdirk_3_4_3TimeIntegrationScheme::SetupSchemeData(
m_integration_phases[1]); // dirk 3 4 3
CNABTimeIntegrationScheme::SetupSchemeData(
m_integration_phases[2]); // CNAB
}
virtual ~CNABTimeIntegrationScheme()
{
}
/////////////
/////////////
static TimeIntegrationSchemeSharedPtr create()
{
static TimeIntegrationSchemeSharedPtr create()
{
std::cout << "CNABTimeIntegrationScheme::create()\n";
TimeIntegrationSchemeSharedPtr p = MemoryManager<CNABTimeIntegrationScheme>::AllocateSharedPtr();
TimeIntegrationSchemeSharedPtr p =
MemoryManager<CNABTimeIntegrationScheme>::AllocateSharedPtr();
return p;
}
}
static std::string className;
static std::string className;
//////////////
//////////////
LUE virtual
TimeIntegrationMethod GetIntegrationMethod() const { return TimeIntegrationMethod::eCNAB; }
LUE virtual TimeIntegrationMethod GetIntegrationMethod() const
{
return TimeIntegrationMethod::eCNAB;
}
//////////////
//////////////
LUE
static
void SetupSchemeData( TimeIntegrationSchemeDataSharedPtr & phase )
{
LUE static void SetupSchemeData(TimeIntegrationSchemeDataSharedPtr &phase)
{
std::cout << "SetupSchemeData for CNABTimeIntegrationScheme\n";
phase->m_method = TimeIntegrationMethod::eCNAB;
phase->m_method = TimeIntegrationMethod::eCNAB;
phase->m_schemeType = eIMEX;
phase->m_numsteps = 4;
phase->m_numstages = 1;
phase->m_A = Array<OneD, Array<TwoD,NekDouble> >(2);
phase->m_B = Array<OneD, Array<TwoD,NekDouble> >(2);
phase->m_A = Array<OneD, Array<TwoD, NekDouble>>(2);
phase->m_B = Array<OneD, Array<TwoD, NekDouble>>(2);
NekDouble secondth = 1.0 / 2.0;
NekDouble secondth = 1.0/2.0;
phase->m_A[0] = Array<TwoD, NekDouble>(phase->m_numstages,
phase->m_numstages, secondth);
phase->m_B[0] =
Array<TwoD, NekDouble>(phase->m_numsteps, phase->m_numstages, 0.0);
phase->m_A[1] =
Array<TwoD, NekDouble>(phase->m_numstages, phase->m_numstages, 0.0);
phase->m_B[1] =
Array<TwoD, NekDouble>(phase->m_numsteps, phase->m_numstages, 0.0);
phase->m_U = Array<TwoD, NekDouble>(phase->m_numstages,
phase->m_numsteps, secondth);
phase->m_V =
Array<TwoD, NekDouble>(phase->m_numsteps, phase->m_numsteps, 0.0);
phase->m_A[0] = Array<TwoD,NekDouble>( phase->m_numstages, phase->m_numstages, secondth );
phase->m_B[0] = Array<TwoD,NekDouble>( phase->m_numsteps, phase->m_numstages, 0.0 );
phase->m_A[1] = Array<TwoD,NekDouble>( phase->m_numstages, phase->m_numstages, 0.0 );
phase->m_B[1] = Array<TwoD,NekDouble>( phase->m_numsteps, phase->m_numstages, 0.0 );
phase->m_U = Array<TwoD,NekDouble>( phase->m_numstages, phase->m_numsteps, secondth );
phase->m_V = Array<TwoD,NekDouble>( phase->m_numsteps, phase->m_numsteps, 0.0 );
phase->m_B[0][0][0] = secondth;
phase->m_B[0][1][0] = 1.0;
phase->m_B[1][2][0] = 1.0;
phase->m_U[0][0] = 2 * secondth;
phase->m_U[0][2] = 3 * secondth;
phase->m_U[0][3] = -1 * secondth;
phase->m_U[0][0] = 2 * secondth;
phase->m_U[0][2] = 3 * secondth;
phase->m_U[0][3] = -1 * secondth;
phase->m_V[0][0] = 2 * secondth;
phase->m_V[0][0] = 2 * secondth;
phase->m_V[0][1] = secondth;
phase->m_V[0][2] = 3 * secondth;
phase->m_V[0][2] = 3 * secondth;
phase->m_V[0][3] = -1 * secondth;
phase->m_V[3][2] = 1.0;
phase->m_V[3][2] = 1.0;
phase->m_numMultiStepValues = 1;
phase->m_numMultiStepDerivs = 3;
phase->m_timeLevelOffset = Array<OneD,unsigned int>( phase->m_numsteps );
phase->m_timeLevelOffset = Array<OneD, unsigned int>(phase->m_numsteps);
phase->m_timeLevelOffset[0] = 0;
phase->m_timeLevelOffset[1] = 0;
phase->m_timeLevelOffset[2] = 0;
phase->m_timeLevelOffset[3] = 1;
phase->m_firstStageEqualsOldSolution = phase->CheckIfFirstStageEqualsOldSolution( phase->m_A, phase->m_B, phase->m_U, phase->m_V );
phase->m_lastStageEqualsNewSolution = phase->CheckIfLastStageEqualsNewSolution( phase->m_A, phase->m_B, phase->m_U, phase->m_V );
phase->m_firstStageEqualsOldSolution =
phase->CheckIfFirstStageEqualsOldSolution(phase->m_A, phase->m_B,
phase->m_U, phase->m_V);
phase->m_lastStageEqualsNewSolution =
phase->CheckIfLastStageEqualsNewSolution(phase->m_A, phase->m_B,
phase->m_U, phase->m_V);
ASSERTL1( phase->VerifyIntegrationSchemeType( phase->m_schemeType, phase->m_A, phase->m_B, phase->m_U, phase->m_V ),
"Time integration scheme coefficients do not match its type" );
}
ASSERTL1(phase->VerifyIntegrationSchemeType(phase->m_schemeType,
phase->m_A, phase->m_B,
phase->m_U, phase->m_V),
"Time integration scheme coefficients do not match its type");
}
}; // end class CNABTimeIntegrationScheme
}; // end class CNABTimeIntegrationScheme
} // end namespace LibUtilities
} // end namespace LibUtilities
} // end namespace Nektar
......@@ -30,7 +30,7 @@
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
//
// Description: Header file of time integration scheme wrappers
//
///////////////////////////////////////////////////////////////////////////////
......@@ -45,92 +45,111 @@
///////////////////////////////////////////////////////////////////////////////
namespace Nektar {
namespace LibUtilities {
namespace Nektar
{
namespace LibUtilities
{
class IMEXGearTimeIntegrationScheme : public TimeIntegrationScheme
{
public:
IMEXGearTimeIntegrationScheme() : TimeIntegrationScheme()
{
m_integration_phases = TimeIntegrationSchemeDataVector(2);
m_integration_phases[0] = TimeIntegrationSchemeDataSharedPtr(
new TimeIntegrationSchemeData(this));
m_integration_phases[1] = TimeIntegrationSchemeDataSharedPtr(
new TimeIntegrationSchemeData(this));
IMEXdirk_2_2_2TimeIntegrationScheme::SetupSchemeData(
m_integration_phases[0]);
IMEXGearTimeIntegrationScheme::SetupSchemeData(m_integration_phases[1]);
}
virtual ~IMEXGearTimeIntegrationScheme()
{
}
/////////////
class IMEXGearTimeIntegrationScheme : public TimeIntegrationScheme
static TimeIntegrationSchemeSharedPtr create()
{
public:
IMEXGearTimeIntegrationScheme() : TimeIntegrationScheme()
{
m_integration_phases = TimeIntegrationSchemeDataVector( 2 );
m_integration_phases[ 0 ] = TimeIntegrationSchemeDataSharedPtr( new TimeIntegrationSchemeData( this ) );
m_integration_phases[ 1 ] = TimeIntegrationSchemeDataSharedPtr( new TimeIntegrationSchemeData( this ) );
IMEXdirk_2_2_2TimeIntegrationScheme::SetupSchemeData( m_integration_phases[0] );
IMEXGearTimeIntegrationScheme::SetupSchemeData( m_integration_phases[1] );
}
virtual ~IMEXGearTimeIntegrationScheme()
{
}
/////////////
static TimeIntegrationSchemeSharedPtr create()
{
TimeIntegrationSchemeSharedPtr p = MemoryManager<IMEXGearTimeIntegrationScheme>::AllocateSharedPtr();
TimeIntegrationSchemeSharedPtr p =
MemoryManager<IMEXGearTimeIntegrationScheme>::AllocateSharedPtr();
return p;
}
}
static std::string className; // FIXME: Will be set in TimeIntegratorBase.cpp during program start up.
static std::string className; // FIXME: Will be set in
// TimeIntegratorBase.cpp during program start
// up.
//////////////
//////////////
LUE virtual
TimeIntegrationMethod GetIntegrationMethod() const { return TimeIntegrationMethod::eIMEXGear; }
LUE virtual TimeIntegrationMethod GetIntegrationMethod() const
{
return TimeIntegrationMethod::eIMEXGear;
}
//////////////
//////////////
LUE
static
void SetupSchemeData( TimeIntegrationSchemeDataSharedPtr & phase )
{
phase->m_method = TimeIntegrationMethod::eIMEXGear;
LUE static void SetupSchemeData(TimeIntegrationSchemeDataSharedPtr &phase)
{
phase->m_method = TimeIntegrationMethod::eIMEXGear;
phase->m_schemeType = eIMEX;
phase->m_numsteps = 3;
phase->m_numstages = 1;
phase->m_A = Array<OneD, Array<TwoD,NekDouble> >(2);
phase->m_B = Array<OneD, Array<TwoD,NekDouble> >(2);
phase->m_A = Array<OneD, Array<TwoD, NekDouble>>(2);
phase->m_B = Array<OneD, Array<TwoD, NekDouble>>(2);
NekDouble twothirds = 2.0/3.0;
NekDouble twothirds = 2.0 / 3.0;
phase->m_A[0] = Array<TwoD, NekDouble>(phase->m_numstages,
phase->m_numstages, twothirds);
phase->m_B[0] =
Array<TwoD, NekDouble>(phase->m_numsteps, phase->m_numstages, 0.0);
phase->m_A[1] =
Array<TwoD, NekDouble>(phase->m_numstages, phase->m_numstages, 0.0);
phase->m_B[1] =
Array<TwoD, NekDouble>(phase->m_numsteps, phase->m_numstages, 0.0);
phase->m_U =
Array<TwoD, NekDouble>(phase->m_numstages, phase->m_numsteps, 0.0);
phase->m_V =
Array<TwoD, NekDouble>(phase->m_numsteps, phase->m_numsteps, 0.0);
phase->m_A[0] = Array<TwoD,NekDouble>( phase->m_numstages, phase->m_numstages, twothirds );
phase->m_B[0] = Array<TwoD,NekDouble>( phase->m_numsteps, phase->m_numstages, 0.0 );
phase->m_A[1] = Array<TwoD,NekDouble>( phase->m_numstages, phase->m_numstages, 0.0 );
phase->m_B[1] = Array<TwoD,NekDouble>( phase->m_numsteps, phase->m_numstages, 0.0 );
phase->m_U = Array<TwoD,NekDouble>( phase->m_numstages, phase->m_numsteps, 0.0 );
phase->m_V = Array<TwoD,NekDouble>( phase->m_numsteps, phase->m_numsteps, 0.0 );
phase->m_B[0][0][0] = twothirds;
phase->m_B[1][2][0] = 1.0;
phase->m_U[0][0] = 2.0 * twothirds;
phase->m_U[0][0] = 2.0 * twothirds;
phase->m_U[0][1] = -0.5 * twothirds;
phase->m_U[0][2] = twothirds;
phase->m_V[0][0] = 2.0 * twothirds;
phase->m_V[0][0] = 2.0 * twothirds;
phase->m_V[0][1] = -0.5 * twothirds;
phase->m_V[0][2] = twothirds;
phase->m_V[1][0] = 1.0;
phase->m_V[0][2] = twothirds;
phase->m_V[1][0] = 1.0;
phase->m_numMultiStepValues = 2;
phase->m_numMultiStepDerivs = 1;
phase->m_timeLevelOffset = Array<OneD,unsigned int>( phase->m_numsteps );
phase->m_timeLevelOffset = Array<OneD, unsigned int>(phase->m_numsteps);
phase->m_timeLevelOffset[0] = 0;
phase->m_timeLevelOffset[1] = 1;
phase->m_timeLevelOffset[2] = 0;
phase->m_firstStageEqualsOldSolution = phase->CheckIfFirstStageEqualsOldSolution( phase->m_A, phase->m_B, phase->m_U, phase->m_V );
phase->m_lastStageEqualsNewSolution = phase->CheckIfLastStageEqualsNewSolution( phase->m_A, phase->m_B, phase->m_U, phase->m_V );
phase->m_firstStageEqualsOldSolution =
phase->CheckIfFirstStageEqualsOldSolution(phase->m_A, phase->m_B,
phase->m_U, phase->m_V);
phase->m_lastStageEqualsNewSolution =
phase->CheckIfLastStageEqualsNewSolution(phase->m_A, phase->m_B,
phase->m_U, phase->m_V);
ASSERTL1(phase->VerifyIntegrationSchemeType(phase->m_schemeType,
phase->m_A, phase->m_B,
phase->m_U, phase->m_V),
"Time integration phase coefficients do not match its type");
}
ASSERTL1( phase->VerifyIntegrationSchemeType( phase->m_schemeType, phase->m_A, phase->m_B, phase->m_U, phase->m_V ),
"Time integration phase coefficients do not match its type" );
}
}; // end class IMEXGearTimeIntegrationScheme
}; // end class IMEXGearTimeIntegrationScheme
} // end namespace LibUtilities
} // end namespace LibUtilities
} // end namespace Nektar
......@@ -30,7 +30,7 @@
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
//
// Description: Header file of time integration scheme wrappers
//
///////////////////////////////////////////////////////////////////////////////
......@@ -43,81 +43,97 @@
///////////////////////////////////////////////////////////////////////////////
namespace Nektar {
namespace LibUtilities {
namespace Nektar
{
namespace LibUtilities
{
class MCNABTimeIntegrationScheme : public TimeIntegrationScheme
{
public:
MCNABTimeIntegrationScheme() : TimeIntegrationScheme()
{
m_integration_phases = TimeIntegrationSchemeDataVector(3);
m_integration_phases[0] = TimeIntegrationSchemeDataSharedPtr(
new TimeIntegrationSchemeData(this));
m_integration_phases[1] = TimeIntegrationSchemeDataSharedPtr(
new TimeIntegrationSchemeData(this));
m_integration_phases[2] = TimeIntegrationSchemeDataSharedPtr(
new TimeIntegrationSchemeData(this));
IMEXdirk_3_4_3TimeIntegrationScheme::SetupSchemeData(
m_integration_phases[0]);
IMEXdirk_3_4_3TimeIntegrationScheme::SetupSchemeData(
m_integration_phases[1]);
MCNABTimeIntegrationScheme::SetupSchemeData(m_integration_phases[2]);
}
virtual ~MCNABTimeIntegrationScheme()
{
}
/////////////
class MCNABTimeIntegrationScheme : public TimeIntegrationScheme
static TimeIntegrationSchemeSharedPtr create()
{
public:
MCNABTimeIntegrationScheme() : TimeIntegrationScheme()
{
m_integration_phases = TimeIntegrationSchemeDataVector( 3 );
m_integration_phases[ 0 ] = TimeIntegrationSchemeDataSharedPtr( new TimeIntegrationSchemeData( this ) );
m_integration_phases[ 1 ] = TimeIntegrationSchemeDataSharedPtr( new TimeIntegrationSchemeData( this ) );
m_integration_phases[ 2 ] = TimeIntegrationSchemeDataSharedPtr( new TimeIntegrationSchemeData( this ) );
IMEXdirk_3_4_3TimeIntegrationScheme::SetupSchemeData( m_integration_phases[0] );
IMEXdirk_3_4_3TimeIntegrationScheme::SetupSchemeData( m_integration_phases[1] );
MCNABTimeIntegrationScheme::SetupSchemeData( m_integration_phases[2] );
}
virtual ~MCNABTimeIntegrationScheme()
{
}
/////////////
static TimeIntegrationSchemeSharedPtr create()
{
TimeIntegrationSchemeSharedPtr p = MemoryManager<MCNABTimeIntegrationScheme>::AllocateSharedPtr();
TimeIntegrationSchemeSharedPtr p =
MemoryManager<MCNABTimeIntegrationScheme>::AllocateSharedPtr();
return p;
}
}
static std::string className; // FIXME: Will be set in TimeIntegratorBase.cpp during program start up.
static std::string className; // FIXME: Will be set in
// TimeIntegratorBase.cpp during program start
// up.
//////////////
//////////////
// Replaces (from TimeIntegrationScheme.h): return m_schemeKey.GetIntegrationMethod();
LUE virtual
TimeIntegrationMethod GetIntegrationMethod() const { return TimeIntegrationMethod::eMCNAB; }
// Replaces (from TimeIntegrationScheme.h): return
// m_schemeKey.GetIntegrationMethod();
LUE virtual TimeIntegrationMethod GetIntegrationMethod() const
{
return TimeIntegrationMethod::eMCNAB;
}
//////////////
LUE
static
void SetupSchemeData( TimeIntegrationSchemeDataSharedPtr & phase )
{
phase->m_method = TimeIntegrationMethod::eMCNAB;
//////////////
LUE static void SetupSchemeData(TimeIntegrationSchemeDataSharedPtr &phase)
{
phase->m_method = TimeIntegrationMethod::eMCNAB;
phase->m_schemeType = eIMEX;
phase->m_numsteps = 5;
phase->m_numstages = 1;
phase->m_A = Array<OneD, Array<TwoD,NekDouble> >(2);
phase->m_B = Array<OneD, Array<TwoD,NekDouble> >(2);
NekDouble sixthx = 9.0/16.0;
phase->m_A[0] = Array<TwoD,NekDouble>( phase->m_numstages, phase->m_numstages, sixthx );
phase->m_B[0] = Array<TwoD,NekDouble>( phase->m_numsteps, phase->m_numstages, 0.0 );
phase->m_A[1] = Array<TwoD,NekDouble>( phase->m_numstages, phase->m_numstages, 0.0 );
phase->m_B[1] = Array<TwoD,NekDouble>( phase->m_numsteps, phase->m_numstages, 0.0 );
phase->m_U = Array<TwoD,NekDouble>( phase->m_numstages, phase->m_numsteps, 0.0 );
phase->m_V = Array<TwoD,NekDouble>( phase->m_numsteps, phase->m_numsteps, 0.0 );
phase->m_A = Array<OneD, Array<TwoD, NekDouble>>(2);
phase->m_B = Array<OneD, Array<TwoD, NekDouble>>(2);
NekDouble sixthx = 9.0 / 16.0;
phase->m_A[0] = Array<TwoD, NekDouble>(phase->m_numstages,
phase->m_numstages, sixthx);
phase->m_B[0] =
Array<TwoD, NekDouble>(phase->m_numsteps, phase->m_numstages, 0.0);
phase->m_A[1] =
Array<TwoD, NekDouble>(phase->m_numstages, phase->m_numstages, 0.0);
phase->m_B[1] =
Array<TwoD, NekDouble>(phase->m_numsteps, phase->m_numstages, 0.0);
phase->m_U =
Array<TwoD, NekDouble>(phase->m_numstages, phase->m_numsteps, 0.0);
phase->m_V =
Array<TwoD, NekDouble>(phase->m_numsteps, phase->m_numsteps, 0.0);
phase->m_B[0][0][0] = sixthx;
phase->m_B[0][1][0] = 1.0;
phase->m_B[1][3][0] = 1.0;
phase->m_U[0][0] = 1.0;
phase->m_U[0][1] = 6.0/16.0;
phase->m_U[0][2] = 1.0/16.0;
phase->m_U[0][3] = 1.5;
phase->m_U[0][4] = -0.5;
phase->m_U[0][0] = 1.0;
phase->m_U[0][1] = 6.0 / 16.0;
phase->m_U[0][2] = 1.0 / 16.0;
phase->m_U[0][3] = 1.5;
phase->m_U[0][4] = -0.5;
phase->m_V[0][0] = 1.0;
phase->m_V[0][1] = 6.0/16.0;
phase->m_V[0][2] = 1.0/16.0;
phase->m_V[0][1] = 6.0 / 16.0;
phase->m_V[0][2] = 1.0 / 16.0;
phase->m_V[0][3] = 1.5;
phase->m_V[0][4] = -0.5;
phase->m_V[2][1] = 1.0;
......@@ -125,21 +141,27 @@ namespace Nektar {
phase->m_numMultiStepValues = 1;
phase->m_numMultiStepDerivs = 4;
phase->m_timeLevelOffset = Array<OneD,unsigned int>( phase->m_numsteps );
phase->m_timeLevelOffset = Array<OneD, unsigned int>(phase->m_numsteps);
phase->m_timeLevelOffset[0] = 0;
phase->m_timeLevelOffset[1] = 0;
phase->m_timeLevelOffset[2] = 1;
phase->m_timeLevelOffset[3] = 0;
phase->m_timeLevelOffset[4] = 1;
phase->m_firstStageEqualsOldSolution = phase->CheckIfFirstStageEqualsOldSolution( phase->m_A, phase->m_B, phase->m_U, phase->m_V );
phase->m_lastStageEqualsNewSolution = phase->CheckIfLastStageEqualsNewSolution( phase->m_A, phase->m_B, phase->m_U, phase->m_V );
phase->m_firstStageEqualsOldSolution =
phase->CheckIfFirstStageEqualsOldSolution(phase->m_A, phase->m_B,
phase->m_U, phase->m_V);
phase->m_lastStageEqualsNewSolution =
phase->CheckIfLastStageEqualsNewSolution(phase->m_A, phase->m_B,
phase->m_U, phase->m_V);
ASSERTL1( phase->VerifyIntegrationSchemeType( phase->m_schemeType, phase->m_A, phase->m_B, phase->m_U, phase->m_V ),
"Time integration scheme coefficients do not match its type" );
}
ASSERTL1(phase->VerifyIntegrationSchemeType(phase->m_schemeType,
phase->m_A, phase->m_B,
phase->m_U, phase->m_V),
"Time integration scheme coefficients do not match its type");
}
}; // end class MCNABTimeIntegrationScheme
}; // end class MCNABTimeIntegrationScheme
} // end namespace LibUtilities
} // end namespace LibUtilities
} // end namespace Nektar
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment