Dynaωo algorithms

Dynaωo algorithms aims to contain the complex algorithms used in analysis over multiple simulation such as:

  • systematic analysis
  • margin calulation

It depends on the core dynawo libraries of Dynaωo

Building Dynaωo algorithms

Configure

To build Dyna&omega algorithms, you must first deploy the Dynaωo library.

$> ./myEnvDynawo.sh build-all
$> ./myEnvDynawo.sh deploy

This command creates a deploy folder in ${DYNAWO_HOME}. The path to dynawo deploy is then the path to the subdirectory dynawo in the deploy folder. It is generally similar to:

PATH_TO_DYNAWO_DEPLOY=${DYNAWO_HOME}/deploy/gcc8/shared/dynawo/

To build Dynaωo algorithms you need to clone the repository launch the following commands in the source code directory. it will create a myEnvDynawoAlgorithms.sh script file that will be your personal entrypoint to launch algorithms and configure some options.

$> echo '#!/bin/bash
export DYNAWO_ALGORITHMS_HOME=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
export DYNAWO_HOME=PATH_TO_DYNAWO_DEPLOY

export DYNAWO_LOCALE=en_GB
export DYNAWO_RESULTS_SHOW=true
export DYNAWO_BROWSER=firefox

export DYNAWO_NB_PROCESSORS_USED=1

export DYNAWO_BUILD_TYPE=Release
export DYNAWO_CXX11_ENABLED=YES

$DYNAWO_ALGORITHMS_HOME/util/envDynawoAlgorithms.sh $@' > myEnvDynawoAlgorithms.sh
$> chmod +x myEnvDynawoAlgorithms.sh

Then update the path "PATH_TO_DYNAWO_DEPLOY" in the file to your deployed installation of Dynaωo

Build

launch the following command:

$> ./myEnvDynawoAlgorithms.sh build

All commands described in the rest of this README are accessible throught this script. To access all options of the script myEnvDynawoAlgorithms.sh, type:

$> ./myEnvDynawoAlgorithms.sh help

To deploy Dynaωo algorithms, launch the following command after build:

$> ./myEnvDynawoAlgorithms.sh deploy

Tests

To launch Dynaωo algorithms unit tests, launch the following command:

$> ./myEnvDynawoAlgorithms.sh build-tests

To launch Dynaωo algorithms nrt, launch the following command after build:

$> ./myEnvDynawoAlgorithms.sh nrt

⚠️ nrt do not cover the use of multithreading

Launching a simulation

For more details on the fic_MULTIPLE.xml and aggregatedResults.xml formats please refer to the documentation.

$> ./myEnvDynawoAlgorithms.sh CS --input PATH_TO_JOBS

Launching a systematic analysis

$> ./myEnvDynawoAlgorithms.sh SA --directory PATH_TO_SA_FOLDER --input fic_MULTIPLE.xml --output aggregatedResults.xml --nbThreads NB_THREADS_TO_USE

fic_MULTIPLE.xml can be replaced by an archive file containing all the required input files

Launching a margin calculation

$> ./myEnvDynawoAlgorithms.sh MC --directory PATH_TO_MC_FOLDER --input fic_MULTIPLE.xml --output aggregatedResults.xml --nbThreads NB_THREADS_TO_USE

fic_MULTIPLE.xml can be replaced by an archive file containing all the required input files

Creating the distribution

$> ./myEnvDynawoAlgorithms.sh distrib