Commit 34c6b11b authored by David Moxey's avatar David Moxey

Fix rest of solvers and unit tests

parent dbd631ba
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -26,7 +26,7 @@
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
// Description:
// Description:
//
///////////////////////////////////////////////////////////////////////////////
......@@ -43,7 +43,7 @@ namespace Nektar
{
namespace HexExpTests
{
SpatialDomains::SegGeomSharedPtr CreateSegGeom(unsigned int id,
SpatialDomains::SegGeomSharedPtr CreateSegGeom(unsigned int id,
SpatialDomains::PointGeomSharedPtr v0,
SpatialDomains::PointGeomSharedPtr v1)
{
......@@ -100,58 +100,15 @@ namespace Nektar
e8, e9, e10, e11
};
Nektar::StdRegions::Orientation edgeorient0[Nektar::SpatialDomains::QuadGeom::kNedges] =
{
Nektar::SpatialDomains::SegGeom::GetEdgeOrientation(*edgesF0[0], *edgesF0[1]),
Nektar::SpatialDomains::SegGeom::GetEdgeOrientation(*edgesF0[1], *edgesF0[2]),
Nektar::SpatialDomains::SegGeom::GetEdgeOrientation(*edgesF0[2], *edgesF0[3]),
Nektar::SpatialDomains::SegGeom::GetEdgeOrientation(*edgesF0[3], *edgesF0[0])
};
Nektar::StdRegions::Orientation edgeorient1[Nektar::SpatialDomains::QuadGeom::kNedges] =
{
Nektar::SpatialDomains::SegGeom::GetEdgeOrientation(*edgesF1[0], *edgesF1[1]),
Nektar::SpatialDomains::SegGeom::GetEdgeOrientation(*edgesF1[1], *edgesF1[2]),
Nektar::SpatialDomains::SegGeom::GetEdgeOrientation(*edgesF1[2], *edgesF1[3]),
Nektar::SpatialDomains::SegGeom::GetEdgeOrientation(*edgesF1[3], *edgesF1[0])
};
Nektar::StdRegions::Orientation edgeorient2[Nektar::SpatialDomains::QuadGeom::kNedges] =
{
Nektar::SpatialDomains::SegGeom::GetEdgeOrientation(*edgesF2[0], *edgesF2[1]),
Nektar::SpatialDomains::SegGeom::GetEdgeOrientation(*edgesF2[1], *edgesF2[2]),
Nektar::SpatialDomains::SegGeom::GetEdgeOrientation(*edgesF2[2], *edgesF2[3]),
Nektar::SpatialDomains::SegGeom::GetEdgeOrientation(*edgesF2[3], *edgesF2[0])
};
Nektar::StdRegions::Orientation edgeorient3[Nektar::SpatialDomains::QuadGeom::kNedges] =
{
Nektar::SpatialDomains::SegGeom::GetEdgeOrientation(*edgesF3[0], *edgesF3[1]),
Nektar::SpatialDomains::SegGeom::GetEdgeOrientation(*edgesF3[1], *edgesF3[2]),
Nektar::SpatialDomains::SegGeom::GetEdgeOrientation(*edgesF3[2], *edgesF3[3]),
Nektar::SpatialDomains::SegGeom::GetEdgeOrientation(*edgesF3[3], *edgesF3[0])
};
Nektar::StdRegions::Orientation edgeorient4[Nektar::SpatialDomains::QuadGeom::kNedges] =
{
Nektar::SpatialDomains::SegGeom::GetEdgeOrientation(*edgesF4[0], *edgesF4[1]),
Nektar::SpatialDomains::SegGeom::GetEdgeOrientation(*edgesF4[1], *edgesF4[2]),
Nektar::SpatialDomains::SegGeom::GetEdgeOrientation(*edgesF4[2], *edgesF4[3]),
Nektar::SpatialDomains::SegGeom::GetEdgeOrientation(*edgesF4[3], *edgesF4[0])
};
Nektar::StdRegions::Orientation edgeorient5[Nektar::SpatialDomains::QuadGeom::kNedges] =
{
Nektar::SpatialDomains::SegGeom::GetEdgeOrientation(*edgesF5[0], *edgesF5[1]),
Nektar::SpatialDomains::SegGeom::GetEdgeOrientation(*edgesF5[1], *edgesF5[2]),
Nektar::SpatialDomains::SegGeom::GetEdgeOrientation(*edgesF5[2], *edgesF5[3]),
Nektar::SpatialDomains::SegGeom::GetEdgeOrientation(*edgesF5[3], *edgesF5[0])
};
Nektar::SpatialDomains::QuadGeomSharedPtr face0(new SpatialDomains::QuadGeom(0, edgesF0, edgeorient0));
Nektar::SpatialDomains::QuadGeomSharedPtr face1(new SpatialDomains::QuadGeom(1, edgesF1, edgeorient1));
Nektar::SpatialDomains::QuadGeomSharedPtr face2(new SpatialDomains::QuadGeom(2, edgesF2, edgeorient2));
Nektar::SpatialDomains::QuadGeomSharedPtr face3(new SpatialDomains::QuadGeom(3, edgesF3, edgeorient3));
Nektar::SpatialDomains::QuadGeomSharedPtr face4(new SpatialDomains::QuadGeom(4, edgesF4, edgeorient4));
Nektar::SpatialDomains::QuadGeomSharedPtr face5(new SpatialDomains::QuadGeom(5, edgesF5, edgeorient5));
Nektar::SpatialDomains::QuadGeomSharedPtr face0(new SpatialDomains::QuadGeom(0, edgesF0));
Nektar::SpatialDomains::QuadGeomSharedPtr face1(new SpatialDomains::QuadGeom(1, edgesF1));
Nektar::SpatialDomains::QuadGeomSharedPtr face2(new SpatialDomains::QuadGeom(2, edgesF2));
Nektar::SpatialDomains::QuadGeomSharedPtr face3(new SpatialDomains::QuadGeom(3, edgesF3));
Nektar::SpatialDomains::QuadGeomSharedPtr face4(new SpatialDomains::QuadGeom(4, edgesF4));
Nektar::SpatialDomains::QuadGeomSharedPtr face5(new SpatialDomains::QuadGeom(5, edgesF5));
Nektar::SpatialDomains::QuadGeomSharedPtr qfaces[] = {face0, face1, face2, face3, face4, face5};
SpatialDomains::HexGeomSharedPtr hexGeom(new SpatialDomains::HexGeom(qfaces));
SpatialDomains::HexGeomSharedPtr hexGeom(new SpatialDomains::HexGeom(0,qfaces));
return hexGeom;
}
......@@ -165,16 +122,16 @@ namespace Nektar
SpatialDomains::PointGeomSharedPtr v5(new SpatialDomains::PointGeom(3u, 5u, 1.0, -1.0, 1.0));
SpatialDomains::PointGeomSharedPtr v6(new SpatialDomains::PointGeom(3u, 6u, 1.0, 1.0, 1.0));
SpatialDomains::PointGeomSharedPtr v7(new SpatialDomains::PointGeom(3u, 7u, -1.0, 1.0, 1.0));
SpatialDomains::HexGeomSharedPtr hexGeom = CreateHex(v0, v1, v2, v3, v4, v5, v6, v7);
Nektar::LibUtilities::PointsType quadPointsTypeDir1 = Nektar::LibUtilities::eGaussLobattoLegendre;
Nektar::LibUtilities::BasisType basisTypeDir1 = Nektar::LibUtilities::eModified_A;
unsigned int numQuadPoints = 6;
const Nektar::LibUtilities::PointsKey quadPointsKeyDir1(numQuadPoints, quadPointsTypeDir1);
const Nektar::LibUtilities::BasisKey basisKeyDir1(basisTypeDir1,4,quadPointsKeyDir1);
Nektar::LocalRegions::HexExpSharedPtr hexExp =
Nektar::LocalRegions::HexExpSharedPtr hexExp =
MemoryManager<Nektar::LocalRegions::HexExp>::AllocateSharedPtr(basisKeyDir1,
basisKeyDir1, basisKeyDir1, hexGeom);
......@@ -193,7 +150,7 @@ namespace Nektar
BOOST_CHECK_CLOSE(c0[4], 0.76505532392946474, epsilon);
BOOST_CHECK_CLOSE(c0[5], 1.0, epsilon);
}
BOOST_AUTO_TEST_CASE(TestScaledAndTranslatedHexExp)
{
SpatialDomains::PointGeomSharedPtr v0(new SpatialDomains::PointGeom(3u, 0u, 0.0, 0.0, 0.0));
......@@ -213,7 +170,7 @@ namespace Nektar
const Nektar::LibUtilities::PointsKey quadPointsKeyDir1(numQuadPoints, quadPointsTypeDir1);
const Nektar::LibUtilities::BasisKey basisKeyDir1(basisTypeDir1,4,quadPointsKeyDir1);
Nektar::LocalRegions::HexExpSharedPtr hexExp =
Nektar::LocalRegions::HexExpSharedPtr hexExp =
MemoryManager<Nektar::LocalRegions::HexExp>::AllocateSharedPtr(basisKeyDir1,
basisKeyDir1, basisKeyDir1, hexGeom);
......
......@@ -33,7 +33,6 @@
//
///////////////////////////////////////////////////////////////////////////////
#include <SolverUtils/Driver.h>
#include <LibUtilities/BasicUtils/SessionReader.h>
......@@ -44,6 +43,7 @@ using namespace Nektar::SolverUtils;
int main(int argc, char *argv[])
{
LibUtilities::SessionReaderSharedPtr session;
SpatialDomains::MeshGraphSharedPtr graph;
string vDriverModule;
DriverSharedPtr drv;
......@@ -52,9 +52,12 @@ int main(int argc, char *argv[])
// Create session reader.
session = LibUtilities::SessionReader::CreateInstance(argc, argv);
// Create MeshGraph.
graph = SpatialDomains::MeshGraph::Read(session);
// Create driver
session->LoadSolverInfo("Driver", vDriverModule, "Standard");
drv = GetDriverFactory().CreateInstance(vDriverModule, session);
drv = GetDriverFactory().CreateInstance(vDriverModule, session, graph);
// Execute driver
drv->Execute();
......
......@@ -56,9 +56,10 @@ string APE::className = GetEquationSystemFactory().RegisterCreatorFunction(
APE::APE(
const LibUtilities::SessionReaderSharedPtr& pSession)
: UnsteadySystem(pSession),
AdvectionSystem(pSession)
const LibUtilities::SessionReaderSharedPtr& pSession,
const SpatialDomains::MeshGraphSharedPtr& pGraph)
: UnsteadySystem(pSession, pGraph),
AdvectionSystem(pSession, pGraph)
{
}
......
......@@ -56,9 +56,11 @@ class APE : public AdvectionSystem
/// Creates an instance of this class
static EquationSystemSharedPtr create(
const LibUtilities::SessionReaderSharedPtr& pSession)
const LibUtilities::SessionReaderSharedPtr& pSession,
const SpatialDomains::MeshGraphSharedPtr& pGraph)
{
EquationSystemSharedPtr p = MemoryManager<APE>::AllocateSharedPtr(pSession);
EquationSystemSharedPtr p = MemoryManager<APE>
::AllocateSharedPtr(pSession, pGraph);
p->InitObject();
return p;
}
......@@ -84,7 +86,8 @@ class APE : public AdvectionSystem
int m_cflsteps;
/// Initialises UnsteadySystem class members.
APE(const LibUtilities::SessionReaderSharedPtr& pSession);
APE(const LibUtilities::SessionReaderSharedPtr& pSession,
const SpatialDomains::MeshGraphSharedPtr& pGraph);
virtual void v_InitObject();
......
......@@ -43,6 +43,7 @@ using namespace Nektar::SolverUtils;
int main(int argc, char *argv[])
{
LibUtilities::SessionReaderSharedPtr session;
SpatialDomains::MeshGraphSharedPtr graph;
string vDriverModule;
DriverSharedPtr drv;
......@@ -51,9 +52,12 @@ int main(int argc, char *argv[])
// Create session reader.
session = LibUtilities::SessionReader::CreateInstance(argc, argv);
// Create MeshGraph.
graph = SpatialDomains::MeshGraph::Read(session);
// Create driver
session->LoadSolverInfo("Driver", vDriverModule, "Standard");
drv = GetDriverFactory().CreateInstance(vDriverModule, session);
drv = GetDriverFactory().CreateInstance(vDriverModule, session, graph);
// Execute driver
drv->Execute();
......
......@@ -70,8 +70,9 @@ namespace Nektar
*
*/
Bidomain::Bidomain(
const LibUtilities::SessionReaderSharedPtr& pSession)
: UnsteadySystem(pSession)
const LibUtilities::SessionReaderSharedPtr& pSession,
const SpatialDomains::MeshGraphSharedPtr& pGraph)
: UnsteadySystem(pSession, pGraph)
{
}
......
......@@ -53,9 +53,11 @@ namespace Nektar
/// Creates an instance of this class
static EquationSystemSharedPtr create(
const LibUtilities::SessionReaderSharedPtr& pSession)
const LibUtilities::SessionReaderSharedPtr& pSession,
const SpatialDomains::MeshGraphSharedPtr& pGraph)
{
EquationSystemSharedPtr p = MemoryManager<Bidomain>::AllocateSharedPtr(pSession);
EquationSystemSharedPtr p = MemoryManager<Bidomain>
::AllocateSharedPtr(pSession, pGraph);
p->InitObject();
return p;
}
......@@ -69,7 +71,8 @@ namespace Nektar
protected:
/// Constructor
Bidomain(
const LibUtilities::SessionReaderSharedPtr& pSession);
const LibUtilities::SessionReaderSharedPtr& pSession,
const SpatialDomains::MeshGraphSharedPtr& pGraph);
virtual void v_InitObject();
......
......@@ -57,8 +57,9 @@ string BidomainRoth::className
*
*/
BidomainRoth::BidomainRoth(
const LibUtilities::SessionReaderSharedPtr& pSession)
: UnsteadySystem(pSession)
const LibUtilities::SessionReaderSharedPtr& pSession,
const SpatialDomains::MeshGraphSharedPtr& pGraph)
: UnsteadySystem(pSession, pGraph)
{
}
......
......@@ -52,10 +52,11 @@ public:
/// Creates an instance of this class
static SolverUtils::EquationSystemSharedPtr create(
const LibUtilities::SessionReaderSharedPtr& pSession)
const LibUtilities::SessionReaderSharedPtr& pSession,
const SpatialDomains::MeshGraphSharedPtr& pGraph)
{
SolverUtils::EquationSystemSharedPtr p =
MemoryManager<BidomainRoth>::AllocateSharedPtr(pSession);
MemoryManager<BidomainRoth>::AllocateSharedPtr(pSession, pGraph);
p->InitObject();
return p;
}
......@@ -69,7 +70,8 @@ public:
protected:
/// Constructor
BidomainRoth(
const LibUtilities::SessionReaderSharedPtr& pSession);
const LibUtilities::SessionReaderSharedPtr& pSession,
const SpatialDomains::MeshGraphSharedPtr& pGraph);
virtual void v_InitObject();
......
......@@ -71,8 +71,9 @@ namespace Nektar
*
*/
Monodomain::Monodomain(
const LibUtilities::SessionReaderSharedPtr& pSession)
: UnsteadySystem(pSession)
const LibUtilities::SessionReaderSharedPtr& pSession,
const SpatialDomains::MeshGraphSharedPtr& pGraph)
: UnsteadySystem(pSession, pGraph)
{
}
......
......@@ -54,9 +54,11 @@ namespace Nektar
/// Creates an instance of this class
static EquationSystemSharedPtr create(
const LibUtilities::SessionReaderSharedPtr& pSession)
const LibUtilities::SessionReaderSharedPtr& pSession,
const SpatialDomains::MeshGraphSharedPtr& pGraph)
{
EquationSystemSharedPtr p = MemoryManager<Monodomain>::AllocateSharedPtr(pSession);
EquationSystemSharedPtr p = MemoryManager<Monodomain>
::AllocateSharedPtr(pSession, pGraph);
p->InitObject();
return p;
}
......@@ -70,7 +72,8 @@ namespace Nektar
protected:
/// Constructor
Monodomain(
const LibUtilities::SessionReaderSharedPtr& pSession);
const LibUtilities::SessionReaderSharedPtr& pSession,
const SpatialDomains::MeshGraphSharedPtr& pGraph);
virtual void v_InitObject();
......
......@@ -66,13 +66,15 @@ FilterBenchmark::FilterBenchmark(
// ThresholdValue
auto it = pParams.find("ThresholdValue");
ASSERTL0(it != pParams.end(), "Missing parameter 'ThresholdValue'.");
LibUtilities::Equation equ1(m_session, it->second);
LibUtilities::Equation equ1(
m_session->GetExpressionEvaluator(), it->second);
m_thresholdValue = floor(equ1.Evaluate());
// InitialValue
it = pParams.find("InitialValue");
ASSERTL0(it != pParams.end(), "Missing parameter 'InitialValue'.");
LibUtilities::Equation equ2(m_session, it->second);
LibUtilities::Equation equ2(
m_session->GetExpressionEvaluator(), it->second);
m_initialValue = floor(equ2.Evaluate());
// OutputFile
......@@ -85,7 +87,8 @@ FilterBenchmark::FilterBenchmark(
it = pParams.find("StartTime");
if (it != pParams.end())
{
LibUtilities::Equation equ(m_session, it->second);
LibUtilities::Equation equ(
m_session->GetExpressionEvaluator(), it->second);
m_startTime = floor(equ.Evaluate());
}
......
......@@ -61,7 +61,8 @@ FilterCheckpointCellModel::FilterCheckpointCellModel(
// OutputFrequency
it = pParams.find("OutputFrequency");
ASSERTL0(it != pParams.end(), "Missing parameter 'OutputFrequency'.");
LibUtilities::Equation equ(m_session, it->second);
LibUtilities::Equation equ(
m_session->GetExpressionEvaluator(), it->second);
m_outputFrequency = floor(equ.Evaluate());
m_outputIndex = 0;
......
......@@ -79,7 +79,8 @@ FilterElectrogram::FilterElectrogram(
}
else
{
LibUtilities::Equation equ(m_session, it->second);
LibUtilities::Equation equ(
m_session->GetExpressionEvaluator(), it->second);
m_outputFrequency = floor(equ.Evaluate());
}
......
......@@ -22,6 +22,7 @@ int main(int argc, char *argv[])
// Create a session reader to read pacing parameters
vSession = LibUtilities::SessionReader::CreateInstance(argc, argv);
vSession->InitSession();
try
{
......
......@@ -44,6 +44,7 @@ using namespace Nektar::SolverUtils;
int main(int argc, char *argv[])
{
LibUtilities::SessionReaderSharedPtr session;
SpatialDomains::MeshGraphSharedPtr graph;
string vDriverModule;
DriverSharedPtr drv;
......@@ -52,9 +53,12 @@ int main(int argc, char *argv[])
// Create session reader.
session = LibUtilities::SessionReader::CreateInstance(argc, argv);
// Create MeshGraph.
graph = SpatialDomains::MeshGraph::Read(session);
// Create driver
session->LoadSolverInfo("Driver", vDriverModule, "Standard");
drv = GetDriverFactory().CreateInstance(vDriverModule, session);
drv = GetDriverFactory().CreateInstance(vDriverModule, session, graph);
// Execute driver
drv->Execute();
......
......@@ -40,9 +40,10 @@ using namespace std;
namespace Nektar
{
CompressibleFlowSystem::CompressibleFlowSystem(
const LibUtilities::SessionReaderSharedPtr& pSession)
: UnsteadySystem(pSession),
AdvectionSystem(pSession)
const LibUtilities::SessionReaderSharedPtr& pSession,
const SpatialDomains::MeshGraphSharedPtr& pGraph)
: UnsteadySystem(pSession, pGraph),
AdvectionSystem(pSession, pGraph)
{
}
......
......@@ -101,7 +101,8 @@ namespace Nektar
std::vector<SolverUtils::ForcingSharedPtr> m_forcing;
CompressibleFlowSystem(
const LibUtilities::SessionReaderSharedPtr& pSession);
const LibUtilities::SessionReaderSharedPtr& pSession,
const SpatialDomains::MeshGraphSharedPtr& pGraph);
virtual void v_InitObject();
......
......@@ -52,9 +52,10 @@ namespace Nektar
"artificial diffusion (deprecated).");
EulerCFE::EulerCFE(
const LibUtilities::SessionReaderSharedPtr& pSession)
: UnsteadySystem(pSession),
CompressibleFlowSystem(pSession)
const LibUtilities::SessionReaderSharedPtr& pSession,
const SpatialDomains::MeshGraphSharedPtr& pGraph)
: UnsteadySystem(pSession, pGraph),
CompressibleFlowSystem(pSession, pGraph)
{
}
......
......@@ -48,9 +48,11 @@ namespace Nektar
/// Creates an instance of this class.
static SolverUtils::EquationSystemSharedPtr create(
const LibUtilities::SessionReaderSharedPtr& pSession)
const LibUtilities::SessionReaderSharedPtr& pSession,
const SpatialDomains::MeshGraphSharedPtr& pGraph)
{
SolverUtils::EquationSystemSharedPtr p = MemoryManager<EulerCFE>::AllocateSharedPtr(pSession);
SolverUtils::EquationSystemSharedPtr p = MemoryManager<EulerCFE>
::AllocateSharedPtr(pSession, pGraph);
p->InitObject();
return p;
}
......@@ -61,7 +63,8 @@ namespace Nektar
protected:
EulerCFE(const LibUtilities::SessionReaderSharedPtr& pSession);
EulerCFE(const LibUtilities::SessionReaderSharedPtr& pSession,
const SpatialDomains::MeshGraphSharedPtr& pGraph);
};
}
......
......@@ -45,9 +45,10 @@ namespace Nektar
"Euler equations for the isentropic vortex test case.");
IsentropicVortex::IsentropicVortex(
const LibUtilities::SessionReaderSharedPtr& pSession)
: UnsteadySystem(pSession),
EulerCFE(pSession)
const LibUtilities::SessionReaderSharedPtr& pSession,
const SpatialDomains::MeshGraphSharedPtr& pGraph)
: UnsteadySystem(pSession, pGraph),
EulerCFE(pSession, pGraph)
{
}
......
......@@ -48,9 +48,11 @@ namespace Nektar
/// Creates an instance of this class.
static SolverUtils::EquationSystemSharedPtr create(
const LibUtilities::SessionReaderSharedPtr& pSession)
const LibUtilities::SessionReaderSharedPtr& pSession,
const SpatialDomains::MeshGraphSharedPtr& pGraph)
{
SolverUtils::EquationSystemSharedPtr p = MemoryManager<IsentropicVortex>::AllocateSharedPtr(pSession);
SolverUtils::EquationSystemSharedPtr p = MemoryManager<
IsentropicVortex>::AllocateSharedPtr(pSession, pGraph);
p->InitObject();
return p;
}
......@@ -61,7 +63,8 @@ namespace Nektar
protected:
IsentropicVortex(const LibUtilities::SessionReaderSharedPtr& pSession);
IsentropicVortex(const LibUtilities::SessionReaderSharedPtr& pSession,
const SpatialDomains::MeshGraphSharedPtr& pGraph);
/// Print a summary of time stepping parameters.
virtual void v_GenerateSummary(SolverUtils::SummaryList& s);
......
......@@ -45,9 +45,10 @@ namespace Nektar
"NavierStokes equations in conservative variables.");
NavierStokesCFE::NavierStokesCFE(
const LibUtilities::SessionReaderSharedPtr& pSession)
: UnsteadySystem(pSession),
CompressibleFlowSystem(pSession)
const LibUtilities::SessionReaderSharedPtr& pSession,
const SpatialDomains::MeshGraphSharedPtr& pGraph)
: UnsteadySystem(pSession, pGraph),
CompressibleFlowSystem(pSession, pGraph)
{
}
......
......@@ -51,10 +51,11 @@ namespace Nektar
// Creates an instance of this class
static SolverUtils::EquationSystemSharedPtr create(
const LibUtilities::SessionReaderSharedPtr& pSession)
const LibUtilities::SessionReaderSharedPtr& pSession,
const SpatialDomains::MeshGraphSharedPtr& pGraph)
{
SolverUtils::EquationSystemSharedPtr p =
MemoryManager<NavierStokesCFE>::AllocateSharedPtr(pSession);
MemoryManager<NavierStokesCFE>::AllocateSharedPtr(pSession, pGraph);
p->InitObject();
return p;
}
......@@ -64,7 +65,8 @@ namespace Nektar
virtual ~NavierStokesCFE();
protected:
NavierStokesCFE(const LibUtilities::SessionReaderSharedPtr& pSession);
NavierStokesCFE(const LibUtilities::SessionReaderSharedPtr& pSession,
const SpatialDomains::MeshGraphSharedPtr& pGraph);
virtual void v_InitObject();
......
......@@ -45,9 +45,10 @@ namespace Nektar
"Euler equations for Ringleb flow.");
RinglebFlow::RinglebFlow(
const LibUtilities::SessionReaderSharedPtr& pSession)
: UnsteadySystem(pSession),
EulerCFE(pSession)
const LibUtilities::SessionReaderSharedPtr& pSession,
const SpatialDomains::MeshGraphSharedPtr& pGraph)
: UnsteadySystem(pSession, pGraph),
EulerCFE(pSession, pGraph)
{
}
......
......@@ -48,9 +48,11 @@ namespace Nektar
/// Creates an instance of this class.
static SolverUtils::EquationSystemSharedPtr create(
const LibUtilities::SessionReaderSharedPtr& pSession)
const LibUtilities::SessionReaderSharedPtr& pSession,
const SpatialDomains::MeshGraphSharedPtr& pGraph)
{
SolverUtils::EquationSystemSharedPtr p = MemoryManager<RinglebFlow>::AllocateSharedPtr(pSession);
SolverUtils::EquationSystemSharedPtr p = MemoryManager<
RinglebFlow>::AllocateSharedPtr(pSession, pGraph);
p->InitObject();
return p;
}
......@@ -61,7 +63,8 @@ namespace Nektar
protected:
RinglebFlow(const LibUtilities::SessionReaderSharedPtr& pSession);
RinglebFlow(const LibUtilities::SessionReaderSharedPtr& pSession,
const SpatialDomains::MeshGraphSharedPtr& pGraph);
/// Print a summary of time stepping parameters.
virtual void v_GenerateSummary(SolverUtils::SummaryList& s);
......
......@@ -66,8 +66,7 @@
#include <LibUtilities/Communication/Comm.h>
#include <LibUtilities/Memory/NekMemoryManager.hpp>
#include <SpatialDomains/MeshGraph2D.h>
#include <SpatialDomains/MeshGraph3D.h>
#include <SpatialDomains/MeshGraph.h>
#include <SolverUtils/SolverUtilsDeclspec.h>
......@@ -405,9 +404,6 @@ int main(int argc, char *argv[])
if (expdim == 2)
{
graphShPt = MemoryManager<SpatialDomains::MeshGraph2D>
::AllocateSharedPtr(vSession);
MultiRegions::ContField2DSharedPtr Domain;
Domain = MemoryManager<MultiRegions::ContField2D>
::AllocateSharedPtr(vSession, graphShPt,
......@@ -431,9 +427,6 @@ int main(int argc, char *argv[])
}
else if (expdim == 3)
{
graphShPt = MemoryManager<SpatialDomains::MeshGraph3D>
::AllocateSharedPtr(vSession);