Salome HOME
Update copyrights
[samples/genericsolver.git] / idl / DEVIATION_Gen.idl
index c851a006efd538e4dabef63c092d875cb93c1666..2c38e7128d335a9814dcb4ec5686e803a5f81adb 100644 (file)
@@ -1,4 +1,4 @@
-//  Copyright (C) 2009-2010 EDF R&D
+//  Copyright (C) 2009-2015 EDF R&D
 //
 //  This library is free software; you can redistribute it and/or
 //  modify it under the terms of the GNU Lesser General Public
 #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 +41,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 +72,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);
+
   };
 };