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

Bounds-preserving time integration #48

Merged
merged 39 commits into from
Dec 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
bcbc021
run lines.
vladotomov Nov 8, 2024
2580131
Make style.
najlkin Nov 15, 2024
71e31a9
Turned off hard clipping properly.
najlkin Nov 15, 2024
a47b017
Fixed new min/max calculation.
najlkin Nov 15, 2024
50171f0
Added RK2 IDP mockup.
najlkin Nov 15, 2024
ec14c9d
Separated IDP solvers from remhos.cpp.
najlkin Nov 15, 2024
3bd9e02
Fixed time update in RK2.
najlkin Nov 15, 2024
8836ce9
Added IDPODESolver and LimitedTimeDependentOperator.
najlkin Nov 15, 2024
afdc740
Cleaned access to blocks.
najlkin Nov 15, 2024
ac929b4
Moved setting of time step to LimitedTimeDependentOperator.
najlkin Nov 15, 2024
d6aef34
Added .gitignore.
najlkin Nov 15, 2024
938c58c
Split AdvectionOperator::Mult(). Limiting does not work atm.
najlkin Nov 15, 2024
92c599a
Added forward Euler.
najlkin Nov 15, 2024
df2bb5a
Fixed time step setting for FCT and LO solvers.
najlkin Nov 15, 2024
84074c0
Fixed the debugging output.
najlkin Nov 15, 2024
0ac5b94
Added masking of inactive DOFs. RK2 works now.
najlkin Nov 18, 2024
9fb62bc
Added arbitrary order RK IDP solver and changed RK2 to it.
najlkin Nov 18, 2024
7340dc7
Added RK3 and equidistant RK4.
najlkin Nov 18, 2024
fe5078d
Added support for equal time levels in RK schemes. Changed RK3 to the…
najlkin Nov 18, 2024
c02ce40
Fixed dt type to real_t.
najlkin Nov 19, 2024
054a198
Fixed adaptive time step for IDP RK methods. Allows also prolongation…
najlkin Nov 19, 2024
2a96acf
Fixed RK6 and other solvers with repeating time levels.
najlkin Nov 20, 2024
fb17293
Minor comments.
najlkin Nov 20, 2024
15d6156
minor
vladotomov Nov 25, 2024
9d24077
attempt to fix autotest
vladotomov Nov 25, 2024
37b9ce2
Fixed typo.
najlkin Nov 25, 2024
6c33340
Restored the options for the old time integrators, added some comments.
vladotomov Dec 5, 2024
4803c5b
Fixed the final mesh position in remap.
najlkin Dec 9, 2024
4782956
Improved the verify_bounds options, added additional checks.
vladotomov Dec 18, 2024
e7a7310
Option to use boolean masks or not.
vladotomov Dec 18, 2024
1b148ee
comments and other minor.
vladotomov Dec 18, 2024
0ae34d3
updated the autotest
vladotomov Dec 19, 2024
2d67a96
less sensitivity to small numbers in autotest
vladotomov Dec 19, 2024
3f49ec7
forgot to update .dat
vladotomov Dec 19, 2024
5297ef1
update workflow versions
vladotomov Dec 19, 2024
698113d
reversing workflow runnner image
vladotomov Dec 20, 2024
6a6ee57
build library only in workflows
vladotomov Dec 20, 2024
5180847
minor
vladotomov Dec 20, 2024
37692f9
minor
vladotomov Dec 20, 2024
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
11 changes: 6 additions & 5 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ env:

jobs:
build-and-test:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04

steps:
# Checkout Remhos in "remhos" subdirectory. Final path: /home/runner/work/remhos/remhos/remhos
Expand All @@ -35,7 +35,7 @@ jobs:
# Install will only run on cache miss.
- name: cache hypre
id: hypre-cache
uses: actions/cache@v2
uses: actions/cache@v4
with:
path: ${{ env.HYPRE_TOP_DIR }}
key: ${{ runner.os }}-build-${{ env.HYPRE_TOP_DIR }}-v2
Expand All @@ -51,7 +51,7 @@ jobs:
# Install will only run on cache miss.
- name: cache metis
id: metis-cache
uses: actions/cache@v2
uses: actions/cache@v4
with:
path: ${{ env.METIS_TOP_DIR }}
key: ${{ runner.os }}-build-${{ env.METIS_TOP_DIR }}-v2
Expand Down Expand Up @@ -80,7 +80,7 @@ jobs:
# Install will only run on cache miss.
- name: cache mfem
id: mfem-cache
uses: actions/cache@v2
uses: actions/cache@v4
with:
path: ${{ env.MFEM_TOP_DIR }}
key: ${{ runner.os }}-build-${{ env.MFEM_TOP_DIR }}-${{ env.MFEM_COMMIT }}-v3
Expand All @@ -94,6 +94,7 @@ jobs:
metis-dir: ${{ env.METIS_TOP_DIR }}
mfem-dir: ${{ env.MFEM_TOP_DIR }}
mfem-branch: ${{ env.MFEM_BRANCH }}
library-only: 'true'

- name: build Remhos
run: |
Expand All @@ -115,7 +116,7 @@ jobs:

- name: Archive test results patch
if: always()
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: baseline-patch
path: remhos/baseline.patch
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
*.o
remhos
*.mesh
*.gf
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,7 @@ Alternatively, verify the final mass (`mass`) and maximum value (`max`) for the
7. `mpirun -np 8 remhos -m ./data/periodic-cube.mesh -p 0 -rs 1 -o 2 -dt 0.014 -tf 8 -ho 1 -lo 4 -fct 2`
8. `mpirun -np 8 remhos -m ../mfem/data/ball-nurbs.mesh -p 1 -rs 1 -dt 0.02 -tf 3 -ho 1 -lo 4 -fct 2`
9. `mpirun -np 8 remhos -m ./data/inline-quad.mesh -p 14 -rs 1 -dt 0.001 -tf 0.75 -ho 1 -lo 4 -fct 2`
10. `mpirun -np 8 remhos -m ./data/inline-quad.mesh -p 14 -rs 2 -dt 0.005 -tf 0.75 -ho 3 -lo 1 -fct 1 -ps`
10. `mpirun -np 8 remhos -m ./data/inline-quad.mesh -p 14 -rs 3 -dt 0.005 -tf 0.75 -ho 1 -lo 5 -fct 4 -ps -s 13`
11. `mpirun -np 8 remhos -m ./data/cube01_hex.mesh -p 10 -rs 1 -o 2 -dt 0.02 -tf 0.8 -ho 1 -lo 4 -fct 2`
12. `mpirun -np 8 remhos -m ./data/inline-quad.mesh -p 7 -rs 3 -o 1 -dt 0.01 -tf 20 -mono 1 -si 2`
13. `mpirun -np 8 remhos -m ./data/inline-quad.mesh -p 6 -rs 2 -o 1 -dt 0.01 -tf 20 -mono 1 -si 1`
Expand All @@ -250,7 +250,7 @@ Alternatively, verify the final mass (`mass`) and maximum value (`max`) for the
| 7. | 0.9607429525 | 0.7678305756 |
| 8. | 0.8087104604 | 0.9999889315 |
| 9. | 0.08479546709| 0.8156091428 |
| 10. | 0.08980397023| 0.9886734209 |
| 10. | 0.09317738757| 0.9994170644 |
| 11. | 0.1197294512 | 0.9990312449 |
| 12. | 0.1570667907 | 0.9987771164 |
| 13. | 0.3182739921 | 1 |
Expand Down
104 changes: 54 additions & 50 deletions autotest/out_baseline.dat
Original file line number Diff line number Diff line change
Expand Up @@ -2,215 +2,219 @@
--- Method -ho 1 -lo 2 -fct 2

