The Environment The Environment

The definition of the environment is a two step process. First, one defines any "auxiliary" data necessary, then he defines the environment referencing the auxiliary data by name. Most of the auxiliary data was discussed in the section on CURVES, Here, we will discuss the definition of the environment itself first, and follow immediately with a definition of how to define the auxiliary data not previously discussed. The environment is defined with the command:


and the available options are:









     -S_PERIOD, TW(1), TW(2), ......., TW(n)

     -MD_PERIOD, TD(1), TD(2), ......., TD(n)









     -W_PERIOD, TW(1), TW(2), ......., TW(n)









Here, ENV_NAME is the name of the environment. If it is omitted, then one is working with the "default" environment, and the precise action that MOSES takes will be different than if a name is specified. In either case, the system will be subjected to the environment specified by this command until another &ENV command is issued.

If no ENV_NAME is specified, all of the environmental data is set to its default value. In essence, the default environment is a null environment with the density of water, the water depth, the ramp time, and the wind profile taken from those defined by an &DEFAULT command. The options are then processed which are used to alter these defaults.

If an ENV_NAME is specified, the action is a bit more complicated. In this case, MOSES will check the database to see if an entry corresponding to this name exists. If it does not exist, then a new entry is created which corresponds to the name, and the environmental data is set to the defaults. If an entry does exist, then the environmental data corresponding to that name is retrieved. MOSES then proceeds to process the options, which are used to alter the existing values. Notice that if this is a new name, you are altering the defaults, and if it is an existing name, you are altering the existing values. When the options have been processed, the new data is stored in the database for further use and modification.

With the use of names, a user can save a considerable amount of input in certain situations. In fact, during Frequency Domain Post-Processing, several of the commands also act as &ENV commands. For this reason, there is some "environmental" data which may not appear to be environmental, unless one views environmental in a rather general sense.

For the options requiring an environment direction, SEA_DIRECTION, WIND_DIRECTION or CURRENT_DIRECTION, the direction is positive from global X towards global Y, as shown in Figure 2.

The -DURATION option is used for computing fatigue, and simply defines the length of time in days that the environment will act. Either of the two options -WATER or -SPGWATER serve to define the mass properties of water. Here, RHOWAT is the specific weight of water (pounds/ft**3 or newtons/m**3) and SPGRWAT is the specific gravity of water (density of water divided by density of standard water).

The -PROBABILITY option is used to control the statistics which will be defined when computing statistics of quantities in an irregular sea. STAT must be either: RMS, SIGNIFICANT, 1/10, MAXIMUM, or DURATION. If MAXIMUM is selected, then PDATA is used to define the number by which the root mean square (RMS) will be multiplied to obtain the reported maximum. Here, if PDATA is omitted, a value of 3.72 will be used. If DURATION is selected, the probable maximum based on a specified duration will be reported. Here, one specifies the duration in seconds with PDATA.

To define the sea for a given environmental condition, one employs -SEA, -A_SEA, -SPREAD, -SP_TYPE, -SPREAD, -TIME, -MD_PERIOD, -S_PERIOD, -RAMP and -T_REINFORCE options. In essence, the first two options defines the basic sea condition and the others serve to instruct MOSES how to treat the details. In MOSES, one can have several different seas which will be added together to form the sea state to which the model will be subjected. -SEA is used to define the first sea, and -A_SEA is used to define subsequent ones. Other than this distinction, the two options are identical. For either -SEA or -A_SEA, SEA_NAME is the name of the sea. It must be either REGULAR, ISSC, JONSWAP, 2JONSWAP or a name defined as a "curve" with &DATA CURVE P_SPECTRUM, &DATA CURVE F_SPECTRUM commands, in the &DATA with GRID. Here, HS is the significant height (feet or meters), PERIOD is the period (sec.), SEA_DIRECTION is the mean heading (deg.), and for a name of JONSWAP, GAMMA is the "peakedness factor". The precise definition of PERIOD depends upon the value of TYPE specified with the -SP_TYPE option or which was specified on a &DEFAULT command. If TYPE is PEAK then period is the period at which the spectrum has a maximum. If it is MEAN, then the period at which the spectrum peaks is given by

     Tp = 1.2958*PERIOD

