Index: dam engine/trunk/doc/Dam Engine - Technical Design/DAM Engine - Technical Design.tex
===================================================================
diff -u -r534 -r756
--- dam engine/trunk/doc/Dam Engine - Technical Design/DAM Engine - Technical Design.tex (.../DAM Engine - Technical Design.tex) (revision 534)
+++ dam engine/trunk/doc/Dam Engine - Technical Design/DAM Engine - Technical Design.tex (.../DAM Engine - Technical Design.tex) (revision 756)
@@ -501,57 +501,110 @@
\subsubsection{Prepare}
\label{sec:Prepare}
-The purpose of this method is to fill a dataobject that implements the IKernelDataInput interface. This dataobject will be needed for the other methods in this interface.
-This method has one parameter:
+The purpose of this method is to fill a dataobject that implements the IKernelDataInput interface. This dataobject will be needed for the other methods in this interface. \newline
+\texttt{
+ /// \newline
+ /// Prepares the failure mechanism input based on general dam kernel input. \newline
+ /// \newline
+ /// The dam kernel input. \newline
+ /// The kernel data input. \newline
+ /// The kernel data output. \newline
+ /// \newline
+ /// Result of the prepare \newline
+ /// \newline
+ PrepareResult Prepare(DamKernelInput damKernelInput, out IKernelDataInput damKernelInput, out IKernelDataOutput kernelDataOutput); \newline
+ }
+\newline
+This method returns:
+\newline
+\texttt{
+ public enum PrepareResult \newline
+ \{ \newline
+ Successful, \newline
+ Failed, \newline
+ NotRelevant \newline
+ \}; \newline
+ }
+\newline
+The method has the following parameters:
\begin{itemize}
- \item Input
+ \item \texttt{DamKernelInput damKernelInput}: the main input data object; it contains data from the \ProgramName.
+ \item \texttt{IKernelDataInput damKernelInput}: in this object the data is filled that is needed by the specific \kernel; it will be passed to the \kernel as input; each \kernel wrapper will have its own implementation of IKernelDataInput.
+ \item \texttt{IKernelDataOutput kernelDataOutput}: in this object all the output of the \kernel is stored; it is also used for intermediate results; each \kernel wrapper will have its own implementation of IKernelDataOutput.
\end{itemize}
-It returns IKernelDataInput. This method fills the IKernelDataInput object from the main input data object (Input).
-In IKernelDataInput the data is filled that is needed by the specific \kernel data.
-Each \kernel wrapper will have its own implementation of IKernelDataInput.
\subsubsection{Validate}
\label{sec:Validate}
-The purpose of this method is to validate the data that will be used as input for the failure mechanism.
-This method has 2 parameters:
+\texttt{ /// \newline
+ /// Validates the kernel data input. \newline
+ /// \newline
+ /// The kernel data input. \newline
+ /// The kernel data output. \newline
+ /// The messages. \newline
+ /// \newline
+ /// Number of errors that prevent a calculation \newline
+ /// \newline
+ int Validate(IKernelDataInput kernelDataInput, IKernelDataOutput kernelDataOutput, out List messages); \newline}
+The purpose of this method is to validate the data that will be used as input for the failure mechanism.\newline
+It returns an integer:\newline
+0: no errors. A calculation is possible. It is possible that there are warning messages. \newline
+> 0: number of error messages that prevent a calculation.\newline
+This method has the following parameters:
\begin{itemize}
- \item IKernelDataInput (kernel input data)
- \item ValidationMessageList (a list of messages produced by the validation)
+ \item \texttt{IKernelDataInput kernelDataInput}: kernel input data.
+ \item \texttt{IKernelDataOutput kernelDataOutput}: kernel output data.
+ \item \texttt{List messages}: a list of messages produced by the validation
\end{itemize}
-It returns an integer:
-0: no errors. A calculation is possible. It is possible that there are warning messages.
->0: number of error messages that prevent a calculation.
\subsubsection{Execute}
\label{sec:Execute}
-This method performs the actual calculation of the failure mechanism,
-This method has 2 parameters:
+\texttt{ /// \newline
+ /// Performs a failure mechanism calculation based on the input. \newline
+ /// \newline
+ /// The kernel data input. \newline
+ /// The kernel data output. \newline
+ /// The messages. \newline
+ void Execute(IKernelDataInput kernelDataInput, IKernelDataOutput kernelDataOutput, out List messages); \newline
+}
+This method performs the actual calculation of the failure mechanism. \newline
+This method has the following parameters:
\begin{itemize}
- \item IKernelDataInput (kernel input data)
- \item ErrorMessageList (a list of error messages produced by the calculation)
+ \item \texttt{IKernelDataInput kernelDataInput}: kernel input data.
+ \item \texttt{IKernelDataOutput kernelDataOutput}: kernel output data.
+ \item \texttt{List messages}: a list of messages produced by the validation
\end{itemize}
-It returns IKernelDataOutput. IKernelDataOutput contains the calculation results of the \kernel data.
Each \kernel wrapper will have its own implementation of IKernelDataOutput.
\subsubsection{Design}
\label{sec:Design}
This method implements a design calculation. Based on certain design parameters (e.g. target failure factor, new load parameters, design strategies, etc.) a new design is made for the input data (e.g. a new surfaceline).
-This method has 3 parameters:
+This method has the following parameters:
\begin{itemize}
- \item IKernelDataInput (kernel input data)
- \item IKernelDesignDataInput (definition of the design parameters)
- \item ErrorMessageList (a list of error messages produced by the design calculation)
+ \item \texttt{IKernelDataInput kernelDataInput}: kernel input data.
+ \item \texttt{IKernelDataDesignInput kernelDataInput}: design input.
+ \item \texttt{IKernelDataOutput kernelDataOutput}: kernel output data.
+ \item \texttt{IKernelDataDesignOutput kernelDataOutput}: design output; it contains the adapted input data (a.g. a new designed surfaceline) and other design results (e.g. number of iterations needed, success or failure etc.).
+ \item \texttt{List messages}: a list of messages produced by the desig.
\end{itemize}
-It returns a IKernelDesignDataOutput. IKernelDesignDataOutput contains the adapted input data (a.g. a new designed surfaceline) and other design results (e.g. number of iterations needed, success or failure etc.). \newline
Based on the given criteria a new design is determined, which will meet the required criteria. If such a design is not possible, that will be reported back.
\subsubsection{PostProcess}
\label{sec:PostProcess}
-This method has 2 parameters
+\texttt{ /// \newline
+ /// Fills the dam result based on the kernel output. \newline
+ /// \newline
+ /// The dam kernel input. \newline
+ /// The kernel data output. \newline
+ /// The result message. \newline
+ /// The design result. \newline
+ void PostProcess(DamKernelInput damKernelInput, IKernelDataOutput kernelDataOutput, string resultMessage, out DesignResult designResult); \newline
+}This method has the following parameters
\begin{itemize}
- \item IKernelDataOutput (kernel output data)
- \item Output (the \ProgramName output data)
+ \item \texttt{DamKernelInput damKernelInput}: the main dam input data object; it contains data from the \ProgramName.
+ \item \texttt{IKernelDataOutput kernelDataOutput}: kernel output data.
+ \item \texttt{string resultMessage}: this describes the result of the calculation.
+ \item \texttt{DesignResult designResult}: the main dam output data object.
\end{itemize}
This method fills the \ProgramName Output object with the results of the \kernel (IKernelDataOutput).
\subsubsection{RegisterProgressFeedback}
@@ -629,7 +682,7 @@
/// Initializes a new instance of the class. \newline
/// \newline
/// Xml string containing the model input. \newline
- public Interface(string modelInput) \newline
+ public EngineInterface(string modelInput) \newline
}
\newline
The class has to be instantiated with an (XML) string which adheres to the XSD definition of the inputfile for the \ProgramName (See \autoref{app:DamInput.XSD}).
Index: dam engine/trunk/doc/Dam Engine - Technical Design/DAM Engine - Technical Design.pdf
===================================================================
diff -u -r534 -r756
Binary files differ