Closed boriskaus closed 1 year ago
This allows creating LaMEM setups directly from Julia, rather than using an existing *.dat file. It also allows developing (and plotting) LaMEM setups from Pluto notebooks.
*.dat
You start with creating a basic model setup:
julia> model = Model(Grid(nel=(16,16,16), x=[-1,1], y=[-1,1], z=[-1,1])) LaMEM Model setup | |-- Scaling : GeoParams.Units.GeoUnits{GEO} |-- Grid : nel=(16, 16, 16); xϵ(-1.0, 1.0), yϵ(-1.0, 1.0), zϵ(-1.0, 1.0) |-- Time : nstep_max=50; nstep_out=1; time_end=1.0; dt=0.05 |-- Boundary conditions : noslip=[0, 0, 0, 0, 0, 0] |-- Solution parameters : eta_min=1.0e18; eta_max=1.0e25; eta_ref=1.0e20; act_temp_diff=0 |-- Solver options : direct solver; superlu_dist; penalty term=10000.0 |-- Model setup options : Type=files; |-- Output options : filename=output; pvd=1; avd=0; surf=0 |-- Materials : 0 phases;
Add materials to the setup:
julia> matrix = Phase(ID=0,Name="matrix",eta=1e20,rho=3000); julia> sphere = Phase(ID=1,Name="sphere",eta=1e23,rho=3200) Phase 1 (sphere): rho = 3200.0 eta = 1.0e23 julia> add_phase!(model, sphere, matrix)
Create an initial geometry using the GeophysicalModelGenerator interface:
julia> AddSphere!(model,cen=(0.0,0.0,0.0), radius=(0.5, ))
and run the simulation in parallel:
julia> run_lamem(model,2) Saved file: Model3D.vts Writing LaMEM marker file -> ./markers/mdb.00000000.dat -------------------------------------------------------------------------- Lithosphere and Mantle Evolution Model Compiled: Date: Apr 7 2023 - Time: 22:11:23 Version : 1.2.4 -------------------------------------------------------------------------- STAGGERED-GRID FINITE DIFFERENCE CANONICAL IMPLEMENTATION -------------------------------------------------------------------------- Parsing input file : output.dat Finished parsing input file : output.dat -------------------------------------------------------------------------- Scaling parameters: Temperature : 1000. [C/K] Length : 1e+06 [m] Viscosity : 1e+20 [Pa*s] Stress : 10. [Pa] -------------------------------------------------------------------------- Time stepping parameters: Simulation end time : 100. [Myr] Maximum number of steps : 20 Time step : 1. [Myr] Minimum time step : 0.001 [Myr] Maximum time step : 10. [Myr] Time step increase factor : 0.1 CFL criterion : 0.5 CFLMAX (fixed time steps) : 0.8 Output every [n] steps : 1 Output [n] initial steps : 1
You can do the same using Pluto notebooks. See the examples and help for more info.
This allows creating LaMEM setups directly from Julia, rather than using an existing
*.dat
file. It also allows developing (and plotting) LaMEM setups from Pluto notebooks.You start with creating a basic model setup:
Add materials to the setup:
Create an initial geometry using the GeophysicalModelGenerator interface:
and run the simulation in parallel:
You can do the same using Pluto notebooks. See the examples and help for more info.