Element Classes Element Classes

Since there are many elements in a structure which have common properties, MOSES allows one to associate a name with a set of properties. One then associates the name of the set by specifying the name on the element definition command. This name is called the class name of the properties and the elements of the set are called classes. The class name must begin with a ~. The concept of class is important in MOSES since it is used not only for defining properties, but also because MOSES redesigns by class.

In general, MOSES allows for an element to have different properties along its length. To define such an element, one should have a Class definition command for each segment of the element. When more than one segment is defined, the first set of properties are associated with the beginning or "A" end of the element, and the last set of properties associated with the "B" end of the element. The lengths of the segments are defined by an option, -LEN.

As mentioned above, classes are used to define all elements of the model, and as a result, there are many ways to define them. Basically, a class definition consists of at least:


     ~CLASS, SEC_TYPE, A, B, .....  -OPTION

Here, SEC_TYPE is a name which defines the types of elements which can use this class, A, B, ... are dimensions (inches or mm), and there are many options. In general, certain options are only applicable to certain types of classes, but two groups are available to all; material options and load attribute options.

The material options are:



     -SPGRAVITY, SPGR


     -DENSITY, RHO


     -EMODULUS, EMOD


     -POI_RAT, POIRAT


     -ALPHA, ALPHA


     -FYIELD, FYIELD


     -TENSTR, TENSTR


     -SN, CURVE, TYPE, S(1), N(1), ..... S(n), N(n)

All but -TENSTR can be defaulted via the &DEFAULT command. The -TENSTR option defines the tensile strength of the segment, TENSTR, ksi or mpa. The default value of TENSTR is 1.66 times the yield stress.

MOSES uses the class properties to compute various loads which will act on the body. The options:


     -WTPLEN, WTPFT

     -DISPLEN, DPFT

     -BUOYDIAMETER, B_DIAMETER

     -DRAGDIAMETER, D_DIAMETER

     -WINDDIAMETER, WOD

     -AMASDIAMETER, AMOD

can be used to alter the properties which will be used to compute the loads. Normally, the weight per length is computed from the true cross-sectional area and the density. If, however, the -WTPLEN option is specified, the weight per unit length will become WTPFT (bforce/blength). The buoyancy for an element is computed as the sum of that arising from a diameter and a displacement per unit length. For tubular members, the displacement per length is zero and the diameter is the OD. For non-tubular elements, the diameter is zero and the displacement per unit length is the element cross-sectional area times the density of water. One may alter this with the -DISPLEN and -BUOYDIAMETER options. Here, DPFT is the new displacement per unit length (bforce/blength) and B_DIAMETER is the "buoyancy diameter" (inches or mm). The wind force, viscous drag, and added mass are all computed based on an equivalent diameter (inches or mm). These can be altered via the options: -DRAGDIAMETER, -WINDDIAMETER, and -AMASDIAMETER.

Once a class has been defined, it can be redefined with the command:


     ED_CLASS,  ~CLASS_NAME, SEGNO,   ......

Here, ~CLASS_NAME and SEGNO define the class and the segment which are being edited, and the remainder of the command is the same as the class command. The only thing that the segment will inherit from the previous definition is the length or percent length. If SEGNO is omitted, the first segment will be redefined, and if SEGNO is greater than the last segment defined, the last segment will be modified. For example,

     ED_CLASS ~CLASS_NAME 1 TUBE 60 1.5 -FY 42

will change the diameter, thickness and yield strength of the first segment of the class ~CLASS_NAME to the values specified.

To add a segment, specify a value of zero for SEGNO. The ED_CLASS command works in the input channel through INMODEL, or under the MEDIT menu.

A string function is available that provides information regarding classes, and has the following form:


     &CLASS(INFO, CLS_NAM, SEGNO)

where INFO must be either ELEMENTS, N_SEGMENT, TYPE, DIMENSION, FRICTION, DENSITY, EMODULUS, SPGRAVI, ALPHA, FYIELD, POI_RATIO, TENSTRENGTH, B_TENSION, WTPLEN, DISPLEN, BUOYDIAMETER, DRAGDIAMETER, WINDDIAMETER, AMASDIAMETER, SECTION, PERLENG, LENGTH, REFINE, RDES, POINTS, REFERENCE, T_STIFF, L_STIFF, CFB, F_TYPE, R_SPACE, P_FY, M_P, ETA, P_N, SCF, SN, PLATE_DI, NAME_DIM, NAME_SEG, CLUMP, SOIL, PYMULT, TZMULT, QWMULT, SEND, SLOPE, DEPANC, IG_STIF, PR_M_THRUST, PR_EFFICIENCY, PR_T_ALIMITS, PR_R_ALIMITS, RR_ALPAH, PR_GAMMA, or PR_R_DIST. Here CLS_NAM is the name of the class used to return information, and SEGNO is the segment number of the class. Most of these return values of that one sets with options of the same name on a class command. Some, however, require more information. When INFO is TYPE, the string function returns the type of class, such as H_CAT, B_CAT, ROD, SL_ELEM, GSPR for flexible classes, or any of the various structural section types, such as PLATE or TUBE. A value of N_SEGMENT returns the number of segments in a class, while a value of ELEMENTS provides the element names using the specified class name. When INFO is DIMENSION, the dimensions of the specified segment of the class are returned. These dimensions could be diameter for class types such as H_CAT, or cross section dimensions for structural classes. The value of INFO of NAME_DIM returns to name of the dimensions returned with DIMENSION, e.g. Diameter and Thickness. Finally, the value of INFO of NAME_SEG returns the name of the segment type, e.g. Rod.