4 ###############################
6 ###############################
8 There is an increasing need for multidisciplinary parametric simulations in various research and engineering fields.
9 Examples are fluid-structure interaction and thermal coupling.
10 The simulation tools have become very sophisticated in their own domains, so multidisciplinary simulation can be achieved
11 by coupling the existing codes.
13 YACS is a tool for managing multidisciplinary simulations through calculation schemes.
15 The YACS module can be used to build and execute calculation schemes. A calculation scheme is a more or less complex
16 assembly of calculation components (SALOME components or calculation codes or python scripts).
17 Therefore, a calculation scheme provides a means of defining a chain or coupling of calculation codes (see :ref:`principes`).
19 .. image:: images/ihm.png
25 A calculation scheme can be built either using a graphic tool (see :ref:`gui`),
26 or by editing an XML file directly (see :ref:`schemaxml`), or by using
27 an application programming interface (API) in Python (see :ref:`schemapy`).
28 In this phase, chaining of components is defined with the associated dataflows.
30 Many examples of YACS schemas are installed with SALOME. They can be found in
31 the directory SALOME_APPLICATION/share/salome/yacssample (SALOME_APPLICATION
32 is the path where SALOME application is installed).
34 The calculation scheme can be executed from the graphic tool (see :ref:`execution`), but also in console
35 mode (see :ref:`execxml`), or by using the Python interface (see :ref:`execpy`).
37 Executing a calculation scheme includes:
39 - running and distributing components
40 - managing data distribution
41 - monitoring execution
42 - stopping / suspending / restarting the execution
44 A calculation scheme can also be executed using a batch system such as LSF or PBS (see :ref:`batch`).
46 Finally, it is essential that calculation codes should be transformed into SALOME components, so that they can
47 be coupled with YACS. In general, this operation requires good knowledge of SALOME principles (see :ref:`integration`).
49 For C++ calculation codes, the :ref:`hxx2salome` tool automates this operation to a large extent.
51 For Fortran, C and Python calculation codes that use CALCIUM type coupling, the :ref:`yacsgen` tool automatically
52 generates the necessary SALOME embedment starting from a brief description of the selected coupling interface.