Index: DamEngine/trunk/doc/Dam Engine - Functional Design/CreatingCalculationProfiles.tex =================================================================== diff -u --- DamEngine/trunk/doc/Dam Engine - Functional Design/CreatingCalculationProfiles.tex (revision 0) +++ DamEngine/trunk/doc/Dam Engine - Functional Design/CreatingCalculationProfiles.tex (revision 5424) @@ -0,0 +1,118 @@ +\chapter{Creating calculation profiles} \label{sec:CreatingCalculationProfiles} +The starting point for combining a surface line with a subsoil profile is that both contain only valid data. +The goal of the combination is to create the final 2D-profile (= 2D-geometry + layer information) to be used in the calculation. + +For stability calculations, this profile is used as is. +For piping calculations, this profile forms the base from which the 1D piping calculation profiles are obtained. + +Next to the surface line and a subsoil profile, the name of a filling material needs to be given. +This name will be assigned to all surfaces of the new calculation profile for which a matching surface could not be found within the given subsoil profile. + +To explain the combination, a number of important definitions will follow first. + +\section{Surface line geometry definition} +The geometry of a surface line consists of a series of points. +Within the given local X-Z coordinate system, the X-coordinates must strictly increase (i.e., from left to right). +Therefore, decreasing X-coordinates as well as equal X-coordinates are not allowed. + +Note that a surface line holds not only the geometry but also definitions for point characteristics. +For the purpose of creating calculation profiles, only the geometry plays a role. + +\section{1D subsoil profile definition} +A 1D subsoil profile consists of a series of values for layer levels (in m to reference level) that decrease with depth. +A 1D subsoil profile is hence defined from top to bottom. + +The first value is the top of the top 1D-layer, the second value is the top of the second 1-D layer and thus the bottom of the top 1D-layer, and so on. +In principle, only one value (for the top of the top layer) is sufficient because DAM automatically adds a layer 20 meters below the lowest specified level. + +For each layer, the name of the layer material must be specified. +This name must match one material with properties as recorded elsewhere. + +\section{2D subsoil profile definition} +The important definitions regarding the geometry of the 2D subsoil profile are: +\begin{itemize} + \item \textit{point}: is a point with two coordinates, an X and a Z coordinate. + \item \textit{curve}: is a line segment consisting of two points. + \item \textit{loop}: is a closed ring of at least 3 curves. + \item \textit{surface}: is a plane with 1 outer loop (an enclosing loop) and 0 or more inner loops (a loop entirely within an outer loop). +\end{itemize} + +Each point, curve, loop, and surface is unique. +Each point can occur in multiple curves (and thus loops and surfaces). +Each curve can occur in multiple loops (and thus surfaces). +Each loop (and thus also surface) may only occur once. +Each inner loop must fall entirely within the outer loop and may not cross or even touch it anywhere. +An inner loop can only share points with other possible inner loops in the same plane. +An inner loop can only share line segments with other possible inner loops in the same plane. + +A valid geometry contains: +\begin{itemize} + \item at least 1 surface with at least 1 valid outer loop. + \item only the loops that are actually in use as an outer loop or one of the inner loops of a surface. + \item only curves that are actually in use in an outer loop or inner loop. + \item only points that are actually in use in a used curve (and by extension in a loop and surface). +\end{itemize} + +A point is only valid if both coordinates are known and it does not coincide with another point. +A line segment is only valid if it contains two different existing points and does not coincide with another line segment. +Note that the order of the two points does not matter (A.p1 = B.p1 and A.p2 = B.p2 is the same as A.p1 = B.p2 and A.p2 = B.p1). + +A loop is only valid if: +\begin{itemize} + \item there are at least 3 non-coinciding existing curves (there is an enclosed area). + \item it is not intersected by other curves and/or loops. + \item it does not contain coinciding curves and/or points. +\end{itemize} + +Next to the geometry, a 2D subsoil profile also contains a separate list of 2D-layers. +Each 2D-layer holds a surface (by reference to a geometry surface) and a material name. +This name must match one material with properties as recorded elsewhere. + +\section{Combining a 1D subsoil profile with a surface line geometry} +To create a calculation profile, one option is by combining a 1D subsoil profile with a surface line geometry. + +If the surface line geometry lies entirely below the 1D subsoil profile, no combination can be made. +A calculation cannot be made for this situation, and an error message will follow. +This error message will not interrupt the entire DAM process; the message will be recorded in the log file. + +For merging a surface line geometry with a 1D subsoil profile, the surface line geometry is leading. +This determines the left boundary (X-coordinate of the first point in the surface line geometry) of the 2D calculation profile to be created. +It also determines its right boundary (X-coordinate of the last point in the surface line geometry). + +The process consists of: +\begin{itemize} + \item Make a complete copy (clone) of both the 1D subsoil profile and the surface line geometry to prevent the original data from being changed. + \item Then perform all subsequent steps on the copies. + \item Add a very thick layer of the specified filling material above the original top layer of the 1D subsoil profile. + \item If necessary, add a 20 m thick layer of the material of the layer above to the bottom of the 1D subsoil schematization. + \item Determine all intersection points of the surface line geometry with the 1D subsoil profile. + \item Put all intersection points together with all points of the surface line geometry into one list of points, sorted by X-coordinate. + \item Using that list and the 1D subsoil profile, create a list of new 2D layers + (4-point layers for all layers below the surface line geometry, multi-point layers for the 1D layers intersected by the surface line geometry; + everything above the surface line geometry is ignored). + Each 2D layer contains, in addition to the points, line segments, loop, and surface, the other layer information (IsAquifer, material, WaterpressureInterpolationModel). + \item Create an empty 2D geometry. + \item Set the left and right boundaries of this 2D geometry bases on the surface line geometry. + \item Set the bottom boundary of this 2D geometry based on the 1D subsoil profile. + \item Add the list of sorted intersection points and cross-sectional geometry points to the 2D geometry as NewlyEffectedPoints, NewlyEffectedCurves. + \item Add the list of 2D layers to the 2D geometry (avoid duplicate points and line segments!) as NewlyEffectedPoints, NewlyEffectedCurves. + \item Generate the 2D geometry based on the boundaries and “new” points and line segments. + \item Add all layer properties to the generated surfaces of the new 2D geometry based on the 2D layers list. + \item Create a new 2D (calculation) profile. + \item Add the 2D geometry to the 2D profile. + \item Finally, add all 2D layers (surfaces with info) to the 2D profile. +\end{itemize} + +The resulting 2D profile can never contain inner loops and has at least one valid surface with associated layer information. + +\section{Combining a 2D subsoil profile with a surface line geometry} +To create a calculation profile, another option is by combining a 2D subsoil profile with a surface line geometry. + +If the surface line geometry lies entirely below the 2D subsoil profile, no combination can be made. +A calculation cannot be made for this situation, and an error message will follow. +This error message will not interrupt the entire DAM process; the message will be recorded in the log file. + +For merging a surface line geometry with a 2D subsoil profile, the surface line geometry is leading. +This determines the left boundary (X-coordinate of the first point in the surface line geometry) of the 2D calculation profile to be created. +It also determines its right boundary (X-coordinate of the last point in the surface line geometry). + Index: DamEngine/trunk/doc/Dam Engine - Functional Design/DAM Engine - Functional Design.tex =================================================================== diff -u -r5123 -r5424 --- DamEngine/trunk/doc/Dam Engine - Functional Design/DAM Engine - Functional Design.tex (.../DAM Engine - Functional Design.tex) (revision 5123) +++ DamEngine/trunk/doc/Dam Engine - Functional Design/DAM Engine - Functional Design.tex (.../DAM Engine - Functional Design.tex) (revision 5424) @@ -66,6 +66,7 @@ %------------------------------------------------------------------------------ \appendix\chapter*{Appendix} \addcontentsline{toc}{chapter}{Appendix} % ToDo MWDAM-1719 investigate if FOWBIPipingKernel.tex and RRDScenarioSelection.tex should also be included here. +\include{CreatingCalculationProfiles} \include{UseStabKernel} \include{UpliftCalculations} \include{FODAMPipingKernel} Index: DamEngine/trunk/doc/Dam Engine - Functional Design/FO.tex =================================================================== diff -u -r4965 -r5424 --- DamEngine/trunk/doc/Dam Engine - Functional Design/FO.tex (.../FO.tex) (revision 4965) +++ DamEngine/trunk/doc/Dam Engine - Functional Design/FO.tex (.../FO.tex) (revision 5424) @@ -99,6 +99,17 @@ \section{Calculation}\label{sec:Calculation} +\subsection{Creating calculation profiles}\label{sec:CreateCalculationProfiles} +In order to be able to perform any calculation, the \ProgramName needs to create the proper calculation profile. +For all kernels, first a full 2D profile has to be created by combining a given surface line with a given sub profile. +This sub profile can be a 1D-profile as well as a 2D-profile. + +The combination of surface line and sub profile will always results in a 2D calculation profile. +For stability calculations this profile is used as is, +for piping calculation this 2D-profile forms the base from which the 1D piping calculation profiles are obtained. + +The way the combination is to be performed is described in \autoref{sec:CreatingCalculationProfiles}. + \subsection{Kernels}\label{sec:Kernels} The \ProgramName provides calculations with the following stability and piping kernels: \begin{enumerate}