Marine Engineering Specialists -- Bentley Systems has acquired Ultramarine's MOSES Software [ Press Release ]
Modeling Questions


Q: The origin of a barge defined from plane 0 to 100, is at plane 0 at the keel. Is there a command I can use in the cif file to shift the origin to midships, after the inmodel command ? Other than going back to the data file to define the barge from plane -50 to 50 ?
REV 7.04

A: Yes, the command

   &DESCRIBE PART NAME -MOVE 50 0 0 0 0 0
will move the origin of the part to the location specified after the -MOVE option. Here "NAME" must be the name of the body whos origin you with to move. Click Here for more explanation.


Q: Does MOSES take into account the sectional dimensions when computing the mass inertial properties of a beam?
REV 7.03

A: Yes, beams are "thin". We use #weight for big things that have nontrivial sectional dimensions. There are several ways to alter the data used as section properties. Here is a link to the section of options that can be used with the class description.


Q: Do the dimensional overrides such as -BUOYDIAMETER work for cone elements?
REV 7.03

A: In MOSES, beams are "thin"; i.e. the sectional dimensions are ignored. We use #weight for big things that have nontrivial sectional dimensions. The use of -BUOYDIAMETER will instruct MOSES to use a constant diameter for the cone.


Q: Why does &WEIGHT -TOTAL not give me the correct CG?
REV 7.02

A: Here is an exceprt from your command file:

    &apply -percent -category @         #DEAD 110 #BUOY 100 \
                    -category str_model #DEAD 105 #BUOY 100
    $
    &set jktweig = &body(weight jacket)
    &set jktcg   = &body(cg jacket)
    &set jktrad  = &body(radii jacket)
    &set sh      = .5 0 0
    $
    
    &weight -total jacket %jktweig%                     \
                           &number(addv 1. %sh %jktcg )     \
                           %jktrad

What you want to accomplish is the shift the CG .5 in the X direction, but what you are asking MOSES to do is to add a weight of zero and still change the CG. This is a problem which will create numerical problems since if there were no precision problems, there would not be a solution at all.

If replace your commands with

    &apply -percent -category @         #DEAD 110 #BUOY 100 \
                    -category str_model #DEAD 105 #BUOY 100
    $
    &set jktweig = &body(weight jacket)
    &set jktcg   = &body(cg jacket)
    &set jktrad  = &body(radii jacket)
    &set sh      = .5 0 0
    $
    &apply -percent -category @         #DEAD 100 #BUOY 100   \
                    -category str_model #DEAD 100 #BUOY 100
    $
    &weight -total jacket %jktweig%                         \
                           &number(addv 1. %sh %jktcg )     \
                           %jktrad
the numerical problems go away; i.e. you now are asking MOSES to place a non zero weight somewhere to move the CG .5.


Q: If I de-associate a node using &describe node_nas, where is the force applied instead?
REV 7.02

A: It depends:

If you have

        &describe load cow *1
        #weight ...
        &describe node_nas *1
The load will be lost. If, however, you have
        *a1 ....
        *a2 .....
        &describe load cow *a@
        #weight ...
        &describe node_nas *a1
The the load will be applied to *a2.

You probably should not be using &describe node_nas. It was designed to keep "little" things from attracting large loads.


Q: Why does MOSES have two maps for the pressure: one for static pressure and one for dynamic pressure?
REV 7.02

A: This is to fix problems that can arise if one emits a hydrodynamic data base and then changes his structural model. This may break the mapping scheme.

Thus, if you plan on using a hydrodynamic database you should make sure that your "tweaking" of the pressure maps is done before you emit the database. At this point, the static map and the dynamic one will be the same.


Q: Can one use -flood yes on segmented members to only flood part of a member?
REV 7.01

A: No, -flood on a class command is really a default for the element.


Q: How do I define a tapered beam?
REV 7.01

A: It this beam has a round cross section, then you use a "CONE" shape. Click here to look at a cone test. If you have some other cross section, then you will have to define it yourself. Click here to look at test that defines a pyramid, or here to see how that beam looks.


Q: Why is there a difference in the wind arm computed using the #PLATE method vs the PGEN -CS_WIND method?
REV 7.01

A: The difference in your answers between the #PLATE method and the PGEN -CS_WIND method is due to the difference in the models. The PGEN method has two planes, one port and one starboard. For zero roll, this gives the same answer as #PLATE. When the vessel rolls, the answers are different, and they should be, since the #PLATE you used only has one plane. If you place your #PLATE plane on the barge centerline, and change the beam dimension on the PGEN to 1e-5, you get exactly the same wind force as the vessel rolls. The same source code is being used here to compute the wind force, only the source of the area is different.


Q: What does the message *** ERROR: $$$$$$ Has Not Been Defined" mean?
REV 7.00

A: This usually means you did not specify the proper &DESCRIBE command before defining some data, such as:


Q: What does the message *** ERROR: Class XXX Has Bad Segment Lengths" mean?
REV 7.00

A: Multiple class commands are used to describe the various segments for the class, and you must specify the length of the segments, except for one, for beam elements. The length of the segment not specified is computed from the distance between the nodes, minus the specified segment lengths. The error message can indicate a few things:

  • You have more than one class description using the same name, but did not specify any segment lengths.
  • You read your model in to MOSES twice, once using &device -auxin root.dat, and once with the default root.dat file. In this case, there would normally be multiple errors.
  • You specified -len for all the segments in the class.


Q: What does the message *** ERROR: XXX Spans Parts" mean?
REV 7.00

A: You have defined an element that spans parts; that is, the ends of the element are in different parts. Only part connectors are allowed to span parts, as with tiedown elements between a jacket and barge, for instance.


Q: What does the message *** ERROR: Bad Syntax Encountered - Location of the Trouble is" mean?
REV 7.00

A: You normally find this message in the out file, and you will need to use &DEVICE -OECHO YES to see the offending line. One of the more common errors with bad input syntax is to place the options on the BEAM command after the node names; all options must be specified before the node names. Another common error is the misuse of the continuation symbol, "\". Often, one will forget to remove the last "\" in a long list, so the command gets unintentionally parsed with the next line of input.


Q: What does the message "*** WARNING: Edge Does Not Have Two Surfaces" mean?
REV 7.00

A: This comes from the &SURFACE menu, when attempting to join surfaces in some manner. The message indicates the edge resulting from the joining does not share two surfaces, and is caused by bad input data. Either the location or the definition of the surfaces needs to be changed. This will cause the resulting piece description to give seriously incorrect answers. Click Here for a discussion.


Q: What does the message "*** WARNING: Discarding Contour" mean?
REV 7.00

A: This comes from the &SURFACE menu, when joining two blocks. The message indicates two or more points are coincident. This will cause the resulting piece description to give seriously incorrect answers. Click Here for a discussion.


Q: If I change the orientation of a jacket, do I need to change the offsets in the jacket beams?
REV 7.00

A: Yes. As noted in the Reference Manual, offsets defined with -GOA are in the part system. When you rotate the jacket for placement on the barge, the relationship between the element system and the part system is maintained by using a member direction cosine matrix.


Q: How can I input SCFs into MOSES for the various locations (chord saddle, chord crown, brace saddle and brace crown)?
REV 7.00

A: First, you could use -tn_stiff to define the stiffeners, and let MOSES compute the resulting SCFs for you, which will include the effect of the stiffeners. Click here and here for reference.

If you really want to supply your own SCF values, use -SCF on the beam command. This will affect both joint fatigue and beam fatigue. Click here for reference.


Q: What type of plate element does MOSES use?
REV 7.00

A: MOSES uses the plate element from Solid SAP. This element was invented by Ed Wilson in 1971 as documented in the report SOLID SAP - UC SESM 71-19 of the Civil Engineering Department of the University of California, Berkeley. A node is added at the average of the coordinates and then the the stiffness is obtained by statically condensing out the added node. Thus, the stiffness is obtained by using N triangles where N is the number of vertices. For inplane behavior, the triangles are constant strain. For out of plane behavior, additional modes are added to improve the bending behavior. See the MOSES Verification Document to look at the elements convergence properties.


Q: How can I model riser stiffness?
REV 7.00

A: If you are only interested in stiffness, then a H_CAT or B_CAT will give a good approximation to the stiffness of a riser. You can, however, use a rod element. This accounts for the stiffness correctly and also includes excitation and damping. Click here to read about flexible connectors.


Q: Can I specify a maximum SCF?
REV 6.01

A: You cannot specify a desired maximum SCF, but you can specify your own SCF values using BEAM -SCFi.


Q: Can you confirm that the SCF "in plane" is applied to the My bending moment while the SCF "out of plane" to the Mz?
REV 6.01

A: This is correct for a "non tubular" connection. For a tube in a tubular joint, "in plane" in the direction perpendicular to the plane formed by the chord and the brace.


Q: When a pile-sleeve is flooded, is there a neat way of incorporating the lateral "entrained water" mass into the dynamics?
REV 5.08

A: When a member is flooded, the water entrained has mass in the lateral directions, you need to do nothing!


