Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Development
openfoam
Commits
5c226864
Commit
5c226864
authored
Jan 10, 2019
by
Mark Olesen
Browse files
ENH: add clip() method to GeometricField
parent
9a702900
Changes
4
Hide whitespace changes
Inline
Side-by-side
applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C
View file @
5c226864
...
...
@@ -692,7 +692,7 @@ void Foam::multiphaseSystem::solve()
phase
.
alphaRhoPhi
()
=
fvc
::
interpolate
(
phase
.
rho
())
*
phase
.
alphaPhi
();
// Ensure the phase-fractions are bounded
phase
.
maxMin
(
0
,
1
);
phase
.
clip
(
0
,
1
);
}
calcAlphas
();
...
...
applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystem.C
View file @
5c226864
...
...
@@ -403,7 +403,7 @@ void Foam::twoPhaseSystem::solve()
<<
endl
;
// Ensure the phase-fractions are bounded
alpha1
.
maxMin
(
0
,
1
);
alpha1
.
clip
(
0
,
1
);
// Update the phase-fraction of the other phase
alpha2
=
scalar
(
1
)
-
alpha1
;
...
...
src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.C
View file @
5c226864
...
...
@@ -1095,6 +1095,17 @@ void Foam::GeometricField<Type, PatchField, GeoMesh>::replace
}
template
<
class
Type
,
template
<
class
>
class
PatchField
,
class
GeoMesh
>
void
Foam
::
GeometricField
<
Type
,
PatchField
,
GeoMesh
>::
min
(
const
dimensioned
<
Type
>&
dt
)
{
Foam
::
min
(
primitiveFieldRef
(),
primitiveField
(),
dt
.
value
());
Foam
::
min
(
boundaryFieldRef
(),
boundaryField
(),
dt
.
value
());
}
template
<
class
Type
,
template
<
class
>
class
PatchField
,
class
GeoMesh
>
void
Foam
::
GeometricField
<
Type
,
PatchField
,
GeoMesh
>::
max
(
...
...
@@ -1107,27 +1118,38 @@ void Foam::GeometricField<Type, PatchField, GeoMesh>::max
template
<
class
Type
,
template
<
class
>
class
PatchField
,
class
GeoMesh
>
void
Foam
::
GeometricField
<
Type
,
PatchField
,
GeoMesh
>::
min
void
Foam
::
GeometricField
<
Type
,
PatchField
,
GeoMesh
>::
clip
(
const
dimensioned
<
Type
>&
dt
const
dimensioned
<
MinMax
<
Type
>
>
&
range
)
{
Foam
::
min
(
primitiveFieldRef
(),
primitiveField
(),
dt
.
value
());
Foam
::
min
(
boundaryFieldRef
(),
boundaryField
(),
dt
.
value
());
Foam
::
clip
(
primitiveFieldRef
(),
primitiveField
(),
range
.
value
());
Foam
::
clip
(
boundaryFieldRef
(),
boundaryField
(),
range
.
value
());
}
template
<
class
Type
,
template
<
class
>
class
PatchField
,
class
GeoMesh
>
void
Foam
::
GeometricField
<
Type
,
PatchField
,
GeoMesh
>::
clip
(
const
dimensioned
<
Type
>&
minVal
,
const
dimensioned
<
Type
>&
maxVal
)
{
MinMax
<
Type
>
range
(
minVal
.
value
(),
maxVal
.
value
());
Foam
::
clip
(
primitiveFieldRef
(),
primitiveField
(),
range
);
Foam
::
clip
(
boundaryFieldRef
(),
boundaryField
(),
range
);
}
template
<
class
Type
,
template
<
class
>
class
PatchField
,
class
GeoMesh
>
void
Foam
::
GeometricField
<
Type
,
PatchField
,
GeoMesh
>::
maxMin
(
const
dimensioned
<
Type
>&
min
Dt
,
const
dimensioned
<
Type
>&
max
Dt
const
dimensioned
<
Type
>&
min
Val
,
const
dimensioned
<
Type
>&
max
Val
)
{
Foam
::
max
(
primitiveFieldRef
(),
primitiveField
(),
minDt
.
value
());
Foam
::
max
(
boundaryFieldRef
(),
boundaryField
(),
minDt
.
value
());
Foam
::
min
(
primitiveFieldRef
(),
primitiveField
(),
maxDt
.
value
());
Foam
::
min
(
boundaryFieldRef
(),
boundaryField
(),
maxDt
.
value
());
this
->
clip
(
minVal
,
maxVal
);
}
...
...
src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.H
View file @
5c226864
...
...
@@ -3,7 +3,7 @@
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
\\/ M anipulation | Copyright (C) 2015-201
8
OpenCFD Ltd.
\\/ M anipulation | Copyright (C) 2015-201
9
OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
...
...
@@ -598,12 +598,24 @@ public:
// This sets the \em floor on the field values
void
max
(
const
dimensioned
<
Type
>&
dt
);
void
maxMin
//- Clip the field to be bounded within the specified range
void
clip
(
const
dimensioned
<
MinMax
<
Type
>>&
range
);
//- Clip the field to be bounded within the specified range
void
clip
(
const
dimensioned
<
Type
>&
min
Dt
,
const
dimensioned
<
Type
>&
max
Dt
const
dimensioned
<
Type
>&
min
Val
,
const
dimensioned
<
Type
>&
max
Val
);
//- Deprecated(2019-01) identical to clip()
// \deprecated(2019-01) identical to clip()
void
maxMin
(
const
dimensioned
<
Type
>&
minVal
,
const
dimensioned
<
Type
>&
maxVal
)
FOAM_DEPRECATED_FOR
(
2019
-
01
,
"clip() method"
);
// Member Operators
...
...
Write
Preview
Markdown
is supported
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