Sections:
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
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)
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