67 procedure(updategravity_single),
DEFERRED :: updategravity_single
68 procedure(calcdiskheight_single),
DEFERRED :: calcdiskheight_single
83 SUBROUTINE updategravity_single(this,Mesh,Physics,Fluxes,pvar,time,dt)
91 REAL,
INTENT(IN) :: time,dt
94 SUBROUTINE calcdiskheight_single(this,Mesh,Physics,pvar,bccsound,h_ext,height)
102 TYPE(
marray_base),
INTENT(INOUT) :: bccsound,h_ext,height
130 CHARACTER(LEN=*),
INTENT(IN) :: gravity_name
133 CHARACTER(LEN=1) :: xyz(3) = (/
"x",
"y",
"z"/)
134 INTEGER :: gtype,k,valwrite
137 CALL getattr(config,
"gtype", gtype)
139 CALL this%InitLogging(gtype,gravity_name)
143 this%accel%data1d(:) = 0.0
146 CALL getattr(config,
"output/accel", valwrite, 0)
147 IF (valwrite .EQ. 1)
THEN
148 DO k=1,
SIZE(this%accel%data4d,4)
149 CALL setattr(io, (
"accel_" // xyz(k)),&
150 this%accel%data4d(mesh%IMIN:mesh%IMAX,mesh%JMIN:mesh%JMAX,mesh%KMIN:mesh%KMAX,k))
153 CALL this%Info(
" GRAVITY--> gravity term: " // this%GetName())
160 INTEGER,
INTENT(IN) :: stype
165 IF (
ASSOCIATED(gp).EQV..false.)
EXIT
167 IF (gp%GetType().EQ.stype)
RETURN
177 IF (
ALLOCATED(this%accel))
DEALLOCATE(this%accel)
subroutine finalize_base(this)
Dictionary for generic data types.
base module for numerical flux functions
generic gravity terms module providing functionaly common to all gravity terms
integer, parameter, public spectral
integer, parameter, public pointmass_binary
class(gravity_base) function, pointer getgravitypointer(list, stype)
integer, parameter, public sboxspectral
subroutine initgravity(this, Mesh, Physics, gravity_name, config, IO)
integer, parameter, public pointmass
base class for mesh arrays
derived class for compound of mesh arrays
subroutine setoutput(this, config, IO)
Setup mesh fields for i/o.