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 ##### 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_nls - Newton's method with line search for unconstrained minimization # tao_ntr - Newton's method with trust region for unconstrained minimization # tao_lmvm - Limited memory variable metric method for unconstrained minimization # tao_cg_fr - Fletcher-Reeves Nonlinear conjugate gradient method for unconstrained minimization # tao_cg_pr - Polak-Ribiere Nonlinear conjugate gradient method for unconstrained minimization # tao_cg_prp - Polak-Ribiere-Plus Nonlinear conjugate gradient method for 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 #TAO solver ------------------------------------------------- # -tao_method Select TAO method:(one of) tao_lmvm tao_nls tao_cg tao_bqpip tao_blmvm tao_bnls tao_tron tao_nm # tao_ntr tao_gpcg tao_ssils tao_ssfls tao_asils tao_asfls tao_isils tao_kt tao_rscs tao_icp tao_fd_test (TaoSetMethod) # Limited-memory variable-metric method for unconstrained optimization # More-Thuente line line search options for unconstrained minimization # -tao_ls_maxfev <30>: max function evals in line search () # -tao_ls_ftol <0.001>: tol for sufficient decrease () # -tao_ls_gtol <0.99>: 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_fatol <1e-4>: Stop if solution within (TaoSetTolerances) # -tao_frtol <1e-4>: 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 <1e-06>: Initial trust region radius (TaoSetTrustRegionRadius) # -tao_unitstep: Always use unit step length (TaoCreateUnitLineSearch) # -tao_lmmax <5>: Maximum number of vector pairs to use in limited memory variable metric matrix (TaoSetLMVMSetSize) # -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 # 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