- Remap pacman nonper-struct-2D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/inline-quad.mesh -p 14 -rs 1 -dt 0.0015 -tf 0.75 -ho 1 -lo 2 -fct 2
mpirun -np 2 ./remhos -no-vis -m ./data/inline-quad.mesh -p 14 -rs 1 -dt 0.0015 -tf 0.75 -ho 1 -lo 2 -fct 2
Final mass u: 0.08479546635
Max value u: 0.8262759545

- Remap bump nonper-struct-3D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/cube01_hex.mesh -p 10 -rs 1 -o 2 -dt 0.02 -tf 0.7 -ho 1 -lo 2 -fct 2
mpirun -np 2 ./remhos -no-vis -m ./data/cube01_hex.mesh -p 10 -rs 1 -o 2 -dt 0.02 -tf 0.7 -ho 1 -lo 2 -fct 2
Final mass u: 0.1197299711
Max value u: 0.9998930413

- Transport per-1D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/periodic-segment.mesh -p 0 -rs 3 -dt 0.001 -tf 1 -ho 1 -lo 2 -fct 2
mpirun -np 2 ./remhos -no-vis -m ./data/periodic-segment.mesh -p 0 -rs 3 -dt 0.001 -tf 1 -ho 1 -lo 2 -fct 2
Final mass u: 0.1401241455
Max value u: 0.9052498201

- Transport bump per-unstruct-2D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/periodic-hexagon.mesh -p 0 -rs 2 -dt 0.005 -tf 2.5 -ho 1 -lo 2 -fct 2
mpirun -np 2 ./remhos -no-vis -m ./data/periodic-hexagon.mesh -p 0 -rs 2 -dt 0.005 -tf 2.5 -ho 1 -lo 2 -fct 2
Final mass u: 0.3888354875
Max value u: 0.9854644631

- Transport balls-jacks per-struct-2D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/periodic-square.mesh -p 5 -rs 3 -dt 0.004 -tf 0.8 -ho 1 -lo 2 -fct 2
mpirun -np 2 ./remhos -no-vis -m ./data/periodic-square.mesh -p 5 -rs 3 -dt 0.004 -tf 0.8 -ho 1 -lo 2 -fct 2
Final mass u: 0.1623263888
Max value u: 0.7742737139

- Transport bump per-struct-3D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/periodic-cube.mesh -p 0 -rs 1 -o 2 -dt 0.015 -tf 2 -ho 1 -lo 2 -fct 2
mpirun -np 2 ./remhos -no-vis -m ./data/periodic-cube.mesh -p 0 -rs 1 -o 2 -dt 0.015 -tf 2 -ho 1 -lo 2 -fct 2
Final mass u: 0.9607429525
Max value u: 0.9724537077

- Transport bump nonper-unstruct-3D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ../mfem/data/ball-nurbs.mesh -p 1 -rs 1 -dt 0.035 -tf 3 -ho 1 -lo 2 -fct 2
mpirun -np 2 ./remhos -no-vis -m ../mfem/data/ball-nurbs.mesh -p 1 -rs 1 -dt 0.035 -tf 3 -ho 1 -lo 2 -fct 2
Final mass u: 0.8075105661
Max value u: 0.9999889304

--- Method -ho 3 -lo 4 -fct 2

- Remap pacman nonper-struct-2D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/inline-quad.mesh -p 14 -rs 1 -dt 0.0015 -tf 0.75 -ho 3 -lo 4 -fct 2
mpirun -np 2 ./remhos -no-vis -m ./data/inline-quad.mesh -p 14 -rs 1 -dt 0.0015 -tf 0.75 -ho 3 -lo 4 -fct 2
Final mass u: 0.0847954729
Max value u: 0.7581364675

- Remap bump nonper-struct-3D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/cube01_hex.mesh -p 10 -rs 1 -o 2 -dt 0.02 -tf 0.7 -ho 3 -lo 4 -fct 2
mpirun -np 2 ./remhos -no-vis -m ./data/cube01_hex.mesh -p 10 -rs 1 -o 2 -dt 0.02 -tf 0.7 -ho 3 -lo 4 -fct 2
Final mass u: 0.1197299801
Max value u: 0.9997499683

- Transport per-1D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/periodic-segment.mesh -p 0 -rs 3 -dt 0.001 -tf 1 -ho 3 -lo 4 -fct 2
mpirun -np 2 ./remhos -no-vis -m ./data/periodic-segment.mesh -p 0 -rs 3 -dt 0.001 -tf 1 -ho 3 -lo 4 -fct 2
Final mass u: 0.1401241455
Max value u: 0.9039764015

- Transport bump per-unstruct-2D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/periodic-hexagon.mesh -p 0 -rs 2 -dt 0.005 -tf 2.5 -ho 3 -lo 4 -fct 2
mpirun -np 2 ./remhos -no-vis -m ./data/periodic-hexagon.mesh -p 0 -rs 2 -dt 0.005 -tf 2.5 -ho 3 -lo 4 -fct 2
Final mass u: 0.3888354875
Max value u: 0.9850024108

- Transport balls-jacks per-struct-2D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/periodic-square.mesh -p 5 -rs 3 -dt 0.004 -tf 0.8 -ho 3 -lo 4 -fct 2
mpirun -np 2 ./remhos -no-vis -m ./data/periodic-square.mesh -p 5 -rs 3 -dt 0.004 -tf 0.8 -ho 3 -lo 4 -fct 2
Final mass u: 0.1623263888
Max value u: 0.7145371968

- Transport bump per-struct-3D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/periodic-cube.mesh -p 0 -rs 1 -o 2 -dt 0.015 -tf 2 -ho 3 -lo 4 -fct 2
mpirun -np 2 ./remhos -no-vis -m ./data/periodic-cube.mesh -p 0 -rs 1 -o 2 -dt 0.015 -tf 2 -ho 3 -lo 4 -fct 2
Final mass u: 0.9607429525
Max value u: 0.9334903111

- Transport bump nonper-unstruct-3D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ../mfem/data/ball-nurbs.mesh -p 1 -rs 1 -dt 0.035 -tf 3 -ho 3 -lo 4 -fct 2
mpirun -np 2 ./remhos -no-vis -m ../mfem/data/ball-nurbs.mesh -p 1 -rs 1 -dt 0.035 -tf 3 -ho 3 -lo 4 -fct 2
Final mass u: 0.814998186
Max value u: 0.9999889315

--- Method -ho 2 -lo 3 -fct 2 -pa

- Remap pacman nonper-struct-2D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/inline-quad.mesh -p 14 -rs 1 -dt 0.0015 -tf 0.75 -ho 2 -lo 3 -fct 2 -pa
mpirun -np 2 ./remhos -no-vis -m ./data/inline-quad.mesh -p 14 -rs 1 -dt 0.0015 -tf 0.75 -ho 2 -lo 3 -fct 2 -pa
Final mass u: 0.08479546775
Max value u: 0.7779015453

- Remap bump nonper-struct-3D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/cube01_hex.mesh -p 10 -rs 1 -o 2 -dt 0.02 -tf 0.7 -ho 2 -lo 3 -fct 2 -pa
mpirun -np 2 ./remhos -no-vis -m ./data/cube01_hex.mesh -p 10 -rs 1 -o 2 -dt 0.02 -tf 0.7 -ho 2 -lo 3 -fct 2 -pa
Final mass u: 0.1197300033
Max value u: 0.9997879406

- Transport per-1D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/periodic-segment.mesh -p 0 -rs 3 -dt 0.001 -tf 1 -ho 2 -lo 3 -fct 2 -pa
mpirun -np 2 ./remhos -no-vis -m ./data/periodic-segment.mesh -p 0 -rs 3 -dt 0.001 -tf 1 -ho 2 -lo 3 -fct 2 -pa
Final mass u: 0.1401241455
Max value u: 0.8781060808

- Transport bump per-unstruct-2D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/periodic-hexagon.mesh -p 0 -rs 2 -dt 0.005 -tf 2.5 -ho 2 -lo 3 -fct 2 -pa
mpirun -np 2 ./remhos -no-vis -m ./data/periodic-hexagon.mesh -p 0 -rs 2 -dt 0.005 -tf 2.5 -ho 2 -lo 3 -fct 2 -pa
Final mass u: 0.3888354875
Max value u: 0.9755502191

