Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
dumux
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
dumux-repositories
dumux
Commits
02c12be0
Commit
02c12be0
authored
7 years ago
by
Kilian Weishaupt
Browse files
Options
Downloads
Patches
Plain Diff
[freeflow] Add default method for Neumann returning 0
parent
2d41bc4f
No related branches found
Branches containing commit
No related tags found
Tags containing commit
3 merge requests
!617
[WIP] Next
,
!576
Feature/port staggered ff to next next
,
!571
Cleanup/next
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
dumux/freeflow/staggered/localresidual.hh
+1
-1
1 addition, 1 deletion
dumux/freeflow/staggered/localresidual.hh
dumux/freeflow/staggered/problem.hh
+24
-6
24 additions, 6 deletions
dumux/freeflow/staggered/problem.hh
with
25 additions
and
7 deletions
dumux/freeflow/staggered/localresidual.hh
+
1
−
1
View file @
02c12be0
...
...
@@ -276,7 +276,7 @@ protected:
if
(
bcTypes
.
isNeumann
(
eqIdx
))
{
const
auto
extrusionFactor
=
1.0
;
//TODO: get correct extrusion factor
boundaryFlux
[
eqIdx
]
=
problem
.
neumann
AtPos
(
scvf
.
center
()
)[
cellCenterIdx
][
eqIdx
]
boundaryFlux
[
eqIdx
]
=
problem
.
neumann
(
element
,
scvf
)[
cellCenterIdx
][
eqIdx
]
*
extrusionFactor
*
scvf
.
area
();
}
}
...
...
This diff is collapsed.
Click to expand it.
dumux/freeflow/staggered/problem.hh
+
24
−
6
View file @
02c12be0
...
...
@@ -43,21 +43,18 @@ class NavierStokesProblem : public StaggeredFVProblem<TypeTag>
using
Implementation
=
typename
GET_PROP_TYPE
(
TypeTag
,
Problem
);
using
GridView
=
typename
GET_PROP_TYPE
(
TypeTag
,
GridView
);
using
TimeManager
=
typename
GET_PROP_TYPE
(
TypeTag
,
TimeManager
);
using
Grid
=
typename
GridView
::
Grid
;
using
Scalar
=
typename
GET_PROP_TYPE
(
TypeTag
,
Scalar
);
using
Indices
=
typename
GET_PROP_TYPE
(
TypeTag
,
Indices
);
using
Element
=
typename
GridView
::
template
Codim
<
0
>
::
Entity
;
using
Intersection
=
typename
GridView
::
Intersection
;
using
FVElementGeometry
=
typename
GET_PROP_TYPE
(
TypeTag
,
FVElementGeometry
);
using
FVGridGeometry
=
typename
GET_PROP_TYPE
(
TypeTag
,
FVGridGeometry
);
using
FacePrimaryVariables
=
typename
GET_PROP_TYPE
(
TypeTag
,
FacePrimaryVariables
);
using
PrimaryVariables
=
typename
GET_PROP_TYPE
(
TypeTag
,
PrimaryVariables
);
using
SubControlVolumeFace
=
typename
GET_PROP_TYPE
(
TypeTag
,
SubControlVolumeFace
);
using
SubControlVolume
=
typename
GET_PROP_TYPE
(
TypeTag
,
SubControlVolume
);
using
BoundaryValues
=
typename
GET_PROP_TYPE
(
TypeTag
,
BoundaryValues
);
enum
{
dim
=
Grid
::
dimension
,
...
...
@@ -69,7 +66,7 @@ class NavierStokesProblem : public StaggeredFVProblem<TypeTag>
velocityYIdx
=
Indices
::
velocityYIdx
};
typedef
Dune
::
FieldVector
<
Scalar
,
dimWorld
>
GlobalPosition
;
using
GlobalPosition
=
Dune
::
FieldVector
<
Scalar
,
dimWorld
>
;
using
DofTypeIndices
=
typename
GET_PROP
(
TypeTag
,
DofTypeIndices
);
typename
DofTypeIndices
::
CellCenterIdx
cellCenterIdx
;
...
...
@@ -95,11 +92,32 @@ public:
*
* \param scvf The sub control volume face
*/
auto
dirichlet
(
const
Element
&
element
,
const
SubControlVolumeFace
&
scvf
)
const
BoundaryValues
dirichlet
(
const
Element
&
element
,
const
SubControlVolumeFace
&
scvf
)
const
{
return
asImp_
().
dirichletAtPos
(
scvf
.
center
());
}
/*!
* \brief Returns neumann values at a given scv face.
This method can be overloaded in the actual problem, e.g. for coupling strategies
*
* \param scvf The sub control volume face
*/
BoundaryValues
neumann
(
const
Element
&
element
,
const
SubControlVolumeFace
&
scvf
)
const
{
return
asImp_
().
neumannAtPos
(
scvf
.
center
());
}
/*!
* \brief Returns neumann values at a position.
*
* \param scvf The sub control volume face
*/
BoundaryValues
neumannAtPos
(
const
GlobalPosition
&
globalPos
)
const
{
return
BoundaryValues
(
0.0
);
}
/*!
* \brief Returns the temperature \f$\mathrm{[K]}\f$ at a given global position.
*
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment