allopt.txt


Sections:


allopt.txt

Default configuration file for simulation parameters:

doc/allopt.txt:

#########################################################################
#
# magpar configuration file: allopt.txt
#
# default settings
#
#########################################################################

##### project name (required)
# (init/serinit.c)
#
-simName test

#########################################################################
# finite element mesh
#########################################################################

##### mesh type
# (init/serinit.c)
#
# 0: Patran: <simName>.out
# 1: AVS:    <simName>.inp
-meshtype 1

##### regular mesh refinement
# (init/regrefine.c)
#
# number of regular refinement steps
# (every step generates 8x as many elements and about 8x as many nodes!!!)
-refine 0

##### mesh manipulation
# (init/distortmesh.c)
#
# scale mesh in x,y,z direction by scaling factors given
-mesh_scale 1,1,1
#
# shift mesh in x,y,z direction
-shift 0,0,0
#
# distort mesh (shift vertices)
# 0: no distortion
# 1: distort only interior mesh
# 2: distort only boundary mesh
# 3: distort whole mesh
-meshdist 0
#
# max. distortion = distpar*(min. edge length of all tetrahedra)
-distpar 0

##### renumber vertices
# (init/reorder.c)
#
# matrix bandwidth reduction
# 0: disabled
# 1: enabled (Reverse Cuthill-McKee as implemented in PETSc, others available)
-optimizebw 1
#
# (init/parteleser.c)
# mesh partitioning using METIS
# 0:   disabled
# 1:   enabled, partition for actually used number of processors
# n>1: partition for n processors,
#      automatically mapped to actually used number of processors
-metispartition 0

#########################################################################
# materials, magnetization
#########################################################################

#### size scaling of finite element mesh (unit: m)
# (io/readkrn.c)
#
-size 1e-9

##### initial magnetization
# (init/maginit.c)
#
#  - specify a single value to initialize all materials in the same way or
#  - specify a list of values (comma separated, no spaces) to define
#    different init_mag (and init_magpar) parameters for each volume
#    with distinct property id (number of values has to exactly
#    the number of property ids)
#  - negative values: select abs(init_mag), but reverse the magnetization
#  0: magnetization from inp (set file number by -inp below)
#  1: Mx=1
#  2: My=1
#  3: Mz=1
#  4: Mx=My=Mz=sqrt(1/3)=0.57735027
#  5: artificial flower state, center: x=y=z=init_magparm
#  6: set magnetization in x-z plane to theta=init_magpar (in rad from z-axis)
#  7: vortex state: core radius = init_magparm, center at (x=0,y=0)
#  8: random magnetization
#  9: Bloch wall: center at x = init_magparm, width=x/10
# 10: M // anisotropy axes
# 11: set magnetization in x-y plane to theta=init_magpar (in **degrees** from x-axis)
# 12: Head-to-head transverse wall: center at x = init_magparm, width=x/10
# 13: Head-to-head vortex wall: core radius = init_magparm, center at (x=0,y=0)
# 14: set magnetization using a Python function called "initmag"
#     The function must be defined in the magpar Python module and
#     accept 3 arguments for space coordinates (in units of FE mesh)
#     and return 3 values (Cartesian components of the normalized magnetization)
#     like this:
#     -----------------------------------
#     def initmag(x,y,z):
#             return 0.0,1.0,0.0
#     -----------------------------------
-init_mag 3
-init_magparm 0
#
# (init/serinit.c)
# number of first inp file (to be read or written)
# full file name: <simName>.<inp>.inp
-inp 0001

##### modify material properties
#  0: do not modify any
# >0: pid of volume to be modified
#
# (init/modifyprop_ser.c)
# modify init/modifyprop_ser.c according to your needs
-nslicepropser 0
#
# (init/modifyprop_par.c)
# modify init/modifyprop_par.c according to your needs
-nsliceproppar 0

#########################################################################
# solution method
#########################################################################

##### run mode / minimization method
# (main.c, init/parinit.c)
# check for more options for each solver below
#
# 0:  PVODE (LLG time integration)
# 1:  TAO (energy minimization)
# 2:  relax with high damping and no precession during t<0,
#     then switch to normal damping (as defined in *.krn)
# 3:  relax with energy minimization, then switch to LLG time integration
# 99: exit immediately after calculating fields, energies, etc.
#     of initial magnetization
-mode 99

#########################################################################
# magnetic fields
#########################################################################

# /* mu0 = 4*M_PI*1e-7 = 12.566371e-7 Tm/A (=Vs/Am)*/
# /* gamma = mu0*g*|e|/(2*me) [m/As]  (cf. Diplomarbeit Scholz S. 14) */
# 795.77472 kA/m = 1 T

##### switch demagnetizing=magnetostatic field on/off
# (field/hdemag.c)
#
# 0: off
# 1: on
-demag 1
#
# select solver for solution of linear system (Poisson, Laplace equation)
# cf. PETSc manual chapter 4.3 Krylov Methods p. 63
# choices:
#    richardson chebychev cg gmres tcqmr bcgs cgs tfqmr cr lsqr
#    preonly qcg bicg fgmres minres symmlq lgmres
#
#   gmres:    good for small systems
#   cg:       shows better convergence rate for large systems
#   preonly:  for use with direct solvers (e.g. "-pc_type lu", see below)
#
# all standard ksp options (see below, just add prefix "-hdemag_u{1,2}")
-hdemag_u1_ksp_type cg
-hdemag_u1_ksp_rtol 1e-05
-hdemag_u1_ksp_atol 1e-50
-hdemag_u2_ksp_type cg
-hdemag_u2_ksp_rtol 1e-08
-hdemag_u2_ksp_atol 1e-50

##### hext_ho: homogeneous external field
# (field/hext_ho.c)
#
# initial field amplitude in kA/M (795.77472 kA/m = 1 T)
-hextini 0
# direction of external field (rad)
# theta measured from the z-axis
# phi measured from the x-axis in the x-y-plane
#        0.017453293 rad =  1 deg
#        0.034906585 rad =  2 deg
#        0.052359878 rad =  3 deg
#        0.087266463 rad =  5 deg
#        0.17453293  rad = 10 deg
# Pi/4 = 0.78539816  rad = 45 deg
# Pi/2 = 1.5707963   rad = 90 deg
# Pi   = 3.1415927   rad = 180 deg
-htheta 0
-hphi 0
# change external field in these steps (kA/m)
-hstep 0
# change external field at this speed (kA/(m*ns))
# (set "-tol 0" to avoid magpar exiting when the torque becomes very small)
-hsweep 0
# stop simulation if Hext < Hfinal (kA/m)
-hfinal 0
# scale external field (value given by -hextini) according to input file
# file format:
# <number of data pairs>
# <time> <scaling factor>
# ...
-hext_ho_htfile <filename>
# change field in steps when system reaches equilibrium
# (similar to -hext_ho_htfile; also fileformat)
# file format:
# <number of data pairs>
# <step number> <scaling factor>
# ...
-hext_ho_hstepfile <filename>

##### activate magnetoelastic (stress) parameters/effects
# (field/helastic.c)
#
# read material parameters from file given
-helastic_propfile <filename>

##### activate custom external field
# (field/hext_cu.c)
#
# 0: off
# 1: on
-hext_cu 0

##### Karlqvist field
# (field/hext_kq.c)
-hext_kq 0               # turn Karlqvist field on (>0) or off (==0: default)
-hext_kq_gapini 50.0     # apply an initial gap field (kA/m)
-hext_kq_gapsize 25.0    # gap size for the ring head (nm)
-hext_kq_x_offset 0.0    # x-offset (nm)
-hext_kq_z_offset 0.0    # z-offset (nm)

##### activate custom external field defined by a Python function
# (field/hext_py.c)
#
# The function must be defined in the magpar Python module and
# accept 3 arguments for space coordinates (in units of FE mesh)
# and return 3 values (Cartesian components of field in Tesla)
# like this:
# -----------------------------------
# def hext(x,y,z):
#         return 0.0,0.2,0.1
# -----------------------------------
-hext_py <Python_function>

#########################################################################
# output
#########################################################################

##### output of data files (inp, png, dat files)
# (llg/mytssteppvode.c)
#
# save only every n'th line of output in log files
# yet, equilibrium states will always be saved
-ts_logsteps 1
#
# take this many timesteps at once
# (>1: makes log files correspondingly smaller)
-ts_nsteps 1
#
# (llg/checkiterationllg.c)
# (emini/checkiterationemini.c)
#
# write inp file in equilibrium (torque=max(|dM/dt|)<condinp_equil)
# 0: off
# 1: on
-condinp_equil 1
# set the following options to very high values (e.g. 1e99)
# if output should be disabled:
# write inp file if |M_current - M_lastinp| > condinp_j  (units of Ms // Hext)
-condinp_j 0.1
# write inp file in equilibrium if |M_current - M_lastinp| > condinp_j  (units of Ms // Hext)
-condinp_equil_j 0.0
# write inp file if (t_current - t_lastinp) > condinp_t (nanoseconds)
-condinp_t 1e300
# write inp file at times specified in the input file
# file format:
# <number of time values>
# <time> (nanoseconds)
# ...
-condinp_file_t_ns <filename>

##### definition of slice plane for PNG output
# (png/writedatapng.c)
#
# definition: nx*x+ny*y+nz*z = nx*vx+ny*vy+nz*vz
# slice_n (nx,ny,nz): normal vector on slice plane
# slice_p (vx,vy,vz): any point in the slice plane
# Coordinates in (dimensionless) units of the finite element mesh.
# The values must be separated with commas with no intervening spaces.
-slice_n 0,0,1
-slice_p 1e99,1e99,1e99
-slice2_n 0,0,1
-slice2_p 1e99,1e99,1e99
# select area to be drawn in PNG files based on property id
# (line number in krn file)
# 0:  plot magnetization of grains with any property id
# >0: only grain with given property id
# <0: all grains except the one with the given property id
-slice_g 0
-slice2_g 0
# image resolution:
# number of pixels on longer edge
# -> max. image size: res x res pixels
-res 50

##### definition of data sampling line
# (io/writedatadat.c)
#
# vector line_v (vx,vy,vz), point line_p (px,py,pz)
# Coordinates in (dimensionless) units of the finite element mesh.
# The values must be separated with commas with no intervening spaces.
-line_v 1,0,0
-line_p 1e99,1e99,1e99

##### save energy, average magnetization for each volume in simname.log_<pid>
# (io/writelog_pid.c)
#
# 0: off
# 1: on
-logpid 0

#########################################################################
# tolerances
#########################################################################

##### tolerances
# (llg/checkiterationllg.c)
#
# if (torque=max(|dM/dt|) < tol): equilibrium
-tol 1e-5
#
# if (max(|M|) > renormtol): renormalize all M on all nodes and restart PVODE
-renormtol 1e-2

##### dimensionless Landau-Lifshitz-Gilbert damping constant
# define for every grain together with material parameters in *.krn

##### exit condition
# (main.c)
#
# stop simulation if |J//Hext| < jfinal (1)
-jfinal -0.95

##### exit condition
# (main.c)
#
# stop simulation if (Mx<mfinal[0] || My<mfinal[1] || Mz<mfinal[2])
-mfinal -1e99,-1e99,-1e99

#########################################################################
#
# options for solvers
#
#########################################################################

#########################################################################
# PETSc (Krylov subspace) solvers

# The following options are not used!
# They are only the generic options for PETSc's KSP solvers.
# However, they are available with appropriate prefixes,
# e.g. -hdemag_u1_,-hdemag_u2_,-psolve_
# as described elsewhere in this file.

# Krylov subspace solver for linear systems
# important for accuracy and speed of calculation of the demagnetizing field
#

# monitor convergence (print residual at every iteration)
#-ksp_monitor