- Transport balls-jacks per-struct-2D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/periodic-square.mesh -p 5 -rs 3 -dt 0.004 -tf 0.8 -ho 2 -lo 3 -fct 2 -pa
mpirun -np 2 ./remhos -no-vis -m ./data/periodic-square.mesh -p 5 -rs 3 -dt 0.004 -tf 0.8 -ho 2 -lo 3 -fct 2 -pa
Final mass u: 0.1623263888
Max value u: 0.6374820899

- Transport bump per-struct-3D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/periodic-cube.mesh -p 0 -rs 1 -o 2 -dt 0.015 -tf 2 -ho 2 -lo 3 -fct 2 -pa
mpirun -np 2 ./remhos -no-vis -m ./data/periodic-cube.mesh -p 0 -rs 1 -o 2 -dt 0.015 -tf 2 -ho 2 -lo 3 -fct 2 -pa
Final mass u: 0.9607429525
Max value u: 0.9202929163

- Transport bump nonper-unstruct-3D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ../mfem/data/ball-nurbs.mesh -p 1 -rs 1 -dt 0.035 -tf 3 -ho 2 -lo 3 -fct 2 -pa
mpirun -np 2 ./remhos -no-vis -m ../mfem/data/ball-nurbs.mesh -p 1 -rs 1 -dt 0.035 -tf 3 -ho 2 -lo 3 -fct 2 -pa
Final mass u: 0.7772459527
Max value u: 0.9999889307

--- Method -ho 2 -lo 4 -fct 2 -pa

- Remap pacman nonper-struct-2D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/inline-quad.mesh -p 14 -rs 1 -dt 0.0015 -tf 0.75 -ho 2 -lo 4 -fct 2 -pa
mpirun -np 2 ./remhos -no-vis -m ./data/inline-quad.mesh -p 14 -rs 1 -dt 0.0015 -tf 0.75 -ho 2 -lo 4 -fct 2 -pa
Final mass u: 0.0847954729
Max value u: 0.7581364676

- Remap bump nonper-struct-3D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/cube01_hex.mesh -p 10 -rs 1 -o 2 -dt 0.02 -tf 0.7 -ho 2 -lo 4 -fct 2 -pa
mpirun -np 2 ./remhos -no-vis -m ./data/cube01_hex.mesh -p 10 -rs 1 -o 2 -dt 0.02 -tf 0.7 -ho 2 -lo 4 -fct 2 -pa
Final mass u: 0.1197299801
Max value u: 0.9997499683

- Transport per-1D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/periodic-segment.mesh -p 0 -rs 3 -dt 0.001 -tf 1 -ho 2 -lo 4 -fct 2 -pa
mpirun -np 2 ./remhos -no-vis -m ./data/periodic-segment.mesh -p 0 -rs 3 -dt 0.001 -tf 1 -ho 2 -lo 4 -fct 2 -pa
Final mass u: 0.1401241455
Max value u: 0.9039764015

- Transport bump per-unstruct-2D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/periodic-hexagon.mesh -p 0 -rs 2 -dt 0.005 -tf 2.5 -ho 2 -lo 4 -fct 2 -pa
mpirun -np 2 ./remhos -no-vis -m ./data/periodic-hexagon.mesh -p 0 -rs 2 -dt 0.005 -tf 2.5 -ho 2 -lo 4 -fct 2 -pa
Final mass u: 0.3888354875
Max value u: 0.9850024108

- Transport balls-jacks per-struct-2D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/periodic-square.mesh -p 5 -rs 3 -dt 0.004 -tf 0.8 -ho 2 -lo 4 -fct 2 -pa
mpirun -np 2 ./remhos -no-vis -m ./data/periodic-square.mesh -p 5 -rs 3 -dt 0.004 -tf 0.8 -ho 2 -lo 4 -fct 2 -pa
Final mass u: 0.1623263888
Max value u: 0.7145371968

