Commit 2566b8cc authored by Dennis Gläser's avatar Dennis Gläser Committed by Timo Koch
Browse files

[staggered][assembler] add constructor for instationary problems

parent 6f68a7b0
......@@ -61,6 +61,7 @@ class StaggeredFVAssembler: public MultiDomainFVAssembler<StaggeredMultiDomainTr
diffMethod>;
using Problem = GetPropType<TypeTag, Properties::Problem>;
using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>;
using TimeLoop = TimeLoopBase<GetPropType<TypeTag, Properties::Scalar>>;
public:
......@@ -82,6 +83,7 @@ public:
}
//! The constructor for instationary problems
[[deprecated("Please use the constructor additionally taking the previous solution. Will be removed after 3.2 release!")]]
StaggeredFVAssembler(std::shared_ptr<const Problem> problem,
std::shared_ptr<const FVGridGeometry> fvGridGeometry,
std::shared_ptr<GridVariables> gridVariables,
......@@ -96,6 +98,23 @@ public:
this->couplingManager_->setSubProblems(std::make_tuple(problem, problem));
}
//! The constructor for instationary problems
StaggeredFVAssembler(std::shared_ptr<const Problem> problem,
std::shared_ptr<const FVGridGeometry> fvGridGeometry,
std::shared_ptr<GridVariables> gridVariables,
std::shared_ptr<const TimeLoop> timeLoop,
const SolutionVector& prevSol)
: ParentType(std::make_tuple(problem, problem),
std::make_tuple(fvGridGeometry->cellCenterFVGridGeometryPtr(), fvGridGeometry->faceFVGridGeometryPtr()),
std::make_tuple(gridVariables->cellCenterGridVariablesPtr(), gridVariables->faceGridVariablesPtr()),
std::make_shared<CouplingManager>(),
timeLoop,
prevSol)
{
static_assert(isImplicit, "Explicit assembler for stationary problem doesn't make sense!");
this->couplingManager_->setSubProblems(std::make_tuple(problem, problem));
}
auto& gridVariables()
{ return ParentType::gridVariables(Dune::index_constant<0>()); }
......
Supports Markdown
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