Q: With many thanks for the answer to the above question. I believe:

  • When a TUBULAR member is flooded, lateral entrained water mass is included, BUT axial entrained water mass is NOT. (Example Pile Sleeves)
  • To include the axial mass effect for entrained water as well, one must include a TUBTANK and fill this 100%. (Example, jacket leg ballast tanks)
  • When a barge ballast tank constructed using PGEN, etc, is flooded, it receives entrained water mass in all direction.
Is this correct?
REV 5.08

A: You are correct on all accounts,


Q: Why does MOSES "move my block" a small bit when I perform a UNION in the &SURFACE Menu?
REV 5.08

A: Yes, &SURFACE will "move your blocks around" if it has to to eliminate undesirable intersections. In particular, the algorithm here relies on the fact that two planes intersect to form a line. Now, this is not true if the two planes are parallel! Your data creates this problem. Also, MOSES will move the blocks if one plane ends in another.


Q: I think that MOSES concept of load mapping to structural nodes is very excellent and convenient one. Thus, I would like to know this part in more detail. The Information created by &STATUS N_MAP, &STATUS MAP and COMPART_SUM PANEL is very helpful in understanding the algorithm of mapping various loads to structural nodes. But, there are some things that I cannot understand. In particular:

  • I think that **H..... are the points defining the coordinates of offsets and HS#.... are then names of the panels comprising the external and internal compartments defined via PGEN. What, however, is the meaning of **S....., and S001#...?
  • What is the meaning of DFWT0001?
  • I can not understand the necessity of CT1S. I think that the compartment loading is mapped through the panel, i.e. HS.... or S001#... Am I correct, and if so, what is mapped through CT1S?

REV 5.07

A: You ask several questions here. First, you are correct, the **H points are the generated names of the points defining the panels. In fact, any point MOSES generates begins with **. Also, the #HS names are the names of the generated panels. If MOSES names panels, they will always begin with a #. The other two things you asked about exist because you specified that the exterior of your vessel should use strip theory for hydrodynamics. Strip theory does not use panels, it uses strips, thus, we have a different set of maps for the strips and the points defining them.

DFWT.... is the name of a "special" load group. When you use the MOSES command &WEIGHT, some weight is created and MOSES needs to have a map to distribute this weight.

Your last question is interesting. Normally, you are correct, the loads on interior compartments are mapped via the panels. In MOSES, however, nothing is simple. To keep compatibility with other programs, MOSES allows one to fill a compartment "simply"; i.e. There are several options for filling the compartment &COMPARTMENT. There are seven options to tell MOSES, not to do things correctly, but to guess at the ballast. In this case, MOSES does not know which panels to use. If the compartment is filled in one of these seven ways, then the loads will be mapped to all points defining the compartment.


Q: I would like to know that if a force of F is mapped to N nodes, does each node have the same magnitude, F/N?
REV 5.07

A: Normally, no, but it depends on the circumstances. The mapping scheme MOSES uses does two things: First it preserves the force and moment; i.e. the sum of the forces and moments of the forces at the nodes must equal the original. In addition, MOSES attempts to minimize the sum of the squares of the magnitude of the force components. Now, if the force applied is at the centroid of a polygon with vertices at the nodes, then each force will be F/N. If not, then the forces applied will be different.

In fact, MOSES will normally generate forces at each node which do not act in the direction of the applied force! To see why this occurs, you can think of the MOSES mapping algorithm as using a rigid body supported on a bed of springs of equal stiffness. Now, if we have a square supported in such a fashion and an eccentric load is applied it will rotate some to counter balance the moment.


Q: Why do I get The message "*** ERROR: Cannot Compute Offsets for Beam" when I use ED_ELEM to modify offsets of a beam?
REV 5.05

A: You originally had a local offset defined for this beam and offsets are additive. Specify -LO@ 0 0 0 to remove the previous offset and the command will work.


Q: How can I convert a strip theory model to a three dimensional diffraction one?
REV 5.05

A: Normally, this is easy. You need only to change:

PGEN -DIFTYPE STRIP
to
PGEN -DIFTYPE 3DDIF

In some cases, there will be no -DIFTYPE option. Here, you need to add one specifying to use diffraction, as the default is to use strip theory. Now, you probably also need to add the command

&PARAMETER -M_DIST XX

which instructs MOSES to refine the panels which will be generated so that the maximum dimension of a panel is less than "XX" feet or meters long. You can look at how MOSES generated and refined the panels by issuing the command

&PICTURE STARB -TYPE MESH -DETAIL

The above procedure will not work if the original model has several pieces which intersect (or almost intersect). With diffraction, the interaction of the pieces is important and you need to start over with a new model.