Changeset 25172
- Timestamp:
- 06/28/20 01:02:57 (5 years ago)
- Location:
- issm/trunk-jpl
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/m/classes/model.m
r25168 r25172 1264 1264 md.frontalforcings = frontalforcings(); 1265 1265 md.gia = giamme(); 1266 md.esa = esa();1267 1266 md.love = fourierlove(); 1268 1267 md.esa = esa(); -
issm/trunk-jpl/src/m/classes/model.py
r25165 r25172 87 87 self.mesh = mesh2d() 88 88 self.mask = mask() 89 self.constants = constants() 89 90 self.geometry = geometry() 90 self. constants = constants()91 self.initialization = initialization() 91 92 self.smb = SMBforcing() 92 93 self.basalforcings = basalforcings() 94 self.friction = friction() 95 self.rifts = rifts() 96 self.solidearth = solidearth() 97 self.dsl = dsl() 98 self.timestepping = timestepping() 99 self.groundingline = groundingline() 93 100 self.materials = matice() 94 101 self.damage = damage() 95 self.friction = friction()96 102 self.flowequation = flowequation() 97 self.timestepping = timestepping()98 self.initialization = initialization()99 self.rifts = rifts()100 self.dsl = dsl()101 self.solidearth = solidearth()102 103 103 self.debug = debug() 104 104 self.verbose = verbose() … … 106 106 self.toolkits = toolkits() 107 107 self.cluster = generic() 108 109 108 self.balancethickness = balancethickness() 110 109 self.stressbalance = stressbalance() 111 self.groundingline = groundingline()112 110 self.hydrology = hydrologyshreve() 113 111 self.masstransport = masstransport() … … 125 123 self.qmu = qmu() 126 124 self.amr = amr() 127 125 self.radaroverlay = radaroverlay() 128 126 self.results = results() 129 127 self.outputdefinition = outputdefinition() 130 self.radaroverlay = radaroverlay()131 128 self.miscellaneous = miscellaneous() 132 129 self.private = private() … … 137 134 return ['mesh', 138 135 'mask', 136 'constants', 139 137 'geometry', 140 ' constants',138 'initialization', 141 139 'smb', 142 140 'basalforcings', 141 'friction', 142 'rifts', 143 'solidearth', 144 'dsl', 145 'timestepping', 146 'groundingline', 143 147 'materials', 144 148 'damage', 145 'friction',146 149 'flowequation', 147 'timestepping',148 'initialization',149 'rifts',150 'dsl',151 'solidearth',152 150 'debug', 153 151 'verbose', … … 157 155 'balancethickness', 158 156 'stressbalance', 159 'groundingline',160 157 'hydrology', 161 158 'masstransport', … … 166 163 'calving', 167 164 'frontalforcings', 165 'gia', 168 166 'love', 169 'gia',170 167 'esa', 171 168 'autodiff', … … 173 170 'qmu', 174 171 'amr', 172 'radaroverlay', 173 'results', 175 174 'outputdefinition', 176 'results',177 'radaroverlay',178 175 'miscellaneous', 179 176 'private'] -
issm/trunk-jpl/test/NightlyRun/test2071.py
r25131 r25172 17 17 18 18 #indicate what you want to compute 19 md.gia.cross_section_shape = 1 # for square-edged x -section19 md.gia.cross_section_shape = 1 # for square-edged x-section 20 20 21 21 #define loading history 22 22 md.timestepping.start_time = 0.3 # for t \approx 0 kyr : to get eleastic response! 23 md.timestepping.final_time = 2500000 # 2, 23 md.timestepping.final_time = 2500000 # 2,500 kyr 24 24 md.geometry.thickness = np.array([np.append(md.geometry.thickness * 0.0, 0.0), 25 25 np.append(md.geometry.thickness / 2.0, 0.1), -
issm/trunk-jpl/test/Par/GiaIvinsBenchmarksAB.py
r25129 r25172 15 15 nv = md.mesh.numberofvertices 16 16 if (np.isnan(md.geometry.thickness)): 17 md.geometry.thickness = np.zeros((md.mesh.numberofvertices, ))17 md.geometry.thickness = np.zeros((md.mesh.numberofvertices, 1)) 18 18 for i in range(nv): 19 19 dist = np.sqrt(md.mesh.x[i]**2 + md.mesh.y[i]**2) … … 21 21 md.geometry.thickness[i] = 2000.0 22 22 else: 23 md.geometry.thickness[i] = 1.0 # non -zero thickness23 md.geometry.thickness[i] = 1.0 # non-zero thickness 24 24 25 25 md.geometry.thickness = md.geometry.thickness.reshape(-1, 1) 26 md.geometry.base = np.zeros((md.mesh.numberofvertices, ))26 md.geometry.base = np.zeros((md.mesh.numberofvertices, 1)) 27 27 md.geometry.surface = md.geometry.thickness + md.geometry.base.reshape(-1, 1) #would otherwise create a 91x91 matrix 28 28 29 #Ice density used for benchmarking, not 917 kg /m^330 md.materials.rho_ice = 1000 #kg 29 #Ice density used for benchmarking, not 917 kg/m^3 30 md.materials.rho_ice = 1000 #kg/m^3 31 31 32 #GIA parameters specific to Experiments A 32 #GIA parameters specific to Experiments A and B 33 33 md.gia=giaivins(); 34 md.gia.mantle_viscosity = 1e21 * np.ones((md.mesh.numberofvertices, )) #in Pa.s35 md.gia.lithosphere_thickness = 100 * np.ones((md.mesh.numberofvertices, )) #in km34 md.gia.mantle_viscosity = 1e21 * np.ones((md.mesh.numberofvertices, 1)) #in Pa.s 35 md.gia.lithosphere_thickness = 100 * np.ones((md.mesh.numberofvertices, 1)) #in km 36 36 md.materials.lithosphere_shear_modulus = 6.7 * 1e10 #in Pa 37 md.materials.lithosphere_density = 3.36 #in g /cm^337 md.materials.lithosphere_density = 3.36 #in g/cm^3 38 38 md.materials.mantle_shear_modulus = 1.45 * 1e11 #in Pa 39 md.materials.mantle_density = 3.38 #in g /cm^339 md.materials.mantle_density = 3.38 #in g/cm^3 40 40 41 41 #Initial velocity … … 53 53 y = None 54 54 index = None 55 md.initialization.vz = np.zeros((md.mesh.numberofvertices, ))56 md.initialization.pressure = np.zeros((md.mesh.numberofvertices, ))55 md.initialization.vz = np.zeros((md.mesh.numberofvertices, 1)) 56 md.initialization.pressure = np.zeros((md.mesh.numberofvertices, 1)) 57 57 58 58 #Materials 59 md.initialization.temperature = (273. - 20.) * np.ones((md.mesh.numberofvertices, ))59 md.initialization.temperature = (273. - 20.) * np.ones((md.mesh.numberofvertices, 1)) 60 60 md.materials.rheology_B = paterson(md.initialization.temperature) 61 md.materials.rheology_n = 3. * np.ones((md.mesh.numberofelements, ))61 md.materials.rheology_n = 3. * np.ones((md.mesh.numberofelements, 1)) 62 62 63 63 #Friction 64 md.friction.coefficient = 20. * np.ones((md.mesh.numberofvertices, ))64 md.friction.coefficient = 20. * np.ones((md.mesh.numberofvertices, 1)) 65 65 md.friction.coefficient[np.where(md.mask.ocean_levelset < 0.)] = 0. 66 md.friction.p = np.ones((md.mesh.numberofelements, ))67 md.friction.q = np.ones((md.mesh.numberofelements, ))66 md.friction.p = np.ones((md.mesh.numberofelements, 1)) 67 md.friction.q = np.ones((md.mesh.numberofelements, 1)) 68 68 69 69 #Numerical parameters … … 76 76 md.steadystate.reltol = 0.05 77 77 md.stressbalance.reltol = 0.05 78 md.stressbalance.abstol = float('NaN')78 md.stressbalance.abstol = np.nan 79 79 md.timestepping.time_step = 1. 80 80 md.timestepping.final_time = 3. -
issm/trunk-jpl/test/Par/GiaIvinsBenchmarksCD.py
r25129 r25172 1 1 #Geometry specific to Experiments C and D 2 2 3 import inspect 3 4 import os.path 4 import inspect 5 5 6 import numpy as np 7 6 8 from arch import * 9 from giaivins import giaivins 7 10 from InterpFromMeshToMesh2d import * 8 11 from paterson import * … … 10 13 from SetIceSheetBC import * 11 14 15 12 16 rad = 800000 13 17 nv = md.mesh.numberofvertices 14 18 if (np.isnan(md.geometry.thickness)): 15 md.geometry.thickness = np.zeros((md.mesh.numberofvertices, ))19 md.geometry.thickness = np.zeros((md.mesh.numberofvertices, 1)) 16 20 for i in range(nv): 17 21 dist = np.sqrt(md.mesh.x[i]**2 + md.mesh.y[i]**2) … … 22 26 23 27 md.geometry.thickness = md.geometry.thickness.reshape(-1, 1) 24 md.geometry.base = np.zeros((md.mesh.numberofvertices, ))28 md.geometry.base = np.zeros((md.mesh.numberofvertices, 1)) 25 29 md.geometry.surface = md.geometry.thickness + md.geometry.base.reshape(-1, 1) #would otherwise create a 91x91 matrix 26 30 27 31 #Ice density used for benchmarking, not 917 kg / m^3 28 md.materials.rho_ice = 1000 32 md.materials.rho_ice = 1000 #kg m^3 29 33 30 #GIA parameters specific to Experiments A and B 31 md.gia.mantle_viscosity = 1e21 * np.ones((md.mesh.numberofvertices, )) #in Pa.s 32 md.gia.lithosphere_thickness = 100 * np.ones((md.mesh.numberofvertices, )) #in km 34 #GIA parameters specific to Experiments A and B 35 md.gia=giaivins(); 36 md.gia.mantle_viscosity = 1e21 * np.ones((md.mesh.numberofvertices, 1)) #in Pa.s 37 md.gia.lithosphere_thickness = 100 * np.ones((md.mesh.numberofvertices, 1)) #in km 33 38 md.materials.lithosphere_shear_modulus = 6.7e10 #in Pa 34 39 md.materials.lithosphere_density = 3.32 #in g / cm^3 … … 50 55 y = None 51 56 index = None 52 md.initialization.vz = np.zeros((md.mesh.numberofvertices, ))53 md.initialization.pressure = np.zeros((md.mesh.numberofvertices, ))57 md.initialization.vz = np.zeros((md.mesh.numberofvertices, 1)) 58 md.initialization.pressure = np.zeros((md.mesh.numberofvertices, 1)) 54 59 55 60 #Materials 56 md.initialization.temperature = (273. - 20.) * np.ones((md.mesh.numberofvertices, ))61 md.initialization.temperature = (273. - 20.) * np.ones((md.mesh.numberofvertices, 1)) 57 62 md.materials.rheology_B = paterson(md.initialization.temperature) 58 md.materials.rheology_n = 3. * np.ones((md.mesh.numberofelements, ))63 md.materials.rheology_n = 3. * np.ones((md.mesh.numberofelements, 1)) 59 64 60 65 #Friction 61 md.friction.coefficient = 20. * np.ones((md.mesh.numberofvertices, ))66 md.friction.coefficient = 20. * np.ones((md.mesh.numberofvertices, 1)) 62 67 md.friction.coefficient[np.where(md.mask.ocean_levelset < 0.)] = 0. 63 md.friction.p = np.ones((md.mesh.numberofelements, ))64 md.friction.q = np.ones((md.mesh.numberofelements, ))68 md.friction.p = np.ones((md.mesh.numberofelements, 1)) 69 md.friction.q = np.ones((md.mesh.numberofelements, 1)) 65 70 66 71 #Numerical parameters … … 73 78 md.steadystate.reltol = 0.05 74 79 md.stressbalance.reltol = 0.05 75 md.stressbalance.abstol = float('NaN')80 md.stressbalance.abstol = np.nan 76 81 md.timestepping.time_step = 1. 77 82 md.timestepping.final_time = 3.
Note:
See TracChangeset
for help on using the changeset viewer.