Compressible example
Local variables to be added
The following local variables need to be defined for the examples in this section:
integer, allocatable, dimension(:) :: lstelt
integer iel
integer iscal, imodif
double precision, allocatable, dimension(:) :: w1, w2, w3, w4
double precision, dimension(:), pointer :: cpro_rom
double precision, dimension(:,:), pointer :: cvar_vel
double precision, dimension(:), pointer :: cvar_pr
double precision, dimension(:), pointer :: cvar_scal, cvar_tempk, cvar_energ
Allocation
Before user initialization, work arrays must be allocated.
Initialization
The following initialization block needs to be added for the following examples:
if ( isuite.eq.0 ) then
do iel = 1, ncel
cvar_vel(1,iel) = 0.d0
cvar_vel(2,iel) = 0.d0
cvar_vel(3,iel) = 0.d0
enddo
if(nscaus.gt.0) then
do iscal = 1, nscaus
call field_get_val_s(ivarfl(isca(iscal)), cvar_scal)
do iel = 1, ncel
cvar_scal(iel) = 0.d0
enddo
enddo
endif
if(.true.) then
ithvar = ithvar*2
do iel = 1, ncel
cvar_pr(iel) = p0
enddo
endif
if(.false.) then
ithvar = ithvar*3
do iel = 1, ncel
cpro_rom(iel) = ro0
enddo
endif
if(.true.) then
ithvar = ithvar*5
call field_get_val_s(ivarfl(isca(itempk)), cvar_tempk)
do iel = 1, ncel
cvar_tempk(iel) = t0
enddo
endif
if(.false.) then
ithvar = ithvar*7
call field_get_val_s(ivarfl(isca(ienerg)), cvar_energ)
do iel = 1, ncel
cvar_energ(iel) = cv0*t0
enddo
endif
endif
Finalization
At the end of the subroutine, it is recommended to deallocate the work arrays:
deallocate(lstelt)
deallocate(w1, w2, w3, w4)