Changeset 12123
- Timestamp:
- 04/25/12 09:17:29 (13 years ago)
- Location:
- issm/trunk-jpl/src/m/classes
- Files:
-
- 28 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/m/classes/autodiff.py
r12038 r12123 9 9 self.forward = True 10 10 self.reverse = False 11 12 #set defaults 13 self.setdefaultparameters() 14 11 15 #}}} 12 16 def __repr__(obj): … … 18 22 return string 19 23 #}}} 24 def setdefaultparameters(obj): 25 # {{{setdefaultparameters 26 return obj 27 #}}} 28 -
issm/trunk-jpl/src/m/classes/balancethickness.py
r12038 r12123 8 8 self.thickening_rate = float('NaN') 9 9 self.stabilization = 0 10 11 #set defaults 12 self.setdefaultparameters() 13 10 14 #}}} 11 15 def __repr__(obj): … … 19 23 return string 20 24 #}}} 25 def setdefaultparameters(obj): 26 # {{{setdefaultparameters 27 28 #Type of stabilization used 29 obj.stabilization=1 30 31 return obj 32 #}}} 33 -
issm/trunk-jpl/src/m/classes/basalforcings.py
r12038 r12123 9 9 self.melting_rate_correction = float('NaN') 10 10 self.geothermalflux = float('NaN') 11 12 #set defaults 13 self.setdefaultparameters() 14 11 15 #}}} 12 16 def __repr__(obj): … … 19 23 return string 20 24 #}}} 25 def setdefaultparameters(obj): 26 # {{{setdefaultparameters 27 return obj 28 #}}} 29 -
issm/trunk-jpl/src/m/classes/constants.py
r12038 r12123 9 9 self.yts = 0 10 10 self.referencetemperature = 0 11 12 #set defaults 13 self.setdefaultparameters() 14 11 15 #}}} 12 16 def __repr__(obj): … … 20 24 return string 21 25 #}}} 26 27 def setdefaultparameters(obj): 28 # {{{setdefaultparameters 29 30 #acceleration due to gravity (m/s^2) 31 obj.g=9.81 32 33 #converstion from year to seconds 34 obj.yts=365*24*3600 35 36 #the reference temperature for enthalpy model (cf Aschwanden) 37 obj.referencetemperature=223.15 38 39 return obj 40 #}}} 41 -
issm/trunk-jpl/src/m/classes/debug.py
r12038 r12123 8 8 self.valgrind=False 9 9 self.gprof = False 10 11 #set defaults 12 self.setdefaultparameters() 13 10 14 #}}} 11 15 def __repr__(obj): … … 17 21 return string 18 22 #}}} 23 24 def setdefaultparameters(obj): 25 # {{{setdefaultparameters 26 return obj 27 #}}} 28 -
issm/trunk-jpl/src/m/classes/diagnostic.py
r12038 r12123 24 24 self.referential = float('NaN') 25 25 self.requested_outputs = float('NaN') 26 27 #set defaults 28 self.setdefaultparameters() 29 26 30 #}}} 27 31 def __repr__(obj): … … 62 66 return string 63 67 #}}} 68 69 def setdefaultparameters(obj): 70 # {{{setdefaultparameters 71 #maximum of non-linear iterations. 72 obj.maxiter=100 73 74 #Convergence criterion: absolute, relative and residual 75 obj.restol=10**-4; 76 obj.reltol=0.01 77 obj.abstol=10 78 79 obj.stokesreconditioning=10**13 80 obj.shelf_dampening=0 81 82 #Penalty factor applied kappa=max(stiffness matrix)*10^penalty_factor 83 obj.penalty_factor=3 84 85 #coefficient to update the viscosity between each iteration of 86 #a diagnostic according to the following formula 87 #viscosity(n)=viscosity(n)+viscosity_overshoot(viscosity(n)-viscosity(n-1)) 88 obj.viscosity_overshoot=0 89 90 #Stop the iterations of rift if below a threshold 91 obj.rift_penalty_threshold=0 92 93 #in some solutions, it might be needed to stop a run when only 94 #a few constraints remain unstable. For thermal computation, this 95 #parameter is often used. 96 obj.rift_penalty_lock=10 97 98 return obj 99 #}}} -
issm/trunk-jpl/src/m/classes/flowequation.py
r12038 r12123 15 15 self.borderpattyn = float('NaN') 16 16 self.borderstokes = float('NaN') 17 18 #set defaults 19 self.setdefaultparameters() 20 17 21 #}}} 18 22 def __repr__(obj): … … 30 34 return string 31 35 #}}} 36 37 def setdefaultparameters(obj): 38 # {{{setdefaultparameters 39 return obj 40 #}}} 41 -
issm/trunk-jpl/src/m/classes/friction.py
r12038 r12123 9 9 self.p = float('NaN') 10 10 self.q = float('NaN') 11 12 #set defaults 13 self.setdefaultparameters() 14 11 15 #}}} 12 16 def __repr__(obj): … … 18 22 return string 19 23 #}}} 24 25 def setdefaultparameters(obj): 26 # {{{setdefaultparameters 27 return obj 28 #}}} 29 -
issm/trunk-jpl/src/m/classes/geometry.py
r12038 r12123 11 11 self.bathymetry = float('NaN') 12 12 self.hydrostatic_ratio = float('NaN') 13 14 #set defaults 15 self.setdefaultparameters() 16 13 17 #}}} 14 18 def __repr__(obj): … … 24 28 return string 25 29 #}}} 30 31 def setdefaultparameters(obj): 32 # {{{setdefaultparameters 33 return obj 34 #}}} 35 -
issm/trunk-jpl/src/m/classes/groundingline.py
r12038 r12123 8 8 self.migration='' 9 9 self.melting_rate=float('NaN') 10 11 #set defaults 12 self.setdefaultparameters() 13 10 14 #}}} 11 15 def __repr__(obj): … … 16 20 string="%s\n%s"%(string,fielddisplay(obj,'melting_rate','melting rate applied when previously grounded parts start floating')) 17 21 return string 18 #}}} 22 #}}} 23 def setdefaultparameters(obj): 24 # {{{setdefaultparameters 25 26 #Type of migration 27 obj.migration='None' 28 29 #basal melting rate correction: 30 obj.melting_rate=0; 31 32 return obj 33 #}}} 34 -
issm/trunk-jpl/src/m/classes/hydrology.py
r12038 r12123 13 13 self.kn = 0 14 14 self.stabilization = 0 15 16 #set defaults 17 self.setdefaultparameters() 18 15 19 16 20 #}}} … … 28 32 return string 29 33 #}}} 34 35 def setdefaultparameters(obj): 36 # {{{setdefaultparameters 37 38 #Parameters from Johnson's 2002 thesis, section 3.5.4 39 obj.n=.02 40 obj.CR=.01 41 obj.p=2 42 obj.q=1 43 obj.kn=0 44 45 #Type of stabilization to use 0:nothing 1:artificial_diffusivity 46 obj.stabilization=1 47 48 return obj 49 #}}} 50 -
issm/trunk-jpl/src/m/classes/initialization.py
r12038 r12123 15 15 self.watercolumn = float('NaN') 16 16 self.waterfraction = float('NaN') 17 18 #set defaults 19 self.setdefaultparameters() 20 17 21 #}}} 18 22 def __repr__(obj): … … 31 35 return string 32 36 #}}} 37 38 def setdefaultparameters(obj): 39 # {{{setdefaultparameters 40 return obj 41 #}}} 42 -
issm/trunk-jpl/src/m/classes/inversion.py
r12038 r12123 58 58 return string 59 59 #}}} 60 61 def setdefaultparameters(obj): 62 # {{{setdefaultparameters 63 64 #default is incomplete adjoint for now 65 obj.incomplete_adjoint=1 66 67 #parameter to be inferred by control methods (only 68 #drag and B are supported yet) 69 obj.control_parameters=['FrictionCoefficient'] 70 71 #number of steps in the control methods 72 obj.nsteps=20 73 74 #maximum number of iteration in the optimization algorithm for 75 #each step 76 obj.maxiter_per_step=20*ones(obj.nsteps) 77 78 #the inversed parameter is updated as follows: 79 #new_par=old_par + gradient_scaling(n)*C*gradient with C in [0 1]; 80 #usually the gradient_scaling must be of the order of magnitude of the 81 #inversed parameter (10^8 for B, 50 for drag) and can be decreased 82 #after the first iterations 83 obj.gradient_scaling=50*ones(obj.nsteps) 84 85 #several responses can be used: 86 obj.cost_functions=101*ones(obj.nsteps) 87 88 #step_threshold is used to speed up control method. When 89 #misfit(1)/misfit(0) < obj.step_threshold, we go directly to 90 #the next step 91 obj.step_threshold=.7*ones(obj.nsteps) #30 per cent decrement 92 93 #stop control solution at the gradient computation and return it? 94 obj.gradient_only=0 95 96 #cost_function_threshold is a criteria to stop the control methods. 97 #if J[n]-J[n-1]/J[n] < criteria, the control run stops 98 #NaN if not applied 99 obj.cost_function_threshold=NaN #not activated 100 101 return obj 102 #}}} 103 104 -
issm/trunk-jpl/src/m/classes/mask.py
r12038 r12123 12 12 self.vertexongroundedice = float('NaN') 13 13 self.vertexonwater = float('NaN') 14 15 #set defaults 16 self.setdefaultparameters() 17 14 18 #}}} 15 19 def __repr__(obj): … … 25 29 return string 26 30 #}}} 31 32 def setdefaultparameters(obj): 33 # {{{setdefaultparameters 34 return obj 35 #}}} 36 -
issm/trunk-jpl/src/m/classes/materials.py
r12117 r12123 44 44 def setdefaultparameters(obj): 45 45 # {{{setdefaultparameters 46 47 46 #ice density (kg/m^3) 47 obj.rho_ice=917 48 48 49 50 49 #water density (kg/m^3) 50 obj.rho_water=1023 51 51 52 53 52 #water viscosity (N.s/m^2) 53 obj.mu_water=0.001787 54 54 55 56 55 #ice heat capacity cp (J/kg/K) 56 obj.heatcapacity=2093 57 57 58 59 58 #ice latent heat of fusion L (J/kg) 59 obj.latentheat=3.34*10**5 60 60 61 62 61 #ice thermal conductivity (W/m/K) 62 obj.thermalconductivity=2.4 63 63 64 65 64 #the melting point of ice at 1 atmosphere of pressure in K 65 obj.meltingpoint=273.15 66 66 67 68 67 #rate of change of melting point with pressure (K/Pa) 68 obj.beta=9.8*10**-8 69 69 70 71 70 #mixed layer (ice-water interface) heat capacity (J/kg/K) 71 obj.mixed_layer_capacity=3974 72 72 73 74 73 #thermal exchange velocity (ice-water interface) (m/s) 74 obj.thermal_exchange_velocity=1.00*10**-4 75 75 76 77 78 79 76 #Rheology law: what is the temperature dependence of B with T 77 #available: none, paterson and arrhenius 78 obj.rheology_law='Paterson' 79 return obj 80 80 #}}} -
issm/trunk-jpl/src/m/classes/mesh.py
r12038 r12123 45 45 self.extractedvertices = float('NaN'); 46 46 self.extractedelements = float('NaN'); 47 48 #set defaults 49 self.setdefaultparameters() 47 50 48 51 #}}} … … 107 110 return string 108 111 #}}} 112 113 def setdefaultparameters(obj): 114 # {{{setdefaultparameters 115 116 #the connectivity is the avergaded number of nodes linked to a 117 #given node through an edge. This connectivity is used to initially 118 #allocate memory to the stiffness matrix. A value of 16 seems to 119 #give a good memory/time ration. This value can be checked in 120 #trunk/test/Miscellaneous/runme.m 121 obj.average_vertex_connectivity=25 122 123 return obj 124 #}}} 125 -
issm/trunk-jpl/src/m/classes/miscellaneous.py
r12038 r12123 9 9 self.name = '' 10 10 self.dummy = {} 11 12 #set defaults 13 self.setdefaultparameters() 14 11 15 #}}} 12 16 def __repr__(obj): … … 19 23 return string 20 24 #}}} 25 26 def setdefaultparameters(obj): 27 # {{{setdefaultparameters 28 return obj 29 #}}} 30 -
issm/trunk-jpl/src/m/classes/private.py
r12038 r12123 9 9 self.bamg = {} 10 10 self.solution = ''; 11 12 #set defaults 13 self.setdefaultparameters() 14 11 15 #}}} 12 16 def __repr__(obj): … … 18 22 return string 19 23 #}}} 24 25 def setdefaultparameters(obj): 26 # {{{setdefaultparameters 27 return obj 28 #}}} 29 -
issm/trunk-jpl/src/m/classes/prognostic.py
r12038 r12123 12 12 self.vertex_pairing = float('NaN') 13 13 self.penalty_factor = 0 14 15 #set defaults 16 self.setdefaultparameters() 17 14 18 #}}} 15 19 def __repr__(obj): … … 23 27 return string 24 28 #}}} 29 30 def setdefaultparameters(obj): 31 # {{{setdefaultparameters 32 33 #Type of stabilization to use 0:nothing 1:artificial_diffusivity 3:Discontinuous Galerkin 34 obj.stabilization=1 35 36 #Factor applied to compute the penalties kappa=max(stiffness matrix)*10^penalty_factor 37 obj.penalty_factor=3 38 39 #Minimum ice thickness that can be used 40 obj.min_thickness=1 41 42 #Hydrostatic adjustment 43 obj.hydrostatic_adjustment='Absolute' 44 45 return obj 46 #}}} 47 -
issm/trunk-jpl/src/m/classes/qmu.py
r12038 r12123 22 22 self.adjacency = float('NaN') 23 23 self.vertex_weight = float('NaN') 24 25 #set defaults 26 self.setdefaultparameters() 27 24 28 #}}} 25 29 def __repr__(obj): … … 28 32 return string 29 33 #}}} 34 35 def setdefaultparameters(obj): 36 # {{{setdefaultparameters 37 return obj 38 #}}} 39 -
issm/trunk-jpl/src/m/classes/radaroverlay.py
r12038 r12123 9 9 self.x = float('NaN') 10 10 self.y = float('NaN') 11 12 #set defaults 13 self.setdefaultparameters() 14 11 15 #}}} 12 16 def __repr__(obj): … … 18 22 return string 19 23 #}}} 24 25 def setdefaultparameters(obj): 26 # {{{setdefaultparameters 27 return obj 28 #}}} 29 -
issm/trunk-jpl/src/m/classes/rifts.py
r12038 r12123 8 8 self.riftstruct = float('NaN') 9 9 self.riftproperties = float('NaN') 10 11 #set defaults 12 self.setdefaultparameters() 13 10 14 #}}} 11 15 def __repr__(obj): … … 17 21 return string 18 22 #}}} 23 24 def setdefaultparameters(obj): 25 # {{{setdefaultparameters 26 return obj 27 #}}} 28 -
issm/trunk-jpl/src/m/classes/settings.py
r12038 r12123 6 6 def __init__(self): 7 7 # {{{ Properties 8 self.io_gather = 0; 9 self.lowmem = 0; 10 self.results_as_patches = 0; 11 self.output_frequency = 0; 12 self.waitonlock = 0; 8 self.io_gather = 0 9 self.lowmem = 0 10 self.results_as_patches = 0 11 self.output_frequency = 0 12 self.waitonlock = 0 13 14 #set defaults 15 self.setdefaultparameters() 16 13 17 #}}} 14 18 def __repr__(obj): … … 23 27 return string 24 28 #}}} 29 30 def setdefaultparameters(obj): 31 # {{{setdefaultparameters 32 33 #are we short in memory ? (0 faster but requires more memory) 34 obj.lowmem=0 35 36 #i/o: 37 obj.io_gather=1 38 39 #results frequency by default every step 40 obj.output_frequency=1 41 42 #do not use patches by default (difficult to plot) 43 obj.results_as_patches=0 44 45 #this option can be activated to load automatically the results 46 #onto the model after a parallel run by waiting for the lock file 47 #N minutes that is generated once the solution has converged 48 #0 to desactivate 49 obj.waitonlock=float('Inf') 50 51 return obj 52 #}}} 53 -
issm/trunk-jpl/src/m/classes/steadystate.py
r12038 r12123 9 9 self.maxiter = 0 10 10 self.requested_outputs = float('NaN') 11 12 #set defaults 13 self.setdefaultparameters() 14 11 15 #}}} 12 16 def __repr__(obj): … … 18 22 return string 19 23 #}}} 24 25 def setdefaultparameters(obj): 26 # {{{setdefaultparameters 27 28 #maximum of steady state iterations 29 obj.maxiter=100 30 31 #Relative tolerance for the steadystate convertgence 32 obj.reltol=0.01 33 34 return obj 35 #}}} 36 -
issm/trunk-jpl/src/m/classes/surfaceforcings.py
r12038 r12123 8 8 self.precipitation = float('NaN') 9 9 self.mass_balance = float('NaN') 10 11 #set defaults 12 self.setdefaultparameters() 13 10 14 #}}} 11 15 def __repr__(obj): … … 18 22 return string 19 23 #}}} 24 25 def setdefaultparameters(obj): 26 # {{{setdefaultparameters 27 return obj 28 #}}} 29 -
issm/trunk-jpl/src/m/classes/thermal.py
r12038 r12123 13 13 self.penalty_factor = 0 14 14 self.isenthalpy = 0 15 16 #set defaults 17 self.setdefaultparameters() 18 15 19 #}}} 16 20 def __repr__(obj): … … 25 29 return string 26 30 #}}} 31 32 def setdefaultparameters(obj): 33 # {{{setdefaultparameters 34 35 #Number of unstable constraints acceptable 36 obj.penalty_threshold=0 37 38 #Type of stabilization used 39 obj.stabilization=1 40 41 #Maximum number of iterations 42 obj.maxiter=100 43 44 #factor used to compute the values of the penalties: kappa=max(stiffness matrix)*10^penalty_factor 45 obj.penalty_factor=3 46 47 #Should we use cold ice (default) or enthalpy formulation 48 obj.isenthalpy=0 49 50 return obj 51 #}}} 52 -
issm/trunk-jpl/src/m/classes/timestepping.py
r12038 r12123 6 6 def __init__(self): 7 7 # {{{ Properties 8 self.time_step = 0; 9 self.final_time = 0; 10 self.time_adapt = 0; 11 self.cfl_coefficient = 0; 8 self.time_step = 0 9 self.final_time = 0 10 self.time_adapt = 0 11 self.cfl_coefficient = 0 12 13 #set defaults 14 self.setdefaultparameters() 15 12 16 #}}} 13 17 def __repr__(obj): … … 20 24 return string 21 25 #}}} 26 27 def setdefaultparameters(obj): 28 # {{{setdefaultparameters 29 30 #time between 2 time steps 31 obj.time_step=1/2 32 33 #final time 34 obj.final_time=10*obj.time_step 35 36 #time adaptation? 37 obj.time_adapt=0 38 obj.cfl_coefficient=.5 39 40 return obj 41 #}}} -
issm/trunk-jpl/src/m/classes/transient.py
r12038 r12123 11 11 self.isgroundingline = 0 12 12 self.requested_outputs = float('NaN') 13 14 #set defaults 15 self.setdefaultparameters() 16 13 17 #}}} 14 18 def __repr__(obj): … … 22 26 return string 23 27 #}}} 28 29 def setdefaultparameters(obj): 30 # {{{setdefaultparameters 31 32 #full analysis: Diagnostic, Prognostic and Thermal but no groundingline migration for now 33 obj.isprognostic=1 34 obj.isdiagnostic=1 35 obj.isthermal=1 36 obj.isgroundingline=0 37 38 return obj 39 #}}} 40
Note:
See TracChangeset
for help on using the changeset viewer.