# Maximum number of iterations (KSPSetTolerances)
# <10000>
#-ksp_max_it 10000
# Relative decrease in residual norm (KSPSetTolerances)
# <1e-05>
#-ksp_rtol 1e-05
# Absolute value of residual norm (KSPSetTolerances)
# <1e-50>
#-ksp_atol 1e-50
# Residual norm increase cause divergence (KSPSetTolerances)
#  <10000>
#-ksp_divtol 10000

#Preconditioner (PC) Options for linear systems ------------------------------
#  -pc_type Preconditioner:(one of) none jacobi pbjacobi bjacobi sor lu shell mg
#      eisenstat ilu icc cholesky asm sles composite redundant nn mat milu jacobic multilevel schur (see manual page PCSetType)
#
# default on single proc: icc (good, even better for small systems: lu - i.e. direct solver)
# default on multi-proc:  bjacobi
# direct solver:          lu (use together with "-ksp_type preonly")
#   (PETSc LU solver only available for single processor,
#   use SuperLU_DIST as a direct parallel solver)

#-pc_type icc
# apply Manteuffel shift to diagonal to force positive definite preconditioner
# (required by ICC, automatic default for PETSc >=2.2.1)
#-pc_icc_shift

#-pc_type lu
#-pc_type bjacobi

# default on multi-proc: icc
#-sub_pc_type icc
# apply Manteuffel shift to diagonal to force positive definite preconditioner
# (required by ICC, automatic default for PETSc >=2.2.1)
#-sub_pc_icc_shift

# cf. PETSc manual chapter 13: Hints for Performance Tuning
# section 13.7, p. 141: Tips for Efficient Use of Linear Solvers

#########################################################################
# TAO: Energy minimization

##### distortion parameter for energy minimization (TAO)
# (emini/eminisolve.c)
#
# the magnetization on all nodes is distorted whenever the TAO solver returns
# magdist==0: do not distort
# magdist>0:  distort randomly
# magdist<0:  distort in direction MxMxH
-magdist 0.0

##### TAO methods ------------------------------------------------------------
# -tao_method Select TAO method:(one of) tao_lmvm tao_nls tao_cg tao_bqpip tao_blmvm tao_bnls tao_tron tao_nm
      tao_ntl tao_ntr tao_gpcg tao_ssils tao_ssfls tao_asils tao_asfls tao_isils tao_kt tao_rscs tao_icp tao_fd_test (TaoSetMethod)
#  tao_nls   - Newton's method with line search for unconstrained minimization
#  tao_ntr   - Newton's method with trust region for unconstrained minimization
#  tao_ntl   - Newton's method with trust region, line search for unconstrained minimization
#  tao_lmvm  - Limited memory variable metric method for unconstrained minimization
#  tao_cg    - Nonlinear conjugate gradient method for unconstrained minimization
#  tao_nm    - Nelder-Mead algorithm for derivate-free unconstrained minimization
#  tao_tron  - Newton Trust Region method for bound constrained minimization
#  tao_gpcg  - Newton Trust Region method for quadratic bound constrained minimization
#  tao_blmvm - Limited memory variable metric method for bound constrained minimization
#  tao_kt    - Formulate a bound constrained problem as a complementarity problem
#  tao_bqpip - Interior point method for quadratic bound constrained minimization
#  tao_ssils - Infeasible semismooth method with a linesearch for complementarity problems
#  tao_ssfls - Feasible semismooth method with a linesearch for complementarity problems

# default:
#  lmvm: Limited-memory variable-metric method for unconstrained optimization

