Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Sign in / Register
Toggle navigation
Nektar
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Insights
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Locked Files
Issues
62
Issues
62
List
Boards
Labels
Milestones
Merge Requests
29
Merge Requests
29
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Security & Compliance
Security & Compliance
Dependency List
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Nektar
Nektar
Compare Revisions
aa67675d901c6894dd36878f479a70427945148d...925ddb6c9277ea7428e4cd791c4b9934a07075ef
Source
925ddb6c9277ea7428e4cd791c4b9934a07075ef
Select Git revision
...
Target
aa67675d901c6894dd36878f479a70427945148d
Select Git revision
Compare
Commits (2)
Code cleaning and fix more Windows errors.
· 072f1228
Chris Cantwell
authored
Nov 28, 2019
072f1228
Tidying up and adjusting lines to 80chars.
· 925ddb6c
Chris Cantwell
authored
Nov 28, 2019
925ddb6c
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
354 additions
and
377 deletions
+354
-377
library/Demos/LibUtilities/TimeIntegrationDemo.cpp
library/Demos/LibUtilities/TimeIntegrationDemo.cpp
+256
-222
library/LibUtilities/BasicUtils/Vmath.hpp
library/LibUtilities/BasicUtils/Vmath.hpp
+0
-3
library/LibUtilities/TimeIntegration/AdamsMoultonTimeIntegrationSchemes.h
...ties/TimeIntegration/AdamsMoultonTimeIntegrationSchemes.h
+6
-28
library/LibUtilities/TimeIntegration/BDFImplicitTimeIntegrationSchemes.h
...ities/TimeIntegration/BDFImplicitTimeIntegrationSchemes.h
+4
-25
library/LibUtilities/TimeIntegration/IMEXGearTimeIntegrationScheme.h
...Utilities/TimeIntegration/IMEXGearTimeIntegrationScheme.h
+3
-16
library/LibUtilities/TimeIntegration/IMEXTimeIntegrationSchemes.h
...LibUtilities/TimeIntegration/IMEXTimeIntegrationSchemes.h
+4
-2
library/LibUtilities/TimeIntegration/MCNABTimeIntegrationScheme.h
...LibUtilities/TimeIntegration/MCNABTimeIntegrationScheme.h
+3
-17
library/LibUtilities/TimeIntegration/TimeIntegrationScheme.h
library/LibUtilities/TimeIntegration/TimeIntegrationScheme.h
+6
-10
library/LibUtilities/TimeIntegration/TimeIntegrationSchemeData.h
.../LibUtilities/TimeIntegration/TimeIntegrationSchemeData.h
+2
-2
library/LibUtilities/TimeIntegration/TimeIntegrationSchemeOperators.h
...tilities/TimeIntegration/TimeIntegrationSchemeOperators.h
+1
-3
library/LibUtilities/TimeIntegration/TimeIntegrationSolution.h
...ry/LibUtilities/TimeIntegration/TimeIntegrationSolution.h
+2
-6
library/SolverUtils/UnsteadySystem.cpp
library/SolverUtils/UnsteadySystem.cpp
+12
-6
solvers/ADRSolver/EquationSystems/UnsteadyAdvectionDiffusion.cpp
.../ADRSolver/EquationSystems/UnsteadyAdvectionDiffusion.cpp
+16
-9
solvers/IncNavierStokesSolver/EquationSystems/Extrapolate.h
solvers/IncNavierStokesSolver/EquationSystems/Extrapolate.h
+7
-5
solvers/IncNavierStokesSolver/EquationSystems/StandardExtrapolate.cpp
...avierStokesSolver/EquationSystems/StandardExtrapolate.cpp
+7
-5
solvers/IncNavierStokesSolver/EquationSystems/StandardExtrapolate.h
...cNavierStokesSolver/EquationSystems/StandardExtrapolate.h
+15
-11
solvers/IncNavierStokesSolver/EquationSystems/SubSteppingExtrapolate.cpp
...erStokesSolver/EquationSystems/SubSteppingExtrapolate.cpp
+7
-5
solvers/IncNavierStokesSolver/EquationSystems/SubSteppingExtrapolate.h
...vierStokesSolver/EquationSystems/SubSteppingExtrapolate.h
+3
-2
No files found.
library/Demos/LibUtilities/TimeIntegrationDemo.cpp
View file @
925ddb6c
This diff is collapsed.
Click to expand it.
library/LibUtilities/BasicUtils/Vmath.hpp
View file @
925ddb6c
...
...
@@ -142,9 +142,6 @@ namespace Vmath
/********** Triad routines ***********************/
// Note: For de-coding of the following function names, see Reverse Polish Notation (RPN)
// discussion at top of file.
/// \brief vvtvp (vector times vector plus vector): z = w*x + y
template
<
class
T
>
LIB_UTILITIES_EXPORT
void
Vvtvp
(
int
n
,
const
T
*
w
,
const
int
incw
,
...
...
library/LibUtilities/TimeIntegration/AdamsMoultonTimeIntegrationSchemes.h
View file @
925ddb6c
#pragma once
///////////////////////////////////////////////////////////////////////////////
//
// File: AdamsMoultonTimeIntegrationSchemes.h
...
...
@@ -36,15 +34,13 @@
//
///////////////////////////////////////////////////////////////////////////////
#
define LUE LIB_UTILITIES_EXPORT
#
pragma once
///////////////////////////////////////////////////////////////////////////////
#define LUE LIB_UTILITIES_EXPORT
#include <LibUtilities/TimeIntegration/EulerTimeIntegrationSchemes.h>
#include <LibUtilities/TimeIntegration/TimeIntegrationScheme.h>
///////////////////////////////////////////////////////////////////////////////
namespace
Nektar
{
namespace
LibUtilities
...
...
@@ -70,8 +66,6 @@ public:
{
}
/////////////
static
TimeIntegrationSchemeSharedPtr
create
()
{
TimeIntegrationSchemeSharedPtr
p
=
MemoryManager
<
...
...
@@ -79,22 +73,15 @@ public:
return
p
;
}
static
std
::
string
className
;
// Is set to "AdamsMoultonOrder1" in
// SchemeInitializor.cpp during program start
// up.
//////////////
static
std
::
string
className
;
LUE
virtual
TimeIntegrationMethod
GetIntegrationMethod
()
const
{
return
TimeIntegrationMethod
::
eAdamsMoultonOrder1
;
}
//////////////
LUE
static
void
SetupSchemeData
(
TimeIntegrationSchemeDataSharedPtr
&
phase
)
{
// FIXME: Is this the way we want to initialize this scheme?
BackwardEulerTimeIntegrationScheme
::
SetupSchemeData
(
phase
);
}
...
...
@@ -124,8 +111,6 @@ public:
{
}
/////////////
static
TimeIntegrationSchemeSharedPtr
create
()
{
TimeIntegrationSchemeSharedPtr
p
=
MemoryManager
<
...
...
@@ -133,19 +118,13 @@ public:
return
p
;
}
static
std
::
string
className
;
// Is set to "AdamsMoultonOrder2" in
// SchemeInitializor.cpp during program start
// up.
//////////////
static
std
::
string
className
;
LUE
virtual
TimeIntegrationMethod
GetIntegrationMethod
()
const
{
return
TimeIntegrationMethod
::
eAdamsMoultonOrder2
;
}
//////////////
LUE
static
void
SetupSchemeData
(
TimeIntegrationSchemeDataSharedPtr
&
phase
)
{
phase
->
m_schemeType
=
eDiagonallyImplicit
;
...
...
@@ -159,9 +138,8 @@ public:
phase
->
m_A
[
0
]
=
Array
<
TwoD
,
NekDouble
>
(
phase
->
m_numstages
,
phase
->
m_numstages
,
0.5
);
phase
->
m_B
[
0
]
=
Array
<
TwoD
,
NekDouble
>
(
phase
->
m_numsteps
,
phase
->
m_numstages
,
0.0
);
// Dd: In original line, 0.0 was not explicit...
phase
->
m_B
[
0
]
=
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
=
...
...
library/LibUtilities/TimeIntegration/BDFImplicitTimeIntegrationSchemes.h
View file @
925ddb6c
#pragma once
///////////////////////////////////////////////////////////////////////////////
//
// File: BDFImplicitTimeIntegrationSchemes.h
...
...
@@ -36,15 +34,13 @@
//
///////////////////////////////////////////////////////////////////////////////
#
define LUE LIB_UTILITIES_EXPORT
#
pragma once
///////////////////////////////////////////////////////////////////////////////
#define LUE LIB_UTILITIES_EXPORT
#include <LibUtilities/TimeIntegration/EulerTimeIntegrationSchemes.h>
#include <LibUtilities/TimeIntegration/TimeIntegrationScheme.h>
///////////////////////////////////////////////////////////////////////////////
namespace
Nektar
{
namespace
LibUtilities
...
...
@@ -70,8 +66,6 @@ public:
{
}
/////////////
static
TimeIntegrationSchemeSharedPtr
create
()
{
TimeIntegrationSchemeSharedPtr
p
=
MemoryManager
<
...
...
@@ -79,22 +73,15 @@ public:
return
p
;
}
static
std
::
string
className
;
// Is set to "BDFImplicitOrder1" in
// SchemeInitializor.cpp during program start
// up.
//////////////
static
std
::
string
className
;
LUE
virtual
TimeIntegrationMethod
GetIntegrationMethod
()
const
{
return
TimeIntegrationMethod
::
eBDFImplicitOrder1
;
}
//////////////
LUE
static
void
SetupSchemeData
(
TimeIntegrationSchemeDataSharedPtr
&
phase
)
{
// FIXME: Dd? Correct way to do this?
BackwardEulerTimeIntegrationScheme
::
SetupSchemeData
(
phase
);
}
...
...
@@ -124,8 +111,6 @@ public:
{
}
/////////////
static
TimeIntegrationSchemeSharedPtr
create
()
{
TimeIntegrationSchemeSharedPtr
p
=
MemoryManager
<
...
...
@@ -133,19 +118,13 @@ public:
return
p
;
}
static
std
::
string
className
;
// Is set to "BDFImplicitOrder2" in
// SchemeInitializor.cpp during program start
// up.
//////////////
static
std
::
string
className
;
LUE
virtual
TimeIntegrationMethod
GetIntegrationMethod
()
const
{
return
TimeIntegrationMethod
::
eBDFImplicitOrder2
;
}
//////////////
LUE
static
void
SetupSchemeData
(
TimeIntegrationSchemeDataSharedPtr
&
phase
)
{
phase
->
m_method
=
TimeIntegrationMethod
::
eBDFImplicitOrder2
;
...
...
library/LibUtilities/TimeIntegration/IMEXGearTimeIntegrationScheme.h
View file @
925ddb6c
#pragma once
///////////////////////////////////////////////////////////////////////////////
//
// File: IMEXGearTimeIntegrationScheme.h
...
...
@@ -35,16 +33,13 @@
//
///////////////////////////////////////////////////////////////////////////////
#
include <LibUtilities/TimeIntegration/TimeIntegrationScheme.h>
#
pragma once
#include <LibUtilities/TimeIntegration/TimeIntegrationScheme.h>
#include <LibUtilities/TimeIntegration/IMEXdirkTimeIntegrationSchemes.h>
///////////////////////////////////////////////////////////////////////////////
#define LUE LIB_UTILITIES_EXPORT
///////////////////////////////////////////////////////////////////////////////
namespace
Nektar
{
namespace
LibUtilities
...
...
@@ -70,8 +65,6 @@ public:
{
}
/////////////
static
TimeIntegrationSchemeSharedPtr
create
()
{
TimeIntegrationSchemeSharedPtr
p
=
...
...
@@ -79,19 +72,13 @@ public:
return
p
;
}
static
std
::
string
className
;
// FIXME: Will be set in
// TimeIntegratorBase.cpp during program start
// up.
//////////////
static
std
::
string
className
;
LUE
virtual
TimeIntegrationMethod
GetIntegrationMethod
()
const
{
return
TimeIntegrationMethod
::
eIMEXGear
;
}
//////////////
LUE
static
void
SetupSchemeData
(
TimeIntegrationSchemeDataSharedPtr
&
phase
)
{
phase
->
m_method
=
TimeIntegrationMethod
::
eIMEXGear
;
...
...
library/LibUtilities/TimeIntegration/IMEXTimeIntegrationSchemes.h
View file @
925ddb6c
#pragma once
///////////////////////////////////////////////////////////////////////////////
//
// File: IMEXTimeIntegrationSchemes.h
...
...
@@ -34,6 +32,10 @@
// Description: Combined header file for all basic IMEX time integration
// schemes.
//
///////////////////////////////////////////////////////////////////////////////
#pragma once
#define LUE LIB_UTILITIES_EXPORT
#include <LibUtilities/TimeIntegration/TimeIntegrationScheme.h>
...
...
library/LibUtilities/TimeIntegration/MCNABTimeIntegrationScheme.h
View file @
925ddb6c
#pragma once
///////////////////////////////////////////////////////////////////////////////
//
// File: MCNABTimeIntegrationScheme.h
...
...
@@ -35,14 +33,12 @@
//
///////////////////////////////////////////////////////////////////////////////
#
include <LibUtilities/TimeIntegration/TimeIntegrationScheme.h>
#
pragma once
///////////////////////////////////////////////////////////////////////////////
#include <LibUtilities/TimeIntegration/TimeIntegrationScheme.h>
#define LUE LIB_UTILITIES_EXPORT
///////////////////////////////////////////////////////////////////////////////
namespace
Nektar
{
namespace
LibUtilities
...
...
@@ -72,8 +68,6 @@ public:
{
}
/////////////
static
TimeIntegrationSchemeSharedPtr
create
()
{
TimeIntegrationSchemeSharedPtr
p
=
...
...
@@ -81,21 +75,13 @@ public:
return
p
;
}
static
std
::
string
className
;
// FIXME: Will be set in
// TimeIntegratorBase.cpp during program start
// up.
static
std
::
string
className
;
//////////////
// 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
;
...
...
library/LibUtilities/TimeIntegration/TimeIntegrationScheme.h
View file @
925ddb6c
#pragma once
///////////////////////////////////////////////////////////////////////////////
//
// File: TimeIntegrationScheme.h
...
...
@@ -34,8 +32,7 @@
//
///////////////////////////////////////////////////////////////////////////////
#ifndef NEKTAR_LIB_UTILITIES_FOUNDATIONS_TIMEINTEGRATIONSCHEME_H
#define NEKTAR_LIB_UTILITIES_FOUNDATIONS_TIMEINTEGRATIONSCHEME_H
#pragma once
#include <string>
...
...
@@ -175,8 +172,8 @@ public:
const
NekDouble
,
const
NekDouble
)
>
FunctorType2
;
static
TimeIntegrationMethod
methodFromName
(
const
std
::
string
&
name
);
static
std
::
string
nameFromMethod
(
const
TimeIntegrationMethod
method
);
LUE
static
TimeIntegrationMethod
methodFromName
(
const
std
::
string
&
name
);
LUE
static
std
::
string
nameFromMethod
(
const
TimeIntegrationMethod
method
);
unsigned
int
GetNumIntegrationPhases
()
const
{
...
...
@@ -193,7 +190,7 @@ public:
virtual
TimeIntegrationMethod
GetIntegrationMethod
()
const
=
0
;
TimeIntegrationSchemeType
GetIntegrationSchemeType
()
const
;
LUE
TimeIntegrationSchemeType
GetIntegrationSchemeType
()
const
;
static
const
char
*
const
TimeIntegrationMethodMap
[
36
];
...
...
@@ -241,11 +238,11 @@ protected:
const
TimeIntegrationSchemeOperators
&
op
);
// This should never be used directly... only used by child classes...
TimeIntegrationScheme
()
LUE
TimeIntegrationScheme
()
{
}
TimeIntegrationScheme
(
const
TimeIntegrationScheme
&
in
)
LUE
TimeIntegrationScheme
(
const
TimeIntegrationScheme
&
in
)
{
boost
::
ignore_unused
(
in
);
NEKERROR
(
ErrorUtil
::
efatal
,
"Copy Constructor for the "
...
...
@@ -280,4 +277,3 @@ LUE std::ostream &operator<<(std::ostream &os,
}
// end of namespace LibUtilities
}
// end of namespace Nektar
#endif
library/LibUtilities/TimeIntegration/TimeIntegrationSchemeData.h
View file @
925ddb6c
#pragma once
///////////////////////////////////////////////////////////////////////////////
//
// File: TimeIntegrationSchemeData.h
...
...
@@ -38,6 +36,8 @@
//
///////////////////////////////////////////////////////////////////////////////
#pragma once
#include <LibUtilities/TimeIntegration/TimeIntegrationScheme.h>
#define LUE LIB_UTILITIES_EXPORT
...
...
library/LibUtilities/TimeIntegration/TimeIntegrationSchemeOperators.h
View file @
925ddb6c
...
...
@@ -32,8 +32,7 @@
//
///////////////////////////////////////////////////////////////////////////////
#ifndef NEKTAR_LIB_UTILITIES_FOUNDATIONS_TIMEINTEGRATIONSCHEMEOPERATORS_H
#define NEKTAR_LIB_UTILITIES_FOUNDATIONS_TIMEINTEGRATIONSCHEMEOPERATORS_H
#pragma once
#include <string>
...
...
@@ -170,4 +169,3 @@ private:
}
}
#endif
library/LibUtilities/TimeIntegration/TimeIntegrationSolution.h
View file @
925ddb6c
#pragma once
///////////////////////////////////////////////////////////////////////////////
//
// File: TimeIntegrationSolution.h
...
...
@@ -35,17 +33,15 @@
//
///////////////////////////////////////////////////////////////////////////////
#pragma once
#include <LibUtilities/BasicUtils/SharedArray.hpp>
#include <LibUtilities/TimeIntegration/TimeIntegrationScheme.h>
#include <LibUtilities/TimeIntegration/TimeIntegrationSchemeData.h>
///////////////////////////////////////////////////////////////////////////////
#define LUE LIB_UTILITIES_EXPORT
///////////////////////////////////////////////////////////////////////////////
namespace
Nektar
{
namespace
LibUtilities
...
...
library/SolverUtils/UnsteadySystem.cpp
View file @
925ddb6c
...
...
@@ -101,8 +101,10 @@ namespace Nektar
// For steady problems, we do not initialise the time integration
if
(
m_session
->
DefinesSolverInfo
(
"TIMEINTEGRATIONMETHOD"
))
{
std
::
string
methodName
=
m_session
->
GetSolverInfo
(
"TIMEINTEGRATIONMETHOD"
);
m_intScheme
=
LibUtilities
::
GetTimeIntegrationSchemeFactory
().
CreateInstance
(
methodName
);
std
::
string
methodName
=
m_session
->
GetSolverInfo
(
"TIMEINTEGRATIONMETHOD"
);
m_intScheme
=
LibUtilities
::
GetTimeIntegrationSchemeFactory
()
.
CreateInstance
(
methodName
);
// Load generic input parameters
m_session
->
LoadParameter
(
"IO_InfoSteps"
,
m_infosteps
,
0
);
...
...
@@ -111,7 +113,8 @@ namespace Nektar
m_session
->
LoadParameter
(
"CFL"
,
m_cflSafetyFactor
,
0.0
);
// Time tolerance between filter update time and time integration
m_session
->
LoadParameter
(
"FilterTimeWarning"
,
m_filterTimeWarning
,
1
);
m_session
->
LoadParameter
(
"FilterTimeWarning"
,
m_filterTimeWarning
,
1
);
// Ensure that there is no conflict of parameters
if
(
m_cflSafetyFactor
>
0.0
)
...
...
@@ -240,9 +243,10 @@ namespace Nektar
fields
[
i
]
=
m_fields
[
m_intVariables
[
i
]]
->
GetPhys
();
m_fields
[
m_intVariables
[
i
]]
->
SetPhysState
(
false
);
}
// Initialise time integration scheme
m_intSoln
=
m_intScheme
->
InitializeScheme
(
m_timestep
,
fields
,
m_time
,
m_ode
);
m_intSoln
=
m_intScheme
->
InitializeScheme
(
m_timestep
,
fields
,
m_time
,
m_ode
);
// Initialise filters
for
(
auto
&
x
:
m_filters
)
...
...
@@ -569,7 +573,9 @@ namespace Nektar
AddSummaryItem
(
s
,
"Time Step"
,
m_timestep
);
AddSummaryItem
(
s
,
"No. of Steps"
,
m_steps
);
AddSummaryItem
(
s
,
"Checkpoints (steps)"
,
m_checksteps
);
AddSummaryItem
(
s
,
"Integration Type"
,
LibUtilities
::
TimeIntegrationScheme
::
nameFromMethod
(
m_intScheme
->
GetIntegrationMethod
()
)
);
AddSummaryItem
(
s
,
"Integration Type"
,
LibUtilities
::
TimeIntegrationScheme
::
nameFromMethod
(
m_intScheme
->
GetIntegrationMethod
()
)
);
}
/**
...
...
solvers/ADRSolver/EquationSystems/UnsteadyAdvectionDiffusion.cpp
View file @
925ddb6c
...
...
@@ -470,9 +470,9 @@ namespace Nektar
*
*/
void
UnsteadyAdvectionDiffusion
::
SubStepAdvance
(
const
LibUtilities
::
TimeIntegrationScheme
::
TimeIntegrationSolutionSharedPtr
&
integrationSoln
,
int
nstep
,
NekDouble
time
)
const
LibUtilities
::
TimeIntegrationScheme
::
TimeIntegrationSolutionSharedPtr
&
integrationSoln
,
int
nstep
,
NekDouble
time
)
{
int
n
;
int
nsubsteps
;
...
...
@@ -518,7 +518,9 @@ namespace Nektar
for
(
n
=
0
;
n
<
nsubsteps
;
++
n
)
{
fields
=
m_subStepIntegrationScheme
->
TimeIntegrate
(
n
,
dt
,
SubIntegrationSoln
,
m_subStepIntegrationOps
);
fields
=
m_subStepIntegrationScheme
->
TimeIntegrate
(
n
,
dt
,
SubIntegrationSoln
,
m_subStepIntegrationOps
);
}
// Reset time integrated solution in m_integrationSoln
...
...
@@ -558,8 +560,8 @@ namespace Nektar
}
void
UnsteadyAdvectionDiffusion
::
SetUpSubSteppingTimeIntegration
(
int
intMethod
,
const
LibUtilities
::
TimeIntegrationSchemeSharedPtr
&
IntegrationScheme
)
int
intMethod
,
const
LibUtilities
::
TimeIntegrationSchemeSharedPtr
&
IntegrationScheme
)
{
// Set to 1 for first step and it will then be increased in
// time advance routines
...
...
@@ -568,16 +570,21 @@ namespace Nektar
case
LibUtilities
:
:
eBackwardEuler
:
case
LibUtilities
:
:
eBDFImplicitOrder1
:
{
m_subStepIntegrationScheme
=
LibUtilities
::
GetTimeIntegrationSchemeFactory
().
CreateInstance
(
"ForwardEuler"
);
m_subStepIntegrationScheme
=
LibUtilities
::
GetTimeIntegrationSchemeFactory
()
.
CreateInstance
(
"ForwardEuler"
);
}
break
;
case
LibUtilities
:
:
eBDFImplicitOrder2
:
{
m_subStepIntegrationScheme
=
LibUtilities
::
GetTimeIntegrationSchemeFactory
().
CreateInstance
(
"RungeKutta2_ImprovedEuler"
);
m_subStepIntegrationScheme
=
LibUtilities
::
GetTimeIntegrationSchemeFactory
()
.
CreateInstance
(
"RungeKutta2_ImprovedEuler"
);
}
break
;
default:
ASSERTL0
(
0
,
"Integration method not suitable: Options include BackwardEuler or BDFImplicitOrder1"
);
NEKERROR
(
ErrorUtil
::
efatal
,
"Integration method not suitable: "
"Options include BackwardEuler or BDFImplicitOrder1"
);
break
;
}
m_intSteps
=
IntegrationScheme
->
GetNumIntegrationPhases
();
...
...
solvers/IncNavierStokesSolver/EquationSystems/Extrapolate.h
View file @
925ddb6c
...
...
@@ -158,8 +158,9 @@ namespace Nektar
const
Array
<
OneD
,
const
Array
<
OneD
,
NekDouble
>
>
&
N
,
NekDouble
kinvis
)
=
0
;
virtual
void
v_SubSteppingTimeIntegration
(
int
intMethod
,
const
LibUtilities
::
TimeIntegrationSchemeSharedPtr
&
IntegrationScheme
)
=
0
;
virtual
void
v_SubSteppingTimeIntegration
(
int
intMethod
,
const
LibUtilities
::
TimeIntegrationSchemeSharedPtr
&
IntegrationScheme
)
=
0
;
virtual
void
v_SubStepSaveFields
(
int
nstep
)
=
0
;
...
...
@@ -169,9 +170,10 @@ namespace Nektar
NekDouble
Aii_DT
,
NekDouble
kinvis
)
=
0
;
virtual
void
v_SubStepAdvance
(
const
LibUtilities
::
TimeIntegrationScheme
::
TimeIntegrationSolutionSharedPtr
&
integrationSoln
,
int
nstep
,
NekDouble
time
)
=
0
;
virtual
void
v_SubStepAdvance
(
const
LibUtilities
::
TimeIntegrationScheme
::
TimeIntegrationSolutionSharedPtr
&
integrationSoln
,
int
nstep
,
NekDouble
time
)
=
0
;
virtual
void
v_MountHOPBCs
(
int
HBCdata
,
...
...
solvers/IncNavierStokesSolver/EquationSystems/StandardExtrapolate.cpp
View file @
925ddb6c
...
...
@@ -98,8 +98,9 @@ namespace Nektar
/**
*
*/
void
StandardExtrapolate
::
v_SubSteppingTimeIntegration
(
int
intMethod
,
const
LibUtilities
::
TimeIntegrationSchemeSharedPtr
&
IntegrationScheme
)
void
StandardExtrapolate
::
v_SubSteppingTimeIntegration
(
int
intMethod
,
const
LibUtilities
::
TimeIntegrationSchemeSharedPtr
&
IntegrationScheme
)
{
switch
(
intMethod
)
{
...
...
@@ -141,9 +142,10 @@ namespace Nektar
/**
*
*/
void
StandardExtrapolate
::
v_SubStepAdvance
(
const
LibUtilities
::
TimeIntegrationScheme
::
TimeIntegrationSolutionSharedPtr
&
integrationSoln
,
int
nstep
,
NekDouble
time
)
void
StandardExtrapolate
::
v_SubStepAdvance
(
const
LibUtilities
::
TimeIntegrationScheme
::
TimeIntegrationSolutionSharedPtr
&
integrationSoln
,
int
nstep
,
NekDouble
time
)
{
}
...
...
solvers/IncNavierStokesSolver/EquationSystems/StandardExtrapolate.h
View file @
925ddb6c
...
...
@@ -84,22 +84,26 @@ namespace Nektar
virtual
~
StandardExtrapolate
();
protected:
virtual
void
v_EvaluatePressureBCs
(
const
Array
<
OneD
,
const
Array
<
OneD
,
NekDouble
>
>
&
fields
,
const
Array
<
OneD
,
const
Array
<
OneD
,
NekDouble
>
>
&
N
,
NekDouble
kinvis
);
virtual
void
v_EvaluatePressureBCs
(
const
Array
<
OneD
,
const
Array
<
OneD
,
NekDouble
>
>
&
fields
,
const
Array
<
OneD
,
const
Array
<
OneD
,
NekDouble
>
>
&
N
,
NekDouble
kinvis
);
virtual
void
v_SubSteppingTimeIntegration
(
int
intMethod
,
const
LibUtilities
::
TimeIntegrationSchemeSharedPtr
&
IntegrationScheme
);
virtual
void
v_SubSteppingTimeIntegration
(
int
intMethod
,
const
LibUtilities
::
TimeIntegrationSchemeSharedPtr
&
IntegrationScheme
);
virtual
void
v_SubStepSaveFields
(
int
nstep
);
virtual
void
v_SubStepSetPressureBCs
(
const
Array
<
OneD
,
const
Array
<
OneD
,
NekDouble
>
>
&
inarray
,
NekDouble
Aii_DT
,
NekDouble
kinvis
);
virtual
void
v_SubStepSetPressureBCs
(
const
Array
<
OneD
,
const
Array
<
OneD
,
NekDouble
>
>
&
inarray
,
NekDouble
Aii_DT
,
NekDouble
kinvis
);
virtual
void
v_SubStepAdvance
(
const
LibUtilities
::
TimeIntegrationScheme
::
TimeIntegrationSolutionSharedPtr
&
integrationSoln
,
int
nstep
,
NekDouble
time
);
virtual
void
v_SubStepAdvance
(
const
LibUtilities
::
TimeIntegrationScheme
::
TimeIntegrationSolutionSharedPtr
&
integrationSoln
,
int
nstep
,
NekDouble
time
);
virtual
void
v_MountHOPBCs
(
int
HBCdata
,
...
...
solvers/IncNavierStokesSolver/EquationSystems/SubSteppingExtrapolate.cpp
View file @
925ddb6c
...
...
@@ -84,8 +84,9 @@ namespace Nektar
}
void
SubSteppingExtrapolate
::
v_SubSteppingTimeIntegration
(
int
intMethod
,
const
LibUtilities
::
TimeIntegrationSchemeSharedPtr
&
IntegrationScheme
)
void
SubSteppingExtrapolate
::
v_SubSteppingTimeIntegration
(
int
intMethod
,
const
LibUtilities
::
TimeIntegrationSchemeSharedPtr
&
IntegrationScheme
)
{
// Set to 1 for first step and it will then be increased in
// time advance routines
...
...
@@ -312,9 +313,10 @@ namespace Nektar
/**
*
*/
void
SubSteppingExtrapolate
::
v_SubStepAdvance
(
const
LibUtilities
::
TimeIntegrationScheme
::
TimeIntegrationSolutionSharedPtr
&
integrationSoln
,
int
nstep
,
NekDouble
time
)
void
SubSteppingExtrapolate
::
v_SubStepAdvance
(
const
LibUtilities
::
TimeIntegrationScheme
::
TimeIntegrationSolutionSharedPtr
&
integrationSoln
,
int
nstep
,
NekDouble
time
)
{
int
n
;
int
nsubsteps
;
...
...
solvers/IncNavierStokesSolver/EquationSystems/SubSteppingExtrapolate.h
View file @
925ddb6c
...
...
@@ -88,8 +88,9 @@ namespace Nektar
const
Array
<
OneD
,
const
Array
<
OneD
,
NekDouble
>
>
&
N
,
NekDouble
kinvis
);
virtual
void
v_SubSteppingTimeIntegration
(
int
intMethod
,
const
LibUtilities
::
TimeIntegrationSchemeSharedPtr
&
IntegrationScheme
);
virtual
void
v_SubSteppingTimeIntegration
(
int
intMethod
,
const
LibUtilities
::
TimeIntegrationSchemeSharedPtr
&
IntegrationScheme
);
virtual
void
v_SubStepSaveFields
(
int
nstep
);
...
...