Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/externalpackages/scipy/install-macosx64.sh =================================================================== --- /proj/ice/larour/issm-uci-clean/trunk-jpl/externalpackages/scipy/install-macosx64.sh (revision 11790) +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/externalpackages/scipy/install-macosx64.sh (revision 11791) @@ -3,7 +3,7 @@ #1: install numpy #2 install scipy #3 erase -install=2; +install=1; export CC=gcc Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/py/model/solvers/asmoptions.py =================================================================== --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/py/model/solvers/asmoptions.py (revision 0) +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/py/model/solvers/asmoptions.py (revision 11791) @@ -0,0 +1,31 @@ +#module imports {{{ +from pairoptions import * +from petscversion import * +#}}} +def asmoptions(*args): + #ASMOPTIONS - return ASM petsc options + # + # Usage: + # options=asmoptions; + + #retrieve options provided in varargin + arguments=pairoptions(*args) + + options=[['mat_type','aij'],['ksp_type','gmres'],['pc_type','asm'],['sub_pc_type','lu'],['pc_asm_overlap',3],['ksp_max_it',100],['ksp_rtol',1e-30]]; + + #now, go through our arguments, and write over default options. + for i in range(len(arguments.list)): + arg1=arguments.list[i][0] + arg2=arguments.list[i][1] + found=0; + for j in range(len(options)): + joption=options[j][0] + if joption==arg1: + joption[1]=arg2; + options[j]=joption; + found=1; + break + if not found: + #this option did not exist, add it: + options.append([arg1,arg2]) + return options Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/py/model/solvers/matlaboptions.py =================================================================== --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/py/model/solvers/matlaboptions.py (revision 0) +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/py/model/solvers/matlaboptions.py (revision 11791) @@ -0,0 +1,31 @@ +#module imports {{{ +from pairoptions import * +from petscversion import * +#}}} +def matlaboptions(*args): + #MATLABOPTIONS - return Matlab petsc options + # + # Usage: + # options=matlaboptions; + + #retrieve options provided in varargin + arguments=pairoptions(*args) + + options=[['ksp_type','matlab']]; + + #now, go through our arguments, and write over default options. + for i in range(len(arguments.list)): + arg1=arguments.list[i][0] + arg2=arguments.list[i][1] + found=0; + for j in range(len(options)): + joption=options[j][0] + if joption==arg1: + joption[1]=arg2; + options[j]=joption; + found=1; + break + if not found: + #this option did not exist, add it: + options.append([arg1,arg2]) + return options Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/py/model/solvers/jacobicgoptions.py =================================================================== --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/py/model/solvers/jacobicgoptions.py (revision 0) +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/py/model/solvers/jacobicgoptions.py (revision 11791) @@ -0,0 +1,31 @@ +#module imports {{{ +from pairoptions import * +from petscversion import * +#}}} +def jacobicgoptions(*args): + #ASMOPTIONS - return Additive Shwartz Method with Jacobi preconditioner petsc options + # + # Usage: + # options=jacobicgoptions; + + #retrieve options provided in varargin + arguments=pairoptions(*args) + + options=[['mat_type','aij'],['ksp_type','cg'],['ksp_max_it',100],['ksp_rtol',1e-15]]; + + #now, go through our arguments, and write over default options. + for i in range(len(arguments.list)): + arg1=arguments.list[i][0] + arg2=arguments.list[i][1] + found=0; + for j in range(len(options)): + joption=options[j][0] + if joption==arg1: + joption[1]=arg2; + options[j]=joption; + found=1; + break + if not found: + #this option did not exist, add it: + options.append([arg1,arg2]) + return options Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/py/model/solvers/soroptions.py =================================================================== --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/py/model/solvers/soroptions.py (revision 0) +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/py/model/solvers/soroptions.py (revision 11791) @@ -0,0 +1,31 @@ +#module imports {{{ +from pairoptions import * +from petscversion import * +#}}} +def soroptions(*args): + #SOROPTIONS - return Relaxation Solver petsc options + # + # Usage: + # options=soroptions; + + #retrieve options provided in varargin + arguments=pairoptions(*args) + + options=[['mat_type','aij'],['ksp_type','cg'],['pc_type','sor'],['pc_sor_omega',1.1],['pc_sor_its',2]]; + + #now, go through our arguments, and write over default options. + for i in range(len(arguments.list)): + arg1=arguments.list[i][0] + arg2=arguments.list[i][1] + found=0; + for j in range(len(options)): + joption=options[j][0] + if joption==arg1: + joption[1]=arg2; + options[j]=joption; + found=1; + break + if not found: + #this option did not exist, add it: + options.append([arg1,arg2]) + return options Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/py/model/solvers/jacobiasmoptions.py =================================================================== --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/py/model/solvers/jacobiasmoptions.py (revision 0) +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/py/model/solvers/jacobiasmoptions.py (revision 11791) @@ -0,0 +1,31 @@ +#module imports {{{ +from pairoptions import * +from petscversion import * +#}}} +def jacobiasmoptions(*args): + #ASMOPTIONS - return Additive Shwartz Method with Jacobi preconditioner petsc options + # + # Usage: + # options=jacobiasmoptions; + + #retrieve options provided in varargin + arguments=pairoptions(*args) + + options=[['mat_type','aij'],['ksp_type','gmres'],['pc_type','asm'],['sub_pc_type','jacobi'],['pc_asm_overlap',3],['ksp_max_it',100],['ksp_rtol',1e-15]]; + + #now, go through our arguments, and write over default options. + for i in range(len(arguments.list)): + arg1=arguments.list[i][0] + arg2=arguments.list[i][1] + found=0; + for j in range(len(options)): + joption=options[j][0] + if joption==arg1: + joption[1]=arg2; + options[j]=joption; + found=1; + break + if not found: + #this option did not exist, add it: + options.append([arg1,arg2]) + return options Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/py/model/solvers/stokesoptions.py =================================================================== --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/py/model/solvers/stokesoptions.py (revision 0) +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/py/model/solvers/stokesoptions.py (revision 11791) @@ -0,0 +1,40 @@ +#module imports {{{ +from pairoptions import * +from petscversion import * +#}}} +def stokesoptions(*args): + #STOKESOPTIONS - return STOKES multi-physics solver petsc options + # + # Usage: + # options=stokesoptions; + + #retrieve options provided in varargin + arguments=pairoptions(*args) + + + #default stokes options + PETSC_VERSION=petscversion() + + if PETSC_VERSION==2: + raise RuntimeError('stokesoptions error message: multi-physics options not supported in Petsc 2') + if PETSC_VERSION==3: + options=[['mat_type','mpiaij'],['ksp_max_it',1000],['ksp_type','gmres'],['pc_type','fieldsplit'],['pc_field_split_type','schur'],\ + ['fieldsplit_0_pc_type','hypre'],['fieldsplit_0_ksp_type','gmres'],['fieldsplit_0_pc_hypre_type','boomerang'],\ + ['fieldsplit_1_pc_type','jacobi'],['fieldsplit_1_ksp_type','preonly'],['issm_option_solver','stokes']] + + #now, go through our arguments, and write over default options. + for i in range(len(arguments.list)): + arg1=arguments.list[i][0] + arg2=arguments.list[i][1] + found=0; + for j in range(len(options)): + joption=options[j][0] + if joption==arg1: + joption[1]=arg2; + options[j]=joption; + found=1; + break + if not found: + #this option did not exist, add it: + options.append([arg1,arg2]) + return options Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/startup.py =================================================================== --- /proj/ice/larour/issm-uci-clean/trunk-jpl/startup.py (revision 11790) +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/startup.py (revision 11791) @@ -58,6 +58,18 @@ from debug import * from settings import * from solver import * +from issmtier import * +from ismumps import * +from pairoptions import * +from petscversion import * +from asmoptions import * +from iluasmoptions import * +from jacobiasmoptions import * +from jacobicgoptions import * +from matlaboptions import * +from mumpsoptions import * +from soroptions import * +from stokesoptions import * #}}} print("\n To get started with ISSM, type issmdoc at the command prompt.\n\n")