[19049] | 1 | #Test Name: SquareShelfCMBSSA3d
|
---|
[13492] | 2 | from model import *
|
---|
[21408] | 3 | from socket import gethostname
|
---|
| 4 | import numpy as np
|
---|
[13492] | 5 | from triangle import *
|
---|
| 6 | from setmask import *
|
---|
| 7 | from parameterize import *
|
---|
| 8 | from setflowequation import *
|
---|
| 9 | from solve import *
|
---|
[17499] | 10 | from generic import generic
|
---|
[13492] | 11 |
|
---|
[23793] | 12 | md = triangle(model(), '../Exp/Square.exp', 200000)
|
---|
| 13 | md = setmask(md, 'all', '')
|
---|
| 14 | md = parameterize(md, '../Par/SquareShelf.py')
|
---|
| 15 | md.extrude(3, 1.)
|
---|
| 16 | md = setflowequation(md, 'SSA', 'all')
|
---|
[13492] | 17 |
|
---|
| 18 |
|
---|
| 19 | # control parameters
|
---|
[23793] | 20 | md.inversion.iscontrol = 1
|
---|
| 21 | md.inversion.control_parameters = ['MaterialsRheologyBbar']
|
---|
| 22 | md.inversion.min_parameters = 10**6 * np.ones((md.mesh.numberofvertices, len(md.inversion.control_parameters)))
|
---|
| 23 | md.inversion.max_parameters = 2. * 10**9 * np.ones((md.mesh.numberofvertices, len(md.inversion.control_parameters)))
|
---|
| 24 | md.inversion.nsteps = 2
|
---|
| 25 | md.inversion.cost_functions = [101]
|
---|
| 26 | md.inversion.cost_functions_coefficients = np.ones((md.mesh.numberofvertices, len(md.inversion.cost_functions)))
|
---|
| 27 | md.inversion.gradient_scaling = 10**7 * np.ones((md.inversion.nsteps, len(md.inversion.control_parameters)))
|
---|
| 28 | md.inversion.maxiter_per_step = 2. * np.ones((md.inversion.nsteps))
|
---|
| 29 | md.inversion.step_threshold = 0.3 * np.ones((md.inversion.nsteps))
|
---|
| 30 | md.inversion.vx_obs = md.initialization.vx
|
---|
| 31 | md.inversion.vy_obs = md.initialization.vy
|
---|
[13492] | 32 |
|
---|
[23793] | 33 | md.cluster = generic('name', gethostname(), 'np', 3)
|
---|
| 34 | md = solve(md, 'Stressbalance')
|
---|
[13492] | 35 |
|
---|
| 36 | # Fields and tolerances to track changes
|
---|
| 37 |
|
---|
[23793] | 38 | field_names = ['Gradient', 'Misfits', 'MaterialsRheologyBbar', 'Pressure', 'Vel', 'Vx', 'Vy']
|
---|
| 39 | field_tolerances = [1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13]
|
---|
| 40 | field_values = [md.results.StressbalanceSolution.Gradient1,
|
---|
| 41 | md.results.StressbalanceSolution.J,
|
---|
| 42 | md.results.StressbalanceSolution.MaterialsRheologyBbar,
|
---|
| 43 | md.results.StressbalanceSolution.Pressure,
|
---|
| 44 | md.results.StressbalanceSolution.Vel,
|
---|
| 45 | md.results.StressbalanceSolution.Vx,
|
---|
| 46 | md.results.StressbalanceSolution.Vy]
|
---|