\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 curve is only valid if it contains two different existing points and does not coincide with another curve. 
Note that the order of the two curve points does not matter (comparing curve A headpoint, endpoint with curve B headpoint, endpoint is the same as comparing curve A headpoint, endpoints with curve B endpoint, head point and as curve A endpoint, head point with curve B headpoint, endpoints and even curve A endpoint, headpoint with curve B endpoint, headpoint).

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 (as 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 to the left or to the right of the 2D subsoil profile, a combination cannot be made. 
If the surface line geometry lies even partially below the 2D subsoil profile, no combination can be made. 
In both cases, 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).

When the 2D subsoil profile lies entirely to the left or to the right of the surface line geometry,
a combination cannot be made and an error message will follow. Again this error message will not interrupt the entire DAM process; the message will be recorded in the log file.

The process consists of: 
\begin{itemize} 
	\item Check that the 2D subsoil profile is not null
	\item Check that the filling material and the surface line geometry are defined properly.
	\item Check that the surface line geometry lies completely above the bottom of the 2D subsoil geometry.
	\item Check that the surface line geometry does not ly completely to the left or to the right of the 2D subsoil geometry.
	\item Make a complete copy (clone) of both the 2D 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 Round all coordinates from both the 2D subsoil profile as well as from the surface line geometry.
	\item Create a new 2D profile as place holder for the resulting 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}
