More things you can do to avoid typing the arguments over and over are: - Use a file to specify options (PetscInitialize takes an argument for this file, which by default is ~/.petscrc ) - Set runtime options from within your code using PetscOptionsSetValue - Write a own shell script or makefile with a special target to run the executable with the options you'd like appended
On Jul 15, 2013, at 3:15 PM, Hong Zhang wrote: > Su : > We provide these via runtime options. With the latest petsc release (v3.4), > you can get > petsc/src/ksp/ksp/examples/tutorials/ex2.c: > ./ex2 -pc_type ilu -pc_factor_mat_solver_package superlu -hels |grep superlu > ... > -mat_superlu_ilu_droptol <0.0001>: ILU_DropTol (None) > -mat_superlu_ilu_filltol <0.01>: ILU_FillTol (None) > -mat_superlu_ilu_fillfactor <10>: ILU_FillFactor (None) > -mat_superlu_ilu_droprull <9>: ILU_DropRule (None) > -mat_superlu_ilu_norm <2>: ILU_Norm (None) > -mat_superlu_ilu_milu <0>: ILU_MILU (None) > > i.e., you can set/change your own options at runtime. > > Hong > > Hi, I am trying to use the external package SuperLU to solve a linear > equation with ILUTP preconditioner. But the current PETSc only provides one > option interface which is MatSuperluSetILUDropTol. There are actually many > other options as suggested on the manual page of MATSOLVERSUPERLU, such as: > > -mat_superlu_equil > -mat_superlu_ilu_filltol > -mat_superlu_ilu_fillfactor > > etc. However, they all need to be invoked via command line. > > Is there any way to set up other options for SuperLU in the code instead of > using the command line? Because it's not so convenient to type in all those > runtime commands every time you run a code. > > Thanks a lot. > > Su > >
