Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add ASPECT parameter file example in manual? #116

Closed
gavindejong opened this issue Apr 1, 2019 · 4 comments
Closed

add ASPECT parameter file example in manual? #116

gavindejong opened this issue Apr 1, 2019 · 4 comments
Labels
documentation enhancement Requests for improvements to the documentation small project A small, well defined, project to work on

Comments

@gavindejong
Copy link

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
Copy link
Member

MFraters commented Apr 1, 2019

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
Copy link
Author

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

@MFraters
Copy link
Member

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 MFraters added add/change code functionality Requests or proposes new or improved code (internal) functionality documentation enhancement Requests for improvements to the documentation and removed add/change code functionality Requests or proposes new or improved code (internal) functionality labels Sep 16, 2019
@MFraters MFraters added the small project A small, well defined, project to work on label Jan 23, 2024
@MFraters
Copy link
Member

resolved by #563

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation enhancement Requests for improvements to the documentation small project A small, well defined, project to work on
Projects
None yet
Development

No branches or pull requests

2 participants