Skip to content

Flow over plate Code_Aster Tutorial

Gerasimos Chourdakis edited this page Jan 15, 2020 · 36 revisions

Now that you have Code_Aster, preCICE, the preCICE Python bindings, and the Code_Aster-adapter up and running, it is time to run our first coupling tutorial. In this tutorial we will simulate flow over a heated plate with a fluid and a solid solver. We will use Code_Aster for solving the heat transfer in the solid domain, and OpenFOAM for solving the heat transfer in the fluid domain. Therefore, please also install OpenFOAM and the openfoam-adapter before continuing with this tutorial.

This tutorial is meant to also give some insight in the workflows of Code_Aster and preCICE. For those who wish to get a quick coupling working, please jump to Quick Tutorial.

Case Description

TODO: Add details

Required Files

You can find the tutorial files in the tutorial repository (TODO: Move case and add link). This directory contains, among others, the following files:

  • solid.export - In a Code_Aster case, there is always an export file that links all the separate case files, specifying their functionality and their location. The export file also sets additional, system-dependent variables, therefore the export file must be generated on your system using ASTK, as described below.

Code_Aster works with command files, which are the basis of every simulation case. The command files define the problem, the boundary conditions, the mesh that is used, and more parameters. In the Code_Aster-Adapter, we use three command files:

  • adapter.comm - This is the main command file of the test-case. Code_Aster starts at this command file, which wraps the solver call in a loop and triggers the coupling operations. Through the INCLUDE command, invoked at the beginning, the other command files are included.

  • def.comm - The test-case is defined in this command file. It is in charge of setting the mesh, model, materials, initial and boundary conditions.

  • config.comm - This file is used to configure the coupling.

We additionally need:

  • solid.mess: TODO

  • solid.mmed: TODO

  • solid.rmed: TODO

We can run the case using the runall.sh script. This script runs the following command that initiates the Code_Aster simulation:

as_run --run solid/solid.export

Running the script by using ./runall.sh will, however, not work yet. We must first generate the correct export files.

Generating the Export file

The solid.export file that is included in the zip file is not configured to your local system. You can do this by starting ASTK from your terminal by typing $astk and simply hitting enter. From within ASTK open a file, and navigate to solid.astk which is in the solid folder. In the Base path field, set the path to the solid folder. Create solid.mess, solid.resu, solid.rmed. For the .comm files, make sure that adapter.comm has UNIT=1, def.comm has UNIT=91 and config.comm has UNIT=90. adapter.comm is the command file that is installed with the Code_Aster-adapter. For the other files ASTK will give the default UNIT values. Make sure that these correspond with the values in the image below. Lastly, make sure that in ASTK the nodebug mode is toggled. Now that you have updated the solid.astk file, save and export it. Overwrite the solid.export file, and check if solid.export contains values and paths that correspond to your system.

Running the coupled simulation

Before you can run the test-case, some paths need to be changed.

  • In solid/solid.export change the paths in lines 38 to 44 respectively to your local system. Make sure to leave the codes after the paths (e.g. D 20, R 6, etc.).
  • In config.comm change the base-path in line 2 to the path of the tutorial folder on your local system.

Everything is now set for your first OpenFOAM-Code_Aster coupling. Run runFluid.sh and runSolid.sh in two separate terminals.

Quick Tutorial