Changeset 24313 for issm/trunk/src/m/solvers/asmoptions.py
- Timestamp:
- 11/01/19 12:01:57 (5 years ago)
- Location:
- issm/trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk
-
issm/trunk/src
- Property svn:mergeinfo changed
-
issm/trunk/src/m/solvers/asmoptions.py
r22758 r24313 1 1 import pairoptions 2 2 3 3 4 def asmoptions(*args): 4 #ASMOPTIONS - return ASM petsc options 5 # 6 # Usage: 7 # options=asmoptions; 8 9 #retrieve options provided in varargin 10 arguments=pairoptions.pairoptions(*args) 11 12 options=[['toolkit','petsc'],['mat_type','mpiaij'],['ksp_type','gmres'],['pc_type','asm'],['sub_pc_type','lu'],['pc_asm_overlap',3],['ksp_max_it',100],['ksp_rtol',1e-30]]; 5 #ASMOPTIONS - return ASM petsc options 6 # 7 # Usage: 8 # options = asmoptions 13 9 14 #now, go through our arguments, and write over default options. 15 for i in range(len(arguments.list)): 16 arg1=arguments.list[i][0] 17 arg2=arguments.list[i][1] 18 found=0; 19 for j in range(len(options)): 20 joption=options[j][0] 21 if joption==arg1: 22 joption[1]=arg2; 23 options[j]=joption; 24 found=1; 25 break 26 if not found: 27 #this option did not exist, add it: 28 options.append([arg1,arg2]) 29 return options 10 #retrieve options provided in varargin 11 arguments = pairoptions.pairoptions(*args) 12 13 options = [['toolkit', 'petsc'], 14 ['mat_type', 'mpiaij'], 15 ['ksp_type', 'gmres'], 16 ['pc_type', 'asm'], 17 ['sub_pc_type', 'lu'], 18 ['pc_asm_overlap', 3], 19 ['ksp_max_it', 100], 20 ['ksp_rtol', 1e-30]] 21 22 #now, go through our arguments, and write over default options. 23 for i in range(len(arguments.list)): 24 arg1 = arguments.list[i][0] 25 arg2 = arguments.list[i][1] 26 found = 0 27 for j in range(len(options)): 28 joption = options[j][0] 29 if joption == arg1: 30 joption[1] = arg2 31 options[j] = joption 32 found = 1 33 break 34 if not found: 35 #this option did not exist, add it: 36 options.append([arg1, arg2]) 37 return options
Note:
See TracChangeset
for help on using the changeset viewer.