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