- Transport bump per-struct-3D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/periodic-cube.mesh -p 0 -rs 1 -o 2 -dt 0.015 -tf 2 -ho 2 -lo 4 -fct 2 -pa
mpirun -np 2 ./remhos -no-vis -m ./data/periodic-cube.mesh -p 0 -rs 1 -o 2 -dt 0.015 -tf 2 -ho 2 -lo 4 -fct 2 -pa
Final mass u: 0.9607429525
Max value u: 0.9334903111

- Transport bump nonper-unstruct-3D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ../mfem/data/ball-nurbs.mesh -p 1 -rs 1 -dt 0.035 -tf 3 -ho 2 -lo 4 -fct 2 -pa
mpirun -np 2 ./remhos -no-vis -m ../mfem/data/ball-nurbs.mesh -p 1 -rs 1 -dt 0.035 -tf 3 -ho 2 -lo 4 -fct 2 -pa
Final mass u: 0.7779917929
Max value u: 0.9999889315

--- Method -ho 3 -lo 1 -fct 1

- Remap pacman nonper-struct-2D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/inline-quad.mesh -p 14 -rs 1 -dt 0.0015 -tf 0.75 -ho 3 -lo 1 -fct 1
mpirun -np 2 ./remhos -no-vis -m ./data/inline-quad.mesh -p 14 -rs 1 -dt 0.0015 -tf 0.75 -ho 3 -lo 1 -fct 1
Final mass u: 0.08479546845
Max value u: 0.905654904

- Remap bump nonper-struct-3D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/cube01_hex.mesh -p 10 -rs 1 -o 2 -dt 0.02 -tf 0.7 -ho 3 -lo 1 -fct 1
mpirun -np 2 ./remhos -no-vis -m ./data/cube01_hex.mesh -p 10 -rs 1 -o 2 -dt 0.02 -tf 0.7 -ho 3 -lo 1 -fct 1
Final mass u: 0.11972981
Max value u: 0.996173945

- Transport per-1D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/periodic-segment.mesh -p 0 -rs 3 -dt 0.001 -tf 1 -ho 3 -lo 1 -fct 1
mpirun -np 2 ./remhos -no-vis -m ./data/periodic-segment.mesh -p 0 -rs 3 -dt 0.001 -tf 1 -ho 3 -lo 1 -fct 1
Final mass u: 0.1401241455
Max value u: 0.9071157249

- Transport bump per-unstruct-2D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/periodic-hexagon.mesh -p 0 -rs 2 -dt 0.005 -tf 2.5 -ho 3 -lo 1 -fct 1
mpirun -np 2 ./remhos -no-vis -m ./data/periodic-hexagon.mesh -p 0 -rs 2 -dt 0.005 -tf 2.5 -ho 3 -lo 1 -fct 1
Final mass u: 0.3888354875
Max value u: 0.9979069772

- Transport balls-jacks per-struct-2D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/periodic-square.mesh -p 5 -rs 3 -dt 0.004 -tf 0.8 -ho 3 -lo 1 -fct 1
mpirun -np 2 ./remhos -no-vis -m ./data/periodic-square.mesh -p 5 -rs 3 -dt 0.004 -tf 0.8 -ho 3 -lo 1 -fct 1
Final mass u: 0.1623263888
Max value u: 0.787875182

- Transport bump per-struct-3D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/periodic-cube.mesh -p 0 -rs 1 -o 2 -dt 0.015 -tf 2 -ho 3 -lo 1 -fct 1
mpirun -np 2 ./remhos -no-vis -m ./data/periodic-cube.mesh -p 0 -rs 1 -o 2 -dt 0.015 -tf 2 -ho 3 -lo 1 -fct 1
Final mass u: 0.9607429525
Max value u: 0.9984668427

- Transport bump nonper-unstruct-3D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ../mfem/data/ball-nurbs.mesh -p 1 -rs 1 -dt 0.035 -tf 3 -ho 3 -lo 1 -fct 1
mpirun -np 2 ./remhos -no-vis -m ../mfem/data/ball-nurbs.mesh -p 1 -rs 1 -dt 0.035 -tf 3 -ho 3 -lo 1 -fct 1
Final mass u: 0.8143001155
Max value u: 0.9995762608

--- Product remap 2D (FCT)
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/inline-quad.mesh -p 14 -rs 2 -dt 0.005 -tf 0.75 -ho 3 -lo 1 -fct 1 -ps
Final mass us: 0.1796082878
Mass loss us: 4.15262e-07
mpirun -np 2 ./remhos -no-vis -m ./data/inline-quad.mesh -p 14 -rs 2 -dt 0.005 -tf 0.75 -ho 3 -lo 1 -fct 1 -ps -s 1
Final mass us: 0.1815368098
Mass loss us: 0.00192894

--- Product remap 2D (ClipScale)
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/inline-quad.mesh -p 14 -rs 2 -dt 0.005 -tf 0.75 -ho 3 -lo 1 -fct 2 -ps -s 1
Final mass us: 0.1814773886
Mass loss us: 0.00186952
--- Product remap 2D IDP2 (ClipScale)
mpirun -np 2 ./remhos -no-vis -m ./data/inline-quad.mesh -p 14 -rs 2 -dt 0.005 -tf 0.75 -ho 1 -lo 5 -fct 2 -ps -s 12
Final mass us: 0.1796076412
Mass loss us: 2.31348e-07

--- Product remap 2D (FCTProject)
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/inline-quad.mesh -p 14 -rs 2 -dt 0.005 -tf 0.75 -ho 3 -lo 1 -fct 4 -ps -s 1
Final mass us: 0.1814920761
Mass loss us: 0.0018842
--- Product remap 2D IDP3 (FCTProject)
mpirun -np 2 ./remhos -no-vis -m ./data/inline-quad.mesh -p 14 -rs 2 -dt 0.005 -tf 0.75 -ho 3 -lo 5 -fct 4 -ps -s 13
Final mass u: 0.08980386855
Final mass us: 0.179607829

--- BLAST sharpening test - Pacman remap auto-dt
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/inline-quad.mesh -p 14 -rs 1 -dt -1 -tf 0.75 -ho 3 -lo 5 -fct 4 -bt 1 -dtc 1
mpirun -np 2 ./remhos -no-vis -m ./data/inline-quad.mesh -p 14 -rs 1 -dt -1 -tf 0.75 -ho 3 -lo 5 -fct 4 -bt 1 -dtc 1
Final mass u: 0.08479612805
Mass loss u: 6.61247e-07

--- BLAST sharpening test - Transport balls-jacks auto-dt
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/periodic-square.mesh -p 5 -rs 3 -dt -1 -tf 0.8 -ho 3 -lo 5 -fct 4 -bt 1 -dtc 1
mpirun -np 2 ./remhos -no-vis -m ./data/periodic-square.mesh -p 5 -rs 3 -dt 0.01 -tf 0.8 -ho 3 -lo 5 -fct 4 -bt 1 -dtc 1
Final mass u: 0.1623263888
Max value u: 0.2863317261

--- Steady monolithic 2 2D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/inline-quad.mesh -p 7 -rs 3 -o 1 -dt 0.01 -tf 20 -mono 1 -si 2
mpirun -np 2 ./remhos -no-vis -m ./data/inline-quad.mesh -p 7 -rs 3 -o 1 -dt 0.01 -tf 20 -mono 1 -si 2
Final mass u: 0.1570667907
Max value u: 0.9987771164

--- Steady monolithic 1 2D
mpirun -np 2 ./remhos -no-vis --verify-bounds -m ./data/inline-quad.mesh -p 6 -rs 2 -o 1 -dt 0.01 -tf 20 -mono 1 -si 1
mpirun -np 2 ./remhos -no-vis -m ./data/inline-quad.mesh -p 6 -rs 2 -o 1 -dt 0.01 -tf 20 -mono 1 -si 1
Final mass u: 0.3182739921
Max value u: 1
22 changes: 11 additions & 11 deletions autotest/test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ file="autotest/out_test.dat"
ntask=$1

