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

Rename functions following GMG update to 0.7 #46

Merged
merged 5 commits into from
Mar 14, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name = "LaMEM"
uuid = "2e889f3d-35ce-4a77-8ea2-858aecb630f7"
authors = ["Boris Kaus <kaus@uni-mainz.de>"]
version = "0.2.13"
version = "0.3.0"

[deps]
DelimitedFiles = "8bb1440f-4735-579b-a4ab-409b98df4dab"
Expand All @@ -26,7 +26,7 @@ PlotsExt = "Plots"
DelimitedFiles = "1"
DocStringExtensions = "0.9"
GeoParams = "0.4, 0.5"
GeophysicalModelGenerator = "0.6"
GeophysicalModelGenerator = "0.7"
Glob = "1"
LightXML = "0.9"
MPICH_jll = "4.1 - 4.1.2"
Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ julia> add_phase!(model, sphere, matrix)

Create an initial geometry using the [GeophysicalModelGenerator](https://github.com/JuliaGeodynamics/GeophysicalModelGenerator.jl/tree/main) interface:
```Julia
julia> addSphere!(model,cen=(0.0,0.0,0.0), radius=(0.5, ))
julia> add_sphere!(model,cen=(0.0,0.0,0.0), radius=(0.5, ))
```
and run the simulation with:
```julia
Expand Down Expand Up @@ -127,19 +127,19 @@ julia> using LaMEM
```
You can first read the `*.pvd` file in the directory to see which timesteps are available. If you used julia to run the simulation (as under 2 above ), this is done with:
```julia
julia> julia> Timestep, Filenames, t = Read_LaMEM_simulation(model)
julia> julia> Timestep, Filenames, t = read_LaMEM_simulation(model)
([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], ["Timestep_00000000_0.00000000e+00/output.pvtr", "Timestep_00000001_4.40000000e-02/output.pvtr", "Timestep_00000002_9.24000000e-02/output.pvtr", "Timestep_00000003_1.45640000e-01/output.pvtr", "Timestep_00000004_2.04204000e-01/output.pvtr", "Timestep_00000005_2.68624400e-01/output.pvtr", "Timestep_00000006_3.39486840e-01/output.pvtr", "Timestep_00000007_4.17435524e-01/output.pvtr", "Timestep_00000008_5.03179076e-01/output.pvtr", "Timestep_00000009_5.97496984e-01/output.pvtr", "Timestep_00000010_7.01246682e-01/output.pvtr", "Timestep_00000011_8.15371351e-01/output.pvtr", "Timestep_00000012_9.40908486e-01/output.pvtr", "Timestep_00000013_1.07899933e+00/output.pvtr"], [0.0, 0.044, 0.0924, 0.14564, 0.204204, 0.2686244, 0.3394868, 0.4174355, 0.5031791, 0.597497, 0.7012467, 0.8153714, 0.9409085, 1.078999])
```

If you instead have an existing LaMEM simulation, you can specify the `*.pvd` file:
```julia
julia> pvdname="output.pvd"
julia> Timestep, Filenames, t = Read_LaMEM_simulation(pvdname)
julia> Timestep, Filenames, t = read_LaMEM_simulation(pvdname)
```

We can read a particular timestep (say 1) with:
```julia
julia> data, time = Read_LaMEM_timestep(model, 1)
julia> data, time = read_LaMEM_timestep(model, 1)
(CartData
size : (17, 17, 17)
x ϵ [ -1.0 : 1.0]
Expand Down
10 changes: 5 additions & 5 deletions docs/src/juliasetup_LaPalma.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ CartData
This shows the dimensions of our domain in kilometers. The issue is that this projected topography is not an orthogonal grid, but (slightly) distorted. In any case, we see the approximate dimensions of the grid (in horizontal directions), so we can create an orthogonal grid on which to project this:

```julia
julia> Topo_LaMEM = CartData(xyzGrid(-70:.2:70,-60:.2:70,0));
julia> Topo_LaMEM = CartData(xyz_grid(-70:.2:70,-60:.2:70,0));
julia> Topo_LaMEM = ProjectCartData(Topo_LaMEM, Topo, proj)
```

Expand Down Expand Up @@ -89,16 +89,16 @@ julia> model.Grid.Phases .= 2;

Now set points above the topography to zero (will be air later), the ones above the topography but below zero to 'water` and below 40 km to mantle (if we had a Moho surface we could use that):
```julia
julia> aboveSurface!(model, Topo_LaMEM, phase=0, T=0)
julia> above_surface!(model, Topo_LaMEM, phase=0, T=0)
julia> model.Grid.Phases[Z.<-0 .&& model.Grid.Phases .== 0] .= 1;
julia> model.Grid.Phases[Z.<-40] .= 3;
```

Finally, we define some magma chambers:
```julia
julia> addSphere!(model, cen=(0,0,-35), radius=5, phase=ConstantPhase(5), T=ConstantTemp(1200));
julia> addEllipsoid!(model, cen=(-1,0,-11), axes=(3,3,8), StrikeAngle=225, DipAngle=45, phase=ConstantPhase(5), T=ConstantTemp(1200));
julia> addEllipsoid!(model, cen=(-0,0,-23), axes=(8,8,2), StrikeAngle=0, DipAngle=0, phase=ConstantPhase(5), T=ConstantTemp(1200));
julia> add_sphere!(model, cen=(0,0,-35), radius=5, phase=ConstantPhase(5), T=ConstantTemp(1200));
julia> add_ellipsoid!(model, cen=(-1,0,-11), axes=(3,3,8), StrikeAngle=225, DipAngle=45, phase=ConstantPhase(5), T=ConstantTemp(1200));
julia> add_ellipsoid!(model, cen=(-0,0,-23), axes=(8,8,2), StrikeAngle=0, DipAngle=0, phase=ConstantPhase(5), T=ConstantTemp(1200));
```

We can plot a cross-section through the model:
Expand Down
14 changes: 7 additions & 7 deletions docs/src/juliasetup_TMSubduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ If you want to see what each of these parameters mean, you can get some basic he

```julia
help?> Time
search: Time time Timer time_ns timedwait mtime ctime @time @timev @timed @time_imports @showtime optimize_ticks optimize_datetime_ticks Read_LaMEM_timestep
search: Time time Timer time_ns timedwait mtime ctime @time @timev @timed @time_imports @showtime optimize_ticks optimize_datetime_ticks read_LaMEM_timestep

Structure that contains the LaMEM timestepping information. An explanation of the paramneters is given in the struct `Time_info`
• time_end::Float64: simulation end time
Expand Down Expand Up @@ -266,10 +266,10 @@ model.Grid.Phases[model.Grid.Grid.Z .> 0.0 ] .= 5;
```

##### Add left oceanic plate
An oceanic plate can be added using the `addBox!()` function of the `GeophysicalModelGenerator` package (see `?GeophysicalModelGenerator.addBox!` for more information, or check out the online [help](https://juliageodynamics.github.io/GeophysicalModelGenerator.jl/dev/man/lamem/) of the package). The lithosphere to asthenosphere temperature is set to 1250°C. If temperature of the plate is > 1250°C then the material is turned to asthenosphere. The temperature profile of the plate is set using a half space cooling temperature and a spreading rate velocity of 0.5 cm/yr with the ridge prescribed to be at the "left" of the box.
An oceanic plate can be added using the `add_box!()` function of the `GeophysicalModelGenerator` package (see `?GeophysicalModelGenerator.add_box!` for more information, or check out the online [help](https://juliageodynamics.github.io/GeophysicalModelGenerator.jl/dev/man/lamem/) of the package). The lithosphere to asthenosphere temperature is set to 1250°C. If temperature of the plate is > 1250°C then the material is turned to asthenosphere. The temperature profile of the plate is set using a half space cooling temperature and a spreading rate velocity of 0.5 cm/yr with the ridge prescribed to be at the "left" of the box.

```julia
addBox!(model; xlim = (-2000.0, 0.0),
add_box!(model; xlim = (-2000.0, 0.0),
ylim = (model.Grid.coord_y...,),
zlim = (-660.0, 0.0),
Origin = nothing, StrikeAngle=0, DipAngle=0,
Expand All @@ -286,7 +286,7 @@ addBox!(model; xlim = (-2000.0, 0.0),
Same for the plate on the right:

```julia
addBox!(model; xlim = (1500, 2000),
add_box!(model; xlim = (1500, 2000),
ylim = (model.Grid.coord_y..., ),
zlim = (-660.0, 0.0),
Origin = nothing, StrikeAngle=0, DipAngle=0,
Expand All @@ -303,7 +303,7 @@ addBox!(model; xlim = (1500, 2000),
For the overriding plate margin the age is fixed to 90 Ma using `HalfspaceCoolingTemp()`.

```julia
addBox!(model; xlim = (0.0, 400.0),
add_box!(model; xlim = (0.0, 400.0),
ylim = (model.Grid.coord_y[1], model.Grid.coord_y[2]),
zlim = (-660.0, 0.0),
Origin = nothing, StrikeAngle=0, DipAngle=0,
Expand All @@ -316,7 +316,7 @@ addBox!(model; xlim = (0.0, 400.0),
##### Add overriding plate craton

```julia
addBox!(model; xlim = (400.0, 1500.0),
add_box!(model; xlim = (400.0, 1500.0),
ylim = (model.Grid.coord_y...,),
zlim = (-660.0, 0.0),
Origin = nothing, StrikeAngle=0, DipAngle=0,
Expand All @@ -330,7 +330,7 @@ addBox!(model; xlim = (400.0, 1500.0),
Here we change the dip angle of the box to 30° to initiates subduction:

```julia
addBox!(model; xlim = (0.0, 300),
add_box!(model; xlim = (0.0, 300),
ylim = (model.Grid.coord_y...,),
zlim = (-660.0, 0.0),
Origin = nothing, StrikeAngle=0, DipAngle=30,
Expand Down
2 changes: 1 addition & 1 deletion docs/src/juliasetup_example_sphere.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ julia> add_phase!(model, sphere, matrix)
#### 1.3 Set initial model geometry
We also need to specify an initial model geometry. The julia package `GeophysicalModelGenerator` has a number of functions for that, which can be used here. For the current setup, we just add a sphere:
```julia
julia> addSphere!(model,cen=(0.0,0.0,0.0), radius=(0.5, ))
julia> add_sphere!(model,cen=(0.0,0.0,0.0), radius=(0.5, ))
```
It is often useful to plot the initial model setup. You can do this with the `heatmap` function from the `Plots.jl` package, for which we provide a LaMEM plugin that allows you to specify a cross-section through a 3D LaMEM setup:

Expand Down
2 changes: 1 addition & 1 deletion docs/src/juliasetups.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ In order to run a simulation, we need to define at least 1 phase and heterogenei
The easiest way to do that is to use routines from the `GeophyicalModelGenerator` package, for which we created simple interfaces to many of the relevant routines:
```julia
julia> using GeophysicalModelGenerator
julia> addSphere!(model,cen=(0.0,0.0,0.0), radius=(0.5, ))
julia> add_sphere!(model,cen=(0.0,0.0,0.0), radius=(0.5, ))
```

For the sake of this example, lets add another phase:
Expand Down
10 changes: 5 additions & 5 deletions docs/src/readtimesteps.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@ You can first read the `*.pvd` file in the directory to see which timesteps are
```julia
julia> FileName="FB_multigrid"
julia> DirName ="test"
julia> Timestep, Filenames, Time = Read_LaMEM_simulation(FileName, DirName)
julia> Timestep, Filenames, Time = read_LaMEM_simulation(FileName, DirName)
([0, 1], ["Timestep_00000000_0.00000000e+00/FB_multigrid.pvtr", "Timestep_00000001_6.72970343e+00/FB_multigrid.pvtr"], [0.0, 6.729703])
```
We can read a particular timestep (say 1) with:
```julia
julia> data, time = Read_LaMEM_timestep(FileName, 1, DirName)
julia> data, time = read_LaMEM_timestep(FileName, 1, DirName)
(CartData
size : (33, 33, 33)
x ϵ [ 0.0 : 1.0]
Expand All @@ -27,7 +27,7 @@ The output is in a `CartData` structure (as defined in GeophysicalModelGenerator

If you do not indicate a directory name (`DirName`) it'll look in your current directory. The default above will load the main LaMEM simulation output. Alternatively, you can also load the `phase` information by specify the optional keyword `phase=true`:
```julia
julia> data, time = Read_LaMEM_timestep(FileName, 1, DirName, phase=true)
julia> data, time = read_LaMEM_timestep(FileName, 1, DirName, phase=true)
(CartData
size : (96, 96, 96)
x ϵ [ 0.0052083334885537624 : 0.9947916269302368]
Expand All @@ -41,12 +41,12 @@ In the same way, you can load the internal free surface with `surf=true` (if tha
If you don't want to load all the fields in the file back to julia, you can check which fields are available:

```julia
julia> Read_LaMEM_fieldnames(FileName, DirName)
julia> read_LaMEM_fieldnames(FileName, DirName)
("phase [ ]", "visc_total [ ]", "visc_creep [ ]", "velocity [ ]", "pressure [ ]", "strain_rate [ ]", "j2_dev_stress [ ]", "j2_strain_rate [ ]")
```
and load only part of those:
```julia
julia> data, time = Read_LaMEM_timestep(FileName, 1, DirName, fields=("phase [ ]", "visc_total [ ]","velocity [ ]"))
julia> data, time = read_LaMEM_timestep(FileName, 1, DirName, fields=("phase [ ]", "visc_total [ ]","velocity [ ]"))
(CartData
size : (33, 33, 33)
x ϵ [ 0.0 : 1.0]
Expand Down
6 changes: 3 additions & 3 deletions ext/PlotsExt.jl
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ module PlotsExt

using Plots
using GeophysicalModelGenerator, Statistics, DelimitedFiles
import LaMEM: cross_section, Model, Read_LaMEM_timestep, Read_LaMEM_simulation, read_phase_diagram
import LaMEM: cross_section, Model, read_LaMEM_timestep, read_LaMEM_simulation, read_phase_diagram
import LaMEM: plot_topo, plot_cross_section, plot_phasediagram, plot_cross_section_simulation
export plot_topo, plot_cross_section, plot_phasediagram, plot_cross_section_simulation

Expand All @@ -24,7 +24,7 @@ function plot_cross_section(model::Union{Model,CartData}, args...; field::Symbol

if !isnothing(timestep)
# load a particular timestep
data_cart, time = Read_LaMEM_timestep(model,timestep)
data_cart, time = read_LaMEM_timestep(model,timestep)
model = data_cart
end

Expand Down Expand Up @@ -68,7 +68,7 @@ As `plot_cross_section`, but for the entire simulation instead of a single times
function plot_cross_section_simulation(model::Union{Model,CartData}, args...; field::Symbol=:phase,
dim=1, x=nothing, y=nothing, z=nothing, aspect_ratio::Union{Real, Symbol}=:equal)

Timesteps,_,_ = Read_LaMEM_simulation(model);
Timesteps,_,_ = read_LaMEM_simulation(model);
for timestep_val in Timesteps
plot_cross_section(model, args, field=field, timestep=timestep_val, dim=dim, x=x, y=y, z=z, aspect_ratio=aspect_ratio)
end
Expand Down
6 changes: 3 additions & 3 deletions notebooks/FallingSphere_1.jl
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ We also need to specify an initial model geometry. The julia package `Geophysica
"""

# ╔═╡ a3afc50b-2fcd-4067-895d-fde7fb7f8742
addSphere!(model,cen=(0.0,0.0,0.0), radius=(0.5, ))
add_sphere!(model,cen=(0.0,0.0,0.0), radius=(0.5, ))

# ╔═╡ e0411cc1-60ae-43cf-9500-93a246e62e1b
md"""
Expand Down Expand Up @@ -129,7 +129,7 @@ We can read all timesteps of the simulation with:
"""

# ╔═╡ 3040c159-7281-4971-80ad-8104abb3a6d9
timesteps,_,_ = Read_LaMEM_simulation(model)
timesteps,_,_ = read_LaMEM_simulation(model)

# ╔═╡ b7ca7625-4910-4faf-919c-4b785438c574
md"""
Expand All @@ -153,7 +153,7 @@ If you want to know which fields have been saved, you can read a timestep back i
"""

# ╔═╡ c72ffd0d-dbf7-4b88-af5e-de4f76d5ec33
data_cart, time = Read_LaMEM_timestep(model,1)
data_cart, time = read_LaMEM_timestep(model,1)

# ╔═╡ e73a3f02-c1f4-46d8-a0c2-c6f6058e1ca1
md"""
Expand Down
6 changes: 3 additions & 3 deletions notebooks/subduction_example.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@
"metadata": {},
"outputs": [],
"source": [
"addBox!(model, xlim=(-700,100), zlim=(-60,0), phase=LithosphericPhases(Layers=[20 60], Phases=[1 2 0]), DipAngle=0, T=ConstantTemp(1000))"
"add_box!(model, xlim=(-700,100), zlim=(-60,0), phase=LithosphericPhases(Layers=[20 60], Phases=[1 2 0]), DipAngle=0, T=ConstantTemp(1000))"
]
},
{
Expand All @@ -150,7 +150,7 @@
"metadata": {},
"outputs": [],
"source": [
"addBox!(model, xlim=(100,300), zlim=(-60,0), phase=LithosphericPhases(Layers=[20 60], Phases=[1 2 0]), DipAngle=30, T=ConstantTemp(1000))"
"add_box!(model, xlim=(100,300), zlim=(-60,0), phase=LithosphericPhases(Layers=[20 60], Phases=[1 2 0]), DipAngle=30, T=ConstantTemp(1000))"
]
},
{
Expand Down Expand Up @@ -6397,7 +6397,7 @@
}
],
"source": [
"timesteps,_,_ = Read_LaMEM_simulation(model)"
"timesteps,_,_ = read_LaMEM_simulation(model)"
]
},
{
Expand Down
4 changes: 2 additions & 2 deletions scripts/Subduction3D.jl
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,10 @@ model = Model(
# Next, we specify the geometry of the model, using the `AddBox!` function from `GeophysicalModelGenerator`.
# We start with the horizontal part of the slab. The function `AddBox!` allows you to specify a layered lithosphere; here we have a crust and mantle. It also allows specifying a thermal structure.
# Since the current setup is only mechanical, we don't specify that here.
AddBox!(model, xlim=(-3000,-1000), ylim=(0,1000), zlim=(-80,0), phase=LithosphericPhases(Layers=[20,60], Phases=[1,2]))
add_box!(model, xlim=(-3000,-1000), ylim=(0,1000), zlim=(-80,0), phase=LithosphericPhases(Layers=[20,60], Phases=[1,2]))

# The inclined part of the slab is generate by giving it a dip:
AddBox!(model, xlim=(-1000,-810), ylim=(0,1000), zlim=(-80,0), phase=LithosphericPhases(Layers=[20,60], Phases=[1,2]), DipAngle=16)
add_box!(model, xlim=(-1000,-810), ylim=(0,1000), zlim=(-80,0), phase=LithosphericPhases(Layers=[20,60], Phases=[1,2]), DipAngle=16)

# There is a simple way to have a quick look at this setup by using the `Plots.jl` package:
using Plots
Expand Down
10 changes: 5 additions & 5 deletions scripts/TM_Subduction_example.jl
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ model.Grid.Temp[model.Grid.Grid.Z .> 0] .= Tair;
model.Grid.Phases[model.Grid.Grid.Z .> 0.0 ] .= 5;

# Left ocanic plate:
addBox!(model; xlim = (-2000.0, 0.0),
add_box!(model; xlim = (-2000.0, 0.0),
ylim = (model.Grid.coord_y...,),
zlim = (-660.0, 0.0),
Origin = nothing, StrikeAngle=0, DipAngle=0,
Expand All @@ -74,7 +74,7 @@ addBox!(model; xlim = (-2000.0, 0.0),
AgeRidge = 0.01;
maxAge = 80.0 ) )
# Add right oceanic plate:
addBox!(model; xlim = (1500, 2000),
add_box!(model; xlim = (1500, 2000),
ylim = (model.Grid.coord_y..., ),
zlim = (-660.0, 0.0),
Origin = nothing, StrikeAngle=0, DipAngle=0,
Expand All @@ -87,7 +87,7 @@ addBox!(model; xlim = (1500, 2000),
maxAge = 80.0 ) )

# Add overriding plate margin
addBox!(model; xlim = (0.0, 400.0),
add_box!(model; xlim = (0.0, 400.0),
ylim = (model.Grid.coord_y[1], model.Grid.coord_y[2]),
zlim = (-660.0, 0.0),
Origin = nothing, StrikeAngle=0, DipAngle=0,
Expand All @@ -98,7 +98,7 @@ addBox!(model; xlim = (0.0, 400.0),


# Overriding plate craton
addBox!(model; xlim = (400.0, 1500.0),
add_box!(model; xlim = (400.0, 1500.0),
ylim = (model.Grid.coord_y...,),
zlim = (-660.0, 0.0),
Origin = nothing, StrikeAngle=0, DipAngle=0,
Expand All @@ -107,7 +107,7 @@ addBox!(model; xlim = (400.0, 1500.0),
Tmantle = Tmantle,
Age = 120 ) )
# Add pre-subducted slab
addBox!(model; xlim = (0.0, 300),
add_box!(model; xlim = (0.0, 300),
ylim = (model.Grid.coord_y...,),
zlim = (-660.0, 0.0),
Origin = nothing, StrikeAngle=0, DipAngle=30,
Expand Down
2 changes: 1 addition & 1 deletion src/IO_functions.jl
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ module IO_functions
# this contains I/O routines of LaMEM, which don't require LaMEM_jll

include("read_timestep.jl")
export Read_LaMEM_PVTR_File, Read_LaMEM_PVTS_File, field_names, readPVD, Read_LaMEM_PVTU_File
export read_LaMEM_PVTR_file, read_LaMEM_PVTS_file, field_names, readPVD, read_LaMEM_PVTU_file


include("utils_IO.jl")
Expand Down
12 changes: 6 additions & 6 deletions src/LaMEM.jl
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ export NO_units, GEO_units, SI_units, km, m, Pa, Pas, kg, cm, yr
# Functions to read LaMEM output
include("IO_functions.jl")
using .IO_functions
export Read_LaMEM_PVTR_File, Read_LaMEM_PVTS_File, Read_LaMEM_PVTU_File
export Read_LaMEM_simulation, Read_LaMEM_timestep, Read_LaMEM_fieldnames
export PassiveTracer_Time
export read_LaMEM_PVTR_file, read_LaMEM_PVTS_file, read_LaMEM_PVTU_file
export read_LaMEM_simulation, read_LaMEM_timestep, read_LaMEM_fieldnames
export passivetracer_time
export clean_directory, changefolder, read_phase_diagram, read_LaMEM_logfile
export compress_vtr_file, compress_pvd

Expand All @@ -25,17 +25,17 @@ include("DocUtils.jl")
# Functions that help running LaMEM directly from julia
include("LaMEM_ModelGeneration/LaMEM_Model.jl")
using .LaMEM_Model
export LaMEM_Model, Model, Write_LaMEM_InputFile, create_initialsetup,
export LaMEM_Model, Model, write_LaMEM_inputFile, create_initialsetup,
Scaling, Grid, Time, FreeSurface, BoundaryConditions, VelocityBox, BCBlock, VelCylinder, SolutionParams,
Solver, ModelSetup,
geom_Sphere, geom_Ellipsoid, geom_Box, geom_RidgeSeg, geom_Hex, geom_Layer, geom_Cylinder,
GeomSphere, GeomEllipsoid, GeomBox, GeomRidgeSeg, GeomHex, GeomLayer, GeomCylinder,
Output,
Multigrid, print_short,
Materials, Phase, Softening, PhaseTransition, PhaseAggregate, Dike, PassiveTracers,
add_vbox!, rm_vbox!, rm_last_vbox!,
add_phase!, rm_phase!, rm_last_phase!, replace_phase!, add_petsc!, add_softening!, add_phaseaggregate!,
add_phasetransition!, add_dike!, add_geom!, rm_geom!, set_air, copy_phase,
add_topography!, aboveSurface!, belowSurface!,
add_topography!, above_surface!, below_surface!,
prepare_lamem, isdefault, hasplasticity,
add_geoparams_rheologies,
stress_strainrate_0D
Expand Down
Loading
Loading