Notice that for an ISSC spectrum (GAMMA = 1), PERIOD is the mean period. For values of GAMMA other than one, PERIOD has no meaning other than that given above.

If one is using a sea defined by a wave grid, then the period and height are ignored, and for anything other than JONSWAP, GAMMA is ignored. When an input spectra is used, the input values are scaled so that the sea will have the specified significant height. Also with an input spectrum, one can omit the PERIOD, and the spectrum will be as input. If one does add a period, the spectrum will be scaled so that the peak frequency will move according to an ISSC spectrum.

All of the ISSC, JONSWAP and 2JONSWAP spectra can be represented by the equation:

     S(f) = alpha * 172.8 * HS**2 * z * exp [ -1948.184*z ] * p / f

where f is the frequency in rad/sec.,

     z = 1. / ( f * Tp ) **4
     p = GAMMA ** exp [ ( beta - 1) **2 / ( 2 * sigma**2) ]
     beta = Tp * f / ( 2 * pi )

sigma is .07 for frequencies less than the peak and .09 for those greater than the peak, and alpha is a parameter computed to make the total area under the spectrum equal to HS**2 / 16. With these spectra, the significant height is twice the square root of the area. For 2JONSWAP, the value of GAMMA is not input, instead, it is obtained from the DNV guidelines. Unfortunately, their relationship between GAMMA and the "slope" is dimensional. What we have is

     s = Tp * sqrt( g/(2*pi*Hs) )
     GAMMA = 5                  for s < 4.5
     GAMMA = 1                  for s > 6.2
     GAMMA = exp( 5.86 - .94 s) for 4.5 <= s <= 6.2

There is almost never a need to define a spectrum by its ordinates. Many users think that because someone gives them a Bretschneider or a PM spectrum, that they need to resort to such measures, but this is not necessary. The problem comes from the lack of consistency in the manner in which sea data is provided. All of the sea spectra we know of have the same form as the one above. The difference is in the manner in which the period variable is specified. Sometimes, a peak period is specified, sometimes a significant, sometimes a mean, other times none at all. The easiest case is when one is given a PM or Pierson Moskowitz spectrum and no period is specified. Here, one can use

     PERIOD = sqrt ( ( 23.27 * 2 * pi * HS ) / g )

which says that the ratio of mean wave length to height is 23.27. In other cases, one should find where the specified spectrum has a peak and use the result above to obtain PERIOD.

The -SPREAD option controls the spreading of the seas, and EXP is the exponent which defines the wave spreading function, F:

     F(THET) = COS(H - THET)**EXP  for -pi/2 < THET < pi/2
     F(THET) = 0                   Otherwise

Here H is the mean wave heading. If the -SPREAD option is not used, a value of 200 will be used for EXP. The -MD_PERIOD option defines the periods, TD(I), at which wave drift forces will be generated when performing a time domain simulation. If they are omitted, the values specified via &DEFAULT will be used. Similarly, the -S_PERIOD option defines a set of periods which will be used to synthesize wave frequency excitation. If they are omitted, the values specified via &DEFAULT -PERIOD will be used. In the case when a spectrum will be used to synthesize a time domain sample of a sea, the -RAMP, -TIME, and -T_REINFORCE options are used to control the synthesis.

The variable RAMP_TIME of the -RAMP option defines the time interval over which the sea will be linearly ramped from zero to its full value. If either option -RAMP or -T_REINFORCE are omitted, the values defined via &DEFAULT will be used.

The -TIME option sets the observation time and time increment of the synthesis. Here, TOBSERV, is the end time of the synthesis and DELTA_TIME is the time increment. TTRA_SET can be used to set a time translation. If TTRA_SET is a number, then this number translates time equal zero to this time. The simulation will still begin at zero, but the environment at time equal zero will have the same as that at the specified time. If TTRA_SET and CYCLES are omitted, a translation of zero will be used. If, however, TTRA_SET is FIND then MOSES will attempt to find a time so that during the synthesis a peak will be found which corresponds to the probable maximum during a simulation with NCYCLES. In essence, the following algorithm is used:

It is possible that a "good" solution to this problem will not be found. In particular, if NCYCLES is too large then no peak greater than that specified may be found. The other extreme is if NCYCLES is too small in comparison to the observation time. Here, it may not be possible to get a time interval in which a peak will not be too large. The above scheme will, however, normally yield a result which is larger than that requested.

The option -T_REINFORCE is used to pick the phases of the frequency components. If the sea was defined as a regular wave, then the phase is zero. If, however, the sea was specified via a spectrum another method is used. Here, the phases are chosen as

     phi(i) = -TB * w(i)

Here, phi(i) is the phase for the ith component, w(i) is the frequency (rad/sec) of the ith component, and TB is a time. By using this scheme, you always get the same sea, and two time domain simulations will yield identical results. The time, TB, has an interesting interpretation - it is a time at which all of the components reinforce, i.e. at this time the amplitude of the sea is the sum of all of the Fourier coefficients. Depending on the number of components you use, this sum is "unreasonably" large and this time is to be avoided during the simulation. Thus by default, it is set to be a large number. If you need to change it to perform Monte Carlo simulations, use -T_REINFORCE. Finally, if TB is negative, then the phases will be chosen randomly using the absolute value of TB as the seed.

The wind is defined with the options -WIND, -W_PROFILE, -W_PERIOD, -W_DESIGN -W_SPECTRUM -W_HISTORY, and -W_MD_CORRELATION options. The -WIND option defines the wind speed, WIND_SPEED, which is the mean wind speed in knots, and WIND_DIRECTION is the direction from which the wind blows. The -W_PROFILE option defines how the wind will vary with height. Here, WP_TYPE can be ABS, API, NPD or POWER. If TYPE is ABS, then height coefficients will be computed according to the ABS rules. If WP_TYPE is API or NPD, the wind variation with height will be according to the specified code. If, however, WP_TYPE is POWER, then EXP is the power which defines the power law for wind variation. In other words, if EXP is equal 1/7, then the wind will vary with height according to a 1/7 power law. To specify the type and duration of the design wind speed, the -W_DESIGN option is used. Here, DTYPE can be either API or NPD, and DURATION is the design wind speed average in seconds.

To define the temporal or frequency behavior of the wind, one uses either the -W_SPECTRUM or -W_HISTORY options. The first of these defines the type of wind spectrum to be used. For this option, STYPE can be API, NPD, HARRIS, DAVENPORT OCHI, or the name of a spectrum previously defined with &DATA CURVE with a TYPE of either F_SPECTRUM or P_SPECTRUM. Most of these standard spectra can be found in a paper "Wind Turbulent Spectra for Design Consideration Of Offshore Structures", OTC 5736, by Ochi and Shin. The API spectrum is taken directly from the API-RP2a 21st edition and the NPD spectrum is taken from NORSK STANDARD N-003, "ACTIONS and ACTION EFFECTS" Rev1, February 1999. It should be noted that there is a contradiction between the turbulence factor and the wind spectrum for the NPD spectrum. For this case, MOSES uses the spectrum for the shape and the intensity for the variance.

Instead of using a spectrum, the time variation of the wind can be defined with the , -W_HISTORY option, This option instructs MOSES to use a previously defined wind history of HISTORY_NAME. This history is defined with &DATA CURVE W_HISTORY.

The -W_PERIOD option defines the periods, TW(I), at which wind forces will be generated when performing a time domain simulation. If they are omitted, the values specified via &DEFAULT will be used. Finally, -W_MD_CORRELATION defines the relative phase of the wind velocity components with the wave drift components. If FACTOR is 0, then the two have phases 90 degrees apart, if FACTOR is one, then the two phases are the same. Intermediate values of FACTOR produce relative phases between these two extremes.

The current is defined via the -CURRENT option. There are two styles for this option. With the first, one simply specifies a current speed, VC (ft/sec or m/sec), constant with depth and the direction from which it comes, CURRENT_DIRECTION (deg.). The second method is used to define more complicated currents. Here, PRO_NAME(i) is the name of a current profile defined in the &DATA CURVE C_PROFILE and CURRENT_DIRECTION is again the direction from which the current comes. Notice that one can define several different profiles from different directions. MOSES will combine each of the profiles to yield the true current velocity at any depth.

The tide is defined by the -TIDE option where CHANGE is the change in (feet or meters) of the water level. The water depth is set with the -DEPTH option, using units of feet or meters.

The marine growth on the structure is specified by the -M_GROWTH option, where MG_NAME is a name which has been defined via the &DATA CURVE M_GROWTH command.

If one wishes to include internal pressure or temperature effects during a structural analysis, he must specify the internal pressure and temperature distribution. This is accomplished with the -T_PRESSURE option with TMP_NAME being a name which has been previously defined via the &DATA Menu with a T_PRESSURE command.

When an environment is used for computing forces or stresses spectrally, one can either combine the deviation with the mean, or omit the mean by using the -USE_MEAN option depending upon whether or not YES/NO is YES or NO. If this option is omitted, then the mean will be used.

As mentioned previously, some of the environmental data must be defined in a separate menu. This is accomplished by issuing


One can then define basic environmental data. At the conclusion of defining environmental data, one should then issue END_&DATA to exit the menu.

The command

     T_PRESSURE, TMP_NAME, OBJECT(1), TMP(1), INP(1), GH(1), SC(1), \
     OBJECT(2), TMP(2), INP(2), GH(2), SC(2), ..

defines a temperature and internal pressure distribution within the elements which can be referenced by the name TMP_NAME. Here, OBJECT is the name of the object to which the temperature TMP(i) (degrees F or degrees C) and internal pressure distribution will be applied. The pressure distribution is defined by a given gage pressure (ksi or mpa), INP(i), measured at a global height GH(i) (feet or meters), and SC(i) is the specific gravity of any fluid contained inside the element. If OBJECT(i) is two node names (they may include wild characters, but must begin with a *), the attributes will apply to all beams between those two nodes. If OBJECT(i) is an attribute class name (begins with a ~), then the attributes will apply to all elements which belong to classes which match OBJECT(i). If OBJECT(i) does not begin with either an * or a ~, then the attribute will be applied to all members whose names match OBJECT(i).

The command


stores a complete environment in the database. The options for this command are the same as those for &ENV, described earlier.

The command


is used to define a wave grid. Here, GRID_TYPE is the type of wave used to generate the grid and it must be either: REGULAR, STOKES, STREAM, or INPUT. For this command, GRID_NAME is the name of the wave grid, and DEPTH, HEIGHT, and PERIOD are the water depth (feet or meters), wave height (feet or meters), and period (sec.) used in generating the wave as shown in Figure 3. If one of the first three values is specified, MOSES will automatically generate a wave grid using either a regular wave, a Stokes fifth order wave, or a wave generated by a stream function algorithm. If INPUT is specified for GRID_TYPE then the user is placed into another sub-menu where the grid can be defined. This is accomplished via the commands:


     VERTICAL, Z(1), VX(1), VZ(1), AX(1), AZ(1), ........


The HORIZONTAL command defines the locations along the wave where the grid is to be defined. X is the distance from the wave crest (feet or meters), and WELEV is the elevation of the wave above mean water level (feet or meters). Once the horizontal location has been defined, one should input as many VERT commands as necessary to define the wave velocity and acceleration. Here, Z(i) is the depth of the point below the mean water surface, negative for points above the mean water surface, VX(i) and VZ(i) are the horizontal and vertical wave velocities (ft/sec or m/sec), and AX(i) and AZ(i) are the horizontal and vertical wave accelerations (ft/sec**2 or m/sec**2). When the grid has been completely defined, one should issue END_INPG to return to the ENVIRONMENT sub-menu.

There is a string function:

     &ENV(INFO )

Which returns information about the current environment. Here INFO must be S_HEIGHT, S_PERIOD, S_GAMMA, S_CREST, S_HEADING, S_SP_TYPE, S_PERIOD, W_SPEED, W_DIRECTION, W_SPECTRUM, W_DESIGN, W_PROFILE, W_PERIOD, or C_SPEED, C_DIRECTION, WAT_DEPT, TIDE, WATER, MD_PERIOD. T_OBSERVE, T_INCREMENT, RAMP, T_REINFORCE, The values beginning with S_ return information about the sea, the ones beginning with C_ return information about the surface current, the ones beginning with T_ and RAMP return information about the time, the ones beginning with W_ return information about the wind, and the ones beginning with S_ return information about the sea. WAT_DEPT returns the water depth and WATER returns the specific gravity of water.