39 CHARACTER(LEN=*),
INTENT(IN) :: VNAME
48 DOUBLE PRECISION :: DIF_TIME, DIF_STOP, DIF_DT
50 DOUBLE PRECISION :: WALL_START
52 LOGICAL,
PARAMETER :: setDBG = .true.
53 DOUBLE PRECISION,
DIMENSION(:),
ALLOCATABLE :: DIF
57 WRITE(
err_msg,
"(/3x,'Diffusing Variable: ',A)") vname
70 DO WHILE(dif_time < dif_stop)
80 CALL adjust_leq(0.0d0, leq_it(10), leq_method(10), leqi, leqm)
85 dif_time = dif_time + dif_dt
94 9001
FORMAT(5x,
'Wall Time: ',g11.4)
121 DOUBLE PRECISION,
INTENT(INOUT) :: DIF(
dimension_3)
122 LOGICAL,
INTENT(IN) :: lDBG
123 INTEGER,
INTENT(INOUT) :: IER
128 DOUBLE PRECISION :: lDIF
136 (2.0*sqrt(2.0*log(2.0)))
141 IF(fluid_at(ijk)) dif(ijk) = ldif
150 9100
FORMAT(/3x,
'Diffusion Coefficient: ',a)
double precision, dimension(:,:,:), allocatable a_m
subroutine dif_phi_des(M, DIF, A_M, B_M)
subroutine init_ab_m(A_M, B_M, IJKMAX2A, M)
double precision function wall_time()
character(len=4), dimension(dim_eqs) leq_sweep
subroutine diffuse_mean_field(PHI, VNAME)
subroutine calc_dif_des(DIF, lDBG, IER)
integer, dimension(dim_eqs) leq_it
subroutine dif_phi_source_des(PHI, M, A_M, B_M, lDT)
subroutine adjust_leq(RESID, LEQ_ITL, LEQ_METHODL, LEQI, LEQM)
double precision, dimension(dim_eqs) leq_tol
double precision des_diffuse_width
character(len=line_length), dimension(line_count) err_msg
integer, dimension(dim_eqs) leq_method
double precision, dimension(:,:), allocatable b_m
double precision, parameter zero
subroutine dif_phi_bc_des(PHI, M, A_M, B_M)
subroutine flush_err_msg(DEBUG, HEADER, FOOTER, ABORT, LOG, CALL_TREE)
subroutine solve_lin_eq(VNAME, Vno, VAR, A_M, B_M, M, ITMAX, METHOD, SWEEP, TOL1, PC, IER)
character(len=4), dimension(dim_eqs) leq_pc