Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
dg
dg
Commits
158678f8
Commit
158678f8
authored
Oct 13, 2016
by
Philippe Delandmeter
Committed by
Valentin Vallaeys
Oct 13, 2016
Browse files
slim3d: For z layers. The moving mesh was discontinuous!
parent
3460c69a
Pipeline
#1101
failed with stage
in 33 minutes and 42 seconds
Changes
2
Pipelines
2
Hide whitespace changes
Inline
Side-by-side
modules/slim3d/slim3dEquations.cpp
View file @
158678f8
...
...
@@ -373,7 +373,8 @@ void slim3dSolverFunctions::initialize()
else
if
(
_solver
->
getUseConservativeALE
())
Msg
::
Fatal
(
"Conservative ALE does not work with adaptive vertical coordinates yet"
);
_dt3d
=
new
double
(
-
1
);
newZFunc
=
new
zNewAdaptative
(
dofs
->
xyzOrigDof
->
getFunction
(),
eta2dCGFunc
,
eta2dCGFuncOld
,
bathFunc2d
,
dofs
->
arbitraryMovingMeshDof3d
->
getFunction
(),
_dt3d
,
timeFunc
);
//newZFunc = new zNewAdaptative(dofs->xyzOrigDof->getFunction(), eta2dCGFunc, eta2dCGFuncOld, bathFunc2d, dofs->arbitraryMovingMeshDof3d->getFunction(), _dt3d, timeFunc);
newZFunc
=
new
zNewAdaptative
(
dofs
->
xyzOrigDof
->
getFunction
(),
eta2dCGFunc
,
eta2dCGFuncOld
,
_solver
->
verticalBottomRemover
->
heightAboveVertBottom
->
getFunction
(),
dofs
->
arbitraryMovingMeshDof3d
->
getFunction
(),
_dt3d
,
timeFunc
);
wMeshFunc
=
new
wMeshAdapt
(
wMeshSurf2dPrecompFunc
,
eta2dCGFunc
,
bathFunc2d
,
dofs
->
arbitraryMovingMeshDof3d
->
getFunction
());
wMeshDzFunc
=
new
dwMeshDzAdapt
(
wMeshSurf2dPrecompFunc
,
eta2dCGFunc
,
bathFunc2d
,
dofs
->
arbitraryMovingMeshDof3d
->
getFunctionGradient
());
...
...
modules/slim3d/slim3dFunctions.h
View file @
158678f8
...
...
@@ -183,7 +183,9 @@ public:
};
void
call
(
dataCacheMap
*
m
,
fullMatrix
<
double
>
&
sol
)
{
for
(
int
i
=
0
;
i
<
sol
.
size1
();
i
++
)
{
double
movingMeshFactor
=
(
_xyz0
(
i
,
2
)
+
_bath
(
i
,
0
))
/
(
_bath
(
i
,
0
));
double
movingMeshFactor
=
0
;
if
(
_bath
(
i
,
0
)
>
0
)
movingMeshFactor
=
(
_xyz0
(
i
,
2
)
+
_bath
(
i
,
0
))
/
(
_bath
(
i
,
0
));
double
newZ
=
_xyz
(
i
,
2
)
+
(
_eta
(
i
,
0
)
-
_etaOld
(
i
,
0
))
*
movingMeshFactor
+
_f
(
i
,
0
)
*
*
_dt3d
;
sol
.
set
(
i
,
0
,
newZ
);
}
...
...
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