#  More-Thuente line line search options for minimization
#  -tao_ls_maxfev <30>: max function evals in line search ()
#  -tao_ls_ftol <0.0001>: tol for sufficient decrease ()
#  -tao_ls_gtol <0.9>: tol for curvature condition ()
#  -tao_ls_rtol <1e-10>: relative tol for acceptable step ()
#  -tao_ls_stepmin <1e-20>: lower bound for step ()
#  -tao_ls_stepmax <1e+20>: upper bound for step ()
#  -tao_view: view TAO_SOLVER info after each minimization has completed (TaoView)
#  -tao_kspview: view the Linear Solver used by the solver after minimization has completed (TaoViewLinearSolver)
#  -tao_fatol <0.0001>: Stop if solution within (TaoSetTolerances)
#  -tao_frtol <0.0001>: Stop if relative solution within (TaoSetTolerances)
#  -tao_catol <0>: Stop if constraints violations within (TaoSetTolerances)
#  -tao_crtol <0>: Stop if relative contraint violations within (TaoSetTolerances)
#  -tao_gatol <0>: Stop if norm of gradient less than (TaoSetGradientTolerances)
#  -tao_grtol <0>: Stop if norm of gradient divided by the function value is less than (TaoSetGradientTolerances)
#  -tao_gttol <0>: Stop if the norm of the gradient is less than the norm of the initial gradient times (TaoSetGradientTolerances)
#  -tao_max_its <2000>: Stop if iteration number exceeds (TaoSetMaximumIterates)
#  -tao_max_funcs <4000>: Stop if number of function evaluations exceeds (TaoSetMaximumFunctionEvaluations)
#  -tao_fmin <-1e+30>: Stop if function less than (TaoSetFunctionLowerBound)
#  -tao_steptol <0>: Stop if step size or trust region radius less than (TaoSetTrustRegionRadius)
#  -tao_trust0 <0>: Initial trust region radius (TaoSetTrustRegionRadius)
#  -tao_unitstep: Always use unit step length (TaoCreateUnitLineSearch)
#  -tao_lmvmh: User supplies approximate hessian for LMVM solvers (TaoLMVMSetH0)
#  -tao_view_hessian: view Hessian after each evaluation (None)
#  -tao_view_gradient: view gradient after each evaluation (None)
#  -tao_view_jacobian: view jacobian after each evaluation (None)
#  -tao_view_constraints: view constraint function after each evaluation (None)
#  -tao_cancelmonitors: cancel all monitors hardwired in code (TaoClearMonitor)
#  -tao_monitor: Use the default convergence monitor (TaoSetMonitor)
#  -tao_smonitor: Use short monitor (None)
#  -tao_vecmonitor: Plot solution vector at each iteration (TaoVecViewMonitor)
#  -tao_vecmonitor_update: plots step direction at each iteration (TaoVecViewMonitorUpdate)
#  -tao_xmonitor: Use graphics convergence (TaoPetscXMonitor)

# most useful options and default settings for magpar
-tao_method tao_lmvm
-tao_ls_ftol 1e-20
-tao_ls_rtol 1e-01
-tao_ls_gtol 0.99
-tao_fatol 1e-4
-tao_frtol 1e-4
-tao_max_its 500
-tao_monitor

#  -tao_lmm_vectors: number of vectors stored for the Hessian approximation
-tao_lmm_vectors 100

# more information about these options can be found in the TAO manual

#########################################################################
# PVODE: LLG time integration

###### PETSc standard options for timesteppers
# (llg/mytscreatepvode.c)
# (main.c)
#
-ts_init_time <0>: Initial time (TSSetInitialTime) (unit: ns)
-ts_max_time <5>: Time to run to (TSSetDuration) (unit: ns)
-ts_dt <0.020944>: Initial time step (TSSetInitialTimeStep)
#
-ts_pvode_type <bdf> (one of) bdf adams
-ts_pvode_atol <1e-06>: Absolute tolerance for convergence (TSPVodeSetTolerance)
-ts_pvode_rtol <1e-06>: Relative tolerance for convergence (TSPVodeSetTolerance)
-ts_pvode_linear_tolerance <0.05>: Convergence tolerance for linear solve (TSPVodeSetLinearTolerance)

##### additional PVode parameters
# (llg/mytscreatepvode.c)
#
# maximum Krylov dimension
-maxl 300
# minimum absolute value of step size allowed (ns)
-mintimestep 0
# maximum absolute value of step size allowed (ns)
-maxtimestep 1e99
# maximum lmm order to be used by the solver
# Default (=max.) = 12 for ADAMS, 5 for BDF
-maxorder 2
# set preconditioning type
# 0: none
# 1: jacobi
# 2: band-block-diagonal (not implemented, yet)
-precon 1

# choose linear solver for psolve
# (llg/precond.c)
# all standard ksp options (see above, just add prefix "psolve_")
#
# gmres and bcgs are usually a good choice
# for complete list see PETSc Krylov solvers above
-psolve_ksp_type gmres
#
# set tolerances for psolve
-psolve_ksp_atol 1e-7
-psolve_ksp_rtol 0.01
-psolve_ksp_divtol 100

##### distortion parameter
# (llg/checkiterationllg.c)
#
# the magnetization on all nodes is distorted whenever the TAO solver returns
# magdist_llg==0: do not distort
# magdist_llg!=0: distort randomly (add random vector of approx. length magdist to M)
# magdist_ns:     distort every X ns
-magdist_llg 0.0
-magdist_ns 1.0

# more information about these options can be found in the PVODE manual


allopt_log.txt

Additional configuration file with PETSc internal logging/info/diagnostic options:

(Note, that some of these options (especially "-tr*") may slow down the simulations considerably!)

doc/allopt_log.txt:

#########################################################################
#
# magpar configuration file: allopt_log.txt
#
# PETSc internal logging/info/diagnostic options
#
# for PETSc version 2.3.2
#
#########################################################################

-help         # unlisted but active

##### memory checking
#
-malloc_dump
-malloc
-malloc_log   # unlisted but active
-malloc_info  # unlisted but active
# -mallocinfo ignored
-malloc_debug

-fp_trap

##### print more info during initialization and solution
#
-info
-log_trace

##### enable profiling of important magpar functions
# even if -info is not defined/disabled
# implemented in macro MagparFunctionProfBegin in griddata.h
#
-profile

##### print info at end of run
#
-memory_info
-options_table
-options_left
-get_total_flops
-log_summary

##### shortcuts for analyzing malloc information
#
# cat %f | grep bytes | grep -v "src/" > %f.b
# cat %f | grep bytes | colrm 1 4 | sort -n > %f.c
# cat %f | grep bytes | grep "src/" > %f.d
# grep mallocs %f | grep -v " 0 mallocs" | grep -v "is 0" | less


