Source file p3d-twofluid.F90
Main program for the two-fluid code:
-
perform initialization tasks (e.g. call to subroutine init_pe_env,
source file modules.F90), load start-up file
(call to subroutine input, source file inout.F90),
enforce div B = 0 (call to subroutine divergence,
source file twofluid.M)
-
main time stepping loop
-
calculate total energy: call to subroutine energy (source file
misc.M)
-
advance electric and magnetic field from t to t+dt based
on the two-fluid equations: call to subroutine
steptwofluid
(source file twofluid.M)
-
write movie frames on request (controlled by special header files, e.g.
movie.h):
calls to subroutines in source file movie.F90
-
several scenarios for finishing execution: maximum number of time steps
reached, maximum execution time reached, stop on operator's request (only
on T3E in Garching): call to subroutine output (source file inout.F90)
Switches:
-
fixedsteps: use this switch to determine for how many time steps
the reduced version of the Helmholtz solver with fixiter iterations
is used before a complete iteration to convergence is performed (compare
the discussion on the source file multigrid.M),
e.g. #define fixedsteps 5
-
maxruntime: After maxruntime minutes of operation the code
starts termination and stores the data. maxruntime should be sufficiently
smaller than the time limit of the batch queue, since storing the data
can require a significant amount of time. Example: #define maxruntime
180