2.4.1.2. Geometry¶
There are four aspects related to the definition of geometry, namely geometry of the ocean floor or wave flume, buildings or specimens, floating bodies, and shallow water to the CFD interface. This section discusses the setup of all aspects of geometry.
Bathymetry¶
The geometry can be provided either in terms of the bathymetry of the ocean floor, an STL file, or the wave flume digital twin. The geometry definition is based on the type of Simulation type
chosen in the Project Settings. The geometry definition for each of the simulation types has been outlined below.
Shallow-water to CFD coupling
To couple high-fidelity CFD and with simplified shallow-water equations (SWE), you must input the bathymetry defining files you previously used in a SWE simulation.
Tip
Please provide as much of the bathymetry as possible. HydroUQ will crop the required areas for the CFD simulation.
You must also provide the corresponding solution files from said simulation.
Note
The solution files can be large in size. Hence, it is recommended to restrict the times required for the CFD simulation only. Here, it is essential to note that the boundaries can lead to unphysical accumulation if there are excessive reflections.
Once these files are provided, HydroUQ will produce a convenient graphical interface for a one-way SWE-CFD coupling in a larger UQ workflow. Namely, for GeoClaw and OpenFOAM.
HydroUQ can directly read the shallow water solutions from the GeoClaw
solver, so little to no effort is required regarding pre-processing for any user. See lbl-geom-geoclaw for more information on the GeoClaw solver.
The bathymetry can be provided in the GeoClaw format (Type 1) or the SimCenter format. Similarly, the shallow-water solutions can be provided in the GeoClaw format or the SimCenter format.
For details regarding the GeoClaw file format(s), see Topography. For the SimCenter shallow-water format, refer to Topography: SimCenter.
Bathymetry
Here the user needs to select the bathymetry files of the ocean floor. At present, HydroUQ can directly read the bathymetry provided in the GeoClaw format (Type 1) or the SimCenter format. For more information about the GeoClaw file format, check out Topography. Similarly, for the SimCenter formats, check out Topography: SimCenter.
The other input is the direction of gravity. For this type of simulation, it is recommended to use -z
for the gravity direction.
Note
The entire bathymetry provided is considered for the CFD simulation. Hence, please be mindful of the model size, especially if the bathymetry is very rough. A very irregular bathymetry can require refined meshes leading to longer computational times.
STL file
The STL
file format is pervasive in fluid simulation software, hence HydroUQ provides support for the format.
To define a complex ocean bathymetry, you may use multiple STL
files to replicate the ocean floor if they form a manifold when combined.
Custom structures, boundaries, and other features may also be defined using STL
files. An example is shown in the HydroUQ UI below:
Important
For the most robust experience, HydroUQ requires that these custom input files obey the STL ASCII
format.
For OpenFOAM simulations, the following STL
files are required to be either produced by the user or selected from existing files:
Entry.stl - This is the patch for the inlet of the fluid
Exit.stl - This is the patch for the outlet of the fluid
Right.stl - This is generally a wall patch on the right. Here, if one were to stand at the inlet and face the outlet, this is the wall on the right.
Left.stl - This is generally a wall patch on the left. Here, if one were to stand at the inlet and face the outlet, this is the wall on the left.
Bottom.stl - This is the ocean floor or the flume bathymetry
Top.stl - This is generally a surface high enough such that the air velocity does not affect the wind-water interface
Buildings.stl - This is the building of interest on which we aim to determine the structural response
Otherbuildings.stl - These are the other buildings around the structure of interest and could affect the flow around the structure of interest.
Warning
Failure to provide any of the above files will result in an error for HydroUQ OpenFOAM simulations.
Note
It is necessary to provide each of these STL
files separately, not preemptively combined into a single file.
Wave flume
This sections discusses the geometric definition for wave flume simulations. This is the first step in the description of a digital twin of an experimental set in said flume facilities.
For instance, one of the inputs required to use a simulation to represent a real-world representation is the direction of gravity. For fluid simulations, it is often recommended to use -z
, but -y
is a common choice as well. Other parameters may entail wave-maker specifications, concrete wall roughness, the basic wave flume geometry height / width / depth, among others.
Bathymetry, i.e. sloped panels that are often present in wave flumes to influence wave development, are important for replicating experiments digitally and so an adjustable bathymetry creator is present in HydroUQ. The wave flume geometry in particular is a critical parameter, as it determines whether a full wave flume simulation is done or a truncated one (i.e. if reduced values were chosen). Bathymetry, i.e. sloped panels that are often present in wave flumes to influence wave development, are likewise important and supported in HydroUQ.
The basic domain geometry of the wave flume is defined by providing the coordinates of the external profile of the wave flume. The coordinates of the standard wave flume are provided below.
The flume geometry can be defined using a standard flume definition, i.e. a digital twin. Here, a common flume geometry for the Large Wave Flume at the O.H. Hinsdale Wave Research Laboratory in Oregon State University. This is selected as shown in :fig:`Flume02`.
The geometry of the wave flume is defined by providing the coordinates of the external profile of the wave flume, as shown in :fig:`WaveFlumeGeo` below.
The coordinates of the standard wave flume are provided below.
-2.085,0
14.2748,0
14.2748,0.1524
17.9324,0.1524
28.9052,1.15
43.5356,1.7526
80.116,1.7526
80.116,4.572
-2.085,4.572
Alternatively, you may define your own custom wave-flume geometry, as shown in :fig:`Flume01`. Specify the x
(along the length) and z
(along the height) coordinates in a tabular format. Additionally, breadth must be provided for 3D simulations.
HydroUQ constructs the digital geometry repesentation, i.e. STL
files, necessary for common CFD simulations using the provided coordinates and the breadth automatically.
Important
The breadth of the flume needs to be greater than 0, and typically a multiple of 4+ times the characteristic simulation length (e.g. a typical grid-cell width). If the breadth is too small, this can lead to numerical issues that may crash the simulation or over-constrain fluid motion.
Shallow Water to CFD Interface¶
The shallow-water to CFD interface can only be defined for the simulation type where CFD is used to resolve the shallow-water solutions. The interface is specified using a .csv
file and uploaded as shown in Fig. 2.4.1.2.7.
Consider the problem description as shown in the Fig. 2.4.1.2.8. Consider an event (earthquake on a fault or low-pressure due to a hurricane) represented by the red line on the left. The shallow-water solvers are used over the Ocean domain. To provide a high-fidelity solution for the structural response, the shallow-water domain is further refined using 3D CFD. The yellow boxes represent the shallow water to CFD interfaces. This interface information is provided in a .csv
file.
A typical interface file is shown below.
Entry 0 0 0 1
Exit 1 0 1 1
Right 0 0 1 0
Left 0 1 1 1
The .csv
needs four patches to be explicitly defined. The first is the patch name, followed by the x
and y
coordinates of the first and second points. The order of the points or the patches do not matter. The physical meaning of the patch names are as given below:
Entry - This is the patch for the inlet of the fluid from the shallow water to the CFD domain.
Exit - This is the patch for the fluid outlet from the CFD domain.
Right - This is generally a patch on the right. Here, if one were to stand at the inlet and face the outlet, this is the boundary on the right.
Left - This is generally a patch on the left. Here, if one were to stand at the inlet and face the outlet, this is the boundary on the left.
Note
It is necessary that the points provided to define the interface needs to be closed and create a quadrilateral.
The patch names need to be provided to identify appropriate boundaries.
Buildings and Scaled Specimens¶
Buildings or specimens can be defined in the EVT
. It is important here to note that there can be two types of buildings: (a) The building of interest for which the structural response is measured (b) Other neighboring buildings that impact the flow fields.
These can either be defined manually in a tabular format or parametrically as shown in Fig. 2.4.1.2.9.
Manual Definition¶
For the manual definition of the building, a tabular format is used for the user to specify:
Building type (type): This refers to the shape and type of building. An index is used to identify the type of building:
-2: This is the building on which the structural response is required. The building definition is as provided in the
GI
widget tab earlier. Here the building shape is generally cuboid.-1: This is the building on which the structural response is required. However, this is provided in the
SIM
tab as an OpenSees script for complicated building shapes. For this type of building, please also upload theSTL
file, in ASCII format, for the building shape. This is required to accurately capture the flow fields around the building.1: This is a building on which structural response is not desired. However, this is present in the neighborhood and can significantly affect the flow fields. The shape of the building is cuboid here.
2: This is a building on which structural response is not desired. However, this is present in the neighborhood and can significantly affect the flow fields. The shape of the building is more complex and provided through an
STL
file in ASCII format.
Note
At present, HydroUQ only supports one type of building to be defined using a
STL
geometry. This file needs to be in ASCII format. This limitation will be removed in the upcoming versions.Center: This refers to the location of the building/specimen. This is defined in terms of the coordinates (
x
,y
,z
) or latitude-longitude depending on the type of simulation chosen earlier in Project Settings. Suppose the simulation is based on shallow-water to CFD or bathymetry settings. In that case, the latitude and longitude need to be specified. Otherwise, the position is input in terms of the coordinates.Note
Here, the building position refers to the center of the bottom surface of the building. Thus, one needs to appropriately calculate the position of the building.
Parameters: This refers to the building’s length, breadth, and height definition. This is required only for building types 1. The parameters for the other types will be extracted either from the
STL
files or theGI
widget tab.
Parametric Definition¶
The parametric definition of the building is recommended for usage mainly for the flume. This is recommended for usage when all the buildings are of the same shape and size. Here, the buildings are automatically generated based on a set of parametric inputs. The building of interest is directly determined by the HydroUQ app by using the coordinate information from the GI
tab and matching it with the nearest building. The set of parameters include:
Number of buildings along the coast: This refers to the number of buildings in the direction orthogonal to the flow, i.e., between right and left interfaces or walls of the CFD domain.
Number of buildings into the coast: This refers to the number of buildings in the flow direction, i.e., between entry and exit of the CFD domain.
Distance from coast: This refers to the distance of the first building from (0,0).
Distance between buildings (Side): This refers to the center-to-center distance between the buildings in the direction orthogonal to the flow.
Distance between buildings (Front): This refers to the center-to-center distance between the buildings in the flow direction.
Building size: Here, it is required to specify the building’s length - breadth - height. This information can be the size of the building (for those with a cuboidal shape). Alternatively, this is the box into which an irregular building can be fitted.
Coordinate of coastline center: This refers to the center of the coastline from the global (0,0) of the domain.
Building shape: Here, two-building shapes are possible, i.e., cuboid or user-defined as shown in Fig. 2.4.1.2.10. If the building shape is user-defined, then an
STL
file in ASCII format needs to be uploaded.Distribution of buildings: This refers to the distribution of the buildings. At present, this can be simple or staggered, as shown in Fig. 2.4.1.2.11.
Debris and Floating Bodies¶
Currently, HydroUQ only supports floating bodies in the Material Point Method Event. This may expand to include OpenFOAM in an upcoming version of HydroUQ app.