next up previous contents
Next: init_par.F Up: The finite difference program Previous: Program structure   Contents

main program

In the main program all global variables are defined (cf. table [*]). The simulation is initialized by a call to the function init_par. Then, the time step loop is entered. From the current magnetization distribution the effective fields for each computational cell is calculated by a call to the function calc_bloc. Next, the time integration function timestep is called, to update the magnetization vectors according to the chosen time integration algorithm. Finally, all interesting data like the contributions to the total energy and the total magnetization are calculated, the time average values and histograms updated, and the results written to log files. At regular intervals the magnetization distribution is saved for visualization with the postprocessing programs AVS and Geomview by the subroutine magdistwrite. When the maximum number of time steps is reached, the time step loop is exited, the average values, histograms, number of switching events, etc., are written to log files and the program exits.


Table: Global variables of the FD program
integer liparm length of iparm array
integer ldparm length of dparm array
parameter (liparm=30, ldparm=30)
integer iparm(liparm) array of integer parameters
double precision dparm(ldparm) array of double precision parameters
double precision eaxis(nx,ny,nz,3) cartesian comp. of easy axes
double precision m(nx,ny,nz,3) magnetization vectors
double precision bloc(nx,ny,nz,3) cartesian comp. of local field
double precision bext(nx,ny,nz,3) external field
double precision bani(nx,ny,nz,3) anisotropy field
double precision bexch(nx,ny,nz,3) exchange field
double precision bdip(nx,ny,nz,3) dipole field
integer nn(nx,ny,nz,6) table of nearest neighbours



next up previous contents
Next: init_par.F Up: The finite difference program Previous: Program structure   Contents
Werner Scholz 2000-05-16