if [ "$2" = "cuda" ]; then
command="lrun -n "$((ntask))" ./remhos -no-vis --verify-bounds -d cuda"
command="lrun -n "$((ntask))" ./remhos -no-vis -d cuda"
else
command="mpirun -np "$((ntask))" ./remhos -no-vis --verify-bounds"
command="mpirun -np "$((ntask))" ./remhos -no-vis"
fi

methods=( "-ho 1 -lo 2 -fct 2" # Hennes 1
Expand Down Expand Up @@ -66,29 +66,29 @@ for method in "${methods[@]}"; do
done

echo -e '\n'"--- Product remap 2D (FCT)" >> $file
run_line=$command" -m ./data/inline-quad.mesh -p 14 -rs 2 -dt 0.005 -tf 0.75 -ho 3 -lo 1 -fct 1 -ps"
run_line=$command" -m ./data/inline-quad.mesh -p 14 -rs 2 -dt 0.005 -tf 0.75 -ho 3 -lo 1 -fct 1 -ps -s 1"
echo -e $run_line >> $file
$run_line | grep -e 'mass us' -e 'loss us'>> $file

echo -e '\n'"--- Product remap 2D (ClipScale)" >> $file
run_line=$command" -m ./data/inline-quad.mesh -p 14 -rs 2 -dt 0.005 -tf 0.75 -ho 3 -lo 1 -fct 2 -ps -s 1"
echo -e '\n'"--- Product remap 2D IDP2 (ClipScale)" >> $file
run_line=$command" -m ./data/inline-quad.mesh -p 14 -rs 2 -dt 0.005 -tf 0.75 -ho 1 -lo 5 -fct 2 -ps -s 12"
echo -e $run_line >> $file
$run_line | grep -e 'mass us' -e 'loss us'>> $file

echo -e '\n'"--- Product remap 2D (FCTProject)" >> $file
run_line=$command" -m ./data/inline-quad.mesh -p 14 -rs 2 -dt 0.005 -tf 0.75 -ho 3 -lo 1 -fct 4 -ps -s 1"
echo -e '\n'"--- Product remap 2D IDP3 (FCTProject)" >> $file
run_line=$command" -m ./data/inline-quad.mesh -p 14 -rs 2 -dt 0.005 -tf 0.75 -ho 3 -lo 5 -fct 4 -ps -s 13"
echo -e $run_line >> $file
$run_line | grep -e 'mass us' -e 'loss us'>> $file
$run_line | grep -e 'mass u' -e 'mass us'>> $file

echo -e '\n'"--- BLAST sharpening test - Pacman remap auto-dt" >> $file
run_line=$command" -m ./data/inline-quad.mesh -p 14 -rs 1 -dt -1 -tf 0.75 -ho 3 -lo 5 -fct 4 -bt 1 -dtc 1"
echo -e $run_line >> $file
$run_line | grep -e 'mass us' -e 'loss us'>> $file
$run_line | grep -e 'mass u' -e 'loss u'>> $file

echo -e '\n'"--- BLAST sharpening test - Transport balls-jacks auto-dt" >> $file
run_line=$command" -m ./data/periodic-square.mesh -p 5 -rs 3 -dt -1 -tf 0.8 -ho 3 -lo 5 -fct 4 -bt 1 -dtc 1"
run_line=$command" -m ./data/periodic-square.mesh -p 5 -rs 3 -dt 0.01 -tf 0.8 -ho 3 -lo 5 -fct 4 -bt 1 -dtc 1"
echo -e $run_line >> $file
$run_line | grep -e 'mass us' -e 'loss us'>> $file
$run_line | grep -e 'mass u' -e 'value u'>> $file

echo -e '\n'"--- Steady monolithic 2 2D" >> $file
run_line=$command" -m ./data/inline-quad.mesh -p 7 -rs 3 -o 1 -dt 0.01 -tf 20 -mono 1 -si 2"
Expand Down
Loading