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 The calculation scheme can be executed from the graphic tool (see :ref:`execution`), but also in console
31 mode (see :ref:`execxml`), or by using the Python interface (see :ref:`execpy`).
33 Executing a calculation scheme includes:
35 - running and distributing components
36 - managing data distribution
37 - monitoring execution
38 - stopping / suspending / restarting the execution
40 A calculation scheme can also be executed using a batch system such as LSF or PBS (see :ref:`batch`).
42 Finally, it is essential that calculation codes should be transformed into SALOME components, so that they can
43 be coupled with YACS. In general, this operation requires good knowledge of SALOME principles (see :ref:`integration`).
45 For C++ calculation codes, the :ref:`hxx2salome` tool automates this operation to a large extent.
47 For Fortran, C and Python calculation codes that use CALCIUM type coupling, the :ref:`yacsgen` tool automatically
48 generates the necessary SALOME embedment starting from a brief description of the selected coupling interface.