Closed gavindejong closed 9 months ago
Hey Gravin,
Thanks for using the world builder and for letting me know what you are missing in the documentation :)
You will need to set the following parameters in the ASPECT parameter file:
World builder file = world/builder/file/location.wb
subsection Initial temperature model
set Model name = world builder
end
subsection Initial composition model
set Model name = world builder
end
ASPECT will then query for every location whether a composition is defined in that location and what it's value is. So you need to set the correct amount of compositions in your ASPECT parameter file, and you also need to make sure that actually use them (if you want to) to make your initial conditions. So a combination like this should work:
World Builder file:
{
"version":"0.2",
"potential mantle temperature":1500,
"thermal expansion coefficient":2.0e-5,
"maximum distance between coordinates":100000,
"interpolation":"monotone spline",
"surface temperature":293.15,
"force surface temperature":true,
"coordinate system":{"model":"cartesian"},
"features":
[
// defining an oceanic plate for the North and South American plate
{"model":"oceanic plate", "name":"NS American plate",
"coordinates":[[1700e3,0],[1700e3,300e3],[1606e3,650e3],
[1350e3,906e3],[1000e3,1000e3],[-1e3,1000e3],
[-1e3,1501e3],[2501e3,1501e3],[2501e3,-501e3],
[-1e3,-501e3],[-1e3,-50e3],[2000e3,-50e3],
[2000e3,0e3]],
"temperature models":[{"model":"linear", "max depth":100e3}],
"composition models":[{"model":"uniform", "compositions":[0],
"max depth":30e3}]},
// Defining an oceanic plate for the Caribbean plate
{"model":"oceanic plate", "name":"Caribbean plate",
"coordinates":[[1700e3,300e3],[1689e3,422e3],[1658e3,539e3],
[1606e3,650e3],[1536e3,749e3],[1450e3,836e3],
[1350e3,906e3],[1239e3,958e3],[1122e3,989e3],
[1000e3,1000e3],[650e3,1000e3],[-1e3,1000e3],
[-1e3,0e3],[1700e3,0e3]],
"temperature models":[{"model":"linear", "max depth":100e3}],
"composition models":[{"model":"uniform", "compositions":[1],
"max depth":30e3}]},
// Defining a continental plate for the weak zone
{"model":"continental plate", "name":"Carribean weak zone",
"coordinates":[[-1e3,1000e3],[-1e3,750e3],[1536e3,749e3],
[1450e3,836e3],[1350e3,906e3],[1239e3,958e3],
[1122e3,989e3],[1000e3,1000e3],[650e3,1000e3]],
"temperature models":[{"model":"linear", "max depth":100e3}],
"composition models":[{"model":"uniform", "compositions":[2],
"max depth":30e3},
{"model":"uniform", "compositions":[3],
"min depth":30e3}]},
// Defining a mantle layer for the lower mantle
{"model":"mantle layer", "name":"660", "min depth":660e3,
"coordinates":[[-1e3,-500e3],[-501e3,2500e3],[2501e3,2500e3],
[2501e3,-501e3]],
"composition models":[{"model":"uniform", "compositions":[4]}]},
// Defining a subducting plate for the Lesser Antilles slab
{"model":"subducting plate", "name":"Lesser Antilles slab",
"coordinates":[[1700e3,0],[1700e3,300e3],[1606e3,650e3],
[1350e3,906e3],[1000e3,1000e3],[650e3,1000e3]],
"dip point":[-1,-1],
"min depth":0, "max depth":660e3,
"segments":
[
{"length":300e3, "thickness":[100e3], "angle":[0,50]},
{"length":371e3, "thickness":[100e3], "angle":[50]},
{"length":275e3, "thickness":[100e3], "angle":[50,0]},
{"length":0e3, "thickness":[100e3], "angle":[0]}
],
"sections":
[
{"coorindate":"0",
"segments":
[
{"length":300e3, "thickness":[100e3], "angle":[0,25]},
{"length":371e3, "thickness":[100e3], "angle":[50]},
{"length":300e3, "thickness":[100e3], "angle":[50,0]},
{"length":50, "thickness":[100e3], "angle":[0]}
]
},
{"coorindate":"5",
"segments":
[
{"length":300e3, "thickness":[100e3], "angle":[0,25]},
{"length":371e3, "thickness":[100e3], "angle":[50]},
{"length":50e3, "thickness":[100e3], "angle":[50,0]},
{"length":0, "thickness":[100e3], "angle":[0]}
]
}
],
"temperature models":
[
{"model":"plate model", "density":3300, "plate velocity":0.0144,
"thermal conductivity":2.5, "thermal expansion coefficient":2e-5 }
],
"composition models":
[
{"model":"uniform","compositions":[0], "min distance slab top":30e3}
]
},
// Defining a continental plate for the weakzone between the Caribbean and
// South America
{"model":"continental plate","name":"South Weakzone",
"coordinates":[[-1e3,0e3],[-1e3,-50e3],[2000e3,-50e3],[2000e3,0e3]],
"temperature models":[{"model":"linear", "max depth":100e3}],
"composition models":
[
{"model":"uniform","compositions":[2], "max depth":30e3},
{"model":"uniform", "compositions":[3], "min depth":30e3}]}
]
}
ASPECT file:
set World builder file = world/builder/file/location.wb
set Output directory = aspect/output/dir/
set Dimension = 3
set CFL number = 0.05
set Max nonlinear iterations = 50
set End time = 2e7
set Nonlinear solver scheme = iterated Advection and Newton Stokes
set Timing output frequency = 0
set Max nonlinear iterations in pre-refinement = 0
set Pressure normalization = no
set Nonlinear solver tolerance = 1e-6
set Maximum time step = 10000
set Maximum relative increase in time step = 25
set Maximum first time step = 100
subsection Solver parameters
subsection Newton solver parameters
set Max pre-Newton nonlinear iterations = 100
set Nonlinear Newton solver switch tolerance = 1e-4
set Max Newton line search iterations = 0
set Maximum linear Stokes solver tolerance = 1e-1
set Use Newton residual scaling method = false
set Use Newton failsafe = true
set Stabilization preconditioner = SPD
set Stabilization velocity block = SPD
set Use Eisenstat Walker method for Picard iterations = true
end
end
subsection Geometry model
set Model name = box with lithosphere boundary indicators
subsection Box with lithosphere boundary indicators
set X extent = 2500e3
set Y extent = 2000e3
set Z extent = 800e3
set Box origin Y coordinate = -500e3
set X repetitions = 25
set Y repetitions = 20
set Y repetitions lithosphere = 10
set Z repetitions = 6
set Z repetitions lithosphere= 1
set Lithospheric thickness = 100e3
end
subsection Box
set X extent = 3960000
set Y extent = 4620000
set Z extent = 660000
set X repetitions = 6
set Y repetitions = 7
end
subsection Ellipsoidal chunk
set NE corner = -58:26
set SW corner = -82:14
set Depth = 700000
set Semi-major axis = 6378137
set Eccentricity = 0
set East-West subdivisions = 4
set North-South subdivisions = 2
set Depth subdivisions = 1
end
end
subsection Material model
set Model name = visco plastic
subsection Visco Plastic
set Reference viscosity = 1.0e21
set Grain size = 0.01
set Viscosity averaging scheme = harmonic
set Minimum viscosity = 5e19
set Maximum viscosity = 5e24
set Reference temperature = 293 lith, lower mantle
set Densities = 3300 3300, 3300
set Thermal expansivities = 2e-5
# Up M., NA C., CARBC, Wk C., Wk L., Lower Mantle
set Prefactors for dislocation creep = 6.51e-15, 8.57e-28, 8.57e-28, 8.57e-28, 6.51e-15, 6.51e-16
set Stress exponents for dislocation creep = 3.5, 4.0, 4.0, 4.0, 3.8, 3.5
set Activation energies for dislocation creep = 530.e3, 167e3, 223.e3, 167e3, 440.e3, 530.e3
set Activation volumes for dislocation creep = 18e-6, 36e-6, 18e-6, 18e-6, 18e-6, 18e-6
set Prefactors for diffusion creep = 8.88e-15, 8.88e-15, 8.88e-15, 8.88e-15, 8.88e-15, 8.88e-15
set Activation energies for diffusion creep = 335e3, 375e3, 375e3, 375e3, 335e3, 355e3
set Activation volumes for diffusion creep = 5.0e-6, 6.0e-6, 6.0e-6, 6.0e-6, 6.0e-6, 6.0e-6
# Up M., NA C., CARBC, Wk C., Wk L., Lower Mantle
set Angles of internal friction = 15, 5, 10, 5, 10, 15
set Cohesions = 20.e6, 10e4, 10.e6, 10.e4, 10.e6, 20.e6
end
subsection Multicomponent
set Densities = 3300,3300,3000,3000
set Specific heats = 1250,1250,1250,1250
set Reference temperature = 273
set Thermal conductivities = 2.5,2.5,2.5,2.5
set Thermal expansivities = 4e-5,4e-5,4e-5,4.5
set Viscosities = 1.e20,1e20,1.e24,1e22
end
end
subsection Compositional fields
set Number of fields = 5
end
subsection Initial composition model
set Model name = world builder
end
subsection Gravity model
set Model name = vertical
subsection Vertical
set Magnitude = 9.81
end
end
subsection Mesh refinement
set Additional refinement times =
set Initial adaptive refinement = 2
set Initial global refinement = 1
set Minimum refinement level = 0
set Refinement fraction = 0.95
set Coarsening fraction = 0.05
set Strategy = composition, isotherms
set Time steps between mesh refinement = 1
subsection Composition
set Compositional field scaling factors = 0,0,0,0,1
end
subsection Isotherms
set Exclude composition = 0
#minref maxref mintemp maxtemp
set List of isotherms = max, max, 0, 1525; \
min-1, max, 1525, 1535; \
min, min, 1535, 1650; \
min, max, 1650, 3000
end
end
subsection Initial temperature model
set Model name = world builder
end
subsection Boundary temperature model
set List of model names = initial temperature fixed surface
subsection Initial temperature fixed surface
set Surface boundary indicator = 5
set Surface boundary temperature = 273.15
set Minimal temperature = 273.15
set Maximal temperature = 4000
end
end
subsection Discretization
set Use locally conservative discretization = false
subsection Stabilization parameters
set Use artificial viscosity smoothing = false
set alpha = 2
set beta = 0.078
end
end
subsection Boundary temperature model
set Fixed temperature boundary indicators = 0,1,2,3,4,5,6,7,8,9
end
subsection Boundary velocity model
set Prescribed velocity boundary indicators = left lithosphere xyz:function, right lithosphere xyz:function, front lithosphere z:function, back lithosphere z:function
set Tangential velocity boundary indicators =
set Zero velocity boundary indicators = bottom
end
subsection Boundary traction model
set Prescribed traction boundary indicators = front lithosphere: initial lithostatic pressure, back lithosphere: initial lithostatic pressure,left: initial lithostatic pressure, right: initial lithostatic pressure, back: initial lithostatic pressure, front: initial lithostatic pressure
end
subsection Free surface
set Free surface boundary indicators = outer
end
subsection Boundary traction model
subsection Initial lithostatic pressure
set Representative point = 2000e3,750e3,375e3
end
end
subsection Free surface
set Free surface stabilization theta = 0.75
end
subsection Boundary velocity model
subsection Function
set Variable names = x,y,z,t
set Function constants = velocity=-0.0150
set Function expression = if(x > 1, if(y >= -300e3,velocity,(abs(y+500e3)/200e3)*0.25*velocity+0.75*velocity), if(y <= 750e3 && y >= 0, 0, if(y >= 1000e3 || y <= -50e3, velocity, if( y >= 750e3, (abs(y-750e3)/250e3)*velocity, (abs(y)/50e3)*velocity))));0;0
end
end
subsection Postprocess
set List of postprocessors = visualization,velocity statistics, composition statistics, pressure statistics, temperature statistics
subsection Visualization
set Time between graphical output = 100e3
set List of output variables = viscosity, density, strain rate,depth, nonadiabatic pressure, spd factor, shear stress eigenvectors, maximum shear stress
set Interpolate output = false
end
end
subsection Solver parameters
subsection Stokes solver parameters
set Number of cheap Stokes solver steps = 500
set Linear solver tolerance = 1e-1
end
end
This is part of my thesis and I should be able to make it available soon for more reference material. Does this answer your question?
Yes thank you very much. I wasn't aware that world builder was a valid input parameter.
No problem. If you ever want to quickly know what parameters are available for a subsection in ASPECT, without going through the manual, there a nice online parameter site for aspect: https://aspect.geodynamics.org/doc/parameter_view/parameters.xml.
resolved by #563
Hi, I am using the software at the moment, however, I am kind of struggling with what I should and should not include in the ASPECT parameter file (for instance, should I set the number of compositional fields in the ASPECT parameter file, or will it read that from the amount of compositional fields I have assigned in the world builder (.wb) file?). I have not found any examples in the ASPECT and GWB manual or literature which presents how one should build up the ASPECT parameter file when setting the World builder parameter in ASPECT to the world builder (.wb) file I have made. Anyways, keep up the good work! Cheers, Gavin