Main environment SimObject (waves, currents, seafloor).
Constructs and owns the EnvironmentProvider resource that other SimObjects retrieve by name to query wave kinematics, wake attenuation, and seafloor forces. All physical state (wave field, bathymetry, currents) is set up from XML parameters during construction.
The implementation provides:
- Spectral wave realization from established ocean wave spectra (e.g., JONSWAP, ISSC)
- Component-based wave specification for full user control
- Configurable wave theory (Airy or Gerstner)
- Independent environment features: currents, bathymetry and seafloor interaction models
The environment simobject registers resources used by other simulation modules to query environment properties such as water particle kinematics, sea surface elevation, currents, and depths.
Simulation of a deep-sea wave environment supporting both regular and irregular seas, including short-crested and long-crested wave fields.
- Note
- The wave model does not include refraction, diffraction, or wave–current interaction.
- The wave model assumes deep-water conditions and is invalid when water depth is less than half** the largest significant wavelength.
- Only gravity-driven waves are supported; thus the model does not apply to wavelengths shorter than approx. 5 cm.
Configuration Parameters
Potential environment configuration parameters are listed below. Due to their large number, these are divided into separate sections. Examples of environment configuration files:
Main parameters
| Name | Width | Description |
| RandomSeed | 1 | Random number generator seed for the probabilistic models. (Default: A time based seed.) |
Visual parameters
| Name | Width | Description |
| Visual.PhysicalWaves | 1 | Enable physical wave rendering in visualization. (Default: "True") |
| Visual.Quality | 1 | Rendering quality level. Should be an integer between 0 and 10. (Default: 10) |
| Visual.Sky | 1 | Sky rendering mode. Supported: "cloudydome" ,"cloudyplane", "cloudy", "mountains", "morning" and "stormy". (Default: "Clear") |
| Visual.Vertices | 2 | Number of vertices for ocean surface and seafloor mesh [u, v]. (Default: 100, 100) |
| Visual.WorldRadius | 1 | World rendering radius. (Default: 3000) |
Wave parameters used for both seatstate and component-based wave models
| Name | Width | Description |
| Waves.Model | 1 | Value of either "Component", "JONSWAP" or "ISSC". Specifies if wave components are defined by a wave component vector or a continuous spectrum |
| Waves.Theory | 1 | Value of either "Airy" or "Gerstner" which specify the underlying wave theory used to compute wave elevation, velocities of acceleration. (Default: "Airy".) |
| Waves.NumWaves | 1 | Number of wave components in wave energy spectrum or specified by individual components. (Default: 1, max 32) |
Seastate spectrums (JONSWAP and ISSC)
| Name | Width | Description |
| Waves.MeanPeriod | 1 | Mean period of wave spectrum. (Default: 4) |
| Waves.Hs | 1 | Significant wave height of wave spectrum. (Default: 4) |
| Waves.MainDirectionDeg | 1 | Mean wave direction of wave spectrum. (Default : 0) |
| Waves.OmegaNormalizedMin | 1 | Lower non-dimensional angular frequency limit used during spectrum discretization. (Default: 0.5 |
| Waves.OmegaNormalizedMax | 1 | Lower non-dimensional angular frequency limit used during spectrum discretization. (Default: 3.0 |
| Waves.DirectionBinning | 1 | Method for distributing wave directions among components. Supported:\ "Random" — directions assigned randomly with probability proportional to the directional density. "Sequential" — componentons assigned according to the spreading spectrum and so that the smaller the amlitude, the further away from the mean direction. (Default: "Sequential"). |
| Waves.FrequencyBinning | 1 | Method for sampling the frequency distribution into discrete components. Supported: "EqualEnergy" — bins chosen so each has equal energy contribution. "EqualSqrtEnergy" — bins scaled by sqrt(energy). (Default: "EqualSqrtEnergy"). |
| Waves.DirectionCosinePower | 1 | Directional spreading exponent used in the directional distribution. Higher values yield narrower wave propagation around the mean direction. (Default: 2). |
Wave components
| Name | Width | Description |
| Waves.Periods | <Waves.NumWaves> | Period of each wave component |
| Waves.Amplitudes | <Waves.NumWaves> | Amplitude of each wave component |
| Waves.DirectionsDeg | <Waves.NumWaves> | Direction of each wave component in degrees |
Bathymetry
| Name | Width | Description |
| Bathymetry.Model | 1 | Bathymetry model type. Currently only "SumOfSines" is supported. |
| Bathymetry.Depth | 1 | Mean water depth. |
| Bathymetry.NumStructures | 1 | Number of sinusoidal features. |
| Bathymetry.StructureMaxHeight | 1 | Maximum combined height of structures. |
| Bathymetry.StructureLengthMin | 1 | Minimum horizontal feature length. |
| Bathymetry.StructureLengthMax | 1 | Maximum horizontal feature length. |
Seafloor forces
| Name | Width | Description |
| SeafloorForces.Model | 1 | Seafloor force model. (Currently only "Model1" is supported. |
| Seafloor.DampingHorizontal | 1 | Horizontal damping coefficient. |
| Seafloor.DampingVertical | 1 | Vertical damping coefficient. |
| Seafloor.Hardness | 1 | Seafloor hardness parameter. |
| Seafloor.Density | 1 | Seafloor density parameter. |
| Seafloor.CableDampingTangential | 1 | Tangential damping coefficient for cables. |
| Seafloor.CableDampingNormal | 1 | Normal damping coefficient for cables. |
Currents
Current model selection
| Name | Width | Description |
| Current.Model | 1 | Current model type. Supported values: "Constant" (default), "DepthVarying", "NetCDF". "NetCDF" requires the build to define NETCDFCPP_AVAILABLE. |
Constant current
| Name | Width | Description |
| Current.Velocity | 3 | Constant current vector [Ux, Uy, Uz] [m/s]. |
Depth varying current
| Name | Width | Description |
| Current.Velocity | <N> | Current speed [m/s] at each depth layer. |
| Current.DirectionDeg | <N> | Current direction [deg] at each depth layer. |
| Current.DirectionRad | <N> | Current direction [rad] at each depth layer (alternative to Current.DirectionDeg) |
| Current.Depth | <N> | Absolute depth [m] for each velocity layer. |
NetCDF current
| Name | Width | Description |
| Current.NetCDFFile | 1 | Path to the SINMOD-format NetCDF file containing 3-D current-velocity data. |
</table>
- See also
- marenv::Environment, marenv::EnvironmentFacade, marenv::wave::WaveField
-
environment::EnvironmentProvider, environment::SeafloorForces
This SimObject is referred to as Environment