From fe232457cb81481494e807b1fe3ab59f9cad3597 Mon Sep 17 00:00:00 2001 From: Renaud Barate Date: Mon, 19 May 2014 15:26:53 +0200 Subject: [PATCH] Add new tutorial in the documentation about the usage of a Python script as the solver code --- doc/CMakeLists.txt | 17 +++-- doc/_static/define_solver_python.png | Bin 0 -> 25668 bytes doc/_static/ob_new_study_python.png | Bin 0 -> 5082 bytes doc/_static/popup_export_csv_python.png | Bin 0 -> 16662 bytes doc/_static/popup_run_study_python.png | Bin 0 -> 16515 bytes doc/_static/select_variables_python_full.png | Bin 0 -> 18185 bytes doc/index.rst | 7 +- ...nistic.rst => tut_deterministic_compo.rst} | 2 +- ..._execution.rst => tut_execution_compo.rst} | 2 +- doc/tut_execution_python.rst | 45 +++++++++++++ doc/{tut_solver.rst => tut_solver_compo.rst} | 4 +- doc/tut_solver_python.rst | 53 ++++++++++++++++ doc/{tut_values.rst => tut_values_compo.rst} | 4 +- doc/tut_values_python.rst | 44 +++++++++++++ ..._variables.rst => tut_variables_compo.rst} | 4 +- doc/tut_variables_python.rst | 60 ++++++++++++++++++ doc/{tutorial.rst => tutorial_compo.rst} | 26 ++++---- doc/tutorial_python.rst | 39 ++++++++++++ 18 files changed, 277 insertions(+), 30 deletions(-) create mode 100644 doc/_static/define_solver_python.png create mode 100644 doc/_static/ob_new_study_python.png create mode 100644 doc/_static/popup_export_csv_python.png create mode 100644 doc/_static/popup_run_study_python.png create mode 100644 doc/_static/select_variables_python_full.png rename doc/{tut_deterministic.rst => tut_deterministic_compo.rst} (98%) rename doc/{tut_execution.rst => tut_execution_compo.rst} (98%) create mode 100644 doc/tut_execution_python.rst rename doc/{tut_solver.rst => tut_solver_compo.rst} (96%) create mode 100644 doc/tut_solver_python.rst rename doc/{tut_values.rst => tut_values_compo.rst} (96%) create mode 100644 doc/tut_values_python.rst rename doc/{tut_variables.rst => tut_variables_compo.rst} (97%) create mode 100644 doc/tut_variables_python.rst rename doc/{tutorial.rst => tutorial_compo.rst} (59%) create mode 100644 doc/tutorial_python.rst diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index 3cd5fdf..60dbb5f 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -19,15 +19,20 @@ SET(RSTFILES index.rst reference.rst ref_solver.rst - tut_deterministic.rst - tutorial.rst - tut_values.rst + tut_deterministic_compo.rst + tutorial_compo.rst + tut_values_compo.rst ref_csv_export.rst ref_execution.rst ref_values.rst - tut_execution.rst - tut_solver.rst - tut_variables.rst + tut_execution_compo.rst + tut_solver_compo.rst + tut_variables_compo.rst + tutorial_python.rst + tut_values_python.rst + tut_execution_python.rst + tut_solver_python.rst + tut_variables_python.rst ) SET(SPHINXOPTS ) diff --git a/doc/_static/define_solver_python.png b/doc/_static/define_solver_python.png new file mode 100644 index 0000000000000000000000000000000000000000..a4d9e5768acc7089527cf588a006a30ee619add9 GIT binary patch literal 25668 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. -.. _tut-execution-label: +.. _tut-execution-compo-label: =================================================== Step 5: Run the parametric study and export results diff --git a/doc/tut_execution_python.rst b/doc/tut_execution_python.rst new file mode 100644 index 0000000..a6fdfbb --- /dev/null +++ b/doc/tut_execution_python.rst @@ -0,0 +1,45 @@ +.. + Copyright (C) 2012-2014 EDF + + This file is part of SALOME PARAMETRIC module. + + SALOME PARAMETRIC module is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + SALOME PARAMETRIC module is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with SALOME PARAMETRIC module. If not, see . + + +.. _tut-execution-python-label: + +=================================================== +Step 4: Run the parametric study and export results +=================================================== + +In this step we will launch the execution of the parametric study on the local +computer. For that, just click on the study in the object browser with the +right button and select "Run parametric study" in the popup menu. + +.. image:: /_static/popup_run_study_python.png + :align: center + +The execution ends after a few dozens seconds. It is now possible to export +the results in a CSV file to analyze them with a spreadsheet for instance. For +that, click again on the study with the right button and select "Export data +to CSV file". You can then choose the file in which the results will be saved. + +.. image:: /_static/popup_export_csv_python.png + :align: center + +It is then possible to open this file in a spreadsheet to draw graphs, analyze +results, etc. + +.. image:: /_static/spreadsheet.png + :align: center diff --git a/doc/tut_solver.rst b/doc/tut_solver_compo.rst similarity index 96% rename from doc/tut_solver.rst rename to doc/tut_solver_compo.rst index 7bd7ac4..5643045 100644 --- a/doc/tut_solver.rst +++ b/doc/tut_solver_compo.rst @@ -17,7 +17,7 @@ along with SALOME PARAMETRIC module. If not, see . -.. _tut-solver-label: +.. _tut-solver-compo-label: ====================================================== Step 4: Define the solver and the execution parameters @@ -46,4 +46,4 @@ study. A new item representing the study appears in the object browser. .. image:: /_static/ob_new_study.png :align: center -:ref:`tut-execution-label` +:ref:`tut-execution-compo-label` diff --git a/doc/tut_solver_python.rst b/doc/tut_solver_python.rst new file mode 100644 index 0000000..f1331ba --- /dev/null +++ b/doc/tut_solver_python.rst @@ -0,0 +1,53 @@ +.. + Copyright (C) 2012-2014 EDF + + This file is part of SALOME PARAMETRIC module. + + SALOME PARAMETRIC module is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + SALOME PARAMETRIC module is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with SALOME PARAMETRIC module. If not, see . + + +.. _tut-solver-python-label: + +====================================================== +Step 3: Define the solver and the execution parameters +====================================================== + +In this step we will define the solver to use for our parametric study. Two +types of solvers can be used with the PARAMETRIC module: + +* The solver can be a Salome component that must define a few methods with + given signatures. +* The solver can be a Python script. + +In this tutorial, we use a Python script. Select the second radio button +"Python script", and implement the script directly in this window (of course, +you can also copy-paste the script from an external editor if you prefer). +This script should directly use the input variables *F* and *L* that will be +set automatically in the context of the script before running it. It should +create the output variable *dev*, like in the example below. + +We can also change the name of the parametric study (the name that the study +will have in the object browser) and the number of computations that will be +launched in parallel. + +.. image:: /_static/define_solver_python.png + :align: center + +Finally, just click the "OK" button to validate the creation of the parametric +study. A new item representing the study appears in the object browser. + +.. image:: /_static/ob_new_study_python.png + :align: center + +:ref:`tut-execution-python-label` diff --git a/doc/tut_values.rst b/doc/tut_values_compo.rst similarity index 96% rename from doc/tut_values.rst rename to doc/tut_values_compo.rst index 14c0f89..5b471eb 100644 --- a/doc/tut_values.rst +++ b/doc/tut_values_compo.rst @@ -17,7 +17,7 @@ along with SALOME PARAMETRIC module. If not, see . -.. _tut-values-label: +.. _tut-values-compo-label: ====================================================== Step 3: Define the values for the parametric variables @@ -41,4 +41,4 @@ for each variable along with the sampling step, as illustrated below. Then click button "Next >>" to proceed to the last step of the parametric study creation. -:ref:`tut-solver-label` +:ref:`tut-solver-compo-label` diff --git a/doc/tut_values_python.rst b/doc/tut_values_python.rst new file mode 100644 index 0000000..f31eb7a --- /dev/null +++ b/doc/tut_values_python.rst @@ -0,0 +1,44 @@ +.. + Copyright (C) 2012-2014 EDF + + This file is part of SALOME PARAMETRIC module. + + SALOME PARAMETRIC module is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + SALOME PARAMETRIC module is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with SALOME PARAMETRIC module. If not, see . + + +.. _tut-values-python-label: + +====================================================== +Step 2: Define the values for the parametric variables +====================================================== + +In this step we will define the values that the parametric variables will take +in the parametric study. Three methods are proposed for that: + +* Define ranges for each variable. The domain that is defined by those ranges + will be completely sampled to build the experimental plane. +* Write a Python script that will create the sample. +* Import the sample from a CSV file. + +In this tutorial, we will use the first method. To define the ranges for the +parametric variables, you just have to select the minimum and maximum value +for each variable along with the sampling step, as illustrated below. + +.. image:: /_static/define_ranges.png + :align: center + +Then click button "Next >>" to proceed to the last step of the parametric +study creation. + +:ref:`tut-solver-python-label` diff --git a/doc/tut_variables.rst b/doc/tut_variables_compo.rst similarity index 97% rename from doc/tut_variables.rst rename to doc/tut_variables_compo.rst index 881a52f..251eb66 100644 --- a/doc/tut_variables.rst +++ b/doc/tut_variables_compo.rst @@ -17,7 +17,7 @@ along with SALOME PARAMETRIC module. If not, see . -.. _tut-variables-label: +.. _tut-variables-compo-label: ===================================================================== Step 2: Define the parametric variables and the variables of interest @@ -69,4 +69,4 @@ using the "New..." buttons. Finally, when you have selected all the desired variables, click button "Next >>" to proceed to the next step. -:ref:`tut-values-label` +:ref:`tut-values-compo-label` diff --git a/doc/tut_variables_python.rst b/doc/tut_variables_python.rst new file mode 100644 index 0000000..f415e58 --- /dev/null +++ b/doc/tut_variables_python.rst @@ -0,0 +1,60 @@ +.. + Copyright (C) 2012-2014 EDF + + This file is part of SALOME PARAMETRIC module. + + SALOME PARAMETRIC module is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + SALOME PARAMETRIC module is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with SALOME PARAMETRIC module. If not, see . + + +===================================================================== +Step 1: Define the parametric variables and the variables of interest +===================================================================== + +In this step we will define the variables that will be exchanged between +the PARAMETRIC module and the calculation script. The parametric variables are +the input variables of the calculation script that will vary in a given range. +Let's say that in our example, *F* and *L* are the two parametric variables and +*E* and *I* are fixed variables. + +The variables of interest are the output variables of the calculation code +that we want to study. In our example, there is only one output variable and +thus only one variable of interest: the deviation *dev*. + +To define those variables, you first have to activate the PARAMETRIC module. + +.. image:: /_static/activate_parametric.png + :align: center + +.. |button_new_study| image:: /_static/button_new_study.png + :align: middle + +Then click on the button |button_new_study| to create a new parametric study +and to open the variables definition window. + +.. image:: /_static/select_variables_empty.png + :align: center + +Now click on the "New..." button in the upper part of the window. Double click +on the new item named "TO EDIT!" to set it to the value "F". Then do the same +for the variable "L". In the lower part of the window, create the output +variable "dev" with the same method. In the end, your variables definition +window should look like this: + +.. image:: /_static/select_variables_python_full.png + :align: center + +Finally, when you have created all the desired variables, click button +"Next >>" to proceed to the next step. + +:ref:`tut-values-python-label` diff --git a/doc/tutorial.rst b/doc/tutorial_compo.rst similarity index 59% rename from doc/tutorial.rst rename to doc/tutorial_compo.rst index 4b7b381..2b19db8 100644 --- a/doc/tutorial.rst +++ b/doc/tutorial_compo.rst @@ -17,21 +17,21 @@ along with SALOME PARAMETRIC module. If not, see . -######## -Tutorial -######## +###################################################################### +Tutorial: Parametric study using a SALOME component as the solver code +###################################################################### -This tutorial explains how to create and run a parametric study with the -PARAMETRIC module in Salome. In all this documentation, we will use the example -calculation code "DEVIATION" that is defined in the module GENERICSOLVER. -It is an implementation of a classical example: the computation of the -deviation of a cantilever beam. +This tutorial explains how to create and run a parametric study using a SALOME +component as the solver code. We will use the example calculation code +"DEVIATION" that is defined in the module GENERICSOLVER. It is an +implementation of a classical example: the computation of the deviation of a +cantilever beam. .. toctree:: :maxdepth: 2 - tut_deterministic.rst - tut_variables.rst - tut_values.rst - tut_solver.rst - tut_execution.rst + tut_deterministic_compo.rst + tut_variables_compo.rst + tut_values_compo.rst + tut_solver_compo.rst + tut_execution_compo.rst diff --git a/doc/tutorial_python.rst b/doc/tutorial_python.rst new file mode 100644 index 0000000..fee5f14 --- /dev/null +++ b/doc/tutorial_python.rst @@ -0,0 +1,39 @@ +.. + Copyright (C) 2012-2014 EDF + + This file is part of SALOME PARAMETRIC module. + + SALOME PARAMETRIC module is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + SALOME PARAMETRIC module is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with SALOME PARAMETRIC module. If not, see . + + +################################################################### +Tutorial: Parametric study using a Python script as the solver code +################################################################### + +This tutorial explains how to create and run a parametric study using a Python +script as the solver code. We will use an example script that implements a +classical example: the computation of the deviation of a cantilever beam. + +This computation is done with the simple formula +*dev = (F * L * L * L) / (3. * E * I)*, where *dev* is the deviation, *F* is +the vertical force applied to the end of the beam, *L* is the length of the +beam, *E* is the Young's modulus and *I* is the section modulus. + +.. toctree:: + :maxdepth: 2 + + tut_variables_python.rst + tut_values_python.rst + tut_solver_python.rst + tut_execution_python.rst -- 2.39.2