##### Options for all PETSc programs:
# -on_error_abort: cause an abort when an error is detected. Useful
#       only when run in the debugger
# -on_error_attach_debugger [gdb,dbx,xxgdb,ups,noxterm]
#       start the debugger in new xterm
#       unless noxterm is given
# -start_in_debugger [gdb,dbx,xxgdb,ups,noxterm]
#       start all processes in the debugger
# -on_error_emacs <machinename>
#    emacs jumps to error file
# -debugger_nodes [n1,n2,..] Nodes to start in debugger
# -debugger_pause [m] : delay (in seconds) to attach debugger
# -stop_for_debugger : prints message on how to attach debugger manually
#                      waits the delay for you to attach
# -display display: Location where graphics and debuggers are displayed
# -no_signal_handler: do not trap error signals
# -mpi_return_on_error: MPI returns error code, rather than abort on internal error
# -fp_trap: stop on floating point exceptions
#           note on IBM RS6000 this slows run greatly
# -malloc_dump <optional filename>: dump list of unfreed memory at conclusion
# -malloc: use our error checking malloc
# -malloc no: don't use error checking malloc
# -mallocinfo: prints total memory usage
# -malloc_debug: enables extended checking for memory corruption
# -options_table: dump list of options inputted
# -options_left: dump list of unused options
# -options_left no: don't dump list of unused options
# -tmp tmpdir: alternative /tmp directory
# -shared_tmp: tmp directory is shared by all processors
# -not_shared_tmp: each processor has separate tmp directory
# -memory_info: print memory usage at end of run
# -get_total_flops: total flops over all processors
# -log[_all _summary]: logging objects and events
# -log_trace [filename]: prints trace of all PETSc calls
# -info <optional filename>: print informative messages about the calculations
# -v: prints PETSc version number and release date
# -options_file <file>: reads options from file
# -petsc_sleep n: sleeps n seconds before running program
#
#------Additional PETSc component options--------
# -log_summary_exclude: <vec,mat,pc.ksp,snes>
# -info_exclude: <null,vec,mat,pc,ksp,snes,ts>
#
#Options database options -------------------------------------------------
#  -options_monitor <stdout>: Monitor options database (PetscOptionsSetMonitor)
#  -options_cancelmonitors: Cancel all options database monitors (PetscOptionsClearMonitor)
#
#Vector Options -------------------------------------------------
#  -vec_view: Print vector to stdout (VecView)
#  -vec_view_matlab: Print vector to stdout in a format Matlab can read (VecView)
#  -vec_view_socket: Send vector to socket (can be read from matlab) (VecView)
#  -vec_view_binary: Save vector to file in binary format (VecView)
#
#Options for SEQAIJ matrix -------------------------------------------------
#  -mat_no_unroll: <TRUE> Do not optimize for inodes (slower) ((null))
#  -mat_no_inode: <TRUE> Do not optimize for inodes (slower) ((null))
#  -mat_inode_limit <5>: Do not use inodes larger then this value ((null))
#Matrix Options -------------------------------------------------
#  -mat_view_info: Information on matrix size (MatView)
#  -mat_view_info_detailed: Nonzeros in the matrix (MatView)
#  -mat_view: Print matrix to stdout (MatView)
#  -mat_view_matlab: Print matrix to stdout in a format Matlab can read (MatView)
#  -mat_view_socket: Send matrix to socket (can be read from matlab) (MatView)
#  -mat_view_binary: Save matrix to file in binary format (MatView)
#  -mat_view_draw: Draw the matrix nonzero structure (MatView)
#
#Graphics (PetscDraw) Options -------------------------------------------------
#  -draw_type Type of graphical output:(one of) x null ps (PetscDrawSetType)
#  -nox: Run without graphics (None)
#
#Preconditioner (PC) Options -------------------------------------------------
#  -pc_type Preconditioner:(one of) none jacobi pbjacobi bjacobi sor lu shell mg
#      eisenstat ilu icc cholesky asm ksp composite redundant nn mat fieldsplit tfs (PCSetType)
#  ICC Options
#  -pc_factor_levels <0>: levels of fill (PCFactorSetLevels)
#  -pc_factor_fill <1>: Expected fill in factorization (PCFactorSetFill)
#  -pc_factor_mat_ordering_type Reorder to reduce nonzeros in ICC:(one of) natural nd 1wd rcm qmd rowlength (PCFactorSetMatOrdering)
#  -pc_factor_shift_nonzero: Shift added to diagonal (PCFactorSetShiftNonzero)
#  -pc_factor_shift_nonzero <0>: Shift added to diagonal (PCFactorSetShiftNonzero)
#  -pc_factor_shift_positive_definite: Manteuffel shift applied to diagonal (PCFactorSetShift)
#  -pc_factor_zeropivot <1e-12>: Pivot is considered zero if less than (PCFactorSetZeroPivot)
#Krylov Method (KSP) Options -------------------------------------------------
#  -ksp_type Krylov method:(one of) cg cgne stcg richardson chebychev gmres tcqmr bcgs
#      bcgsl cgs tfqmr cr lsqr preonly qcg bicg fgmres minres symmlq lgmres lcd (KSPSetType)
#  -ksp_max_it <10000>: Maximum number of iterations (KSPSetTolerances)
#  -ksp_rtol <1e-05>: Relative decrease in residual norm (KSPSetTolerances)
#  -ksp_atol <1e-50>: Absolute value of residual norm (KSPSetTolerances)
#  -ksp_divtol <10000>: Residual norm increase cause divergence (KSPSetTolerances)
#  -ksp_converged_use_initial_residual_norm: Use initial residual residual norm for computing relative convergence (KSPDefaultConvergedSetUIRNorm)
#  -ksp_converged_use_min_initial_residual_norm: Use minimum of initial residual norm and b for computing relative convergence (KSPDefaultConvergedSetUMIRNorm)
#  -ksp_knoll: <FALSE> Use preconditioner applied to b for initial guess (KSPSetInitialGuessKnoll)
#  -ksp_norm_type <preconditioned> (choose one of) none preconditioned unpreconditioned natural
#  -ksp_diagonal_scale: Diagonal scale matrix before building preconditioner (KSPSetDiagonalScale)
#  -ksp_diagonal_scale_fix: Fix diagonaled scaled matrix after solve (KSPSetDiagonalScaleFix)
#  -ksp_constant_null_space: Add constant null space to Krylov solver (KSPSetNullSpace)
#  -ksp_converged_reason: Print reason for converged or diverged (KSPSolve)
#  -ksp_cancelmonitors: Remove any hardwired monitor routines (KSPClearMonitor)
#  -ksp_monitor <stdout>: Monitor preconditioned residual norm (KSPSetMonitor)
#  -ksp_vecmonitor: Monitor solution graphically (KSPSetMonitor)
#  -ksp_truemonitor <stdout>: Monitor preconditioned residual norm (KSPSetMonitor)
#  -ksp_singmonitor <stdout>: Monitor singular values (KSPSetMonitor)
#  -ksp_smonitor <stdout>: Monitor preconditioned residual norm with fewer digits (KSPSetMonitor)
#  -ksp_xmonitor: Monitor graphically preconditioned residual norm (KSPSetMonitor)
#  -ksp_xtruemonitor: Monitor graphically true residual norm (KSPSetMonitor)
#  Pick at most one of -------------
#    -ksp_left_pc: Use left preconditioning (KSPSetPreconditionerSide)
#    -ksp_right_pc: Use right preconditioning (KSPSetPreconditionerSide)
#    -ksp_symmetric_pc: Use symmetric (factorized) preconditioning (KSPSetPreconditionerSide)
#  -ksp_compute_singularvalues: Compute singular values of preconditioned operator (KSPSetComputeSingularValues)
#  -ksp_compute_eigenvalues: Compute eigenvalues of preconditioned operator (KSPSetComputeSingularValues)
#  -ksp_plot_eigenvalues: Scatter plot extreme eigenvalues (KSPSetComputeSingularValues)
#  KSP GMRES Options
#  -ksp_gmres_restart <30>: Number of Krylov search directions (KSPGMRESSetRestart)
#  -ksp_gmres_haptol <1e-30>: Tolerance for exact convergence (happy ending) (KSPGMRESSetHapTol)
#  -ksp_gmres_preallocate: Preallocate Krylov vectors (KSPGMRESSetPreAllocateVectors)
#  Pick at most one of -------------
#    -ksp_gmres_classicalgramschmidt: Classical (unmodified) Gram-Schmidt (fast) (KSPGMRESSetOrthogonalization)
#    -ksp_gmres_modifiedgramschmidt: Modified Gram-Schmidt (slow,more stable) (KSPGMRESSetOrthogonalization)
#  -ksp_gmres_cgs_refinement_type <REFINE_NEVER> (choose one of) REFINE_NEVER REFINE_IFNEEDED REFINE_ALWAYS
#  -ksp_gmres_krylov_monitor: Plot the Krylov directions (KSPSetMonitor)
#  -ksp_view: View linear solver parameters (KSPView)


allopt_ret.txt

Deprecated and removed options:

doc/allopt_ret.txt:

#########################################################################
#
# removed magpar options
#
#########################################################################

# start in debugger (the debugger ddd must be in your path)
#-ddd

# replaced by -nslicepropser and -nsliceproppar
#-nsliceprop

# Different implementations of the external field can now be active
# simultaneously. By default all external fields are off. Just set the
# appropriate options (e.g. -hextini, -hext_cu, etc.) to activate them.
#-hextshape

# GeomView output has been removed
#-offdata

# -ksp_* replaced by -hdemag_u{1,2}_ksp_*
-ksp_type
#-ksp_atol
#-ksp_rtol

# set damping parameter in *.krn for individual materials
-alpha

magpar - Parallel Finite Element Micromagnetics Package
Copyright (C) 2002-2010 Werner Scholz