CArl
Code Arlequin / C++ implementation
3D traction test

This page contains an example with a coupled 3D traction system, with a detailed description of the input parameter files and the progression of the solver. The files associated to this example can be found at the [CArl root directory]/Cpp/bin folder - and the scripts must be launched / submited from there.

NOTE: before launching the PBS files, configure them to load the appropriate modules (MPI, compilers).

Physical model

all_traction_bricks_horizontal.png
Domains of the meshes used for the 3D coupled traction test: (a) coupled system, (b) and (c) system mesh domains, and (d) coupling region

Consider two coupled bricks, both with an linear elasticy model with a Young modulus $E = 200 GPa$ and a shear modulus $\mu = 80 GPa$. Their domains $\Omega_1$ and $\Omega_2$ are represented at the figure above. Both models are coupled at the region $\Omega_{12}^c$. A force density $\mathbf{F}=100 MPa$ is applied on the face $\Gamma_F$ of the domain $\Omega_2$, and the face $\Gamma_0$ of the domain $\Omega_1$ is clamped.

The model associated to the $\Omega_1$ domain will be considered as the Macro or A model, while the one associated to $\Omega_2$ domain will be considered as the Micro or B model.

Files and folders

All the meshes and physical parameter files are found at the examples/coupled_traction_test/meshes folder. The domains $\Omega_1$ and $\Omega_2$ are modelized by the meshes test_brick_A_1k.msh and test_brick_B_1k.msh (each one of them has around $\sim1000$ elements). The coupling region is represented by the mesh test_brick_C.msh (with $\sim3500$ elements). The physical parameters are saved in the test_brick_I_1_physical.dat.

For simplicity, we will use the following "aliases" for the folders in this example

[meshes_dir] = examples/coupled_traction_test/meshes
[intersection_dir] = examples/coupled_traction_test/intersection
[solver_dir] = examples/coupled_traction_test/FETI_solver/brick_traction_1k

Checking the compilation

You can use the 3D traction test to check the compilation of the CArl software, before entering in more details on how it works.

PBS cluster: To test the installation on a PBS cluster, follow the steps below:

  1. Set up the PBS and the module options in the PBS_FETI_*.pbs files and the common_script.sh file, all found inside the scripts folder. The latter file is used as a base for the jobs generated by the solver. Included in each file is a (commented out) line with the options used at the fusion cluster.
  2. Execute the command

    . scripts/PBS_check_install_traction_test_1k.sh
    

    this will submit, in the proprer order, all the PBS_FETI_***.pbs scripts associated to the solver. Several jobs will be submited.

  3. After the last job finishes, submit the post-treatment script

    qsub scripts/PBS_FETI_apply_solution_traction_test_1k.pbs
    

    this will generate the final meshes (see below).

Local installation: Doing a similar test in a local installation is a bit more complicated, due to the reasons explained at the section Workflow of the Usage and implementation page. The preliminary setup can be done by exectuting the command

. scripts/LOCAL_check_install_traction_test_1k.sh

This will build the intersections, assemble the coupling matrices, and set up the external solvers. After this, the coupled solver can be launched using the command

. scripts/LOCAL_FETI_launch_coupled_solver.sh

From this point onwards, the user must manually do the iterations and post-treatment. Each one of the binaries will print on the screen the next command to be used.

Output: In both cases, the intersections will be saved at the [intersection_dir] folder, and the coupled solution at the [solver_dir]/coupled_solution folder. The folder [solver_dir]/coupled_solution_correct contains a reference solution, with both the meshes and the solution vectors. Any other folders found at [solver_dir] are auxiliary folders created during the simulation, and can be deleted after its end.

Detailed description

We will do a detailed description of each step and its input files in the following pages: