Skip to content

Commit

Permalink
Merge pull request #38 from SeisSol/thomas/update_frontera
Browse files Browse the repository at this point in the history
tpv13-> Lua, update frontera.md, update seissol version, dunavant
  • Loading branch information
Thomas-Ulrich authored Apr 30, 2024
2 parents ca75890 + 82d025f commit 2e9c268
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 30 deletions.
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -99,11 +99,11 @@ RUN git clone https://github.com/SeisSol/easi \

RUN pip install numpy && docker-clean

RUN git clone --recursive --depth 1 --single-branch --branch v1.0.1 https://github.com/SeisSol/SeisSol.git \
RUN git clone --recursive --depth 1 --single-branch --branch v1.1.3 https://github.com/SeisSol/SeisSol.git \
&& cd SeisSol \
&& mkdir build_hsw && cd build_hsw \
&& export PATH=$PATH:/home/tools/bin \
&& CC=mpicc CXX=mpicxx cmake .. -DCMAKE_PREFIX_PATH=/home/tools -DGEMM_TOOLS_LIST=LIBXSMM -DHOST_ARCH=hsw -DASAGI=on -DNETCDF=on -DORDER=4 -DCMAKE_Fortran_FLAGS="-ffast-math -funsafe-math-optimizations" \
&& CC=mpicc CXX=mpicxx cmake .. -DCMAKE_PREFIX_PATH=/home/tools -DGEMM_TOOLS_LIST=LIBXSMM -DHOST_ARCH=hsw -DASAGI=on -DNETCDF=on -DORDER=4 -DDR_QUAD_RULE_OPTIONS=dunavant \
&& make -j$(nproc) \
&& cmake .. -DEQUATIONS=viscoelastic2 -DNUMBER_OF_MECHANISMS=3 \
&& make -j$(nproc) \
Expand Down
18 changes: 12 additions & 6 deletions frontera.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@

## Setup
Copy `singularity.def` to your home directory on frontera.

Then get an interactive session on a compute node. For example for a 30 min session:
```
idev -m 30 -N 1 --tasks-per-node 2 -p development
```

Then execute:

```
Expand All @@ -23,7 +29,7 @@ To run the TPV13 scenario, you should:
cd seissol-training/tpv13
mpirun singularity run ~/my-training.sif gmsh -3 tpv13_training.geo
mpirun singularity run ~/my-training.sif pumgen -s msh2 tpv13_training.msh
OMP_NUM_THREADS=56 mpirun singularity run ~/my-training.sif seissol parameters.par
OMP_NUM_THREADS=28 mpirun -n 2 singularity run ~/my-training.sif seissol parameters.par
```

## Expected runtimes
Expand All @@ -32,13 +38,13 @@ On one node of Frontera:

Scenario | runtime
------------------------|---------
Kaikoura LSW | 15 min
Kaikoura RS | 11 min
Kaikoura LSW | 9 min
Kaikoura RS | 7 min
Northridge elastic | 3 min
Northridge viscoelastic | 5 min
Sulawesi LSW | 13 min
Sulawesi RS | 16 min
TPV13 | 1 min
Sulawesi LSW | 6 min
Sulawesi RS | 6 min
TPV13 | 12 s

## Visualization

Expand Down
44 changes: 22 additions & 22 deletions tpv13/tpv12_13_initial_stress.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,25 +4,25 @@
s_xy: 0
s_yz: 0
s_xz: 0
[s_xx, s_yy, s_zz]: !FunctionMap
map:
depth: return abs(z);
s_max_minus_Pf: return 9.8 * (2700.0 - 1000.0);
components:
# Upper region (includes fault)
- !AxisAlignedCuboidalDomainFilter
limits:
depth: [0, 11951.15]
s_max_minus_Pf: [-.inf, .inf]
components: !FunctionMap
map:
# Round to two significant digits as in benchmark description
s_xx: return -0.01 * round(100.0 * (0.5 * (1.0 + 0.3496) * s_max_minus_Pf)) * depth;
s_yy: return -0.01 * round(100.0 * (0.3496 * s_max_minus_Pf)) * depth;
s_zz: return -s_max_minus_Pf * depth;
# Lower region (excludes fault)
- !FunctionMap
map:
s_xx: return -s_max_minus_Pf * depth;
s_yy: return -s_max_minus_Pf * depth;
s_zz: return -s_max_minus_Pf * depth;
[s_xx, s_yy, s_zz]: !LuaMap
returns: [s_xx, s_yy, s_zz]
function: |
function f (x)
depth = math.abs(x["z"])
s_max_minus_Pf = 9.8 * (2700.0 - 1000.0);
if (depth<=11951.15) then
-- math.floor(a+0.5) is round
s_xx = -0.01 * math.floor(100.0 * (0.5 * (1.0 + 0.3496) * s_max_minus_Pf) + 0.5) * depth
s_yy = -0.01 * math.floor(100.0 * (0.3496 * s_max_minus_Pf) + 0.5) * depth
s_zz = -s_max_minus_Pf * depth
else
s_xx = -s_max_minus_Pf * depth
s_yy = s_xx
s_zz = s_xx
end
return {
s_xx = s_xx,
s_yy = s_yy,
s_zz = s_zz,
}
end

0 comments on commit 2e9c268

Please sign in to comment.