GeodynamicWorldBuilder / WorldBuilder

World Builder: An initial conditions generator for geodynamic modeling
GNU Lesser General Public License v2.1
24 stars 29 forks source link

add ASPECT parameter file example in manual? #116

Closed gavindejong closed 9 months ago

gavindejong commented 5 years ago

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

MFraters commented 5 years 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?

gavindejong commented 5 years ago

Yes thank you very much. I wasn't aware that world builder was a valid input parameter.

MFraters commented 5 years ago

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.

MFraters commented 9 months ago

resolved by #563