Salome HOME
Updated copyright comment
[samples/genericsolver.git] / idl / DEVIATION_Gen.idl
index c851a006efd538e4dabef63c092d875cb93c1666..cb773f3f4a8399223a6ee421e41e8f28b33d65e5 100644 (file)
@@ -1,22 +1,20 @@
-//  Copyright (C) 2009-2010 EDF R&D
+// Copyright (C) 2009-2024  EDF
 //
-//  This library 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 2.1 of the License.
+// This library 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 2.1 of the License, or (at your option) any later version.
 //
-//  This library 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.
+// This library 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 this library; if not, write to the Free Software
-//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-//  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-//
-//  $Id$
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 
 #ifndef __DEVIATION_GEN__
 #include "SALOME_Component.idl"
 #include "SALOMEDS.idl"
 #include "SALOME_Exception.idl"
+#include "SALOME_Parametric.idl"
 
 module GENERICSOLVER_ORB
 {
-
-  typedef sequence<double> Point;
-  typedef SALOMEDS::ID ID;
-  typedef sequence<string> VarList;
-
-  interface DEVIATION_Gen : Engines::Component, SALOMEDS::Driver
+  interface DEVIATION_Gen : Engines::EngineComponent, SALOMEDS::Driver
   {
 
     /**
@@ -45,29 +39,26 @@ module GENERICSOLVER_ORB
      * stores this data along with the lists of input and output variables to
      * identify them in future calls to Exec.
      *
-     * @param inputVarList   a list of strings containing the names of the input
-     *                       variables in the same order as in subsequent calls to Exec.
-     * @param outputVarList  a list of strings containing the names of the output
-     *                       variables in the same order as they should be returned
-     *                       in subsequent calls to Exec.
      * @param studyID        the identifier of the study containing the deterministic data
-     * @param entry          the identifier of the deterministic case within the study
+     * @param detCaseEntry   the identifier of the deterministic case within the study
      */
-    void Init(in VarList inputVarList, in VarList outputVarList, in long studyID, in ID entry)
+    void Init(in long studyID, in SALOMEDS::ID detCaseEntry)
       raises (SALOME::SALOME_Exception);
 
     /**
      * @brief Execute a computation with a given sample of variables.
      *
-     * The Exec method realizes the computation with some parameters (within
-     * inPoint) corresponding to the variables set previously with the method
-     * Init. The result is put in outPoint in the order specified by
-     * outputVarList of Init method.
+     * The Exec method realizes the computation with the probabilistic variables
+     * described in paramInput and the deterministic variables set previously with
+     * the Init method. The result is put in paramOutput in the order specified by
+     * paramInput.outputVarList.
      *
-     * @param inPoint   a vector of floating point values to be evaluated
-     * @param outPoint  the result of the computation as a vector of floating point values
+     * @param paramInput   a structure describing the probabilistic variables and the order
+     *                     of the output variables.
+     * @param paramOutput  a structure containing the result of the computation
      */
-    void Exec(in Point inPoint, out Point outPoint)
+    void Exec(in SALOME_TYPES::ParametricInput paramInput,
+              out SALOME_TYPES::ParametricOutput paramOutput)
       raises (SALOME::SALOME_Exception);
 
     /**
@@ -79,6 +70,33 @@ module GENERICSOLVER_ORB
     void Finalize()
       raises (SALOME::SALOME_Exception);
 
+    /**
+     * @brief Return the files and directories that must be transferred
+     *        from / to the computation resource
+     *
+     * This method is used to specify which files and directories must be
+     * transferred to the computation resource for the calculation code, and
+     * which resulting files and directories must be transferred from the
+     * computation resource to the local computer.
+     *
+     * @param studyID      the identifier of the study containing the
+     *                     deterministic data
+     * @param detCaseEntry the identifier of the deterministic case within the
+     *                     study
+     * @param inputFiles   the list of input files and directories to transfer
+     *                     from the local computer to the computation resource
+     *                     (absolute paths on the local computer)
+     * @param outputFiles  the list of output files and directories that must
+     *                     be transferred from the computation resource to the
+     *                     local computer after the computation (paths
+     *                     relative to the working directory on the
+     *                     computation resource)
+     */
+    void GetFilesToTransfer(in long studyID, in SALOMEDS::ID detCaseEntry,
+                            out SALOMEDS::ListOfStrings inputFiles,
+                            out SALOMEDS::ListOfStrings outputFiles)
+      raises (SALOME::SALOME_Exception);
+
   };
 };