This repository contains ready to run test cases to reproduce the results for studying the quasi-Newton enhancements in preCICE. The elastic-tube-3d-quad
is the elastic tube test case from the preCICE tutorials. The test cases contain all solver settings and meshes, as well as run scripts for all solvers.
In order to reproduce the results, the necessary preCICE configuration files are provided in the folder configuration-files
within each test case. The four test cases are:
- elastice-tube-3d-linear
- elastice-tube-3d-quad
- breaking-dam-2d
- breaking-dam-3d
The configuration files are organised into Table-1
, Table-2
, and Table-3
. The configuration files from Table-3
reproduces the results for Table-4
and Table-5
as well. Inside each folder, the folders are further divided into which set of data it reproduces:
Table-1
: baseline, prescale freeze and weight-monitoringTable-2
: weight-monitoringTable-3
: baseline and QR3.
The baseline
and prescale freeze
folders are to be run with preCICE v2.3.0, weight-monitoring
and QR3
are to be run with iqnUpdates. The folders are further divided into:
TSR-10_MIR-100
to reproduce test data for time steps reused = 10 and maximum number of iterations = 100TSR-20_MIR-200
to reproduce test data for time steps reused = 20 and maximum number of iterations = 200.
Within the folders, are the precice configuration files. Each file is named precice-config_FilterType-FilterLimit.xml
. Here, the FilterType
is either the QR2
filter, or the QR3
filter, which utilises the new preconditioner weight monitoring. The FilterLimit
is either = 0.001
, = 0.01
or = 0.1
depending on the test case.
Each file must be copied into the test case folder (i.e. into IQN-test-cases/breaking-dam-2d/
or IQN-test-cases/elastice-tube-3d-linear/
) and renamed to precice-config-xml
to reproduce the simulation results. A default configuration file is currently in each test case folder.
The following software version were used in the study:
- Ubuntu 20.04.3 LTS - 64 bit
- Boost 1.17.0
- Eigen 3.3.7
- PETSc 3.13.3
- Python 3.8.10
- openMPI v4.0.3