Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
dumux-repositories
dumux
Commits
2566b8cc
Commit
2566b8cc
authored
Aug 28, 2019
by
Dennis Gläser
Committed by
Timo Koch
Sep 12, 2019
Browse files
[staggered][assembler] add constructor for instationary problems
parent
6f68a7b0
Changes
1
Hide whitespace changes
Inline
Side-by-side
dumux/assembly/staggeredfvassembler.hh
View file @
2566b8cc
...
@@ -61,6 +61,7 @@ class StaggeredFVAssembler: public MultiDomainFVAssembler<StaggeredMultiDomainTr
...
@@ -61,6 +61,7 @@ class StaggeredFVAssembler: public MultiDomainFVAssembler<StaggeredMultiDomainTr
diffMethod
>
;
diffMethod
>
;
using
Problem
=
GetPropType
<
TypeTag
,
Properties
::
Problem
>
;
using
Problem
=
GetPropType
<
TypeTag
,
Properties
::
Problem
>
;
using
SolutionVector
=
GetPropType
<
TypeTag
,
Properties
::
SolutionVector
>
;
using
TimeLoop
=
TimeLoopBase
<
GetPropType
<
TypeTag
,
Properties
::
Scalar
>>
;
using
TimeLoop
=
TimeLoopBase
<
GetPropType
<
TypeTag
,
Properties
::
Scalar
>>
;
public:
public:
...
@@ -82,6 +83,7 @@ public:
...
@@ -82,6 +83,7 @@ public:
}
}
//! The constructor for instationary problems
//! 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
,
StaggeredFVAssembler
(
std
::
shared_ptr
<
const
Problem
>
problem
,
std
::
shared_ptr
<
const
FVGridGeometry
>
fvGridGeometry
,
std
::
shared_ptr
<
const
FVGridGeometry
>
fvGridGeometry
,
std
::
shared_ptr
<
GridVariables
>
gridVariables
,
std
::
shared_ptr
<
GridVariables
>
gridVariables
,
...
@@ -96,6 +98,23 @@ public:
...
@@ -96,6 +98,23 @@ public:
this
->
couplingManager_
->
setSubProblems
(
std
::
make_tuple
(
problem
,
problem
));
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
()
auto
&
gridVariables
()
{
return
ParentType
::
gridVariables
(
Dune
::
index_constant
<
0
>
());
}
{
return
ParentType
::
gridVariables
(
Dune
::
index_constant
<
0
>
());
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment