Changeset 26061
- Timestamp:
- 03/10/21 01:07:46 (4 years ago)
- Location:
- issm/trunk-jpl/src/m/solvers
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/m/solvers/mumpsnoneoptions.py
r25762 r26061 1 1 from pairoptions import pairoptions 2 2 from collections import OrderedDict 3 from IssmConfig import IssmConfig 3 4 4 5 … … 14 15 15 16 #default mumps options 16 PETSC_MAJOR = IssmConfig('_PETSC_MAJOR_') 17 PETSC_MINOR = IssmConfig('_PETSC_MINOR_') 17 PETSC_MAJOR = IssmConfig('_PETSC_MAJOR_')[0] 18 PETSC_MINOR = IssmConfig('_PETSC_MINOR_')[0] 18 19 if PETSC_MAJOR == 2: 19 mumps.toolkit = 'petsc' 20 mumps.mat_type = getfieldvalue(options, 'mat_type', 'aijmumps') 21 mumps.ksp_type = getfieldvalue(options, 'ksp_type', 'preonly') 22 mumps.pc_type = getfieldvalue(options, 'pc_type', 'lu') 23 mumps.mat_mumps_icntl_14 = getfieldvalue(options, 'mat_mumps_icntl_14', 120) 24 end 20 mumps['toolkit'] = 'petsc' 21 mumps['mat_type'] = options.getfieldvalue(options, 'mat_type', 'aijmumps') 22 mumps['ksp_type'] = options.getfieldvalue(options, 'ksp_type', 'preonly') 23 mumps['pc_type'] = options.getfieldvalue(options, 'pc_type', 'lu') 24 mumps['mat_mumps_icntl_14'] = options.getfieldvalue(options, 'mat_mumps_icntl_14', 120) 25 25 26 26 if PETSC_MAJOR == 3: 27 mumps .toolkit= 'petsc'28 mumps .mat_type =getfieldvalue(options, 'mat_type', 'mpiaij')29 mumps .ksp_type =getfieldvalue(options, 'ksp_type', 'preonly')30 mumps .pc_type =getfieldvalue(options, 'pc_type', 'lu')27 mumps['toolkit'] = 'petsc' 28 mumps['mat_type'] = options.getfieldvalue(options, 'mat_type', 'mpiaij') 29 mumps['ksp_type'] = options.getfieldvalue(options, 'ksp_type', 'preonly') 30 mumps['pc_type'] = options.getfieldvalue(options, 'pc_type', 'lu') 31 31 if PETSC_MINOR > 8: 32 mumps .pc_factor_mat_solver_type =getfieldvalue(options, 'pc_factor_mat_solver_type', 'mumps')32 mumps['pc_factor_mat_solver_type'] = options.getfieldvalue(options, 'pc_factor_mat_solver_type', 'mumps') 33 33 else: 34 mumps.pc_factor_mat_solver_package = getfieldvalue(options, 'pc_factor_mat_solver_package', 'mumps') 35 end 36 mumps.mat_mumps_icntl_14 = getfieldvalue(options, 'mat_mumps_icntl_14', 120) 37 mumps.mat_mumps_icntl_28 = 2; #1 = serial, 2 = parallel 38 mumps.mat_mumps_icntl_29 = 2; #parallel ordering 1 = ptscotch, 2 = parmetis 39 end 40 return solverOptions 34 mumps['pc_factor_mat_solver_package'] = options.getfieldvalue(options, 'pc_factor_mat_solver_package', 'mumps') 35 mumps['mat_mumps_icntl_14'] = options.getfieldvalue(options, 'mat_mumps_icntl_14', 120) 36 mumps['mat_mumps_icntl_28'] = 2 #1 = serial, 2 = parallel 37 mumps['mat_mumps_icntl_29'] = 2 #parallel ordering 1 = ptscotch, 2 = parmetis 38 39 return mumps -
issm/trunk-jpl/src/m/solvers/mumpsoptions.py
r24213 r26061 1 1 from collections import OrderedDict 2 import pairoptions2 from pairoptions import pairoptions 3 3 from IssmConfig import IssmConfig 4 4 … … 13 13 14 14 #retrieve options provided in varargin 15 options = pairoptions .pairoptions(*args)15 options = pairoptions(*args) 16 16 mumps = OrderedDict() 17 17 … … 24 24 mumps['ksp_type'] = options.getfieldvalue('ksp_type', 'preonly') 25 25 mumps['pc_type'] = options.getfieldvalue('pc_type', 'lu') 26 mumps['mat_mumps_icntl_14'] = options. getfieldvalue('mat_mumps_icntl_14', 120)26 mumps['mat_mumps_icntl_14'] = options.options.getfieldvalue('mat_mumps_icntl_14', 120) 27 27 if PETSC_MAJOR == 3.: 28 28 mumps['toolkit'] = 'petsc' … … 36 36 mumps['mat_mumps_icntl_14'] = options.getfieldvalue('mat_mumps_icntl_14', 120) 37 37 38 #These 2 lines make raijin break (ptwgts error during solver with PETSc 3.3) 39 mumps['mat_mumps_icntl_28'] = options.getfieldvalue('mat_mumps_icntl_28', 1) #1=serial, 2=parallel 40 mumps['mat_mumps_icntl_29'] = options.getfieldvalue('mat_mumps_icntl_29', 2) #parallel ordering 1 = ptscotch, 2 = parmetis 41 38 42 return mumps
Note:
See TracChangeset
for help on using the changeset viewer.