Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
G
getm
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Iterations
Merge Requests
0
Merge Requests
0
Requirements
Requirements
List
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Test Cases
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Package Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issue
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Knut Klingbeil
getm
Commits
69425337
Commit
69425337
authored
Dec 05, 2012
by
Knut
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
central depth_update routine + pointer swapping
parent
f959deb6
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
108 additions
and
50 deletions
+108
-50
src/2d/depth_update.F90
src/2d/depth_update.F90
+45
-6
src/2d/dynamic_allocations_2d.h
src/2d/dynamic_allocations_2d.h
+11
-8
src/2d/dynamic_declarations_2d.h
src/2d/dynamic_declarations_2d.h
+1
-3
src/2d/m2d.F90
src/2d/m2d.F90
+14
-3
src/2d/sealevel.F90
src/2d/sealevel.F90
+6
-12
src/2d/static_2d.h
src/2d/static_2d.h
+1
-4
src/2d/variables_2d.F90
src/2d/variables_2d.F90
+6
-1
src/3d/dynamic_allocations_3d.h
src/3d/dynamic_allocations_3d.h
+9
-6
src/3d/dynamic_declarations_3d.h
src/3d/dynamic_declarations_3d.h
+2
-2
src/3d/m3d.F90
src/3d/m3d.F90
+3
-1
src/3d/start_macro.F90
src/3d/start_macro.F90
+5
-1
src/3d/static_3d.h
src/3d/static_3d.h
+1
-2
src/3d/variables_3d.F90
src/3d/variables_3d.F90
+4
-1
No files found.
src/2d/depth_update.F90
View file @
69425337
...
...
@@ -5,7 +5,9 @@
! !ROUTINE: depth_update - adjust the depth to new elevations.
!
! !INTERFACE:
subroutine
depth_update
subroutine
depth_update
(
zo
,
z
,
Dlast
,
D
,
DU
,
DV
,
first
,
from3d
)
! Note (KK): keep in sync with interface in m2d.F90
!
! !DESCRIPTION:
!
...
...
@@ -22,17 +24,29 @@
! !USES:
use
domain
,
only
:
imin
,
imax
,
jmin
,
jmax
,
H
,
HU
,
HV
,
min_depth
,
crit_depth
use
domain
,
only
:
az
,
au
,
av
,
dry_z
,
dry_u
,
dry_v
use
variables_2d
,
only
:
D
,
z
,
zo
,
DU
,
DV
use
getm_timers
,
only
:
tic
,
toc
,
TIM_DPTHUPDATE
!$ use omp_lib
IMPLICIT
NONE
!
! !INPUT PARAMETERS:
REALTYPE
,
dimension
(
E2DFIELD
),
intent
(
in
)
::
zo
,
z
logical
,
intent
(
in
),
optional
::
first
,
from3d
!
! !INPUT/OUTPUT PARAMETERS:
REALTYPE
,
dimension
(:,:),
pointer
,
intent
(
inout
)
::
Dlast
,
D
!
! !OUTPUT PARAMETERS:
REALTYPE
,
dimension
(
E2DFIELD
),
intent
(
out
)
::
DU
,
DV
!
! !REVISION HISTORY:
! Original author(s): Hans Burchard & Karsten Bolding
!
! !LOCAL VARIABLES:
integer
::
i
,
j
REALTYPE
::
d1
,
d2i
,
x
REALTYPE
,
dimension
(
E2DFIELD
)
::
ztmp
REALTYPE
,
dimension
(:,:),
pointer
::
p2d
logical
::
update_dryingfactors
!EOP
!-----------------------------------------------------------------------
!BOC
...
...
@@ -46,18 +60,34 @@
! TODO/BJB: Why is this turned off?
#undef USE_MASK
p2d
=>
Dlast
;
Dlast
=>
D
;
D
=>
p2d
!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(i,j,d1,d2i,x)
! Depth in elevation points
if
(
present
(
first
))
then
if
(
first
)
then
!$OMP DO SCHEDULE(RUNTIME)
do
j
=
jmin
-
HALO
,
jmax
+
HALO
do
i
=
imin
-
HALO
,
imax
+
HALO
! TODO/BJB: Is it enough to do this on az?
Dlast
(
i
,
j
)
=
zo
(
i
,
j
)
+
H
(
i
,
j
)
end
do
end
do
!$OMP END DO NOWAIT
end
if
end
if
!$OMP DO SCHEDULE(RUNTIME)
do
j
=
jmin
-
HALO
,
jmax
+
HALO
do
i
=
imin
-
HALO
,
imax
+
HALO
! TODO/BJB: Is it enough to do this on az?
D
(
i
,
j
)
=
z
(
i
,
j
)
+
H
(
i
,
j
)
ztmp
(
i
,
j
)
=
_
HALF_
*
(
zo
(
i
,
j
)
+
z
(
i
,
j
)
)
end
do
end
do
!$OMP END DO
NOWAIT
!$OMP END DO
! U-points
!$OMP DO SCHEDULE(RUNTIME)
...
...
@@ -66,7 +96,7 @@
#ifdef USE_MASK
if
(
au
(
i
,
j
)
.gt.
0
)
then
#endif
x
=
max
(
_
QUART_
*
(
zo
(
i
,
j
)
+
zo
(
i
+1
,
j
)
+
z
(
i
,
j
)
+
z
(
i
+1
,
j
)),
-
HU
(
i
,
j
)
+
min_depth
)
x
=
max
(
_
HALF_
*
(
ztmp
(
i
,
j
)
+
ztmp
(
i
+1
,
j
)),
-
HU
(
i
,
j
)
+
min_depth
)
DU
(
i
,
j
)
=
x
+
HU
(
i
,
j
)
#ifdef USE_MASK
end
if
...
...
@@ -82,7 +112,7 @@
#ifdef USE_MASK
if
(
av
(
i
,
j
)
.gt.
0
)
then
#endif
x
=
max
(
_
QUART_
*
(
zo
(
i
,
j
)
+
zo
(
i
,
j
+1
)
+
z
(
i
,
j
)
+
z
(
i
,
j
+1
)),
-
HV
(
i
,
j
)
+
min_depth
)
x
=
max
(
_
HALF_
*
(
ztmp
(
i
,
j
)
+
ztmp
(
i
,
j
+1
)),
-
HV
(
i
,
j
)
+
min_depth
)
DV
(
i
,
j
)
=
x
+
HV
(
i
,
j
)
#ifdef USE_MASK
end
if
...
...
@@ -91,7 +121,15 @@
end
do
!$OMP END DO
update_dryingfactors
=
.true.
if
(
present
(
from3d
))
then
if
(
from3d
)
then
update_dryingfactors
=
.false.
end
if
end
if
! KK-TODO: why not set the dry masks in any case?
! however, consider that last call is from postinit_3d
if
(
update_dryingfactors
)
then
d1
=
2
*
min_depth
d2i
=
_
ONE_
/(
crit_depth
-2
*
min_depth
)
!$OMP DO SCHEDULE(RUNTIME)
...
...
@@ -109,6 +147,7 @@
end
do
end
do
!$OMP END DO
end
if
!$OMP END PARALLEL
...
...
src/2d/dynamic_allocations_2d.h
View file @
69425337
...
...
@@ -6,8 +6,17 @@
if
(
rc
/=
0
)
stop
'
init_2d
:
Error
allocating
memory
(
iteration_stat
)
'
#endif
allocate
(
D
(
E2DFIELD
),
stat
=
rc
)
if
(
rc
/=
0
)
stop
'
init_2d
:
Error
allocating
memory
(
D
)
'
allocate
(
t_zo
(
E2DFIELD
),
stat
=
rc
)
if
(
rc
/=
0
)
stop
'
init_2d
:
Error
allocating
memory
(
t_zo
)
'
allocate
(
t_z
(
E2DFIELD
),
stat
=
rc
)
if
(
rc
/=
0
)
stop
'
init_2d
:
Error
allocating
memory
(
t_z
)
'
allocate
(
t_Dlast
(
E2DFIELD
),
stat
=
rc
)
if
(
rc
/=
0
)
stop
'
init_2d
:
Error
allocating
memory
(
t_Dlast
)
'
allocate
(
t_D
(
E2DFIELD
),
stat
=
rc
)
if
(
rc
/=
0
)
stop
'
init_2d
:
Error
allocating
memory
(
t_D
)
'
allocate
(
DU
(
E2DFIELD
),
stat
=
rc
)
if
(
rc
/=
0
)
stop
'
init_2d
:
Error
allocating
memory
(
DU
)
'
...
...
@@ -15,12 +24,6 @@
allocate
(
DV
(
E2DFIELD
),
stat
=
rc
)
if
(
rc
/=
0
)
stop
'
init_2d
:
Error
allocating
memory
(
DV
)
'
allocate
(
z
(
E2DFIELD
),
stat
=
rc
)
if
(
rc
/=
0
)
stop
'
init_2d
:
Error
allocating
memory
(
z
)
'
allocate
(
zo
(
E2DFIELD
),
stat
=
rc
)
if
(
rc
/=
0
)
stop
'
init_2d
:
Error
allocating
memory
(
zo
)
'
allocate
(
U
(
E2DFIELD
),
stat
=
rc
)
if
(
rc
/=
0
)
stop
'
init_2d
:
Error
allocating
memory
(
U
)
'
...
...
src/2d/dynamic_declarations_2d.h
View file @
69425337
...
...
@@ -2,9 +2,7 @@
integer
,
dimension
(
:
,
:
),
allocatable
::
break_mask
integer
,
dimension
(
:
,
:
),
allocatable
::
break_stat
#endif
REALTYPE
,
dimension
(
:
,
:
),
allocatable
::
D
REALTYPE
,
dimension
(
:
,
:
),
allocatable
,
target
::
DU
,
DV
REALTYPE
,
dimension
(
:
,
:
),
allocatable
::
z
,
zo
REALTYPE
,
dimension
(
:
,
:
),
allocatable
,
target
::
t_zo
,
t_z
,
t_Dlast
,
t_D
,
DU
,
DV
REALTYPE
,
dimension
(
:
,
:
),
allocatable
::
U
,
V
REALTYPE
,
dimension
(
:
,
:
),
allocatable
::
UEx
,
VEx
REALTYPE
,
dimension
(
:
,
:
),
allocatable
::
fU
,
fV
...
...
src/2d/m2d.F90
View file @
69425337
...
...
@@ -34,6 +34,15 @@
interface
subroutine
depth_update
(
zo
,
z
,
Dlast
,
D
,
DU
,
DV
,
first
,
from3d
)
use
domain
,
only
:
imin
,
imax
,
jmin
,
jmax
IMPLICIT
NONE
REALTYPE
,
dimension
(
E2DFIELD
),
intent
(
in
)
::
zo
,
z
logical
,
intent
(
in
),
optional
::
first
,
from3d
REALTYPE
,
dimension
(:,:),
pointer
,
intent
(
inout
)
::
Dlast
,
D
REALTYPE
,
dimension
(
E2DFIELD
),
intent
(
out
)
::
DU
,
DV
end
subroutine
depth_update
subroutine
uv_advect
(
U
,
V
,
DU
,
DV
)
use
domain
,
only
:
imin
,
imax
,
jmin
,
jmax
IMPLICIT
NONE
...
...
@@ -193,7 +202,9 @@
z
=
-
H
+
min_depth
end
where
zo
=
z
call
depth_update
()
! KK-TODO: check whether we need D[ |U|V] in init_3d
! otherwise we can move this call by default to postinit_2d
call
depth_update
(
zo
,
z
,
Dlast
,
D
,
DU
,
DV
,
first
=
.true.
)
end
if
if
(
Am
.lt.
_
ZERO_
)
then
...
...
@@ -393,7 +404,7 @@
end
where
end
if
call
depth_update
()
call
depth_update
(
zo
,
z
,
Dlast
,
D
,
DU
,
DV
,
first
=
.true.
)
end
if
...
...
@@ -472,7 +483,7 @@
end
if
if
(
have_boundaries
)
call
update_2d_bdy
(
loop
,
bdy2d_ramp
)
call
sealevel
()
call
depth_update
()
call
depth_update
(
zo
,
z
,
Dlast
,
D
,
DU
,
DV
)
if
(
residual
.gt.
0
.and.
loop
.ge.
residual
)
then
call
tic
(
TIM_INTEGR2D
)
...
...
src/2d/sealevel.F90
View file @
69425337
...
...
@@ -43,6 +43,7 @@
!
! !LOCAL VARIABLES:
integer
::
i
,
j
REALTYPE
,
dimension
(:,:),
pointer
::
p2d
#ifdef USE_BREAKS
integer
::
n
,
break_flag
,
break_flags
(
nprocs
)
#endif
...
...
@@ -59,14 +60,7 @@
#endif
call
tic
(
TIM_SEALEVEL
)
! OMP-NOTE: This loop does not really improve from threading.
! It is bound by memory access, and everything is nicely
! lined up anyway, so we keep it in serial.
do
j
=
jmin
-
HALO
,
jmax
+
HALO
do
i
=
imin
-
HALO
,
imax
+
HALO
zo
(
i
,
j
)
=
z
(
i
,
j
)
end
do
end
do
p2d
=>
zo
;
zo
=>
z
;
z
=>
p2d
#ifdef USE_BREAKS
break_flag
=
1
...
...
@@ -93,9 +87,9 @@
do
j
=
jmin
,
jmax
do
i
=
imin
,
imax
if
(
az
(
i
,
j
)
.eq.
1
)
then
z
(
i
,
j
)
=
z
(
i
,
j
)
-
dtm
*
((
U
(
i
,
j
)
*
DYU
-
U
(
i
-1
,
j
)
*
DYUIM1
)
&
+
(
V
(
i
,
j
)
*
DXV
-
V
(
i
,
j
-1
)
*
DXVJM1
))
*
ARCD1
&
+
dtm
*
fwf
(
i
,
j
)
z
(
i
,
j
)
=
z
o
(
i
,
j
)
-
dtm
*
((
U
(
i
,
j
)
*
DYU
-
U
(
i
-1
,
j
)
*
DYUIM1
)
&
+
(
V
(
i
,
j
)
*
DXV
-
V
(
i
,
j
-1
)
*
DXVJM1
))
*
ARCD1
&
+
dtm
*
fwf
(
i
,
j
)
#if 0
#ifdef FRESHWATER_LENSE_TEST
kk
=
1.0
...
...
@@ -152,7 +146,7 @@
end
do
if
(
break_flag
.ne.
0
)
then
z
=
zo
p2d
=>
z
;
z
=>
zo
;
zo
=>
p2d
call
tic
(
TIM_SEALEVELH
)
call
update_2d_halo
(
U
,
U
,
au
,
imin
,
jmin
,
imax
,
jmax
,
u_TAG
)
call
wait_halo
(
u_TAG
)
...
...
src/2d/static_2d.h
View file @
69425337
...
...
@@ -5,10 +5,7 @@
integer
break_mask
(
E2DFIELD
)
integer
break_stat
(
E2DFIELD
)
#endif
REALTYPE
D
(
E2DFIELD
)
REALTYPE
,
dimension
(
E2DFIELD
),
target
::
DU
,
DV
REALTYPE
z
(
E2DFIELD
)
REALTYPE
zo
(
E2DFIELD
)
REALTYPE
,
dimension
(
E2DFIELD
),
target
::
t_zo
,
t_z
,
t_Dlast
,
t_D
,
DU
,
DV
REALTYPE
U
(
E2DFIELD
)
REALTYPE
V
(
E2DFIELD
)
REALTYPE
UEx
(
E2DFIELD
)
...
...
src/2d/variables_2d.F90
View file @
69425337
...
...
@@ -21,6 +21,8 @@
IMPLICIT
NONE
!
! !PUBLIC DATA MEMBERS:
REALTYPE
,
dimension
(:,:),
pointer
::
zo
,
z
,
Dlast
,
D
#ifdef STATIC
#include "static_2d.h"
#else
...
...
@@ -109,6 +111,9 @@
#include "dynamic_allocations_2d.h"
#endif
zo
=>
t_zo
;
z
=>
t_z
Dlast
=>
t_Dlast
;
D
=>
t_D
#ifdef USE_BREAKS
break_stat
=
0
#endif
...
...
@@ -116,7 +121,7 @@
z
=
_
ZERO_
;
zo
=
_
ZERO_
zub
=
_
ZERO_
;
zub0
=
_
ZERO_
zvb
=
_
ZERO_
;
zvb0
=
_
ZERO_
D
=
_
ZERO_
;
D
last
=
_
ZERO_
;
D
=
_
ZERO_
U
=
_
ZERO_
;
DU
=
_
ZERO_
;
fU
=
_
ZERO_
;
Uint
=
_
ZERO_
;
UEx
=
_
ZERO_
V
=
_
ZERO_
;
DV
=
_
ZERO_
;
fV
=
_
ZERO_
;
Vint
=
_
ZERO_
;
VEx
=
_
ZERO_
...
...
src/3d/dynamic_allocations_3d.h
View file @
69425337
...
...
@@ -153,24 +153,27 @@
allocate
(
ssen
(
I2DFIELD
),
stat
=
rc
)
!
Elevation
after
macro
time
step
(
z
-
column
)
if
(
rc
/=
0
)
stop
'
init_3d
:
Error
allocating
memory
(
ssen
)
'
allocate
(
Dn
(
I2DFIELD
),
stat
=
rc
)
!
depth
after
macro
time
step
(
z
-
column
)
if
(
rc
/=
0
)
stop
'
init_3d
:
Error
allocating
memory
(
Dn
)
'
allocate
(
ssuo
(
I2DFIELD
),
stat
=
rc
)
!
Elevation
before
macro
time
step
(
u
-
column
)
if
(
rc
/=
0
)
stop
'
init_3d
:
Error
allocating
memory
(
ssuo
)
'
allocate
(
ssun
(
I2DFIELD
),
stat
=
rc
)
!
Elevation
after
macro
time
step
(
u
-
column
)
if
(
rc
/=
0
)
stop
'
init_3d
:
Error
allocating
memory
(
ssun
)
'
allocate
(
Dun
(
I2DFIELD
),
stat
=
rc
)
!
depth
after
macro
time
step
(
u
-
column
)
if
(
rc
/=
0
)
stop
'
init_3d
:
Error
allocating
memory
(
Dun
)
'
allocate
(
ssvo
(
I2DFIELD
),
stat
=
rc
)
!
Elevation
before
macro
time
step
(
v
-
column
)
if
(
rc
/=
0
)
stop
'
init_3d
:
Error
allocating
memory
(
ssvo
)
'
allocate
(
ssvn
(
I2DFIELD
),
stat
=
rc
)
!
Elevation
after
macro
time
step
(
v
-
column
)
if
(
rc
/=
0
)
stop
'
init_3d
:
Error
allocating
memory
(
ssvn
)
'
allocate
(
t_Dold
(
I2DFIELD
),
stat
=
rc
)
!
depth
before
macro
time
step
(
z
-
column
)
if
(
rc
/=
0
)
stop
'
init_3d
:
Error
allocating
memory
(
t_Dold
)
'
allocate
(
t_Dn
(
I2DFIELD
),
stat
=
rc
)
!
depth
after
macro
time
step
(
z
-
column
)
if
(
rc
/=
0
)
stop
'
init_3d
:
Error
allocating
memory
(
t_Dn
)
'
allocate
(
Dun
(
I2DFIELD
),
stat
=
rc
)
!
depth
after
macro
time
step
(
u
-
column
)
if
(
rc
/=
0
)
stop
'
init_3d
:
Error
allocating
memory
(
Dun
)
'
allocate
(
Dvn
(
I2DFIELD
),
stat
=
rc
)
!
depth
after
macro
time
step
(
v
-
column
)
if
(
rc
/=
0
)
stop
'
init_3d
:
Error
allocating
memory
(
Dvn
)
'
...
...
src/3d/dynamic_declarations_3d.h
View file @
69425337
...
...
@@ -48,10 +48,10 @@
#endif
!
2
D
fields
in
3
D
domain
REALTYPE
,
dimension
(
:
,
:
),
allocatable
::
sseo
,
ssen
,
Dn
REALTYPE
,
dimension
(
:
,
:
),
allocatable
::
sseo
,
ssen
REALTYPE
,
dimension
(
:
,
:
),
allocatable
::
ssuo
,
ssun
REALTYPE
,
dimension
(
:
,
:
),
allocatable
::
ssvo
,
ssvn
REALTYPE
,
dimension
(
:
,
:
),
allocatable
,
target
::
Dun
,
Dvn
REALTYPE
,
dimension
(
:
,
:
),
allocatable
,
target
::
t_Dold
,
t_Dn
,
Dun
,
Dvn
!
3
D
friction
in
3
D
domain
REALTYPE
,
dimension
(
:
,
:
),
allocatable
::
rru
,
rrv
...
...
src/3d/m3d.F90
View file @
69425337
...
...
@@ -26,7 +26,7 @@
use
exceptions
use
parameters
,
only
:
avmmol
use
domain
,
only
:
openbdy
,
maxdepth
,
vert_cord
,
az
use
m2d
,
only
:
uv_advect
,
uv_diffusion
use
m2d
,
only
:
depth_update
,
uv_advect
,
uv_diffusion
use
variables_2d
,
only
:
z
,
Uint
,
Vint
,
UEx
,
VEx
#ifndef NO_BAROCLINIC
use
temperature
,
only
:
init_temperature
,
do_temperature
,
&
...
...
@@ -229,6 +229,7 @@
if
(
.not.
hotstart
)
then
ssen
=
z
call
start_macro
()
Dold
=
Dn
call
coordinates
(
hotstart
)
call
hcc_check
()
end
if
...
...
@@ -379,6 +380,7 @@
end
do
end
do
call
depth_update
(
sseo
,
ssen
,
Dold
,
Dn
,
Dun
,
Dvn
,
first
=
.true.
,
from3d
=
.true.
)
call
coordinates
(
hotstart
)
end
if
...
...
src/3d/start_macro.F90
View file @
69425337
...
...
@@ -29,9 +29,10 @@
!
! !USES:
use
domain
,
only
:
imin
,
imax
,
jmin
,
jmax
,
H
,
HU
,
HV
,
min_depth
use
m2d
,
only
:
depth_update
use
m2d
,
only
:
z
,
Uint
,
Vint
use
m3d
,
only
:
M
use
variables_3d
,
only
:
sseo
,
ssen
,
ssuo
,
ssun
,
ssvo
,
ssvn
,
Dn
,
Dun
,
Dvn
use
variables_3d
,
only
:
sseo
,
ssen
,
ssuo
,
ssun
,
ssvo
,
ssvn
,
D
old
,
D
n
,
Dun
,
Dvn
use
getm_timers
,
only
:
tic
,
toc
,
TIM_STARTMCR
IMPLICIT
NONE
!
...
...
@@ -41,6 +42,7 @@
! !LOCAL VARIABLES:
integer
::
i
,
j
REALTYPE
::
split
REALTYPE
,
dimension
(:,:),
pointer
::
p2d
!EOP
!-----------------------------------------------------------------------
!BOC
...
...
@@ -51,6 +53,8 @@
#endif
call
tic
(
TIM_STARTMCR
)
p2d
=>
Dold
;
Dold
=>
Dn
;
Dn
=>
p2d
do
j
=
jmin
-
HALO
,
jmax
+
HALO
! Defining 'old' and 'new' sea surface
do
i
=
imin
-
HALO
,
imax
+
HALO
! elevation for macro time step
sseo
(
i
,
j
)
=
ssen
(
i
,
j
)
...
...
src/3d/static_3d.h
View file @
69425337
...
...
@@ -77,12 +77,11 @@
!
2
D
fields
in
3
D
domain
REALTYPE
::
sseo
(
I2DFIELD
)
REALTYPE
::
ssen
(
I2DFIELD
)
REALTYPE
::
Dn
(
I2DFIELD
)
REALTYPE
::
ssuo
(
I2DFIELD
)
REALTYPE
::
ssun
(
I2DFIELD
)
REALTYPE
::
ssvo
(
I2DFIELD
)
REALTYPE
::
ssvn
(
I2DFIELD
)
REALTYPE
,
dimension
(
I2DFIELD
),
target
::
Dun
,
Dvn
REALTYPE
,
dimension
(
I2DFIELD
),
target
::
t_Dold
,
t_Dn
,
Dun
,
Dvn
!
3
D
friction
in
3
D
domain
REALTYPE
::
rru
(
I2DFIELD
)
...
...
src/3d/variables_3d.F90
View file @
69425337
...
...
@@ -115,6 +115,7 @@
IMPLICIT
NONE
!
! !PUBLIC DATA MEMBERS:
REALTYPE
,
dimension
(:,:),
pointer
::
Dold
,
Dn
REALTYPE
::
dt
,
cnpar
=
0.9
REALTYPE
::
avmback
=
_
ZERO_
,
avhback
=
_
ZERO_
logical
::
do_numerical_analyses
=
.false.
...
...
@@ -191,6 +192,8 @@
#include "dynamic_allocations_3d.h"
#endif
Dold
=>
t_Dold
;
Dn
=>
t_Dn
hn
=
_
ZERO_
;
hun
=
_
ZERO_
;
hvn
=
_
ZERO_
uu
=
_
ZERO_
;
vv
=
_
ZERO_
;
ww
=
_
ZERO_
#ifdef _MOMENTUM_TERMS_
...
...
@@ -200,7 +203,7 @@
cor_v
=
_
ZERO_
;
epg_v
=
_
ZERO_
;
ipg_v
=
_
ZERO_
#endif
ssen
=
_
ZERO_
;
ssun
=
_
ZERO_
;
ssvn
=
_
ZERO_
Dn
=
_
ZERO_
;
Dun
=
_
ZERO_
;
Dvn
=
_
ZERO_
D
old
=
_
ZERO_
;
D
n
=
_
ZERO_
;
Dun
=
_
ZERO_
;
Dvn
=
_
ZERO_
rru
=
_
ZERO_
;
rrv
=
_
ZERO_
uuEx
=
_
ZERO_
;
vvEx
=
_
ZERO_
tke
=
1.e-10
;
eps
=
1.e-10
...
...
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