Vous êtes sur la page 1sur 137

Juan Manuel Nunes Prieto

Utilization of Modern 3D Product Model in


Global Finite Element Strength
Assessment

School of Engineering

Thesis submitted for examination for the degree of Master of


Science in Technology.
Espoo May 15, 2013

Thesis supervisor:

Prof. Jani Romanoff

Thesis advisor:

M. Sc. Tommi Kurki


aalto university abstract of the
school of engineering master’s thesis

Author: Juan Manuel Nunes Prieto

Title: Utilization of Modern 3D Product Model in Global Finite Element


Strength Assessment
Date: May 15, 2013 Language: English Number of pages:10+128
Department of Applied Mechanics
Professorship: Naval Architecture Code: Kul-24
Supervisor: Prof. Jani Romanoff

Advisor: M. Sc. Tommi Kurki


During the past few decades the world trade commerce have set new standards
for the shipping industry. To overcome the new challenges, the industry had to
use the most modern computer-aided engineering tools for design of ships and
offshore structures. Finite element analysis is the most reliable mathematical
solution to deal with large complex structures such as ships. An equivalent
3D product model of the real structure is created in real life to imitate its real
behavior during operation.

The main purpose of this study was to developed an automated method to


transfer different types of loads acting on the structural elements to the finite
element mesh in terms of forces and pressures acting on the respective nodes and
elements. First an introduction to basic theory of finite element and seakeeping
analysis is described. Later, the process of obtaining the equivalent loads acting
on the hull is divided into three components: equipment masses, tank pressure
and external wave loads. All three loads have two components: static and wave
induced. An algorithm was written to automatically calculate the loads and
input them into the finite element mesh. Finally, a case study was develop to test
whether the methods proposed are valid.

The study concludes that utilizing a modern 3D product model to prepare the
equivalent mathematical model is a powerful tool to reduce man hours and
improve the overall reliability of the design. Nevertheless, the quality of the
results are greatly impacted by quality of the model. Further studies should be
conducted to expand the presented study for other types of loads, as well to
improve overall functioning of the automated load transfer process.

Keywords: Finite Element, Panel Methods, Strength Analysis, Hydrodynamic,


Hydrostatic, Vertical Bending Moment, Hogging, Sagging
iii

Preface

I wish to express my gratitude to NAPA and all its employees. Special thanks
to Tommi Kurki and Tapio Hulkkonen for guiding me throughout the development
of the thesis and the inputs in the problems I had. Special thanks also to Matthew
Patey for his help during the years we worked together and Ilmo Kuutti for the great
opportunity of working at NAPA.

I would also like to thank my new friends and colleagues I made during my stud-
ies in Buenos Aires, Trondheim, Delft and Helsinki, which without them would have
made my studies much harder.

Finally, I would like to make special thanks for my family who supported me
from the beginning.

Espoo, May 15, 2013

Juan Manuel Nunes Prieto


iv

Contents
Abstract ii

Preface iii

List of Figures viii

List of Tables x

1 Introduction 1
1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Research Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 Research Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 3D Product Model 6
2.1 NAPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Finite Element Method . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Seakeeping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.1 Strip Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3.2 Sink Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3.3 Accelerations . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3 Still Water and Wave Induced Loads 17


3.1 Vertical Bending Moments and Shear Forces . . . . . . . . . . . . . . 17
3.2 Design Wave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3 Probability of Design Wave . . . . . . . . . . . . . . . . . . . . . . . 21

4 Automated Load Transfer to Finite Element Mesh 26


4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.2 Design Wave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.3 Equipment Mass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.3.2 Process Implementation for Equipment Mass . . . . . . . . . . 29
4.4 Tank Pressure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.4.2 Process Implementation for Tank Pressure . . . . . . . . . . . 37
4.5 External Wave Loads . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.5.2 Process Implementation for External Wave Loads . . . . . . . 46

5 Output to Finite Element Software 54

6 Risks and Implications of the Automated Load Transfer 57


6.1 Risks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
6.2 Implications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
v

7 Case Study 61
7.1 3D Product Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
7.1.1 Main Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . 61
7.1.2 Loading Condition . . . . . . . . . . . . . . . . . . . . . . . . 62
7.1.3 Design Wave . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
7.2 Automated Load Transfer . . . . . . . . . . . . . . . . . . . . . . . . 66
7.2.1 Equipment Masses . . . . . . . . . . . . . . . . . . . . . . . . 66
7.2.2 Tank Pressure . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
7.2.3 External Wave Load . . . . . . . . . . . . . . . . . . . . . . . 70
7.3 Vertical Bending Moment Assessment . . . . . . . . . . . . . . . . . . 73

8 Conclusion 77

9 References 80

A Appendix A - Pressure Distribution 84

B Appendix B - Design Wave 92

C Appendix C - Equipment Masses 96


C.1 Main Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
C.2 Seakeeping Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . 99

D Appendix D - Tank Pressure 102


D.1 Main Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
D.2 Finite Elements Listing . . . . . . . . . . . . . . . . . . . . . . . . . . 103
D.3 Finite Element Pressure . . . . . . . . . . . . . . . . . . . . . . . . . 105

E Appendix E - External Wave Load 111


E.1 Main Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
E.2 Finite Elements Listing . . . . . . . . . . . . . . . . . . . . . . . . . . 112
E.3 Finite Element Pressure Interpolation . . . . . . . . . . . . . . . . . . 113
E.4 Nonlinear correction . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

F Appendix F - Output 121

Index 126
vi

Nomenclature
Θ Roll, Pitch And Yaw Acceleration Vector

β Wave Heading

ω Wave Frequency

φ Pitch Angle

φ Velocity Potential

ρ Density

θ Instantaneous Inclination Plane Angle

ζ Free Surface Elevation

σ Source or Sink Strength

n̄ Average Number Of Response Per Second

~a Acceleration Vector

aw Design Wave Amplitude

m Meter

p0 Vapor pressure

pk Weighing Factor For Wave Heading

pm Probability Of Occurrence From Wave Scatter Table

g Acceleration of Gravity

h Pressure Head

k Wave Number

kN kilo-Newtons

kPa kilo-Pascal

p Pressure

r Radial Distance

t Time

v Velocity

Sr Response Spectrum Ordinate


vii

N Number of Response Peak

R Distance Vector

R Transfer Function Ordinate

S Wave Spectrum Ordinate

T Return Period

T Ship Draft

ai Uncorrected Acceleration RAO

CFD Computational Fluid Dynamics

HBM Horizontal Bending Moment

HSF Horizontal Shear Force

IACS International Association of Classification Societies

MPEV Most Probable Extreme Value

MQS Modified Quadratic Shepard

TEU Twenty Equivalent Unit

VBM Vertical Bending Moment

VSF Vertical Shear Force

MWL Mean Water Line


viii

List of Figures
1 3D structure product model in NAPA Steel. . . . . . . . . . . . . . . 7
2 Automatic load transfer flowchart. . . . . . . . . . . . . . . . . . . . . 8
3 Strip theory method hull . . . . . . . . . . . . . . . . . . . . . . . . . 10
4 Panel model of a semi-submersible hull for motion analysis . . . . . . 12
5 Vessel-fixed coordinate system . . . . . . . . . . . . . . . . . . . . . . 14
6 Representation of point definition for relative motion analysis. . . . . 15
7 Vertical bending moments modes . . . . . . . . . . . . . . . . . . . . 18
8 Set of regular waves to represent irregular ones . . . . . . . . . . . . . 20
9 Design wave table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
10 Design wave flowchart. . . . . . . . . . . . . . . . . . . . . . . . . . . 28
11 Node table for surrounding nodes . . . . . . . . . . . . . . . . . . . . 30
12 Equipment mass nodal force calculation flowchart. . . . . . . . . . . . 32
13 Ship section with completely filled starboard tank. . . . . . . . . . . . 36
14 Ship section with partially filled starboard tank. . . . . . . . . . . . . 37
15 Finite element table for liquid tank pressure. . . . . . . . . . . . . . . 38
16 Finite element listing flowchart. . . . . . . . . . . . . . . . . . . . . . 39
17 Internal liquid tank pressure calculation table. . . . . . . . . . . . . . 40
18 Representation of wetted and non-wetted elements. . . . . . . . . . . 41
19 Pressure calculation flowchart. . . . . . . . . . . . . . . . . . . . . . . 42
20 Seakeeping panel and finite element comparison. . . . . . . . . . . . . 43
21 Nonlinear pressure correction. . . . . . . . . . . . . . . . . . . . . . . 45
22 Finite element table for pressure calculation. . . . . . . . . . . . . . . 47
23 Finite element wave pressure table. . . . . . . . . . . . . . . . . . . . 47
24 Finite element wave pressure in red. . . . . . . . . . . . . . . . . . . . 49
25 Finite element pressure. . . . . . . . . . . . . . . . . . . . . . . . . . 51
26 Finite element wave pressure flowchart. . . . . . . . . . . . . . . . . . 52
27 Example of NASTRAN Bulk Data file format. . . . . . . . . . . . . . 55
28 Vessel equilibrium of forces. . . . . . . . . . . . . . . . . . . . . . . . 59
29 Element normal vector. . . . . . . . . . . . . . . . . . . . . . . . . . . 60
30 3D steel product model. . . . . . . . . . . . . . . . . . . . . . . . . . 61
31 Finite Element Mesh and Seakeeping Panels. . . . . . . . . . . . . . . 62
32 Loading condition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
33 Vertical bending moment of critical frequency-heading combination. . 65
34 Nodal force share. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
35 Perpendicular distance for partially filled tank. . . . . . . . . . . . . . 68
36 Tank pressure distribution for partially filled tank. . . . . . . . . . . . 69
37 Perpendicular distance for completely filled tank. . . . . . . . . . . . 70
38 Tank pressure distribution for completely filled tank. . . . . . . . . . 71
39 Hydrodynamic pressure distribution. . . . . . . . . . . . . . . . . . . 71
40 Hydrostatic pressure distribution. . . . . . . . . . . . . . . . . . . . . 72
41 External wave pressure distribution. . . . . . . . . . . . . . . . . . . . 72
42 Vertical bending moment Von-Misses stresses . . . . . . . . . . . . . . 73
43 Vertical bending moment displacements . . . . . . . . . . . . . . . . . 74
ix

44 Displacement constraint position. . . . . . . . . . . . . . . . . . . . . 75


45 Comparison between inertia relief and displacement constraint . . . . 76
46 Partially filled tank with negative plane slope . . . . . . . . . . . . . 84
47 Pressure variation acting on a cube. . . . . . . . . . . . . . . . . . . . 85
48 Full tank with negative plane slope . . . . . . . . . . . . . . . . . . . 89
x

List of Tables
1 3D product model main dimensions. . . . . . . . . . . . . . . . . . . . 61
2 Loading condition summary . . . . . . . . . . . . . . . . . . . . . . . 62
3 Vessel floating position . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4 Engine summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5 Design wave parameters . . . . . . . . . . . . . . . . . . . . . . . . . 66
6 Design wave-induced acceleration in m/s2 . . . . . . . . . . . . . . . . 66
7 Equipment mass nodal force share. . . . . . . . . . . . . . . . . . . . 67
8 Pressure parameters for partially filled tank. . . . . . . . . . . . . . . 68
9 Partially filled tank pressure results for one node. . . . . . . . . . . . 68
10 Pressure parameters for completely filled tank. . . . . . . . . . . . . . 69
11 Partially filled tank pressure results for one node. . . . . . . . . . . . 70
12 Maximum single point constraint forces in N . . . . . . . . . . . . . . 74
13 Distance comparison between inertia relief and displacement con-
straint in mm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
1

1 Introduction

1.1 Background

High demand for fast commerce between countries, new forms of exploring off-
shore sites for oil exploitation and gigantic cruise vessels for entertainment are just
some of the new challenges experienced by the maritime industry during the past
few decades.

With the advancement of technology, the industry have seen a shift in design
from the standard manual design, to the 2D computer design, and lately to the 3D
design. This new method of designing a vessel is each day closer to become the new
standard design procedure in the industry. By designing a vessel in 3D, the user can
easily analyze quantities that were not possible in the past. Computational fluid
dynamics, probabilistic damage stability and dynamic strength assessment are just
some of the new possibilities. They all result in having an environmentally friendly
and safer vessel.

1.2 Research Objective

Every day is becoming more interesting to design vessels capable of operating in


any sea condition. This means designing a vessel for not only one route, but rather
for several different routes so the vessel can follow the world commerce trend. Ultra
large container vessels have set new standards for cargo shipment. With length go-
ing as large as 400 m and with a capacity of 18000 TEU , the ship design industry
has changed drastically. Nonetheless, oil exploration have also reached new levels.
Drilling ships and rigs are built to support drilling down to 8000 m. Higher depths
require robust structures subject to rough weather conditions where no much move-
2

ment of the vessel is allowed.

With new industry standards, the strength assessment of the vessel had to
change. Regular scantling rules were no longer sufficient to secure the stiffness
of the hull, it was necessary to utilize modern tools such as finite element analysis to
evaluate the vessel as a whole. Moreover, with finite element analysis it is possible
to evaluate the hull strength in different weather conditions, combining the static
and dynamic analysis to ensure a stiffen hull with minimized risks of collapsing.

In this study the global strength assessment of the finite element model of a
modern 3D product model is performed. The purpose is to develop an automatic
method to minimize the designer work when creating the finite element mesh and
loads for analysis. This assumption leads to utilizing the information available in
the 3D product model to the very limit where no user interference is necessary. This
reduces human error, work load and increases the credibility of the vessel.

A suitable model for finite element assessment requires user experience and ba-
sic detail levels such as hull shape, compartment arrangement and steel structures.
Nonetheless, all loading conditions in which the vessel is likely to operate and de-
fined by classification societies are also necessary. With all information available, it
is rather straightforward to perform such analysis.

1.3 Research Methodology

The global strength assessment of a hull girder by finite element analysis requires
several different steps.
3

Basic understandings of finite element theory and seakeeping are the backbone
of the analysis. Performing such complicated task with limited knowledge in the
subject leads to simplifications and basic errors. The present study addresses the
basic concepts necessary to understand how the automated load transfer process
is developed. Thus, Chapter 2 gives basic knowledge in 3D product model, finite
element and seakeeping.

Chapter 3 introduces concepts in operational loading conditions and global loads.


There are several different types of global loads associated with the vessel. The most
important one, and the scope of this study, is the vertical bending moment. How-
ever, this limitation does not exclude other global loads in the finite element strength
assessment.

A dynamic analysis requires a broad range of headings and frequencies to eval-


uate the overall strength. To assess for all possible ranges, global loads and loading
conditions is time consuming and an unnecessary task. To reduce calculation time,
the concept of design wave is utilized in Chapter 3 to simulate the wave where the
global load reaches the worst case scenario.

In Chapter 4 an automated process to transfer different types of loads to the


finite element model is described. This process is divided into four: design wave,
equipment masses, tank pressure and external wave load.

Equipment masses are defined by any equipment on board of the vessel such as
engines, transformers and furniture and are treated in Section 4.3. The basics for
such automated load transfer have been study and developed by Helenius (2011)
for a vibration problem. Nevertheless, the procedure of mass distribution over the
4

finite elements nodes are considered valid and expanded to cover the wave-induced
analysis.

Every ship, independent of its purpose, is carrying liquids such as fuel oil and
water. They are spread throughout the vessel and are represented in the strength
assessment by pressures in the finite elements. The static component are due to the
liquid weight itself, whilst the wave-induced components are from relative accelera-
tion in the tank due to vessel motion in waves. Section 4.4 introduces a method to
transfer such pressures to the finite elements in contact with any liquid.

In Section 4.5 the external wave load is divided into two components: hydro-
static and hydrodynamic. When combined, they represent the external wave load
exerted by the wave on the hull shell. One of the limitation in the present study was
the hydrostatic pressure. Unfortunately, the hydrostatic pressure was not calculated
automatically by the software. Hence, a simple calculation method was developed
to overcome this limitation. In the hydrodynamic part, the limitation was due to
different panel size between the seakeeping system and the finite element. This issue
was address by the Shepard interpolation method.

Chapter 5 utilizes standard input methods available in finite element analysis


software to combine all automated load transfer processes into one compatible file
for further analysis. Also risks and implication concerning the overall automated
process are discussed in Chapter 6 with suggestions for future refinements and issues
encountered during the development phase of the automated load transfer.

In Chapter 7 the validation of the proposed methods is conducted. A 3D prod-


uct model of a box-shaped ship is used and from where the essential information
5

necessary for the strength assessment is collected. The validation is performed to


evaluate the shortcomings and success of the procedure developed.

Finally, Chapter 8 summarizes the entire process and discusses limitations, short-
comings, success and future refinements necessary to improve the overall perfor-
mance of the methods presented in this study.
6

2 3D Product Model

2.1 NAPA

NAPA (Naval Architecture Package) is a software for design and operation of


ships and offshore platforms. It covers various aspects in the early design stage with
numerous solutions such as analysis of stability, seakeeping and computational fluid
dynamic (CFD).

The core of the NAPA system is the topological 3D product model (NAPA,
2011) used throughout the project design and analysis and when exported to other
software for further analysis, e.g. by finite element method. Figure 1 shows a 3D
product model cutout of a container vessel where the inner structures such as decks,
bulkheads and stiffeners are visible. In this case, the 3D product model is used from
the beginning to calculate and analyze several quantities of the project, including
hydrostatics, stability and seakeeping. One advantages of 3D product model is the
ability to change the design in one instance (e.g., the geometry) and all subsequence
changes (e.g., structural) are made automatically to obtain the updated 3D product
model. Another advantage is the possibility to combine all features available to
optimize the design and obtain the best one possible.

Figure 2 shows the flowchart for the automatic load transfer. The first step is
to create the 3D product model together with the finite element mesh. Next, the
strip method is used to obtain the vertical bending moment response amplitude
operator for the various wave conditions. Following, the design wave parameters
are calculated. Afterwards, the source method is utilized to obtain the seakeeping
panel pressure and accelerations. Later, the automatic load transfer is performed
and outputted into a compatible file for future finite element analysis.
7

Figure 1: 3D structure product model in NAPA Steel.

2.2 Finite Element Method

The finite element method is a numerical method that goes as back as 1943,
when the mathematician Courant described a polynomial solution for the torsion
problem (Courant, 1943) by setting up the solution of stresses in a variational form.
He then introduced a piecewise interpolation function over triangular subregions,
making up the whole region as a method to obtain approximate numerical solution
(Logan & Logan, 2011). Unfortunately, by that time computers were not available
to perform such demanding task, and the new developed method was not noticed
by the industry. In 1960s the method was expanded to other fields of engineering
(Cook, 1995) when the name finite element was introduced (Clough, 1960) together
with the mathematical validity of the method.

In the field of engineering, the finite element method was developed to solve
particular problems where analytical solution was impossible or too complicated to
8

Figure 2: Automatic load transfer flowchart.

be calculated by regular methods due to complex geometries, including loads and


mass properties. The concept behind finite element analysis is discretization of the
structure into small pieces, called finite elements. These finite elements are joined to-
gether by points, called nodes. The group of finite elements and their nodes is called
mesh and consists of a mathematical equivalent structure of the original model. The
solution is therefore calculated for each finite element and then combined to obtain
the solution for the whole body (Logan & Logan, 2011).

Nowadays, the finite element method is becoming widely used in the maritime
engineering industry including large container vessels, new developments in the off-
9

shore industry and also in IACS Common Structural Rules for Double Hull Oil
Tankers and Bulk Carriers. NAPA provides modeling of true structures in a very
detailed and realistic level through molded surfaces (not solid model) used to gener-
ate the mesh such as shell, beams and rods. Through the ship structural model, it
is possible to obtain the finite element mesh semi-automatically. Whenever the ship
model or the steel model is updated, a new mesh can be semi-automatically gener-
ated without much interference from the user, since the parameters were previously
defined.

The user chooses a longitudinal or web spacing model and the system automat-
ically sets default values and the final mesh is automatically generated according to
the parameters defined. The routine for finite element mesh is to create a topology
of the structure, idealization of the structure, 1D meshing, surface meshing and later
boundary mesh and smoothing, if necessary (NAPA, 2011).

Therefore, with true structural modeling and finite element meshing, NAPA Steel
is a robust solution for creating a 3D product model of a ship’s structure (detailing
level as desired by the user), including the final mesh to be used later in finite ele-
ment analysis.

2.3 Seakeeping

One of the most important aspects of global strength assessment by finite ele-
ment method, and maybe the key aspect of this study, is the seakeeping analysis.
One should bare in mind that there are different theories to calculate the various
loads, the two most common are strip theory and sink/source method. Seakeeping
analysis return, among others, the bending moments experienced by the hull girder,
10

wave pressure acting on the hull surface and relative acceleration experienced by the
ship due to motions in regular or irregular seas.

All results from seakeeping analysis are given as Response Amplitude Operator,
also known as RAO. The RAO’s are function of the frequency and the motion di-
vided by the waveheight; and as phase functions, which relates the motion offset to
the origin, expressed as angle of each frequency.

2.3.1 Strip Theory

Vertical bending moment assessment in NAPA uses strip theory where the essence
is to reduce the three-dimensional hydrodynamic problem into a series of two-
dimensional boundary value problems that are easier to solve. Therefore, the wetted
hull is lengthwise divided into cylindrical segments; usually 20 segments is sufficient
(Hughes et al., 2010). Figure 3 represents an example of a divided hull. The upper
figure is the original wetted hull while the lower one is the wetted hull divided into
segments.

Figure 3: Strip theory method hull (NAPA, 2011).


11

Solutions of the added mass and the damping coefficients are based on the as-
sumption of ship slenderness where no flow is generated lengthwise. In this assump-
tion, the hull may be replaced by strips or cylinders with the cross-section of the
ship at that station. The hydrodynamic force per unit length of these cylinders may
then be calculated by assuming the cylinder infinitely long (NAPA, 2011). Later, the
two-dimensional strips are combined to form the forces for the entire ship. This an-
alytical approach relies on conformal mapping techniques to transform semi-circular
cross sections to cross section resembling ship sections (Lewis form) (Hughes et al.,
2010).

2.3.2 Sink Source

Panel methods are the most common techniques used to analyze the linear steady
state response of large-volume structures in regular waves (Faltinsen, 1993). The
panel model uses the same geometry model as a starting point, the user only defines
the panel distribution on each surface to obtain the best one to avoid possible errors
in calculations. Figure 4 represents a panel model of a semi-submersible for mo-
tion analysis. It is possible to see the panels evenly distributed along the pontoons,
columns and braces. Since the pressures are calculated at the center of each panel,
having panels that are too big or not evenly spaced in the correct areas results in
major differences in pressure between each panel, and thus, not corresponding to
the real source distribution.

Potential theory is the basis for all panel methods where no flow separation oc-
curs. In the sink/source method the ship hull is represented by a distribution of
sinks and sources over the wetted surface, where each panel have a constant source
strength. A source is a point in which the fluid appears and flows away radially.
12

Figure 4: Panel model of a semi-submersible hull for motion analysis (NAPA, 2011).

A sink is source with negative value. If the total flux of the fluid is σ, and if σ
is constant and positive, then σ is called ’strength’ of the source (Faltinsen, 1993).
The sink/source method in NAPA is designed specifically for slender bodies with no
forward speed.

The velocity potential φ at any given distance r, due to a three-dimensional point


source σ in a liquid at rest and at infinity is (Faltinsen, 1993):

σ
φ= (1)
4πr

Where r denotes the radial distance of r from the source point. After obtaining
the velocity potential at each panel, it is rather simple to calculate the hydrodynamic
pressure by using Bernoulli’s equation:

∂φ 1 p
+ (∆φ)2 + + gz = 0 (2)
∂t 2 ρ

Neglecting higher order terms, the pressure p is calculated as:


13

∂φ
p = −ρ − ρgz (3)
∂t

In Equation 3 the first term derives from the hydrodynamic pressure over the
wetted hull body, while the second term is the hydrostatic pressure over the wetted
hull body.

2.3.3 Accelerations

There are three different coordinate systems in NAPA: the input system, which
the user sees; the calculation coordinate system, which is used internally by the
software and the output coordinate system (NAPA, 2011).

The input coordinate system is defined freely by the user. The internal coor-
dinate system is defined as a right handed system positioned at the waterplane,
above the longitudinal center of buoyancy. The origin is always the centerplane of
the ship. The output coordinate system, also defined as the vessel-fixed coordinate
system, is fixed at the waterplane level on the same vertical axis as the center of
buoyancy (Figure 5). Thus, surge, sway and heave are the translational motions of
the waterplane in the x, y and z directions. The angular motion of roll, pitch and
yaw are defined around the axes similarly. Rotations are assumed independent on
each other, as the amplitude of the motions are considered small (NAPA, 2011).

The wave motion experienced by the vessel causes the vessel-fixed coordinate
system to loose its orthogonality towards the earth-fixed coordinate system, resulting
in acceleration of gravity in transverse, vertical and longitudinal directions. For a
specific instant, the acceleration of gravity is proportional to pitch and roll angles
of the vessel (Liu & Spencer, 1992):
14

Figure 5: Vessel-fixed coordinate system (NAPA, 2011).

(gL ; gT ; g) = (−g sin φ; g sin θ; g) (4)

Where:

φ is the pitch angle in rad

θ is the roll angle in rad

In a dynamic problem, the vessel experiences not only the acceleration of grav-
ity but also wave-induced accelerations defined by the relative motion between the
vessel-fixed coordinate system and any other point belonging to the ship in longitu-
dinal, transverse and vertical directions (aL , aT , aV ). In order to obtain the relative
motion it is necessary to apply simple rational mechanics of rigid bodies (Beer &
Johnston, 1988):

~ ×R
(aL , aT , aV ) = ~a + Θ ~ (5)

Where:

~a is the surge, sway and heave acceleration vector in m/s2


15

~ is the roll, pitch and yaw acceleration vector in 1/s2


Θ

~ is the distance vector from the vessel-fixed coordinate system and the
R
given point in m

The relative motion between points A and B is first calculated relative to the
absolute coordinate system, and later subtracted from each other to obtain the final
relative motion (NAPA, 2011). This procedure is equivalent as the one described by
Equation 5. Figure 6 represents two example points (A and B) defined for relative
motion analysis.

Figure 6: Representation of point definition for relative motion analysis.

The seakeeping solution in NAPA is linear resulting in analysis only below the
mean waterline, hence, not representing the exact behavior of the wave along the
length of the ship. To overcame this problem, it is necessary to correct the ac-
celeration vector to account for the difference in phase between the global load
(Section 3.1) and the relative acceleration. The corrected acceleration vector is
calculated as (Ochi, 2005):

af = aw ai cos(ωt + ) (6)

Where:

af is the final acceleration for analysis (longitudinal, transverse and


vertical components) in m/s2
16

ai is the uncorrected acceleration RAO in m/s2 /m

aw is the equivalent wave amplitude for the design wave in m

ω is the wave frequency in rad/s

 is the acceleration phase angle in rad

t is the time in s

The corrected acceleration vector is used in Chapter 4 to obtain the acceleration


component of equipment masses, steel structure and tank pressure acting on its
surrounding tank.
17

3 Still Water and Wave Induced Loads

3.1 Vertical Bending Moments and Shear Forces

During the operational life time of a vessel the hull experiences different types
of loads in its structural arrangement. These loads conform the operational loading
conditions necessary for a proper operation of the vessel. Cargo, ballast patterns,
draft and trim ranges, deck loading, mooring system and wave interaction are just
some of the operational loads expected during its life-time.

Operational loading conditions further translate into global loads representing


structural response yielded by structural members. Vertical bending moment is one
of the most important global load acting on the hull girder and is typically assessed
at amidships for hogging and sagging conditions. Figure 7(a) represents the hogging
position and Figure 7(b) the sagging position for a normal frigate. The basic set of
global loads experienced by any vessel is (Hughes et al., 2010):

1. Vertical Bending Moment (VBM )

2. Vertical Shear Force (VSF )

3. Horizontal Bending Moment (HBM )

4. Horizontal Shear Force (HSF )

During the global strength assessment of the hull girder, all global loads must
be evaluated for all operational loading conditions. The combination of global loads
and operational loading conditions gives a total amount of load cases to analyze as:
0
Number of Operational Loading Conditions × Number of Global Loads0 .
18

(a) Hogging condition (b) Sagging condition

Figure 7: Vertical bending moments modes (Ma et al., 2012b).

Loads are further divided into two different sets: still water and wave-induced
loads. Still water loads are represented by all components coming from the accel-
eration of gravity, while wave-induced are due to relative acceleration of the ship.
The following components are present in any global load:

1. Lightship weight equipment (equipment masses)

2. Steel structure

3. Cargo masses (liquid, containers and bulk)

4. External wave load on the wetted hull

The wave-induced global loads are analyzed for the sea state in which the vessel
operates. For all wave-induced global loads described above, an equivalent design
wave and extreme value analysis is performed. The design wave is an equivalent si-
nusoidal wave that imitates the extreme value of the global load under analysis and
is defined by a wave amplitude, frequency, length and phase angle or crest position
(Newman, 1977). In this study only the vertical bending moments of hogging and
sagging are analyzed.
19

3.2 Design Wave

The pattern of waves experienced by the hull during any voyage are of the most
diverse nature as the ocean concedes. Several factors establishes the randomness of
ocean waves such as wind speed, water depth and fetch1 (Matusiak, 2010). Com-
bining all these factors, an ocean wave is characterized by the wave height, length,
period and propagation. However, waves produced by environmental conditions are
not the only ones experienced by the hull. A vessel traveling with forward speed also
generates waves interacting with the ones created by the environmental conditions
(Newman, 1977).

When observing waves from a point of view other than in the ocean itself, it is
noticeable some regularities in the wave pattern. The prevailing direction of waves
progression is noticed and the length of the waves does not widely vary anymore.
This observation justifies modeling the sea surface waves as plane progressive ones
(Matusiak, 2010) (waves appear steady for two dimensional, sinusoidal, frequency ω
and for an observer moving along with it). Nevertheless, this is not the real behavior
of ocean waves as they are normally highly irregular. To replicate the irregularity of
ocean waves, it is possible to describe the ocean as a sum of regular wave of different
heights and frequencies (Fourier, 1808). Figure 8 demonstrate the summation of
regular waves to produce irregular ones.

In order to describe wave trains for an infinite number of regular components


the concept of wave spectrum is introduced. The power spectral density is used as
a continuous function of regular wave frequency ω giving information on the wave
amplitude related to a certain frequency (Matusiak, 2010). There are several differ-
ent wave spectra recommended for analysis such as Pierson-Moskowitz, JONSWAP
1
Wind acting distance over the free surface.
20

Figure 8: Set of regular waves to represent irregular ones (Holthuijsen, 2007).

and Ochi-Hubble.

In seakeeping analysis, after obtaining the spectrum for any given sea state, the
final ship response is obtained by multiplying the transfer function calculated for
regular waves by the spectrum ordinate obtained for irregular waves, yielding the
response spectrum. Statistical values are obtain by integrating over the response
spectrum, being significant and mean response values the most important ones.
Responses are given for 1m wave height and for the desired wave, the response is
proportional to the wave height, with exception for added resistance, drift forces
and moments being proportional to the wave height squared (NAPA, 2011).

Other particularities are also to be accounted for, such as the long-crested and
short-crested problem. All values calculated before are assumed for long-crested
waves. This method presumes waves from the same direction, thus, not represent-
ing the real case where a seaway consists of several waves from various different
directions (Figure 8). To overcame this issue, a directional spreading function is
introduced to distribute the wave energy heading-wise, hence, several transfer func-
21

tion at different heading angles are required and are thereafter combined with the
respective spread wave spectrum. Final response is analogically the same as for
long-crested waves, where integration over the response spectrum is necessary, how-
ever integration heading-wise is also required. The response spectrum ordinate is
then calculate as (Faltinsen, 1993):

Sr (ω) = R2 (ω, β) cos2 (β)S(ω) (7)

Where:

Sr is the response spectrum ordinate

R is the transfer function ordinate

ω is the wave frequency in rad/s

β is the wave heading in rad

S(ω) is the wave spectrum ordinate

In a dynamic design approach, one of the major objectives is to provide extreme


motions, loads and stresses for each global load. Two sets of extreme statistics are
of interest: the short term, associated with short response state of generally 3 hours;
and long term, associated with responses of typically 25 years (Hughes et al., 2010).
For offshore engineering, the long term approach is desired with a returning period
of 100 years (Barltrop, 1998). The 100 years response based leads to the maximum
response expected to occur in 100 years time.

3.3 Probability of Design Wave

One method for long term extreme analysis is the cumulative probability. For
any scatter diagram contribution, the number of response cycles is calculated during
22

the design lifetime of the vessel. The contribution that any given scatter-diagram-
heading gives to the long term exceeding distribution response is the sum of Gaussian
distributions multiplied by the normalized number of response cycles. Therefore, the
long term probability that the response exceeds a particular value x̄ is (Liu et al.,
1981):

PP
n̄pm pk px̄ (x̄)
m k 1
= (8)
PP
n̄pm pk N
m k

Where:

N is the number of expected response peaks

pm is the weighing factor for wave heading

pk is the probability of occurrence from the wave scatter table

n̄ is the average number of response per second

For a narrow-banded Gaussian process, the distribution of probability of exceed-


ing px̄ (x̄) is (Hughes et al., 2010):

2

− 2m
px̄ (x̄) = e 0 (9)

Where m0 is the zeroth spectral moment. The number of expected response


peaks N during the return period T is calculated as (Liu et al., 1981):

XX
N = T × 365 × 24 × 3600 × n̄pm pk (10)
m k

Where T is the return period in years. The average number of response per
second is (Hughes et al., 2010):
23


1 m2
n̄ = √ (11)
2π m0

Where m2 is the second spectral moment. The spectral moments of the response
spectrum provides many information regarding statistics of the response such as
wave time history variance and standard deviation. Spectral moments are defined
as (Barltrop, 1998):

Z ∞
mn = Sr (ω)ω n dω (12)
0

Where Sr is response spectrum and ω is the wave frequency in rad/s.

Combining Equations 8 and 9, the most probable extreme value experienced by


the vessel in N peaks is (Barltrop, 1998):


MPEV = (13)
p
m0 2 ln(N )

Each combination of heading and frequency generates a Response Amplitude Op-


erator (RAO) of the vessel global load for the loading condition under analysis. For a
particular heading-frequency combination, the vessel experiences a maximum RAO.
This particular combination of heading and frequency is selected for the extreme
value analysis outlined above, where the most probable extreme value is calculated
for the required return period to obtain the equivalent design wave amplitude (Liu
& Spencer, 1992):
24

MPEV
aw = (14)
max RAO

Where:

aw is the equivalent design wave amplitude in m

M P EV is the most probable extreme value as in Equation 13

max RAO is the maximum amplitude of the global load RAO for the
worst heading-frequency combination

The frequency of the design wave is also obtained from the worst heading-
frequency combination. From deep water approximation, the design wave number
is (Hughes et al., 2010):

ω2
k= (15)
g

Where ω is the wave frequency in rad/s and g is the acceleration of gravity in


m/s2 . The ocean wave is characterized by a sinusoidal wave as a function of the
horizontal position x and the time t as (Mikkola, 2008):

ζ(x, y) = aw sin[k(−x cos β − y sin β) + ωt] (16)

Where:

ζ(x, y) is the free surface elevation at (x,y) position in m

aw is the design wave amplitude in m

k is the wave number in 1/m


25

β is the wave heading in rad

ω is the design wave frequency in rad/s

t is the time in s

As the free surface elevation is dependent of time, it is necessary to find the


exact moment where the free surface elevation (ζ) reaches the design wave crest for
hogging, and trough for sagging condition. For hogging condition, the free surface
elevation is equal to the design wave amplitude at amidships (LP P/2). Therefore:

LP P
ζ(x = LP P/2, y = 0) = aw sin[k(− cos β) + ωt] (17)
2
LP P
aw = aw sin[k(− cos β) + ωt] (18)
2
π
+ k LP2 P cos β
∴t= 2
(19)
ω

Substituting Equation 19 into Equation 16, the free surface elevation equation
for hogging sagging conditions are:

LP P π
ζ(x, y) = aw sin[k(−x cos β − y sin β ± cos β) + ] (20)
2 2

The design wave is then defined by the equivalent amplitude, frequency, wave
number and crest/trough position.
26

4 Automated Load Transfer to Finite Element Mesh

4.1 Introduction

Vessels are designed to carry specific types of loads such as bulk cargo, contain-
ers, liquids and cars. Each type of mass behave in different ways when compare to
each other. For instance, liquid cargo exerts distributed pressure over the wetted
boundaries of the tank, while cars transfers its weight to the structure in concen-
trated points (normally four). This has a rather large implication on how the load
is distributed. This study analyses three types of loads: equipment masses, liquid
tank pressure and external wave loads.

Equipment masses, liquid tank pressure and external wave loads are the basic
elements when performing a strength assessment as they are present in all vessels
regardless of its type. Other type of loads such as bulk cargo and containers, are not
treated in this study. However, it is important to implement such loads in the finite
element analysis when necessary. All macros created to perform the automated load
transfer are presented from Appendix C to E.

4.2 Design Wave

The procedure to obtain the parameters of the design wave described in previ-
ous chapters can be automated. For that purpose, a design wave table is necessary.
Figure 9 represents the design wave table where all information is collected. The
first nine columns are the parameters of the design wave, while the last nine are the
absolute accelerations of the vessel at origin, amidships and fore perpendicular for
longitudinal, transverse and vertical directions.
27

Figure 9: Design wave table.

Figure 10 represents the flowchart of the design wave calculation. The user
gives the heading and frequency range together with the seakeeping surface name,
loading condition, wave scatter table, return period and zero crossing periods, and
the system calculates the vertical bending moment at amidships for the given pa-
rameters. Later, the heading-frequency combination giving the maximum vertical
bending moment is selected as design wave frequency and heading. The procedure
is then divided into two: one to obtain the extreme value of the global load, and
another for the absolute accelerations of the vessel. From the extreme value anal-
ysis, the equivalent design wave amplitude is calculated and stored together with
heading, frequency, wave number and length. For absolute accelerations, the panel
method is used to obtain them at the origin, amidships and fore perpendicular.
Also, roll and pitch angles are calculated to later obtain the acceleration of gravity
as in Equation 4. Finally, all information is stored in the design wave table.

Once the design wave amplitude, frequency and free surface elevation equation is
obtained, the equivalent design wave is defined. The procedure to obtain the design
wave is:

1. Select the loading condition to be analyzed

2. Define the range of frequency and heading for the seakeeping analysis

3. For every heading-frequency combination, calculate the vessel global


28

Figure 10: Design wave flowchart.

load response

4. Identify the heading-frequency combination giving the maximum RAO

5. Perform the Extreme Value analysis outline in this section

6. Obtain the design wave parameters of amplitude, frequency and free


surface elevation from Equation 14 to 20

The design wave parameters of amplitude, frequency, heading and free surface
elevation are later fetched from the design wave table for obtaining wave-induced
loads of equipment masses, liquid tank pressure and external wave loads. The abso-
lute accelerations and angles of roll and pitch are used in Chapter 5 for output the
steel weight loads into a NASTRAN Bulk Data File. The macro created to calculate
the design wave is presented in Appendix B.
29

4.3 Equipment Mass

4.3.1 Introduction

Every floating structure, being either a ship or an offshore structure, is com-


posed of several different weights that goes from engines to transformers, furniture,
kitchen and restaurants, that combined with other weights and steel, the lightship
weight of the vessel. It is often that during an early design stage detailed informa-
tion about those weights are not accurate, if existent at all, having a great impact
in the strength assessment of the vessel (Helenius, 2011). Utilizing a modern 3D
product model in early design stage helps improving the information available as
it is very easy and quick to define their position, center of gravity and extension.
Consequently, some of the errors arising from inaccurate information are avoided.

Helenius (2011) has exemplified and discussed several problems related to in-
accurate mass information and how to overcame the problems it may cause. Also
an extensive analysis on how to distribute the mass over the finite element nodes
using different methods relevant for each type of mass is outlined. The method is
however designed for static analysis, therefore it needs to be expanded to account
for wave-induced loads.

4.3.2 Process Implementation for Equipment Mass

An automation process of equipment mass transfer into a finite element mesh


can be divided into four practical problems:

• Input Requirements

• Finding Surrounding Elements and Nodes

• Finding well-supported nodes


30

• Distributing mass load

• Calculating the static and wave-induced nodal forces

Figure 11 represents a node information table where mass name, node numbers
connected to the mass, node coordinates (x, y and z directions), side orientation,
support, mass load and nodal forces are collected. The columns Support and Mass
are the well-supported area and the mass transfered to that particular node by one
of the distribution methods. The last six columns represent the static and wave-
induced nodal force acting on longitudinal, transverse and vertical directions and
takes into account the static and wave-induced loads experienced by the equipment
mass.

Figure 11: Node table for surrounding nodes.

All methods developed by Helenius (2011) to distribute the mass are consider
valid for the purpose of global strength assessment. Therefore, the algorithms re-
lated to the mass distribution are used in this sense. To obtain the nodal force for
the static component, the mass share is multiplied by the respective acceleration of
gravity component in longitudinal, transverse and vertical directions.
31

Wave-induced loads are forces experienced by the node due to relative acceler-
ation between the vessel-fixed coordinate system and the center of gravity of the
mass in longitudinal, transverse and vertical directions, respectively calculated as
(Liu & Spencer, 1992):

FL = maV (21)

FT = maT (22)

FV = maL (23)

Where:

FL , FT and FV are the longitudinal, transverse and vertical nodal force


components in Newtons (N )

m is the nodal mass share calculated by the distribution method in kg

aL , aT and aV are the longitudinal, transverse and vertical relative


accelerations components in m/s2

Figure 12 shows the flowchart for calculating the nodal forces. The system re-
trieves from the mass table the weight name, center of gravity and the nodal mass
share. This information is fed to the seakeeping system to calculate the relative ac-
celeration between the center fo gravity of the equipment mass and the vessel-fixed
coordinate system in longitudinal, transverse and vertical directions. The acceler-
ation RAO is multiplied by the design wave amplitude and corrected to account
for nonlinearities as depicted in Section 3.2. The nodal mass share of the given
equipment mass is then multiplied by the final acceleration vector to obtain the
wave-induced nodal force share as in Equation 21 to 23. The wave-induced nodal
force share is then stored in the last three columns of the node table for surrounding
32

nodes (Figure 11).

Figure 12: Equipment mass nodal force calculation flowchart.

4.4 Tank Pressure

4.4.1 Introduction

Equipment masses are of extreme importance for a normal operational of the


vessel. However, they are just as important as the tanks carrying liquids such as
fuel, fresh water, gray/black water and cargo. These tanks are defined as tank
masses, and they comprehend tanks partially or completely filled. Tank masses are
spread throughout the length of the ship with different properties such as volume
and density. In the global strength assessment of the vessel, all tank masses are
identified for each loading condition defined in the loading manual and their liquid
tank pressure is distributed over the structural elements.
33

One drawback of tank masses is liquid movement during operation, as it is nec-


essary to assume some hypothesis for calculations. First, there is no relative motion
between liquid particles. Tank sloshing is not considered in this study. Second, it is
worth mentioning that the total pressure has two different components: static and
dynamic, as defined by Bernoulli’s equation for incompressible and irrotational fluid
(Liu & Spencer, 1992).

The liquid tank pressure is computed from basic concepts of fluid mechanics as
fluid masses. In a closed container (e.g., a tank), the total pressure is defined by
Bernoulli’s equation as (Ruth & Boylan, 2004):

1 2
ρv + ρgh + p0 = p (24)
2

Where:

ρ is the liquid density in kg/m3

v is the fluid velocity in m/s

g is the acceleration due to gravity m/s2

h is the point elevation in m

p0 is the vapor pressure in P a

p is the total pressure in P a

As mentioned earlier as first hypothesis, there is no relative motion between the


liquid particles as they move along with the vessel. This hypothesis assures us to
consider the dynamic pressure not as dynamic in itself, but rather as a quasistatic
34

process where the system experiences a sequence of states close to equilibrium po-
sition, and thus, simplifying its complexity.

Since the problem ceases to be dynamic, the first term in Equation 24 is zero
and the total pressure is now computed from fluid statics and is represented by the
vapor-liquid equilibrium as sum of partial pressures of both liquid and vapor. Vapor
pressure is defined as the pressure of vapor when in equilibrium with its non-vapor
state, while liquid pressure is defined as hydrostatic pressure. Vapor pressure is well
outlined in the corresponding literature and is not treated in this study, having its
value defined as zero for all tanks (p0 = 0).

Internal liquid tank pressure can be calculated by two different methods. Either
by obtaining the pressure distribution equation or using the pressure head concept.
As both methods yields the same results, as proved in Appendix A, the pressure
head method is selected for this study as it is a simpler calculation method. The
basic concept in this method is to use the modulus of the corrected acceleration
vector for both static and wave-induced components.

It is wise however to separately calculate the liquid tank pressure for static
and wave-induced components for the possibility to separately analyze the global
strength assessment. The static component is due to acceleration of gravity, while
the wave-induced component is due to the acceleration of gravity plus the relative
acceleration between the tank and the vessel-fixed coordinate system. Thence, the
static (ps ) and wave-induced (pwi ) liquid tank pressure are applied to the finite
element centroid, and always perpendicular to it, as:
35

q
ps = ρh gL2 + gT2 + g 2 (25)

(26)
p
pwi = ρh (gL + aL )2 + (gT + aT )2 + (g + aV )2

Where:

p is the liquid tank pressure at a boundary point in P a

ρ is the liquid density in kg/m3

h is the pressure head in m

gL , gT and g are the longitudinal, transverse and vertical components


of the acceleration of gravity in m/s2 as in Equation 4

aL , aT and aV are the longitudinal, transverse and vertical components


of the relative accelerations m/s2

The pressure head (h) in Equations 25 and 26 is defined as the shortest distance
between the finite element centroid and the instantaneous inclination plane. For
wave-induced load, the instantaneous inclination plane angle is calculated by Equa-
tion 27, while for the static load, the plane angle is the same as the vessel heeling
angle. In both cases the instantaneous inclination plane angle lies between −90◦
and 90◦ . The plane angle position for tanks partially filled is easier to identify than
for completely filled tanks. Full development of Equation 27 is shown in Appendix A.

 
(aT + gT )
θ = arctan − (27)
(aV + g)

For completely filled tank, as in Figure 13, there is only one point at the tank
boundary able to represent the instantaneous inclination plane and where all other
36

points locate below him. This point is either A or B (placed in the upper left and
upper right corners, respectively) and depends on the sign of the instantaneous in-
clination plane angle. If the plane angle sign is negative, it is defined at point B,
and if positive, at point A.

(a) Positive plane angle (b) Negative plane angle

Figure 13: Ship section with completely filled starboard tank.

In case of a tank partially filled, the position of the plane is always at the center
of the free surface. Analyzing the tanks partially filled represented by Figure 14, for
negative plane angle (Figure 14(a)), the tank is accelerating in positive y-direction,
therefore, the tank pressure at points A and B are zero, while point C experiences
the greatest pressure since the distance between the point and the instantaneous
inclination plane is the highest. From the hydrostatic pressure distribution diagram
it is also possible to conclude that point C has the greatest pressure. In contrast,
if the plane angle is positive (Figure 14(b)), the tank is accelerating in the negative
y-direction, hence, the zero pressure are at point A and B. This reassures the posi-
tion of the plane angle being at the center of the free surface.

The last step necessary for the liquid tank pressure is to select which points are
used for calculation. Since calculations are computer-aided procedure, it is only
obvious to select all elements belonging to the finite element tank model bounding
37

(a) Negative plane angle (b) Positive plane angle

Figure 14: Ship section with partially filled starboard tank.

the liquid. In such case, the pressure calculation is the most exact possible, and
thus, avoids high errors that may arise from selecting fewer elements to decrease
calculation time. Since information regarding the finite element centroid is readily
available, the assumption to select all finite elements are even strongly supported.

4.4.2 Process Implementation for Tank Pressure

Three different steps are necessary to implement an automated process for tank
pressure. First, obtain the design wave as described in Section 3.2; second, collect
all relevant finite elements from the model; and last, calculate the pressure. For this
process two tables are necessary, one for collecting all finite elements and another
to calculate the final tank pressure.

Figure 15 represents the finite element table. The first column identifies the
tank compartment while the second one, the finite element number. Third, fourth
and fifth columns are the centroid components of the finite element in x, y and z
directions, respectively. Fill column shows how much liquid the tank is carrying.
The next three columns are the center of gravity of the tank in x, y and z direc-
tions, respectively, while the last three columns are the finite element normal vector
38

components in x, y and z directions, respectively. For this table, the finite elements
are collected from the structural model together with their respective compartment
name and element centroid. From the loading condition, the density of the com-
partment and its center of gravity are inputted into the finite element table.

Figure 15: Finite element table for liquid tank pressure.

Figure 16 presents a flowchart for collecting all elements and filtering desired
ones. At first, the system retrieves from the finite element mesh all elements be-
longing to the model under analysis. This list has all possible elements, including
inner structures and elements facing outside the ship. The second step of the process
is to remove elements belonging to inner structures, following by removing elements
facing outside the ship and last, those not belonging to liquid tanks and with net
volume equals to zero. The system loops through all elements in the model placing
the selected ones in the final finite element table.

Figure 17 represents the tank pressure table. First and second columns are the
tank name and finite element number, respectively. The following three columns
are the corrected wave-induced acceleration components relative to the vessel-fixed
39

Figure 16: Finite element listing flowchart.

coordinate system in longitudinal, transverse and vertical directions. The density


of the liquid is informed in column sixth. The seakeeping system feeds the columns
for the accelerations components. The next column represents the pressure head
(h), while the last two columns are the static and wave-induced components of the
liquid tank pressure (ps and pwi ) for the corresponding finite element.

From the design wave table, the parameters necessary to calculate the relative
wave-induced acceleration between the vessel-fixed coordinate system and the cen-
ter of gravity of the tank is collected (Section 2.3.3). Moreover, the tank filling and
liquid density is collected from the first table. With all information available, the
40

Figure 17: Internal liquid tank pressure calculation table.

seakeeping system can be evoked to calculate the relative wave-induced accelerations.

The last step before obtaining the final pressure is to calculate the distance be-
tween the finite element centroid and the instantaneous inclination plane defined by
the plane angle (θ) presented in Figure 13 and 14. At the end, the final pressure is
calculated by Equations 25 and 26.

In case the tank is partially full, all elements above the instantaneous inclination
plane are considered non-wetted nodes, and those below this plane, wetted nodes.
The pressure is then calculated for wetted nodes only. Figure 18 shows the non-
wetted elements (red) and wetted elements (blue).

The algorithm goes trough all tanks in the particular loading condition calculat-
ing all parameters necessary and storing results in the final pressure table.

Figure 19 represents the pressure calculation flowchart. First, the system obtains
the design wave parameters for the selected loading condition together with all liquid
tanks and respective fillings and densities. This information is fed to the seakeeping
41

Figure 18: Representation of wetted and non-wetted elements.

system to calculate wave-induced accelerations and phase angles, looping through


all compartments. Nonlinear correction is later applied. Instantaneous inclination
plane angle (θ), and consequently the pressure head distance, are calculated for each
finite element centroid provided by the finite element table in Figure 15. Finally,
the static and wave-induced tank pressure are calculated for the specific design wave.

The procedure to calculate liquid tank pressure, once the design wave is selected,
is:

1. Calculate the relative acceleration and phase angle for each tank

2. Correct the acceleration by means of Equation 6

3. Calculate the gravity components (gL , gT and g) as in Equation 4

4. Compute the instantaneous inclination plane angle by Equation 27

5. Calculate the pressure head (h)

6. Obtain the final internal static and wave-induced tank pressure from
Equations 25 and 26
42

Figure 19: Pressure calculation flowchart.

4.5 External Wave Loads

4.5.1 Introduction

There are several different theories and methods available to calculate the pres-
sure exerted by waves on the hull of the vessel. The most common is the source
method outlined in Section 2.3.2.

The first problem originating in the panel pressure calculation is the panel size.
The panels used the seakeeping analysis are different than the finite elements used in
strength assessment. The reason for different size is due to the finite elements need
of being smaller than the seakeeping panels for better results. Also, the seakeeping
panels must be quadrilateral, while the finite elements have no such limitation. This
results in having several finite elements associated with the same seakeeping panel.
Figure 20 shows a seakeeping panel (yellow) and finite elements (red outline). It
43

is possible to see from the figure the six finite elements associated with the same
seakeeping panel.

Figure 20: Seakeeping panel and finite element comparison.

There are several methods to overcame this issue. It is possible to modify the
system code to give direct coordinates on where to calculate the panel pressure. In
this case, the coordinates would be the centroid of all finite elements. This method
results in very precise pressure calculations. The other method is to use interpolation
techniques where the pressure calculated for the seakeeping panels are interpolated
to the finite elements. Both methods are supposed to yield relatively close results.

Interpolation techniques are rather simple and straightforward to implement,


therefore, it is chosen for this study. Three different methods can be used for in-
terpolation: the nearest neighbor method, the Shepard method and the Modified
Quadratic Shepard Method (MQS ) (Mikkola, 2008). In this study, the Shepard
method is selected. The equation used to interpolate any scatter data is (Shepard,
1968):
44

n
X fi d−2
F (x, y, z) = n
i
(28)
d−2
P
i=1 j
j=1

Where:

F(x,y,z) is the interpolated function value at point (x,y,z)

n is the number of scatter points

fi is the function value at the scatter point

di is the distance between the scatter point and the interpolation point
n
d−2 is the sum of all distances between the scatter point and the
P
j
j=1
interpolation point

The distance between the scatter point (X ) and the interpolation point (Y ) is
calculated using 3D Euclidean distance as:

(29)
p
d(X, Y) = (x1 − y1 )2 + (x2 − y2 )2 + (x3 − y3 )2

To overcome the implications regarding the wave pressure being calculated up to


the still water level only a simple correction shall be performed to better simulate
the real conditions. One of the methods to correct the pressures is:

1. The hydrostatic and hydrodynamic pressures at any point below the


mean waterline but above the wave surface profile are set to zero.

2. The pressure at any point above the mean waterline but below the
wave surface needs to be accounted for in wave load calculation. To achieve
45

this, a hydrostatic pressure is calculated based on the water head measured


from the wave surface profile to the pressure point. This pressure is treated
as wave-induced pressure, although is has been calculated as static pressure
(ABS, 2010).

Figure 21 represents the method outlined above, where the ship profile, wave
surface and mean waterline (MWL) is identified. The red zone represents the first
step in the correction procedure. The pressure is set to zero for all points below
the mean waterline but above the wave surface profile. The blue zone represents
step 2. All points above the mean waterline but below the wave surface profile are
account for using a hydrostatic term. The green zone is the panel pressure where
both hydrodynamic and hydrostatic pressures are present.

Figure 21: Nonlinear pressure correction. Colored from (ABS, 2010).

However, the seakeeping task is not able to calculate and include the hydrostatic
pressure up to this moment. Therefore, the method outlined above is not directly
applicable. Nevertheless, a rather simple method can be developed to include the
46

hydrostatic pressure as described in item 2 of the correction.

4.5.2 Process Implementation for External Wave Loads

The panel pressure is calculated using the sink/source method described in Sec-
tion 2.3.2 and briefly in Section 4.5.1. The seakeeping task stores the panel pressures
for panels in both starboard and portside for the equivalent design wave.

Once the panel pressure is obtained for the equivalent design wave, the Shepard
interpolation method can be done. The panel pressure distribution is a scatter plot
where the pressure is defined at the centroid of each seakeeping panel. For that
matter, the centroid of each panel needs to be gathered from the seakeeping model
for interpolation. Moreover, it is also necessary the centroid of the finite elements
to select the points where to interpolate and to calculate the distances between each
finite element and seakeeping panel centroid. Therefore, two tables are necessary
for calculation.

Figure 22 examples the finite element table. In this table the finite element in-
formation is stored. The first column represents the finite element number while the
subsequently three are the coordinate of the finite element centroid. The last three
columns are the normal components in x, y and z directions, respectively.

Figure 23 represents the pressure table. In this table the finite element number
and the interpolated pressure value associated with it is stored with necessary cor-
rection to account for nonlinearities. The pressure is divided into hydrostatic and
hydrodynamic to provide the possibility to separately analyze the vertical bending
moments for still water and wave-induced loads. For the vertical bending moment
47

Figure 22: Finite element table for pressure calculation.

global load the finite element external wave pressure is stored in two different tables:
one for hogging and another for sagging condition.

Figure 23: Finite element wave pressure table.

The calculated panel pressure first needs to be corrected for the different phase
angle between the ship motion and the wave as (Ochi, 2005):
48

p = pi sin(ωt + ) (30)

Where:

p is corrected panel pressure in kPa

pi is the panel pressure in kPa

ω is the wave frequency in rad/s

 is the panel pressure phase angle in rad

t is the time in s

The time t in the panel pressure correction is the same obtained in Section 3.2
for hogging and sagging conditions. After correcting the panel pressure, there are
several ways to interpolate it to the finite elements. The procedure is described as by
first filtering the finite elements that are just below the trimmed waterline where the
pressure is calculated to avoid interpolating the pressure into final elements that in
reality has no influence by the waves. Afterwards, the seakeeping panels are sorted
as portside and starboard. Therefore, finite elements on portside are affected only
by portside panel pressures and similarly for starboard. Once the finite elements
and panels are sorted, the distance between each finite element and seakeeping panel
centroid is calculated by Equation 29. The pressure is then interpolated using Equa-
tion 28, where di is the distance between the finite element and the panel centroid; fi
is the panel pressure and F (x, y, z) is the interpolated pressure at the finite element
centroid. This procedure is done for all finite elements in the model.
49

Currently the system is utilizing all seakeeping panels (divided in portside or


starboard) when interpolating. This can be time consuming depending on the num-
ber of finite elements and seakeeping panels in the model, influenced directly by the
size of the vessel. To decrease calculation time, it is possible to limit the number
of panels used for interpolation. Panels far away from the finite element have very
small contribution to the interpolated pressure when compared to panels close to
it. Therefore, it is advisable to limit the number of panels by utilizing between the
closest 4 to 20 (Mikkola, 2008). Another option is to limit the minimum distance
the panel should have in order to be used for interpolation. Further studies should
be conducted to evaluate the influence of the number of panels used in interpola-
tion. Figure 24 shows the interpolated finite elements in red. It is noticeable the
interpolation only up to the still water level.

Figure 24: Finite element wave pressure in red.

Once the pressure has been interpolated to all finite elements, the proposed
correction method is performed. The introduction of the hydrostatic pressure is
achievable aided by the free surface elevation as in Equation 20. Once the free
surface elevation is obtained, it is possible to calculate in a fairly simple and direct
form the hydrostatic pressure exerted on the wetted hull. The hydrostatic pressure is
in this case a function of the draft of the ship. Since the ocean wave is represented
50

by a sinusoidal wave, and taking into account the possible trim of the ship, the
pressure is a function of the draft, which is dependent on the x-position where the
pressure is being evaluated, as (Mikkola, 2008):

p = ρg(z(x0 ) − z0 ) (31)

Where z(x0 ) − z0 is the distance between the z-coordinate of the reference point
(z0 ) and the water column height z(x0 ) at the x coordinate of the reference point.
The reference point is defined as the centroid of the finite element (x0 , y0 , z0 ). The
water column height is then defined as:

z(x0 ) = T (x0 ) + ζ(x0 ) (32)

Where:

z(x0 ) is water column height at x-position in m

T (x0 ) is the ship draft at x-position in m

ζ(x0 ) is the free surface elevation (Equation 20 in m

Combining Equations 32, 31 and the free surface elevation equations, the hy-
drostatic pressure for that particular finite element are, for hogging and sagging
conditions:

 
LP P π
ps = ρg (aw sin(kx − k ± )) + T (x) − z0 (33)
2 2
51

The final step in the external wave pressure correction is to eliminate the hy-
drodynamic pressures occurring above the wave surface profile. Therefore, if the
z-coordinate of the finite element centroid is above the wave surface profile at that
particular x-position, the hydrodynamic pressure is set to zero. The final pressure
at the finite element is then the sum of the hydrostatic and hydrodynamic pressures.
Figure 25 shows the pressure distribution along the wetted hull. It is possible to
see in the figure the wave profile for hogging condition and sagging condition, Fig-
ures 25(a) and 25(b), respectively.

(a) Finite element pressure distribution for (b) Finite element pressure distribution for
hogging condition sagging condition

Figure 25: Finite element pressure.

Figure 26 represents the flowchart for external wave pressure calculation. The
system first retrieves from the finite element model all elements below the mean wa-
terline level and selects only the ones facing ’outside’ the ship, inputting the selected
elements into the finite element table (Figure 22) together with its centroid and nor-
mal vector components. The seakeeping system is then launched to calculate the
external hydrodynamic pressure on the wetted hull for the desired loading condition
and equivalent design wave. Afterwards, the process is divided into two: for hogging
and sagging condition. For each case, the hydrodynamic pressure is adjusted for the
difference in phase angle. Once the corrected panel pressure and finite elements
are available, the Shepard interpolation method is performed to obtain the finite
element hydrodynamic pressure. Later, the nonlinear correction is performed. In
this step, the hydrostatic pressure is first calculated for all finite elements below the
wave surface profile. Then, the hydrodynamic pressure is set to zero for the finite
52

elements below the mean waterline but above the wave surface profile. Finally, the
corrected hydrodynamic and hydrostatic pressure are inputted into the final finite
element pressure table of hogging and sagging conditions.

Figure 26: Finite element wave pressure flowchart.

The procedure to calculate the external wave pressure, once the design wave is
selected, is:

1. Calculate the external hydrodynamic wave pressure

2. Correct the pressure due to phase difference for hogging and sagging
conditions

3. Obtain from the model all finite elements facing ’outside’ of the hull

4. Interpolate the panel pressure into the finite elements

5. Obtain the free surface elevation and consequently, the wave surface
profile for hogging and sagging
53

6. Calculate the hydrostatic pressure up to the wave surface profile

7. Apply the nonlinear seakeeping correction

8. Obtain the final external wave pressure for hogging and sagging condi-
tions
54

5 Output to Finite Element Software

There are currently several different finite element software available for running
the strength assessment described in this study and they work in a relatively dif-
ferent way regarding the input of the finite element mesh and the loads associated
to it. Thence, the methods for calculating and transferring the loads developed in
previous chapters have to be sorted and outputted into a compatible form for later
use in the finite element analysis software.

The output method developed for this study is a NASTRAN Bulk Data for-
mat (extension bdf). In this type of file, identification of mass elements, forces,
pressures and accelerations are gather into one file, expliciting the calculated loads.
Figure 27 examples an automated NASTRAN Bulk File. The file is divided into
several different parts:

1. Sub Case Definition

2. Load Set

3. Gravity Load Components

4. Acceleration Load Component

5. Mass elements

6. Pressure Load

7. Forces

The first item identifies the sub case, where it is possible to divide the loads
into different sets. Therefore, when importing the file into NASTRAN, the system
automatically creates the sub cases accordingly. The second item is the load set
definition. This item is necessary as gravity components are present. It associates
55

Figure 27: Example of NASTRAN Bulk Data file format.

the different loads into one load case number to be called by the sub case. The next
items are the calculated loads for the strength assessment.

The output in this study follows the same order. First the sub cases are created.
In this study there are four: still water for hogging, wave-induced for hogging, still
water for sagging and wave-induced for sagging. They are later combined into: Ver-
tical Bending Moment (VBM ) for Hogging and Vertical Bending Moment (VBM )
for Sagging. Therefore, when running the problem in the finite element solver, it is
possible analyzed the loads separately for hogging and sagging conditions. Never-
56

theless, to be able to divide the loads into hogging and sagging for still water and
wave-induced, it is also necessary to divide the loads accordingly. Hence, the loads
have been divided into accelerations, gravity, forces, and pressures.

The absolute acceleration components are calculated for the design wave in Sec-
tion 3.2 at the origin, amidships and fore perpendicular. The gravity components
are calculated aided by Equation 4 in Section 2.3.3. When inputting both acceler-
ations and gravity in NASTRAN, the solver automatically adds the steel weight in
the analysis by calculating the nodal forces due to relative accelerations and gravity,
as in Equation 5. Forces are the equipment masses loads calculated in Section 4.3 for
static and wave-induced. The pressure loads have been divided into four: static and
wave-induced pressure for tanks (Section 4.4), and hydrostatic and hydrodynamic
pressures on the wetted hull (Section 4.5).
57

6 Risks and Implications of the Automated Load

Transfer

6.1 Risks

Perhaps the most straightforward issue is related to the 3D product model itself.
Since all calculations are always based on the same model, poor modeling definitions
dramatically affect calculation results.

In contrast, the automated procedure described in this study is elaborated us-


ing functionalities already available in NAPA and not designed for that particular
purpose. Therefore, future refinements in the algorithm created in this study are
necessary. As an example, tanks with complicated geometry and structure can ex-
perience difficulties when the algorithm is trying to find the intersection between
the finite element centroid and the tank, and when finding the correct point for the
instantaneous inclination plane angle definition. This issue was identified during the
execution of the automated process and a simple solution was developed to overcome
it.

6.2 Implications

The process of wave-induced strength assessment implies in several simplifica-


tions in modeling and calculations. In the present study, vertical bending moments
is calculated by strip theory, while accelerations and hydrodynamic pressures are
calculated based on the source method, that when compared to full-scale measure-
ment, have differences between 10% and 15% (NAPA, 2011). Moreover, the pressure
interpolation between the seakeeping panels and finite elements, together with the
58

hydrostatic pressure are not exact. Also, it is important to have relatively close
weight between the finite element and seakeeping model. This implies that when
running the finite element analysis it is very unlikely to have all forces in equilibrium.

For static loads, the static pressure experienced by the tanks, together with the
mass components and steel weight, are to be in equilibrium with the hydrostatic
pressure on the wetted hull. Similarly for the wave-induced case. Therefore, when
combining both cases to analyze hogging or sagging conditions, the ship model
should be in balance. Figure 28 represents the equilibrium of forces in the analysis.
The static loads are represented by the static pressures (hydrostatic pressure on
the wetted hull and tank pressure) and self weight (steel structure and equipment
masses). They should be in balance with each other. Wave-induced loads are inertial
forces due to relative acceleration (tanks, equipment masses and steel structure) and
hydrodynamic pressure on the wetted hull. They should also balance each other.
All four components (self weight, static pressures, hydrodynamic pressures, inertial
forces) should be in equilibrium when combined in the finite element analysis.

Several methods have been developed to overcome this issue, the most common
is the inertia relief. Here all finite elements have an acceleration term added to it.
However, this method causes a change in the hull girder response. Moreover, the
adding terms have to be sufficiently small to not disturb the real behavior of the
response (Ma et al., 2012b). This implies that the mass of the structure is used
to balance the applied loads and can directly be implemented in NASTRAN by
using the Inertia Relief parameter when running the analysis. The other method to
balance the model is Quadratic Programming. In this method, a correctional nodal
force is applied to wet elements of the hull shell (Ma et al., 2012b). In this study the
inertia relief method from NASTRAN is selected as a balancing method. However,
59

Figure 28: Vessel equilibrium of forces (Maritime Research Institute, Hyundai Heavy
Industries, 2012).

further analysis should be conducted to evaluate the discrepancies in both methods


and which should be selected for balancing the model.

Another implication is related to the hydrostatic pressure. The process imple-


mented in this study only takes into account the change in water head (z(x0 ) − z0 )
due to a fixed ship. However, during a wave-induced analysis the submerged volume
of the vessel changes in time due to the motion of vessel, followed by the hydro-
static pressure. This implication should not however impose major implications in
automating the load transfer process.

One minor implication in the automated process, and easy to correct, is regard-
ing the finite element normal vector in pressure calculations. The system must pay
attention to the normal direction to place the pressure in the correct position and
pointing to the finite element centroid, and not reversed. The finite element normal
is obtained by the right-hand rule and by the node sequence defining the finite ele-
ment. Figure 29(a) demonstrates an overview of the finite elements normal vectors
60

for a section of a ship and Figure 29(b) demonstrates the vectors in a specific area.
From Figure 29(b) it is possible to see the shift in the normal vector for a given
plate. In this case, the pressure vector direction changes from one finite element
to another. Analyzing the upper mid-tank, the normal vector identified with green
color are moving towards the center of the tank, therefore, the pressure is the oppo-
site direction of the normal vector; meanwhile, the red colored normals are moving
away from the center of the tank, and thus, the pressure shares the same direction
as the normal vector.

(a) Element normal vector overview. (b) Element Normal vector on specific area.

Figure 29: Element normal vector.

In practice, if the normal vector is moving towards the center of gravity of the
tank the pressure is defined with negative sign. Contrariwise, if the vector is moving
away from the center of gravity of the tank, the pressure is defined with positive
sign. The same analysis is done for the external wave pressure. If the finite element
normal is pointing outwards the vessel, the hydrostatic and hydrodynamic pressure
is negative, otherwise, positive.
61

7 Case Study

7.1 3D Product Model

7.1.1 Main Dimensions

The 3D product model selected for analysis is a box-shaped vessel. Table 1 shows
the main dimensions of the model. Length over all is defined at 100m, while beam
and maximum height are 20m and 15m, respectively.

Table 1: 3D product model main dimensions.


Length Over All (m) LOA 100
Beam (m) B 20
Height (m) H 15

The steel structural model is created based upon the initial hull form. Fig-
ure 30(a) shows the steel model while Figure 30(b) shows a cutout containing all
inner structure including decks, webframes, bulkheads and stiffeners.

(a) 3D product model structure (b) 3D product model structure cutout

Figure 30: 3D steel product model.

From the steel model, the finite element mesh is obtained as briefly described
in Section 2.2 but with special attention. Figure 31(a) shows the finite element
mesh generated for finite element analysis. It is possible to see the elements nicely
distributed along the dimensions of the vessel. The mesh has 19828 shell elements,
24633 beam elements and 16594 nodes. Figure 31(b) represents the idealized panel
62

distribution for the box-shaped vessel. It is possible to see the panels evenly dis-
tributed along the vessel length.

(a) Finite element mesh (b) Seakeeping panels

Figure 31: Finite Element Mesh and Seakeeping Panels.

7.1.2 Loading Condition

Once the 3D product model is created, the loading conditions associated with
it is defined. A normal vessel have several different loading conditions that should
be analyzed in the strength assessment. However, in this study only one loading
condition have been defined for such purpose. A summary of the loading condition
is presented in Table 2. Figure 32 shows the loading distribution. The green pattern
represents the ballast water while the pink color the cargo loading. Table 3 shows a
summary of the vessel position due to the loading condition.

Table 2: Loading condition summary


Load Weight (tons)
Ballast Water 1270.6
Cargo 4704.0

In this case study, one engine have been placed for the equipment mass process.
The engine weights 30 tons and is positioned at x = 20m, y = 0m and z = 2.5m.
The dimensions are 4.8m length, 1.75m width and 3.19m height. Table 4 shows the
63

Figure 32: Loading condition.

Table 3: Vessel floating position


Displacement (tons) 10623.0
Draft (m) 5.438
Trim Aft (m) 5.464
Trim Fore (m) 5.412
Heel (degrees) 0.0

engine summary.

Table 4: Engine summary


Name Weight (tons) Position Length (m) Width (m) Height (m)
Engine 30 (20 0 2.5) 4.80 1.75 3.19
64

7.1.3 Design Wave

The process of utilizing a modern 3D product model for global strength assess-
ment is performed using the concept of design wave as depicted in Section 3.2. The
equivalent design wave parameters are calculated based upon the case study product
model and loading condition defined in Section 7.1.2.

The first step in obtaining the design wave is to select the range of frequency
and heading in which the wave-induced behavior of the vessel is studied. The range
of frequency recommended is from 0.2 rad/s to 1.2 rad/s with increments of 0.05 rad/s.

The wave heading range goes from 0◦ to 180◦ with increments of 15◦ (Liu & Spencer,
1992).

The wave spectrum selected for calculation is the Pierson-Moskowitz as it is rec-


ommended for open ocean wave conditions (Liu & Spencer, 1992). The sea state
scatter table selected is the IACS Wave Scatter Diagram for the North Atlantic
(Hogben et al., 1986), where the significant wave height and zero crossing periods
are obtained. The wave rosette is not available to calculate the weighing factor for
wave heading, therefore, the probability of each wave heading is equally distributed.

For the range of frequencies and heading, the vertical bending moment at amid-
ships is obtained by the seakeeping system. The critical frequency-heading vertical
bending moment occurs at 180◦ for a wave frequency of 0.75 rad/s. Figure 33 shows
the vertical bending moment transfer function for the critical frequency-heading
condition where the maximum vertical bending moment occurs.
65

Figure 33: Vertical bending moment of critical frequency-heading combination.

For the worst frequency-heading combination the most probable extreme value
of the vertical bending moment is calculated as depicted in Section 3.2. Also from
the worst frequency-heading combination the parameters of the design wave such
as wavelength and wave number are obtained. These two values are necessary to
correct the external wave load as discussed in Section 4.5. Additionally, the angles
of roll and pitch used for the obtaining the acceleration of gravity as described in
Section 2.3.3 are obtained. Table 5 summarizes the design wave parameters for the
selected loading condition.

The wave-induced accelerations at origin, amidships and fore perpendicular used


to calculate the steel weight load are also based on the design wave parameters. Ta-
ble 6 summarizes the acceleration at the three aforementioned positions.
66

Table 5: Design wave parameters


Angular Frequency (rad/s) 0.750
Wave Heading (degrees) 180
Wave Amplitude (m) 3.51
Wave Number (1/m) 0.06
Wave Length (m) 109.58
Pitch (degrees) 4.50
Roll (degrees) 0.0
Vertical Bending Moment (MNm) 23.30

Table 6: Design wave-induced acceleration in m/s2

Longitudinal Acceleration Origin 0.25


Transverse Acceleration Origin 0.00
Vertical Acceleration Origin 2.08
Longitudinal Acceleration Amidships 0.25
Transverse Acceleration Amidships 0.00
Vertical Acceleration Amidships 0.30
Longitudinal Acceleration Fore Perpendicular 0.24
Transverse Acceleration Fore Perpendicular 0.00
Vertical Acceleration Fore Perpendicular 2.39

Once all design wave parameters and accelerations are stored in the design wave
table the automated load transfer process to the finite element mesh can begin.

7.2 Automated Load Transfer

7.2.1 Equipment Masses

The forces experienced by the node are calculated by Equations 21 to 23 for lon-
gitudinal, transverse and vertical directions, respectively. Table 7 shows the static
and wave-induced nodal force share of the equipment mass.

Figure 34 shows the nodal force share distribution along the deck. Each node
received an equal share of the total engine weight as the distribution method se-
lected was the uniformly distributed. It is possible to observe from Figures 34 how
67

Table 7: Equipment mass nodal force share.


m = 1.304 tons Static Force (kN) Wave-Induced Force (kN)
Longitudinal -3.502 0.000
Transverse 0.000 0.073
Vertical -12.80 -0.742

the method selects only primary supported nodes. In general, the mass should be
distributed along all nodes that are under the engine. However, in both pictures a
small portion of the nodes under the engine are not primary supported, therefore,
the mass is not distributed along those nodes.

(a) Static nodal force share. (b) Wave induced nodal force share.

Figure 34: Nodal force share.

7.2.2 Tank Pressure

Two cargo tanks have been analyzed: one partially filled and one completely
filled.
The relative acceleration, gravity components and instantaneous inclination plane
angle is summarized in Table 8 for the partially filled tank.

Since the tank is partially filled, the instantaneous inclination plane is positioned
at the middle of the free surface. Figure 35 shows a tank section with the water
68

Table 8: Pressure parameters for partially filled tank.


Relative Acceleration (x, y, z) (0, -0.01, 0.20)
Gravity Acceleration (x, y, z) (-2.68, 0, -9.81)
Inclination Plane Slope -0.06

head distance measured perpendicularly from the finite element centroid to the in-
stantaneous inclination plane. The wetted nodes of the tank are colored blue while
the red outline shows the tank boundary. For the calculated water head distance,
the static and wave-induced components of the liquid tank pressure are obtained
from Equations 25 and 26, respectively. Table 9 shows the results for one finite
element. The difference between the static and wave-induced pressure is small, this
is due to small relative acceleration between the vessel-fixed coordinate system and
the center of gravity of the tank.

Table 9: Partially filled tank pressure results for one node.


Water head (m) 2.80
Static Pressure (kPa) 26.47
Wave-Induced Pressure (kPa) 26.94

Figure 35: Perpendicular distance for partially filled tank.

The procedure is carried for all finite elements belonging to all tanks of the load-
69

ing condition under analysis. Figure 36 represents the final pressure distribution of
the tank. It is possible to see the pressure increase as the distance between the finite
element centroid and the instantaneous inclination plane increases.

Figure 36: Tank pressure distribution for partially filled tank.

Table 10 summarizes the pressure parameters for the completely filled tank.

Table 10: Pressure parameters for completely filled tank.


Relative Acceleration (x, y, z) (0, 0.08, 0.20)
Gravity Acceleration (x, y, z) (-2.68, 0, -9.81)
Inclination Plane Slope 0.50

As the tank is now completely filled with positive inclination plane angle, the in-
stantaneous inclination plane angle is positioned at the for most negative y-direction
of the tank. The water head is then measured perpendicularly from each finite ele-
ment centroid belonging to the tank to the instantaneous inclination plane. Table 11
resumes the water head distance, static and wave-induced pressure for the completely
70

filled tank. Figure 35 shows a tank section with the water head distance measured
perpendicularly from the finite element centroid to the instantaneous inclination
plane.

Table 11: Partially filled tank pressure results for one node.
Water head (m) 2.80
Static Pressure (kPa) 26.47
Wave-Induced Pressure (kPa) 26.94

Figure 37: Perpendicular distance for completely filled tank.

The procedure is carried for all finite elements belonging to all tanks of the load-
ing condition under analysis. Figure 38 represents the final pressure distribution of
the tank. It is possible to see the pressure increase as the distance between the finite
element centroid and the instantaneous inclination plane increases.

7.2.3 External Wave Load

The external hydrostatic and hydrodynamic wave pressures along the wetted hull
are calculated for the design wave parameters.

From the corrected pressure distribution, the Shepard interpolation method is


executed for each finite element. Since the seakeeping model has 692 panels in each
side, the finite element pressure is:
71

Figure 38: Tank pressure distribution for completely filled tank.

692
X pi d−2
P (x, y, z) = 692
i
(34)
P −2
i=1 dj
j=1

(35)

The last step in the hydrodynamic pressure is to eliminate the pressure of the
finite elements located above the wave surface profile for hogging and sagging con-
dition. The different pattern distribution are shown in Figure 39(a) for hogging and
Figure 39(b) for sagging conditions.

(a) Hogging condition (b) Sagging condition

Figure 39: Hydrodynamic pressure distribution.

The hydrostatic pressure follows the water column principle discussed in Sec-
72

tion 4.5. Consequently, the water column is the relative distance between the finite
element z-coordinate and the final water level. The hydrostatic pressure is obtain
from Equation 33 for hogging condition and sagging condition.

The process is done for all finite elements facing ’outside’ the 3D product model.
Figure 40 shows the hydrostatic pressure distribution for hogging and sagging con-
ditions along the hull.

(a) Hogging condition (b) Sagging condition

Figure 40: Hydrostatic pressure distribution.

The final external wave load is then the sum of the hydrostatic and hydrody-
namic pressures. Figure 41 shows the combined pressure distribution for hogging
and sagging conditions.

(a) Hogging condition (b) Sagging condition

Figure 41: External wave pressure distribution.


73

7.3 Vertical Bending Moment Assessment

The final step in global strength assessment using a modern 3D product model is
to combine all loads (equipment masses, tank pressure and external wave load) into a
final load case to analyze the stresses and displacements of the hull girder for hogging
and sagging conditions. The analysis was done using MSC NASTRAN version 2008.

Figure 42 shows the Von-Misses stresses in the hull girder for hogging (Fig-
ure 42(a)) and sagging (Figure 42(b)) conditions. From the figures it is possible to
see higher stresses at the bottom and upper plate of the hull. For sagging condition
the external wave loads (hydrostatic and hydrodynamic pressures) are smaller at
amidships than for hogging condition. This, combined with tank pressure pattern
and other load components, results in higher stresses at amidships for sagging than
hogging condition, as expected. From the stress figures, it is also noticeable the
shear stresses pikes at 1⁄4 and 3⁄4 of the length of the vessel, as expected.

(a) Hogging condition (b) Sagging condition

Figure 42: Vertical bending moment Von-Misses stresses

Figure 43 shows the displacements associated with the stresses presented in Fig-
ure 42. As expected, since stresses at amidships are higher for sagging than hog-
ging condition, the displacements are also higher. The displacements at amidships
is 4.18mm for hogging and 18.8mm for sagging condition. Although the displace-
ments are relatively small, for a vessel this size the results are within expected values.
74

(a) Hogging condition (b) Sagging condition

Figure 43: Vertical bending moment displacements

The finite element analysis was run using the Inertia Relief parameter "-1 " avail-
able in NASTRAN. Table 12 shows the maximum single point constraint forces at
the supports. As expected, the single point constraint forces are numerical zeros.

Table 12: Maximum single point constraint forces in N


X Y Z
Hogging -1.76E-08 -3.76E-05 9.36E-10
Sagging -3.07E-08 3.94E-05 -4.66E-10

To evaluate how well the inertia relief method balances the model and con-
sequently how unbalanced the forces are, a comparison between the inertia relief
and the displacement constraint method is carried. In the displacement constraint
method the same nodes used in the inertia relief are constrained in the same direc-
tions to a zero displacement. Therefore, the constraints are the same in both cases,
however, in the displacement constraint method the forces are not in equilibrium.
Figure 44 shows the displacement constraint position. At point A the constraints
are in x, y and z directions, at point B in y and z directions, while at point C only
in the y direction.

To obtain the difference in displacement for both methods, two nodes were se-
lected and the relative distance in z-direction between them calculated. To avoid
local deflection, the first node is located at amidships in a intersection between a
75

Figure 44: Displacement constraint position.

shell and beam element and the second node at the aft of the vessel. Table 13
shows the results for hogging and sagging conditions. For hogging the difference in
displacement is only 8.63%, while sagging has a difference of 7.88%. As the relative
distance between both methods yields close results, it is safe to say the model is in
a close state to equilibrium. Nevertheless, the inertia relief method is a powerful
technique to balance the model to a static equilibrium case where results are closer
to reality. Figure 45 shows the upper deck comparison for the inertia relief and
displacement constraint method. It is possible to see from both pictures the small
difference in bending between both methods. For hogging condition the displace-
ment using the inertia relief method is smaller than for the displacement constraint
method, as expected. In sagging condition is not even possible to observe difference
between both methods.

Table 13: Distance comparison between inertia relief and displacement constraint
in mm
Hogging Sagging
Inertia Relief -4.092 21.391
Displacement Constraint -4.478 19.705
Difference 8.63% 7.88%

The methods proposed in this study to calculate and distribute the different load
types acting on the hull girder have been tested in this case study and are proven to
have significant advantages compared to manually calculating ands distributing the
loads. For a real strength assessment by finite element method, the mesh must be
thoroughly analyzed to detect inconsistencies and errors that might result in wrong
76

(a) Hogging condition

(b) Sagging condition

Figure 45: Comparison between inertia relief and displacement constraint

results. The final step in a global strength assessment by finite elements method
would be to combine the 3D product model, together with the associated finite el-
ement mesh and loads, and optimize the structure to the very limit acceptable by
the classification societies.
77

8 Conclusion

It is widely accepted that more than 90 percent of the world trade is carried by
sea (Borgerson, 2009). World trade commerce have set new standards for shipping
industry during the past few decades. Fast commerce between countries, environ-
mentally friendly ships and new sites for offshore oil exploration are just some of the
new challenges faced by the maritime industry. To overcome the new challenges, the
industry had to use the most modern computer-aided engineering tools available for
designing ships and offshore structures.

3D structural analysis by finite element method is the most reliable mathemati-


cal solution to deal with large complex structures such as ships. An equivalent 3D
product model of the real structure is created to imitate its real behavior during
operation.

The main purpose of this study was to developed an automated method to trans-
fer different types of loads acting on the structural elements to the finite element
mesh in terms of forces and pressures acting on the respective nodes and elements.
This involves various specialized branches of knowledge, including probability the-
ory, extreme value analysis, statistical data for short term and long term approach,
hydrodynamics and hydrostatics (Hughes et al., 2010).

To analyze all possible scenarios the ship encounters during the operational life
time is rather impossible. Therefore, the concept of design wave is introduced and
defined as an equivalent sinusoidal wave that imitates the worst case scenario from
the extreme value experienced by the hull for the different global loads such as ver-
tical bending moment. For the equivalent design wave, the set of loads acting on
the structural members were limited to three loads experienced by any ship, inde-
78

pendent of its purpose: equipment masses, tank pressure and external wave load.

All equipment on board of the vessel such as engines are classified as equip-
ment masses. The weight of the equipment mass itself acts on the structure as a
static component, while the wave-induced is due to relative acceleration between the
equipment mass and the ship motion in waves. Liquids, independent of its proper-
ties, exerts hydrostatic pressures on the wetted nodes of the tank. Similarly as for
equipment masses, the static component of the liquids are due to the weight itself,
while the wave-induced are due to relative acceleration between the tank and the
ship motion in waves. During the voyage the ship experiences environmental loads
of hydrostatic and hydrodynamic nature. These loads are due to wave, currents
and winds and also from the hull-wave interaction. Combining all three loads case,
the ship responds in vertical bending moments of hogging and sagging calculated at
amidships.

For all three types of loads, the methods for automatically calculating and trans-
ferring the loads to the finite element mesh have been tested. The main target of
the case study was to prove the feasibility of the methods proposed and acquire
knowledge of the possible risks, implications and future studies arising from it.

Based on the results for the three different types of loads and from the global
response of the ship in vertical bending moments of hogging and sagging, it is con-
clusive that automating calculations and transfer of such loads to the finite element
mesh can dramatically decrease calculation time with accurate results regarding the
safety of the vessel. Perhaps the greatest limitation in this study was the 3D product
model itself. Several men hours are necessary to obtain a reliable model to use in
finite element analysis, which was not the scope of this study.
79

In the future the whole ship strength assessment will be widely used due to the
Harmonized Common Structural Rules requiring all cargo tanks to be analyzed by
finite element method. Ultimately, the procedures described in this study can be
used to optimize the structure by using finite element method for a safer vessel.
80

9 References

ABS, A. B. o. S. (2006). ’SAFEHULL-Dynamic Loading Approach’ For Vessels.

ABS, A. B. o. S. (2010). ’Dynamic Loading Approach’ For Floating, Production,


Storage and Offloading (FPSO) Installations.

Barltrop, N. (1998). Floating Structures: a guide for design and analysis, vol. 1.
Oilfield Pubns Inc.

Battjes, J. (1978). Probabilistic aspects of ocean waves.

Beer, F., & Johnston, E. (1988). Vector mechanics for engineers, vol. 1. Tata
McGraw-Hill Education.

Bitner-Gregersen, E. M., Cramer, E. H., & Korbijn, F. (1995). Environmental


description for long-term load response of ship structures.

Borgerson, S. G. (2009). The National Interest and the Law of the Sea: Council
Special Report No. 46, May 2009. Tech. Rep. 46.

Cabos, C., Eisen, H., & Krömer, M. (2006). GL. ShipLoad: An Integrated Load
Generation Tool for FE-Analysis. Proceedings of the COMPIT 2006, Delft.

Chan, H. (1990). A three-dimensional technique for predicting first-and second-


order hydrodynamic forces on a marine vehicle advancing in waves. Ph.D. thesis,
University of Glasgow.

Clough, R. (1960). The finite element method in plane stress analysis.

Cook, R., Malkus, D., Plesha, M., & Witt, R. (2007). Concepts and Applications of
Finite Element Analysis. John Wiley & Sons, 4th ed.

Cook, R. D. (1995). Finite Element Modeling for Stress Analysis. Wiley, 1st ed.
81

Courant, R. (1943). Variational methods for the solution of problems of equilibrium


and vibrations. Bull. Amer. Math. Soc, 49 (1), 23.

Eisen, H., & Cabos, C. (2007). Efficient Generation of CFD-Based Loads for the
FEM-Analysis of Ship Structures. In Proc. Int. Conf. on Applications in Ship-
building (ICCAS), vol. 2, (pp. 91–98).

Faltinsen, O. (1993). Sea loads on ships and offshore structures, vol. 1. Cambridge
university press.

Felippa, C. (2004). Introduction to finite element methods. University of Colorado,


Boulder, http://www.colorado.edu/engineering/CAS/courses.d/IFEM.d .

Fourier, J. (1808). Mémoire sur la propagation de la chaleur dans les corps solides.
Nouveau Bulletin des sciences par la Société philomatique de Paris. I. Paris:
Bernard , (p. 112).

Hasselmann, K., Barnett, T., Bouws, E., Carlson, H., Cartwright, D., Enke, K., Ew-
ing, J., Gienapp, H., Hasselmann, D., Kruseman, P., et al. (1973). Measurements
of wind-wave growth and swell decay during the Joint North Sea Wave Project
(JONSWAP).

Helenius, L. (2011). Utilization of eright calculation data in finite element vibration


analysis of a passenger vessel . Master’s thesis, Aalto University.

Hogben, N., Dacunha, N., & Olliver, G. (1986). Global wave statistics. c1986.

Holthuijsen, L. (2007). Waves in oceanic and coastal waters. Cambridge University


Press.

Hopman, J. (2012). Naval Ship Design.


82

Hughes, O., Paik, J., Béghin, D., Caldwell, J. B., Payer, H. G., & Schellin, T. E.
(2010). Ship structural analysis and design. 601 Pavonia Avenue: The Society of
Naval Architects & Marine Engineers SNAME.

Islam, M., Islam, M., & Baree, M. (2004). Computation of ship responses in waves
using panel method. Journal of Naval Architecture and Marine Engineering, 1 (1),
35–46.

Kukkanen, T., et al. (2012). Numerical and experimental studies of nonlinear wave
loads of ships.

Lee, J. M. (1997). MSC-Nastran Linear Static Analysis User’s Guide. MacNeal-


Schwendler Corporation.

Liu, D., Chen, H., & Lee, F. (1981). Application of Loading Predictions to Ship
Structure Design: A Comparative Analysis of Methods. In Extreme Loads Re-
sponse Symposium, SNAME , (pp. 249–260).

Liu, D., & Spencer, J. (1992). Dynamic load approach in tanker design.

Lloyd, G. (2007). Rules for Classification and Construction, V- Analysis Techniques,


Part- 1 Strength and Stability, Chapter 1- Guidelines for Strength Analyses for
Ship Structures with the Finite Element Method, Section 2- Global Strength
Analysis for Containership Structures.

Logan, D., & Logan, M. (2011). A first course in the finite element method . Thomson
Engineering.

Ma, M., Hughes, O., & Zhao, C. (2012a). Applying Sectional Seakeeping Loads To
Full Ship Structural Models Using Quadratic Programming. ICMT .

Ma, M., Zhao, C., & Danese, N. (2012b). A Method Of Applying Linear Seakeeping
Panel Pressure To Full Ship Structural Models.
83

Maritime Research Institute, Hyundai Heavy Industries (2012). Development of a


Manager for NAPA/Walis Interfacing.

Matusiak, J. (2010). Ship Dynamics.

Mecitoğlu, Z. (2008). Finite Finite Element Analysis in Structures.

Mikkola, M. (2008). Transferring Wave Induced Loads on a Finite Element Model


of a Ship. Master’s thesis, Tampere University of Technology.

NAPA (2011). NAPA Online Manuals.

Newman, J. (1977). Marine hydrodynamics. MIT press.

Ochi, M. (1973). On prediction of extreme values. Journal of Ship Research, 17 (1).

Ochi, M. K. (2005). Ocean waves: the stochastic approach, vol. 6. Cambridge


University Press.

Pál, L., Oláh-Gál, R., & Makó, Z. (2009). Shepard interpolation with stationary
points. Acta Univ. Sapientiae, 1 (1), 5–13.

Ruth, B., & Boylan, D. (2004). Application of Bernoulli’s equation to buoyant


systems. AIChE Journal , 2 (2), 277–279.

Shepard, D. (1968). A two-dimensional interpolation function for irregularly-spaced


data. In Proceedings of the 1968 23rd ACM national conference, (pp. 517–524).
ACM.

Stewart, R. (1997). Introduction to physical oceanography. American Journal of


Physics, 65 (10), 1028.

Turner, M., Clough, R., Martin, H., & Topp, L. (1956). Stiffness and deflection
analysis of complex structures. J. Aero. Sci, 23 (9), 805–823.
84

A Appendix A - Pressure Distribution

In this Appendix Equations 27 and 26 in Section 4.4 are developed. Basic as-
sumptions are no relative motion between the liquid, and the free surface tilts with
respect to the horizontal axes.

Figure 46: Partially filled tank with negative plane slope

Considering a tank partially filled as in Figure 46. The tank moves with posi-
tive acceleration in both x, y and z-direction at a given instant. The gravitational
component at particular instant is not perpendicular to the earth-fixed coordinate
system, thus, has components in x, y and z-directions (gL , gT and g respectively).
The liquid surface position changes from the initial condition to an angle defined
by a given slope θ measured at the liquid surface mid-position. Considering an in-
finitesimal element of volume dxdydz. Figure 47 represents the free body diagram
of that element. The mass of the infinitesimal cube is ρdxdydz.

Applying Newton’s second law of motion for moving bodies in y-direction:


85

Figure 47: Pressure variation acting on a cube.

X
Fy = m (aT + gT ) (36)
   
∂P dy ∂P dy
P− dxdz − P + dxdz = m (aT + gT ) (37)
∂y 2 ∂y 2
   
∂P dy ∂P dy
P− dxdz − P + dxdz = ρdxdydz (aT + gT ) (38)
∂y 2 ∂y 2
∂P
= −ρ (aT + gT ) (39)
∂y

Similarly for both x and z direction yields:

∂P
= −ρ (aL + gL ) (40)
∂x
∂P
= −ρ (aV + g) (41)
∂z

Where:

gL , gT and g are the acceleration of gravity vector components in m/s2


86

aL , aT and aV are the longitudinal, transverse and vertical accelerations


components in m/s2

P is the pressure in N/m2

∂x, ∂y and ∂z are the derivatives of x, y and z directions

The pressure distribution is defined by contribution in x, y and z-direction and


in its infinitesimal form is generally represented by Equation 42.

∂P ∂P ∂P
dP = dx + dy + dz (42)
∂y ∂y ∂z

The free surface of the liquid defines a plane where the pressure distribution
is always constant, dP = 0 at any particular section of the tank (e.g., dx = 0).
Substituting Equations 39, 40 and 41 into Equation 42 and equating to zero:

dP = 0 (43)
∂P ∂P
dy + dz = 0 (44)
∂y ∂z
∂P ∂P
dy + dz = 0 (45)
∂y ∂z
(−ρ (aT + gT )) dy + (−ρ (aV + g)) dz = 0 (46)
dz (aT + gT )
=− (47)
dy (aV + g)

The tangent of slope angle is the quotient of changes in y and z-direction as:

dz
tan θ = (48)
dy

Therefor, substituting Equation 48 into Equation 47, the slope angle of the free
surface is:
87

 
(aT + gT )
∴ θ = arctan − (49)
(aV + g)

As Equation 27 in Section 4.4.

To obtain the pressure distribution for any given tank it is necessary to solve
the differential Equations 39, 40 and 41. The pressure is a function of y and z for a
given section. Solving Equations 39 for y:

∂P
= −ρ (aT + gT ) (50)
∂y
∂P = − (ρ (aT + gT )) ∂y (51)
Z Z
∂P = − (ρ (aT + gT )) ∂y (52)

P (x; y; z) = −ρ (aT + gT ) y − C1 (x; z) (53)

Deriving Equation 53 with respect to x and equaling to Equation 40:

∂P ∂C1 (x; z)
=− (54)
Z ∂x Z∂x
ρ (aL + gL ) = ∂C1 (x; z) (55)

C1 (x; z) = ρ (aL + gL ) x + C2 (z) (56)

∴ P (x; y; z) = −ρ (aL + gL ) x − ρ (aT + gT ) y + C2 (z) (57)

Deriving Equation 57 with respect to z and equaling to Equation 41:


88

∂P ∂C2 (z)
= (58)
∂z ∂z
∂C(z)
= −ρ (aV + g) (59)
Z ∂z Z
∂C2 (z) = − ρ (aV + g) ∂z (60)

∴ C2 (z) = −ρ (aV + g) z + K (61)

Substituting Equation 61 into Equation 57 yield:

∴ P (x; y; z) = −ρ [(aL + gL ) x + (aT + gT ) y + (aV + g) z + K] (62)

Equation 62 represents the pressure distribution equation for a given tank. In


the equation, K depends on the boundary condition of the problem.

Let us now consider a completely filled tank presented Figure 48, similar to
Figure 13(b) in Section 4.4. The dimensions of the tank are 10m × 10m× 10m and
point A is located at the upper-right corner (0; 10; 10). The plane slope for the
tank is negative and defined at point A and the boundary conditions of the problem
states the pressure at point A is zero. Assuming unit values for density, gravity and
acceleration components, the plane slope is:
89

Figure 48: Full tank with negative plane slope

aT + gT
θ = arctan − (63)
aV + g
1 sm2 + 1 sm2
θ = arctan − m (64)
1 s2 + 1 sm2

θ = arctan −1 (65)

∴ θ = 45◦ (66)

(67)

Evaluating the pressure at point (0; 10; 10) using the boundary conditions, the
value of K is obtained as:

P (0; 10; 10) = 0 (68)


kg h m m m m  m m i
P (0; 10; 10) = −1 3 1 2 + 1 2 0 + 1 2 + 1 2 10 + 1 2 + 1 2 10 + K (69)
m s s s s s s
kg h m m  m m i
−1 3 1 2 + 1 2 10 + 1 2 + 1 2 10 + K = 0 (70)
m s s s s
K = 40 (71)
90

The pressure distribution for this particular problem is then:

P (x; y; z) = − (2x + 2y + 2z + 40) (72)

Evaluating the pressure at the origin (0; 0; 0) yields:

P (0; 0; 0) = − (0 + 0 + 0 + 40) (73)

∴ P (0; 0; 0) = −40P a (74)

Another method to calculate the pressure is using the pressure head concept
depicted in Section 4.4. In this method the pressure is calculated using the mod-
ulus of the resultant acceleration vector containing both inertial and gravitational
components. The distance is calculated perpendicularly from the point to the plane
as:

(75)
p
h(x; y; z) = (x2 − x1 )2 + (y2 − y1 )2 + (z2 − z1 )2

(76)
p
h(0; 10; 10) = (0 − 0)2 + (10 − 0)2 + (10 − 0)2

∴ h(0; 10; 10) = 14.14m (77)

Utilizing the classic hydrostatic pressure from fluid statics and substituting all
values:
91

(78)
p
P (0; 0; 0) = ρh (aL + aL )2 + (aT + aT )2 + (aV + gV )2
r
kg m m 2  m m 2  m m 2
P (0; 0; 0) = 1 3 14.14m 1 2 +1 2 + 1 2 +1 2 + 1 2 +1 2 (79)
m s s s s s s
∴ P (0; 0; 0) = 40P a (80)

Both pressure distribution equation and pressure head method yields the same
result with opposite sign. The coordinate system gives no influence over the pressure
head as it uses modulus of both distance and resultant vector, hence, being always
positive.
92

B Appendix B - Design Wave

@@∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗
@@ Master ’ s T h e s i s − D e s i g n Wave Pa r a m e t e r s
@@ JMP / 1 2 . 4 . 2 0 1 3
@@
@@ This macro i s used t o o b t a i n t h e d e s i g n wave p a r a m e t e r s
@@
@@ PARAMETERS:
@@ l c a s e = Loading c o n d i t i o n name
@@ f a c e t = S e a k e e p i n g f a c e t s u r f a c e name
@@ i h e a d = Heading r a n g e
@@ i f r e q = Frequency r a n g e
@@ s c a t t = S c a t t e r t a b l e name
@@ t z = S c a t t e r t a b l e zero c r o s s i n g period range
@@ t f = Design l i f e t i m e
@@∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗

@parameters ( l c a s e=s , f a c e t=s , i h e a d=s , i f r e q=s , s c a t t=s , t z=s , t l=s )

@mn. c h g t a s k ( ’TAB ’ )

@tabn=o s . s t r ( ’TAB∗FEM.VBM_DESIGN_WAVE_’ , l c a s e )

@ i f db . e x i s t s ( tabn , ’ ’ , 1 , ’ ’ , ’ ! ’ )=1 then


@db . unsave ( tabn , ’ ’ , 1 , ’ ’ , ’ ! ’ )
@tp . remove ( tabn )
@endif

NEW, @tabn , NM
COL, OMEGA=R
COL, HEADING=AZI
COL, FVMOM=R
COL, PVMOM=ANG
COL, AW=WAMPL
COL, FPITCH=ANG
COL, FROLL=ANG
COL, WLEN=R
COL, WNUM=R
COL, AL1=R
COL, AT1=R
COL, AV1=R
COL, AL2=R
COL, AT2=R
COL, AV2=R
COL, AL3=R
COL, AT3=R
COL, AV3=R
FORM, OMEGA 7 . 3
FORM, FVMOM E−3
FORM, WLEN M
FORM, WNUM ’ 1/M’
FORM, AL1 HD= ’AL_ORIGIN ’
FORM, AT1 HD= ’AT_ORIGIN ’
FORM, AV1 HD= ’AV_ORIGIN ’
FORM, AL2 HD= ’AL_AMIDSHIPS ’
FORM, AT2 HD= ’AT_AMIDSHIPS ’
FORM, AV2 HD= ’AV_AMIDSHIPS ’
FORM, AL3 HD= ’AL_FP ’
FORM, AT3 HD= ’AT_FP ’
FORM, AV3 HD= ’AV_FP ’
HT, OMEGA ’Wave Freqnuency ’
HT, HEADING ’Wave Heading ’
HT, FVMOM ’ V e r t i c a l Bending Moment a t a m i d s h i p s ’
HT, PVMOM ’ V e r t i c a l Bending Moment phase a t a m i d s h i p s ’
HT, AW ’Wave Amplitude ’
93

HT, FPITCH ’ P i t c h Angle ’


HT, FROLL ’ R o l l Angle ’
HT, WLEN ’Wave Length ’
HT, WNUM ’Wave Number ’
HT, AL1 ’ L o n g i t u d i n a l wave i n d u c e d a c c e l e r a t i o n a t o r i g i n ’
HT, AT1 ’ T r a n s v e r s e wave i n d u c e d a c c e l e r a t i o n a t o r i g i n ’
HT, AV1 ’ V e r t i c a l wave i n d u c e d a c c e l e r a t i o n a t o r i g i n ’
HT, AL2 ’ L o n g i t u d i n a l wave i n d u c e d a c c e l e r a t i o n a t a m i d s h i p s ’
HT, AT2 ’ T r a n s v e r s e wave i n d u c e d a c c e l e r a t i o n a t a m i d s h i p s ’
HT, AV2 ’ V e r t i c a l wave i n d u c e d a c c e l e r a t i o n a t a m i d s h i p s ’
HT, AL3 ’ L o n g i t u d i n a l wave i n d u c e d a c c e l e r a t i o n a t f o r e p e r p e n d i c u l a r ’
HT, AT3 ’ T r a n s v e r s e wave i n d u c e d a c c e l e r a t i o n a t f o r e p e r p e n d i c u l a r ’
HT, AV3 ’ V e r t i c a l wave i n d u c e d a c c e l e r a t i o n a t f o r e p e r p e n d i c u l a r ’
SAV !

@mn. c h g t a s k ( ’SHS ’ )

DEL SHS∗FEM.VBM_DESIGN_WAVE~~~ N

NEW FEM.VBM_DESIGN_WAVE
SAV !

FLOAT
LDCASE @ l c a s e
REPL
CALC
REPL

GEOM
CALC
REPL

STRI
CALC
REPL

FREQ
ASG SQRLPLA DEEP CALC
ASG OMEGA @ i f r e q DEEP GIVEN
REPL
CALC
REPL

MOME
FRWEIGH CALC
HEADING @ihead
MSTAT 10
VS 0
REPL
CALC
REPL

IRRE
TZ @tz
SPREADING COSSQR
CALC
REP

MAXE
TLIFE @tl
TABNAM @ s c a t t
CALC
REP
@xvbm=a r r ( 2 )
@n=sha . d i s p ( ’XVMOM’ , 0 , xvbm )
@xvbmfor=fmt ( xvbm ( 1 ) , 4 )
94

! s e l e c t name>SHS∗FEM.VBM_DESIGN_WAVE_SP0_ −>s h s d i r
MOME

@fvbm=a r r ( 2 )
@xvbm=a r r ( 2 )
@pvbm=a r r ( 2 )
@hvbm=a r r ( 2 )
@wlenvbm=a r r ( 2 )
@wnumvbm=a r r ( 2 )
@headvbm=a r r ( 2 )

@for i h =1 , r s i z e ( s h s d i r )
GET @ s h s d i r ( i h )
LQ OMEGA, FVMOM, PVMOM, HEADING, WLEN, WNUM
TOO HD=N, TAB=FEM.DESIGN_WAVE_RESULTS−ONLY
LIS
@n=tp . r e a d ( ’TAB∗FEM.DESIGN_WAVE_RESULTS ’ )
@tp . t r e a t ( ’TAB∗FEM.DESIGN_WAVE_RESULTS ’ )
@headvbm ( i h )=tp . v a l u e ( ’TAB∗FEM.DESIGN_WAVE_RESULTS ’ , ’HEADING ’ , 1 ) / r o
@tp . command ( ’SORT FVMOM − ’ )
@fvbm ( i h )=tp . v a l u e ( ’TAB∗FEM.DESIGN_WAVE_RESULTS ’ , ’FVMOM’ , 1 ) ∗ exp ( 1 0 , 3 )
@pvbm( i h )=tp . v a l u e ( ’TAB∗FEM.DESIGN_WAVE_RESULTS ’ , ’PVMOM’ , 1 )
@hvbm( i h )=tp . v a l u e ( ’TAB∗FEM.DESIGN_WAVE_RESULTS ’ , ’OMEGA’ , 1 )
@wlenvbm ( i h )=tp . v a l u e ( ’TAB∗FEM.DESIGN_WAVE_RESULTS ’ , ’WLEN’ , 1 )
@wnumvbm( i h )=tp . v a l u e ( ’TAB∗FEM.DESIGN_WAVE_RESULTS ’ , ’WNUM’ , 1 )
REPL
@next i h

@n=max( fvbm )
@l=dm . l o c a t e ( fvbm n 0 0 )

@vbmfor=fmt ( fvbm ( l ) , 4 )
@phaang=pvbm( l )
@freq=fmt (hvbm( l ) , 4 )
@head=fmt ( headvbm ( l ) , 4 )
@wlen=wlenvbm ( l )
@wnum=wnumvbm( l )

@bw=a r r ( 2 )
@n=sha . d i s p ( ’BWL’ , 0 , bw , ’ ’ )
@ c o e f f=r e f ( ’RHO ’ ) ∗ 9 . 8 0 6 6 5 ∗bw ( 1 ) ∗ r e f ( ’LREF ’ ) ∗ r e f ( ’LREF ’ ) ∗ exp (10 , −6)
@aw=v a l u e ( xvbmfor ) / v a l u e ( vbmfor ) ∗ c o e f f

GET FEM.VBM_DESIGN_WAVE

FREQ
ASG SQRLPLA DEEP CALC
ASG OMEGA @freq DEEP GIVEN
REPL
CALC
REPL

FACET
FCSHULL @ f a c e t
REPL
CALC
REPL

SOUR
ASG HEADING DEGREE @head
SWSO AUTOMATIC
REPL
CALC
REPL

AMPL
RLD CALC
LCB CALC
95

CALC

@ s h s d i r=cnc ( ’SHS∗FEM.VBM_DESIGN_WAVE_HEAD’ , @head )


@amid=r e f ( ’LREF ’ ) /2
@fpp=r e f ( ’FP ’ )

RELM
SWWAVES UNDIST
ASG PNT1 M 0 0 0 SHIP
ASG PNT2 M @amid 0 0 SHIP
ASG PNT3 M @fpp 0 0 SHIP
ASG PNT4 M 0 0 0 GLOBAL
SWPA P1 P2 P3
SWPB P4 P4 P4
GCOMP NO
CALC
REPL
GET @ s h s d i r

LQ OMEGA, FPITCH, FROLL, F1AXREL, F1AYREL, F1AZREL, F2AXREL, F2AYREL, F2AZREL,


F3AXREL, F3AYREL, F3AZREL
TOO HD=N, TAB=FEM.DESIGN_WAVE_RESULTS−ONLY
LIS

@ f p i t c h=tp . v a l u e ( ’TAB∗FEM.DESIGN_WAVE_RESULTS ’ , ’FPITCH ’ , 1 ) ∗aw


@ f r o l l=tp . v a l u e ( ’TAB∗FEM.DESIGN_WAVE_RESULTS ’ , ’FROLL ’ , 1 ) ∗aw
@al1=tp . v a l u e ( ’TAB∗FEM.DESIGN_WAVE_RESULTS ’ , ’F1AXREL ’ , 1 ) ∗aw
@at1=tp . v a l u e ( ’TAB∗FEM.DESIGN_WAVE_RESULTS ’ , ’F1AYREL ’ , 1 ) ∗aw
@av1=tp . v a l u e ( ’TAB∗FEM.DESIGN_WAVE_RESULTS ’ , ’F1AZREL ’ , 1 ) ∗aw
@al2=tp . v a l u e ( ’TAB∗FEM.DESIGN_WAVE_RESULTS ’ , ’F2AXREL ’ , 1 ) ∗aw
@at2=tp . v a l u e ( ’TAB∗FEM.DESIGN_WAVE_RESULTS ’ , ’F2AYREL ’ , 1 ) ∗aw
@av2=tp . v a l u e ( ’TAB∗FEM.DESIGN_WAVE_RESULTS ’ , ’F2AZREL ’ , 1 ) ∗aw
@al3=tp . v a l u e ( ’TAB∗FEM.DESIGN_WAVE_RESULTS ’ , ’F3AXREL ’ , 1 ) ∗aw
@at3=tp . v a l u e ( ’TAB∗FEM.DESIGN_WAVE_RESULTS ’ , ’F3AYREL ’ , 1 ) ∗aw
@av3=tp . v a l u e ( ’TAB∗FEM.DESIGN_WAVE_RESULTS ’ , ’F3AZREL ’ , 1 ) ∗aw

@tp . t r e a t ( tabn )
@tp . a d d l i n e ( tabn ,0)
@tp . a s s i g n ( tabn , ’OMEGA’ , 1 , f r e q , ’G ’ )
@tp . a s s i g n ( tabn , ’HEADING ’ , 1 , head , ’G ’ )
@tp . a s s i g n ( tabn , ’AW’ , 1 , aw , ’G ’ )
@tp . a s s i g n ( tabn , ’PVMOM’ , 1 , phaang , ’G ’ )
@tp . a s s i g n ( tabn , ’FVMOM’ , 1 , vbmfor , ’G ’ )
@tp . a s s i g n ( tabn , ’WLEN’ , 1 , wlen , ’G ’ )
@tp . a s s i g n ( tabn , ’WNUM’ , 1 ,wnum, ’G ’ )
@tp . a s s i g n ( tabn , ’FPITCH ’ , 1 , f p i t c h , ’G ’ )
@tp . a s s i g n ( tabn , ’FROLL ’ , 1 , f r o l l , ’G ’ )
@tp . a s s i g n ( tabn , ’AL1 ’ , 1 , a l 1 , ’G ’ )
@tp . a s s i g n ( tabn , ’AT1 ’ , 1 , at1 , ’G ’ )
@tp . a s s i g n ( tabn , ’AV1 ’ , 1 , av1 , ’G ’ )
@tp . a s s i g n ( tabn , ’AL2 ’ , 1 , a l 2 , ’G ’ )
@tp . a s s i g n ( tabn , ’AT2 ’ , 1 , at2 , ’G ’ )
@tp . a s s i g n ( tabn , ’AV2 ’ , 1 , av2 , ’G ’ )
@tp . a s s i g n ( tabn , ’AL3 ’ , 1 , a l 3 , ’G ’ )
@tp . a s s i g n ( tabn , ’AT3 ’ , 1 , at3 , ’G ’ )
@tp . a s s i g n ( tabn , ’AV3 ’ , 1 , av3 , ’G ’ )

@tp . w r i t e ( tabn )
96

C Appendix C - Equipment Masses


C.1 Main Program

@@∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗
@@ Master ’ s T h e s i s − Main program
@@ LH / 1 3 . 5 . 2 0 1 1
@@ M o d i f i e d by JMP / 1 2 . 4 . 2 0 1 3
@@
@@ This i s a main program f o r t r a n s f e r r i n g w e i g h t data from w e i g h t
@@ c a l c u l a t i o n (WG) system i n t o f i n i t e e l e m e n t model .
@@ The program g e t s a w e i g h t t a b l e name and FE model name a s p a r a m e t e r s , then r u n s
@@ sub programs t o f i n d c o r r e c t e l e m e n t s and nodes f o r each w e i g h t components and
@@ t o d i s t r i b u t e t h e mass l o a d . A f t e r a l l o u t p u t s t h e r e s u l t s i n t o t e x t f i l e .
@@
@@ PARAMETERS:
@@ wtab = Name o f t h e w e i g h t t a b l e ( e . g . ’WG∗W0 ’ )
@@ f m o d e l = Name o f t h e FE model
@@ l c a s e = Loading c o n d i t i o n
@@ f a c e t = Hull f a c e t f o r seakeeping
@@∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗

@parameters ( f m o d e l=s , l c a s e=s , wtab=s , f a c e t=s )

@mn. c h g t a s k ( ’LD ’ )
@ld . g e t ( @ l c a s e )
@arrtab=l d . a r r ( )

@@ −−−−−−−−−−−−−−−−−−−−−−−−−−−−−
@@ INITIALIZATION
@@ −−−−−−−−−−−−−−−−−−−−−−−−−−−−−

@mn. c h g t a s k ( ’TAB ’ )

@ i f db . e x i s t s ( ’TAB∗WG_FEA.ELEMENTS ’ , ’ ’ , 1 , ’ ’ , ’ ! ’ )=1 then


@db . unsave ( ’TAB∗FEM.WAVE_PRESSURE_ELEMENTS ’ , ’ ’ , 1 , ’ ’ , ’ ! ’ )
@tp . remove ( ’TAB∗FEM.WAVE_PRESSURE_ELEMENTS ’ )
@ e l s e i f db . e x i s t s ( ’TAB∗WG_FEA.NODES ’ , ’ ’ , 1 , ’ ’ , ’ ! ’ )=1 then
@db . unsave ( ’TAB∗WG_FEA.NODES ’ , ’ ’ , 1 , ’ ’ , ’ ! ’ )
@tp . remove ( ’TAB∗WG_FEA.NODES ’ )
@endif

NEW TAB∗WG_FEA.ELEMENTS NM
COL, WEIGHT=C
COL, ELEMENT=NR
COL, MAIN=NAME
COL, ORNT
COL, SIDE=C
COL, FEMNS
COL, NODE1=FEMN
COL, NODE2=FEMN
COL, NODE3=FEMN
COL, NODE4=FEMN
SAV !

NEW TAB∗WG_FEA.NODES NM
COL, WEIGHT=C
COL, NODE=NR
COL, X
COL, Y
COL, Z
COL, SIDE=C
COL, SUPPORT=C
COL, MASS
COL, SFL=R
COL, SFT=R
97

COL, SFV=R
COL, DFL=R
COL, DFT=R
COL, DFV=R
FORM, MASS 6 . 3
FORM, DFL 6 . 3 KN HD= ’WI F_LONG ’
FORM, DFV 6 . 3 KN HD= ’WI F_VER ’
FORM, DFT 6 . 3 KN HD= ’WI F_TRANS ’
FORM, SFL 6 . 3 KN HD= ’STATIC F_LONG ’
FORM, SFV 6 . 3 KN HD= ’STATIC F_VER ’
FORM, SFT 6 . 3 KN HD= ’STATIC F_TRANS ’
HT DFL ’Wave Induced L o n g i t u d i n a l Nodal F o r c e ’
HT DFV ’Wave Induced V e r t i c a l Nodal F o r c e ’
HT DFT ’Wave Induced T r a n s v e r s e Nodal F o r c e ’
HT SFL ’ S t a t i c L o n g i t u d i n a l Nodal F o r c e ’
HT SFV ’ S t a t i c V e r t i c a l Nodal F o r c e ’
HT SFT ’ S t a t i c T r a n s v e r s e Nodal F o r c e ’
SAV !

@task=mn . t a s k ( )
@etab=o s . s t r ( ’TAB∗WG_FEA.ELEMENTS_ ’ , s b s ( wtab , 4 , − 1 ) )
@ntab=o s . s t r ( ’TAB∗WG_FEA.NODES_ ’ , s b s ( wtab , 4 , − 1 ) )
@ t a b l i s=a r r ( 3 )
@tp . t a b l e s ( ’TAB∗∗WG_FEA. ∗ ’ , t a b l i s )
@ i f l o c s ( t a b l i s , e t a b ) then
@tp . remove ( e t a b )
@endif
@ i f l o c s ( t a b l i s , ntab ) then
@tp . remove ( ntab )
@endif

@tp . w r i t e ( ’TAB∗WG_FEA.ELEMENTS ’ , e t a b )
@tp . w r i t e ( ’TAB∗WG_FEA.NODES ’ , ntab )

@@ −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
@@ LIST ALL FEM OBJECTS
@@ −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

@ e l e t a b= ’TAB∗WG_FEA.ALL_ELEMENTS ’
@beamtab= ’TAB∗WG_FEA.ALL_BEAMS ’
@nodetab= ’TAB∗WG_FEA.ALL_NODES ’
@mn. c h g t a s k ( ’FEM ’ )
@fem . command ( o s . s t r ( ’GET ’ , f m o d e l ) )
@fem . command ( ’LIM OFF ’ )
@fem . command ( ’SEL MODEL’ )
@ t a b l i s=a r r ( 3 )
@tp . t a b l e s ( ’TAB∗∗WG_FEA. ∗ ’ , t a b l i s )
@ i f l o c s ( t a b l i s , e l e t a b ) then
@tp . remove ( e l e t a b )
@endif
@ i f l o c s ( t a b l i s , beamtab ) then
@tp . remove ( beamtab )
@endif
@ i f l o c s ( t a b l i s , nodetab ) then
@tp . remove ( nodetab )
@endif

@@ L i s t s h e l l e l e m e n t s
@@ −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
LQ FEME,NR,FEMNS,FEMN(NODE1) / 1 ,FEMN(NODE2) / 2 ,FEMN(NODE3) / 3 ,FEMN(NODE4) / 4 ,
COMP(COMP1) / 1 ,COMP(COMP2) / 2 ,NAME,ORNT,CGXA,CGYA,CGZA,
X(XMIN) / ’ r e s u l t o f ( " wg_fea . e l e m e n t _ l i m i t s " ,NR, "XMIN" ) ’ ,
X(XMAX) / ’ r e s u l t o f ( " wg_fea . e l e m e n t _ l i m i t s " ,NR, "XMAX" ) ’ ,
Y(YMIN) / ’ r e s u l t o f ( " wg_fea . e l e m e n t _ l i m i t s " ,NR, "YMIN" ) ’ ,
Y(YMAX) / ’ r e s u l t o f ( " wg_fea . e l e m e n t _ l i m i t s " ,NR, "YMAX" ) ’ ,
Z (ZMIN) / ’ r e s u l t o f ( " wg_fea . e l e m e n t _ l i m i t s " ,NR, " ZMIN" ) ’ ,
Z (ZMAX) / ’ r e s u l t o f ( " wg_fea . e l e m e n t _ l i m i t s " ,NR, "ZMAX" ) ’
@fem . command ( o s . s t r ( ’TOO FEME,HD=N,TAB= ’ , e l e t a b , ’−ONLY ’ ) )
98

@fem . command ( ’ LIS GE ’ )


@tp . w r i t e ( e l e t a b )

@@ L i s t beams
@@ −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
@fem . command ( ’LQ FEML,NR,FEMN(NODE1) / 1 ,FEMN(NODE2) / 2 , STID , PROFILE, PROFID,MAT,COMP’ )
@fem . command ( o s . s t r ( ’TOO FEML, HD=N, TAB= ’ , beamtab , ’−ONLY ’ ) )
@fem . command ( ’ LIS B ’ )
@tp . w r i t e ( beamtab )

@@ L i s t nodes
@@ −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
@fem . command ( ’LQ FEMN,NR, X, Y, Z ’ )
@fem . command ( o s . s t r ( ’TOO FEMN TAB= ’ , nodetab , ’−ONLY ’ ) )
@fem . command ( ’ LIS N ’ )
@tp . w r i t e ( nodetab )

@@ −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
@@ GO THROUGH ALL THE ELEMENTARY WEIGHT COMPONENTS
@@ −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

@nrec=a r r ( 3 )
@trec=a r r ( 3 )
@ l r e c=a r r ( 1 )
@tyrec=a r r ( 1 )
@marec=a r r ( 1 )
@tp . refmap ( wtab , ’TO ’ , n r e c , t r e c , l r e c , t y r e c , marec )
@ p r o g r e s s =100/ r s i z e ( n r e c )
@for i =1 r s i z e ( n r e c )
@ i n f o=i ∗ p r o g r e s s
@wtable=n r e c ( i )
@ i n r e c=a r r ( 3 )
@ i t r e c=a r r ( 3 )
@ i l r e c=a r r ( 1 )
@ i t y r e c=a r r ( 1 )
@imarec=a r r ( 1 )
@tp . refmap ( wtable , ’TO ’ , i n r e c , i t r e c , i l r e c , i t y r e c , i m a r e c )
@ i f r s i z e ( i n r e c )=1 then
@key=tp . key ( w t a b l e )
@ i f and ( key<> ’ ’ , l o c s ( tp . columns ( w t a b l e ) , ’W’ ) >0, l o c s ( tp . columns ( w t a b l e ) , ’XCG ’ ) >0)
then
@wnames=tp . column ( wtable , key )
@for j =1 r s i z e ( wnames )
@ai . run ( ’WG_FEA.FIND_ELEMENTS_AND_NODES ’ , wtab , wtable , wnames ( j ) , a r r t a b )
@ai . run ( ’WG_FEA.DISTRIBUTE_MASS_LOAD ’ , wtab , wtable , wnames ( j ) )
@next
@endif
@endif
@mn. g e n e v e n t ( ’MN∗PROGRESS ’ , i n f o )
@next

@@ −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
@@ GO THROUGH SEAKEEPING COMPONENTS
@@ −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

@nrec=a r r ( 3 )
@trec=a r r ( 3 )
@ l r e c=a r r ( 1 )
@tyrec=a r r ( 1 )
@marec=a r r ( 1 )
@tp . refmap ( wtab , ’TO ’ , n r e c , t r e c , l r e c , t y r e c , marec )
@for i =1 r s i z e ( n r e c )
@wtable=n r e c ( i )
@ i n r e c=a r r ( 3 )
@ i t r e c=a r r ( 3 )
@ i l r e c=a r r ( 1 )
@ i t y r e c=a r r ( 1 )
@imarec=a r r ( 1 )
99

@tp . refmap ( wtable , ’TO ’ , i n r e c , i t r e c , i l r e c , i t y r e c , i m a r e c )


@ i f r s i z e ( i n r e c )=1 then
@key=tp . key ( w t a b l e )
@ i f and ( key<> ’ ’ , l o c s ( tp . columns ( w t a b l e ) , ’W’ ) >0, l o c s ( tp . columns ( w t a b l e ) , ’XCG ’ ) >0)
then
@wnames=tp . column ( wtable , key )
@for j =1 r s i z e ( wnames )
@ai . add ( ’WG_FEA.DISTRIBUTE_MASS_LOAD_SHS ’ , l c a s e , f a c e t , wtab , wtable , wnames ( j ) )
@next
@endif
@endif
@next

C.2 Seakeeping Calculation

@@∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗
@@ Master ’ s T h e s i s − D i s t r i b u t e mass l o a d
@@ JMP / 1 2 . 4 . 2 0 1 3
@@
@@ This macro i s used t o o b t a i n t h e mass d i s t r i b u t e d e a r l i e r and c a l c u l a t e
@@ t h e a c c e l e r a t i o n s and c o n s e q u e n t l y t h e f o r c e a c t i n g on t h e node . The macro
@@ o b t a i n from t h e node t a b l e t h e e l e m e n t name , c e n t e r o f g r a v i t y and
@@ d i s t r i b u t e d mass and c a l c u l a t e t h e a c c e l e r a t i o n and f o r c e f o r t h e g i v e n mass .
@@
@@ PARAMETERS:
@@ wtab = Name o f t h e o r i g i n a l w e i g h t t a b l e ( e . g . ’WG∗W32 ’ )
@@ w t a b l e = Name o f t h e e l e m e n t a r y w e i g h t t a b l e ( e . g . ’WG∗W321 ’ )
@@ wcomp = I d o f t h e w e i g h t component ( e . g . ’W321A ’ )
@@ l c a s e = Loading c o n d i t i o n
@@ f a c e t = Hull f a c e t f o r seakeeping
@@∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗

@parameters ( l c a s e=s , f a c e t=s , wtab=s , w t a b l e=s , wcomp=s )

@tabw=o s . s t r ( ’TAB∗FEM.VBM_DESIGN_WAVE_’ , l c a s e )

@aw=tp . v a l u e ( tabw , ’AW’ , 1 )


@head=fmt ( tp . v a l u e ( tabw , ’HEADING ’ , 1 ) / ro , ’− ’ , ’DEGREE ’ )
@freq=fmt ( tp . v a l u e ( tabw , ’OMEGA’ , 1 ) , 4 )
@phaang=tp . v a l u e ( tabw , ’PVMOM’ , 1 )

@gl =−9.81∗ s i n ( aw∗ tp . v a l u e ( tabw , ’FPITCH ’ , 1 ) )


@gt =9.81∗ s i n ( aw∗ tp . v a l u e ( tabw , ’FROLL ’ , 1 ) )
@gv=−9.81

@@ −−−−−−−−−−−−−−−−−−−−−−−−−−−−−
@@ WEIGHT COMPONENT INFO
@@ −−−−−−−−−−−−−−−−−−−−−−−−−−−−−

@mn. c h g t a s k ( ’TAB ’ )

@ntab=o s . s t r ( ’TAB∗WG_FEA.NODES_ ’ , s b s ( wtab , 4 , − 1 ) )


@ a l l s e l=a r r ( 1 )
@ a l l n o d e s=a r r ( 1 )
@n=tp . s u b s e l ( ntab , o s . s t r ( ’WEIGHT= ’ , wcomp ) , a l l s e l )
@n=tp . column ( ntab , ’NODE ’ , a l l n o d e s , a l l s e l )
@ al l ma s s=a r r ( 2 )
@n=tp . column ( ntab , ’MASS ’ , a l l m a s s , a l l s e l )
@n=r s i z e ( a l l m a s s , r s i z e ( a l l n o d e s ) )

@cogarr=a r r ( 2 )
100

@cogarr ( 1 )=tp . v a l u e ( wtable , ’XCG ’ , wcomp )


@cogarr ( 2 )=tp . v a l u e ( wtable , ’YCG ’ , wcomp )
@cogarr ( 3 )=tp . v a l u e ( wtable , ’ZCG ’ , wcomp )

@@ −−−−−−−−−−−−−−−−−−−−−−−−−−−−−
@@ SEAKEEPING
@@ −−−−−−−−−−−−−−−−−−−−−−−−−−−−−

@mn. c h g t a s k ( ’SHS ’ )

DEL SHS∗FEM.MASS_FORCE~~~ N

NEW FEM.MASS_FORCE
SAV !

FLOAT
LDCASE @ l c a s e
CALC
REPL

GEOM
CALC
REPL

FREQ
ASG SQRLPLA DEEP CALC
ASG OMEGA @freq DEEP GIVEN
CALC
REPL

FACET
FCSHULL @ f a c e t
CALC
REPL

SOUR
ASG HEADING DEGREE @head
SWSO AUTOMATIC
CALC
REPL

AMPL
RLD CALC
LCB CALC
CALC
LQ LPP LCB TA TF
TOO HD=N, TAB=FEM.WG_SHS_RESULTS−ONLY
LIS
@rtab= ’TAB∗FEM.WG_SHS_RESULTS ’
@ g e o m r e s u l t s=a r r ( 2 )
@n=tp . r e a d ( r t a b )
@n=tp . t r e a t ( r t a b )
@cgxship=tp . v a l u e ( r t a b , ’LPP ’ , 1 ) /2+tp . v a l u e ( r t a b , ’LCB ’ , 1 )+r e f ( ’AP ’ )
@ c g z s h i p=tp . v a l u e ( r t a b , ’TA ’ , 1 ) +( x r e f −r e f ( ’AP ’ ) ) ∗ ( tp . v a l u e ( r t a b , ’TF ’ , 1 )−tp . v a l u e (
r t a b , ’TA ’ , 1 ) ) / l r e f
REPL

@ s h s d i r=cnc ( ’FEM.MASS_FORCE_HEAD ’ , @head )

RELM
IDREL ’ SHIP TO @wcomp ’
SWWAVES UNDIST
ASG PNT1 M @cgxship 0 @ c g z s h i p SHIP
ASG PNT2 M @cogarr ( 1 ) @cogarr ( 2 ) @cogarr ( 3 ) SHIP
SWPA P1
SWPB P2
GCOMP NO
CALC
101

REPL
GET @ s h s d i r

LQ OMEGA, F1AXREL, F1AYREL, F1AZREL, P1AXREL, P1AYREL, P1AZREL, FROLL, FPITCH


TOO HD=N, TAB=FEM.MASS_RESULTS−ONLY
LIS

@mn. c h g t a s k ( ’TAB ’ )

@ f e m m a s s r e s u l t s=a r r ( 2 )
@tp . t r e a t ( ’TAB∗FEM.MASS_RESULTS ’ )
@n=tp . l i n e ( ’TAB∗FEM.MASS_RESULTS ’ , 1 , f e m m a s s r e s u l t s )

@al =(( f e m m a s s r e s u l t s ( 3 ) ∗aw ) ∗ c o s ( phaang−f e m m a s s r e s u l t s ( 6 ) ) )


@at =(( f e m m a s s r e s u l t s ( 2 ) ∗aw ) ∗ c o s ( phaang−f e m m a s s r e s u l t s ( 5 ) ) )
@av=(( f e m m a s s r e s u l t s ( 4 ) ∗aw ) ∗ c o s ( phaang−f e m m a s s r e s u l t s ( 7 ) ) )

@dforv=a r r ( 2 )
@ d f o r t=a r r ( 2 )
@ d f o r l=a r r ( 2 )
@ s f o r v=a r r ( 2 )
@ s f o r t=a r r ( 2 )
@ s f o r l=a r r ( 2 )

@dm=dm . operate ( al , ’ ∗ ’ , allmass , d f o r l )


@dm=dm . o p e r a t e ( at , ’ ∗ ’ , a l l m a s s , d f o r t )
@dm=dm . o p e r a t e ( av , ’ ∗ ’ , a l l m a s s , d f o r v )
@dm=dm . operate (0.101972 , ’∗ ’ , d f o r l )
@dm=dm . operate (0.101972 , ’∗ ’ , dfort )
@dm=dm . operate (0.101972 , ’ ∗ ’ , dforv )
@dm=dm . operate ( gl , ’ ∗ ’ , allmass , s f o r l )
@dm=dm . o p e r a t e ( gt , ’ ∗ ’ , a l l m a s s , s f o r t )
@dm=dm . o p e r a t e ( gv , ’ ∗ ’ , a l l m a s s , s f o r v )
@dm=dm . operate (0.101972 , ’∗ ’ , s f o r l )
@dm=dm . operate (0.101972 , ’∗ ’ , s f o r t )
@dm=dm . operate (0.101972 , ’∗ ’ , sforv )

@tp . t r e a t ( ntab )
@lnr= a l l s e l ( 1 )
@tp . command ( o s . s t r ( ’ASG DFL/ ’ , lnr , ’ dforl () ’))
@tp . command ( o s . s t r ( ’ASG DFT/ ’ , lnr , ’ dfort () ’))
@tp . command ( o s . s t r ( ’ASG DFV/ ’ , lnr , ’ dforv () ’))
@tp . command ( o s . s t r ( ’ASG SFL/ ’ , lnr , ’ s f o r l () ’))
@tp . command ( o s . s t r ( ’ASG SFT/ ’ , lnr , ’ sfort () ’))
@tp . command ( o s . s t r ( ’ASG SFV/ ’ , lnr , ’ sforv () ’))
@tp . w r i t e ( ntab )
102

D Appendix D - Tank Pressure


D.1 Main Program

@@∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗
@@ Master ’ s T h e s i s − Tank P r e s s u r e
@@ JMP / 1 2 . 4 . 2 0 1 3
@@
@@ This macro i s used t o c a l c u l a t e t h e i n t e r n a l tank p r e s s u r e
@@ i n t h e f i n i t e e l e m e n t s f o r t h e e q u i v a l e n t d e s i g n wave
@@
@@ PARAMETERS:
@@ f m o d e l = F i n i t e e l e m e n t model name
@@ l c a s e = Loading c o n d i t i o n name
@@ f a c e t = S e a k e e p i n g f a c e t s u r f a c e name
@@∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗

@parameters ( f m o d e l=s l c a s e=s f a c e t=s )

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@ I n i t i a l i z a t i o n
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@mn. c h g t a s k ( ’LD ’ )
@ld . g e t ( @ l c a s e )
@arr=l d . a r r ( )

@tabp=o s . s t r ( ’TAB∗FEM.TANK_PRESSURE_ ’ , l c a s e )

@ i f db . e x i s t s ( ’TAB∗TEMP_ELEMENTS ’ , ’ ’ , 1 , ’ ’ , ’ ! ’ )=1 then


@db . unsave ( ’TAB∗TEMP_ELEMENTS ’ , ’ ’ , 1 , ’ ’ , ’ ! ’ )
@tp . remove ( ’TAB∗FEM.ELEMENTS_TEMP ’ )
@ e l s e i f db . e x i s t s ( ’TAB∗FEM.TANK_PRESSURE_ELEMENTS ’ , ’ ’ , 1 , ’ ’ , ’ ! ’ )=1 then
@db . unsave ( ’TAB∗FEM.TANK_PRESSURE_ELEMENTS ’ , ’ ’ , 1 , ’ ’ , ’ ! ’ )
@tp . remove ( ’TAB∗FEM.TANK_PRESSURE_ELEMENTS ’ )
@ e l s e i f db . e x i s t s ( tabp , ’ ’ , 1 , ’ ’ , ’ ! ’ )=1 then
@db . unsave ( tabp , ’ ’ , 1 , ’ ’ , ’ ! ’ )
@tp . remove ( tabp )
@endif

@mn. c h g t a s k ( ’TAB ’ )

NEW, TAB∗FEM.TANK_PRESSURE_ELEMENTS, NM
COL, NAME
COL, NR
COL, CGXA
COL, CGYA
COL, CGZA
COL, FILL
COL, CGX, <ARR∗ @arr
COL, CGY, <ARR∗ @arr
COL, CGZ, <ARR∗ @arr
COL, VNX
COL, VNY
COL, VNZ
FORM, NR HD= ’ELEMENT ’
FORM, NAME HD= ’COMPARTMENT’
HT, NR ’ F i n i t e Element Number ’
HT, NAME ’ Tank Name ’
HT, FILL ’ Tank F i l l i n g ’
HT, CGXA ’ F i n i t e Element X−C o o r d i n a t e C e n t r o i d ’
HT, CGYA ’ F i n i t e Element Y−C o o r d i n a t e C e n t r o i d ’
HT, CGZA ’ F i n i t e Element Z−C o o r d i n a t e C e n t r o i d ’
HT, CGX ’ Tank X−C o o r d i n a t e Cen ter o f G r a v i t y ’
HT, CGY ’ Tank Y−C o o r d i n a t e Cen ter o f G r a v i t y ’
HT, CGZ ’ Tank Z−C o o r d i n a t e Cen ter o f G r a v i t y ’
103

HT, VNX ’ Normal X−C o o r d i n a t e V e c t o r ’


HT, VNY ’ Normal Y−C o o r d i n a t e V e c t o r ’
HT, VNZ ’ Normal Z−C o o r d i n a t e V e c t o r ’
SAV !

NEW, @tabp NM
COL, NAME
COL, NR
COL, SAL=R
COL, SAT=R
COL, SAV=R
COL, RHO=DENS <ARR∗ @arr
COL, H=DIST
COL, PS=PRESSURE
COL, PD=PRESSURE
FORM, NAME HD= ’COMPARTMENT’
FORM, NR HD= ’ELEMENT ’
FORM, PS HD= ’STATIC PRESSURE ’
FORM, PD HD= ’WAVE INDUCED PRESSURE ’
FORM, SAL HD= ’A_LONG’
FORM, SAT HD= ’A_TRANS ’
FORM, SAV HD= ’A_VER ’
HT, NAME ’ Tank Name ’
HT, NR ’ F i n i t e Element Number ’
HT, PS ’ S t a t i c F i n i t e Element P r e s s u r e ’
HT, PD ’Wave Induced F i n i t e Element P r e s s u r e ’
HT, SAT ’Wave Induced T r a n s v e r s e A c c e l e r a t i o n ’
HT, SAL ’Wave Induced L o n g i t u d i n a l A c c e l e r a t i o n ’
HT, SAV ’Wave Induced V e r t i c a l A c c e l e r a t i o n ’
HT, H ’ P r e s s u r e Head ’
HT, RHO ’ L i q u i d D e n s i t y ’
SAV !

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@ Find e l e m e n t s from FEM mesh
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@ai . add ( ’ fem . t a n k _ p r e s s u r e _ e l e m e n t s ’ , fmodel , l c a s e )

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@ C a l c u l a t e a c c e l e r a t i o n s , d i s t a n c e and p r e s s u r e
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@ai . add ( ’ fem . t a n k _ p r e s s u r e _ s h s ’ , l c a s e , f a c e t )

D.2 Finite Elements Listing

@@∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗
@@ Master ’ s T h e s i s − Tank P r e s s u r e
@@ JMP / 1 2 . 4 . 2 0 1 3
@@
@@ This macro i s used t o o b t a i n t h e f i n i t e e l e m e n t s o f t h e t a n k s
@@
@@ PARAMETERS:
@@ f m o d e l = F i n i t e e l e m e n t model name
@@ l c a s e = Loading c o n d i t i o n name
@@∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗

@parameters ( f m o d e l=s l c a s e=s )

@mn. c h g t a s k ( ’FEM ’ )
104

@fem . command ( o s . s t r ( ’GET ’ , f m o d e l ) )


@fem . command ( ’LIM OFF ’ )
@fem . command ( ’SEL MODEL’ )
@fem . command ( ’LQ FEME NR comp ( "COMP1" ) /1 comp ( "COMP2" ) /2 CGXA CGYA CGZA VNX VNY VNZ
’)
@fem . command ( ’TOO FEME, HD=N, TAB=FEM.ELEMENTS_TEMP−ONLY ’ )
@fem . command ( ’ LIS E ’ )

@mn. c h g t a s k ( ’TAB ’ )

@compartments1=tp . column ( ’TAB∗FEM.ELEMENTS_TEMP ’ , ’ comp1 ’ )


@compartments2=tp . column ( ’TAB∗FEM.ELEMENTS_TEMP ’ , ’ comp2 ’ )
@elements=tp . column ( ’TAB∗FEM.ELEMENTS_TEMP ’ , ’NR ’ )
@ecgx=tp . column ( ’TAB∗FEM.ELEMENTS_TEMP ’ , ’CGXA’ )
@ecgy=tp . column ( ’TAB∗FEM.ELEMENTS_TEMP ’ , ’CGYA’ )
@ecgz=tp . column ( ’TAB∗FEM.ELEMENTS_TEMP ’ , ’CGZA ’ )
@vnx=tp . column ( ’TAB∗FEM.ELEMENTS_TEMP ’ , ’VNX ’ )
@vny=tp . column ( ’TAB∗FEM.ELEMENTS_TEMP ’ , ’VNY ’ )
@vnz=tp . column ( ’TAB∗FEM.ELEMENTS_TEMP ’ , ’VNZ ’ )

@nl=r s i z e ( compartments1 )
@for i=n l 1 −1
@ i f compartments1 ( i )=compartments2 ( i ) then
@n=dm . remove ( e l e m e n t s , i )
@n=dm . remove ( compartments1 , i )
@n=dm . remove ( compartments2 , i )
@n=dm . remove ( ecgx , i )
@n=dm . remove ( ecgy , i )
@n=dm . remove ( e c g z , i )
@n=dm . remove ( vnx , i )
@n=dm . remove ( vny , i )
@n=dm . remove ( vnz , i )
@endif
@next

@nl=r s i z e ( compartments1 )
@for i=n l 1 −1
@ i f and ( compartments1 ( i )= ’OUTSIDE ’ , compartments2 ( i )= ’OUTSIDE ’ ) then
@n=dm . remove ( e l e m e n t s , i )
@n=dm . remove ( compartments1 , i )
@n=dm . remove ( ecgx , i )
@n=dm . remove ( ecgy , i )
@n=dm . remove ( e c g z , i )
@n=dm . remove ( vnx , i )
@n=dm . remove ( vny , i )
@n=dm . remove ( vnz , i )
@endif
@next

@n=dm . append ( compartments2 , compartments1 )


@n=dm . append ( e l e m e n t s , e l e m e n t s )
@n=dm . append ( ecgx , e c g x )
@n=dm . append ( ecgy , e c g y )
@n=dm . append ( e c g z , e c g z )
@n=dm . append ( vnx , vnx )
@n=dm . append ( vny , vny )
@n=dm . append ( vnz , vnz )

@mn. c h g t a s k ( ’LD ’ )
@ld . g e t ( @ l c a s e )
@arr=l d . a r r ( )

@subset=a r r ( 1 )
@n=tp . s u b s e l ( cnc ( ’ARR∗ ’ , @arr ) , ’TYPE=L ’ , s u b s e t )
@s=a r r ( 3 )
@prec=tp . column ( cnc ( ’ARR∗ ’ , @arr ) , ’NAME’ )
@dm. s u b s e t ( p r e c , s u b s e t , s )
105

@nl=r s i z e ( compartments1 )
@for i=n l 1 −1
@ i f dm . l o c a t e ( s , compartments1 ( i ) )=0 then
@n=dm . remove ( e l e m e n t s , i )
@n=dm . remove ( compartments1 , i )
@n=dm . remove ( ecgx , i )
@n=dm . remove ( ecgy , i )
@n=dm . remove ( e c g z , i )
@n=dm . remove ( vnx , i )
@n=dm . remove ( vny , i )
@n=dm . remove ( vnz , i )
@endif
@next

@nl=r s i z e ( compartments1 )
@for i=n l 1 −1
@ v r e l=round ( l d . l q n t ( ’VREL ’ , compartments1 ( i ) ) , 0 . 0 1 )
@ i f v r e l =0 then
@n=dm . remove ( e l e m e n t s , i )
@n=dm . remove ( compartments1 , i )
@n=dm . remove ( ecgx , i )
@n=dm . remove ( ecgy , i )
@n=dm . remove ( e c g z , i )
@n=dm . remove ( vnx , i )
@n=dm . remove ( vny , i )
@n=dm . remove ( vnz , i )
@endif
@next

@tp . chgwa ( ’TAB ’ )


@tp . t r e a t ( ’TAB∗FEM.TANK_PRESSURE_ELEMENTS ’ )
@lnr=tp . n l n ( ’TAB∗FEM.TANK_PRESSURE_ELEMENTS ’ )+1
@tp . command ( o s . s t r ( ’ASG NAME/ ’ , l n r , ’ compartments1 ( ) ’ ) )
@tp . command ( o s . s t r ( ’ASG NR/ ’ , l n r , ’ e l e m e n t s ( ) ’ ) )
@tp . command ( o s . s t r ( ’ASG CGXA/ ’ , l n r , ’ e c g x ( ) ’ ) )
@tp . command ( o s . s t r ( ’ASG CGYA/ ’ , l n r , ’ e c g y ( ) ’ ) )
@tp . command ( o s . s t r ( ’ASG CGZA/ ’ , l n r , ’ e c g z ( ) ’ ) )
@tp . command ( o s . s t r ( ’ASG VNX/ ’ , l n r , ’ vnx ( ) ’ ) )
@tp . command ( o s . s t r ( ’ASG VNY/ ’ , l n r , ’ vny ( ) ’ ) )
@tp . command ( o s . s t r ( ’ASG VNZ/ ’ , l n r , ’ vnz ( ) ’ ) )
@tp . command ( ’SORT NR ’ )
@tp . w r i t e ( ’TAB∗FEM.TANK_PRESSURE_ELEMENTS ’ )

D.3 Finite Element Pressure

@@∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗
@@ Master ’ s T h e s i s − Tank P r e s s u r e
@@ JMP / 1 2 . 4 . 2 0 1 3
@@
@@ This macro i s used t o o b t a i n t h e r e l a t i v e a c c e l e r a t i o n s
@@ and c a l c u l a t e t h e f i n i t e e l e m e n t tank p r e s s u r e
@@
@@ PARAMETERS:
@@ f m o d e l = F i n t i e e l e m e n t model name
@@ l c a s e = Loading c o n d i t i o n name
@@∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗

@parameters ( l c a s e=s f a c e t=s )


@global

@mn. c h g t a s k ( ’TAB ’ )
106

@tabp=o s . s t r ( ’TAB∗FEM.TANK_PRESSURE_ ’ , l c a s e )
@tabw=o s . s t r ( ’TAB∗FEM.VBM_DESIGN_WAVE_’ , l c a s e )

@aw=tp . v a l u e ( tabw , ’AW’ , 1 )


@head=fmt ( tp . v a l u e ( tabw , ’HEADING ’ , 1 ) / ro , ’− ’ , ’DEGREE ’ )
@freq=fmt ( tp . v a l u e ( tabw , ’OMEGA’ , 1 ) , 4 )
@phaang=tp . v a l u e ( tabw , ’PVMOM’ , 1 )
@ r o l l=aw∗ tp . v a l u e ( tabw , ’FROLL ’ , 1 )

@gl =−9.81∗ s i n ( aw∗ tp . v a l u e ( tabw , ’FPITCH ’ , 1 ) )


@gt =9.81∗ s i n ( aw∗ tp . v a l u e ( tabw , ’FROLL ’ , 1 ) )
@gv=−9.81

@compartments=tp . column ( ’TAB∗FEM.TANK_PRESSURE_ELEMENTS ’ , ’NAME’ )


@elements=tp . column ( ’TAB∗FEM.TANK_PRESSURE_ELEMENTS ’ , ’NR ’ )
@ t f i l l =tp . column ( ’TAB∗FEM.TANK_PRESSURE_ELEMENTS ’ , ’ FILL ’ ) @@ tank f i l l
@cgxa=tp . column ( ’TAB∗FEM.TANK_PRESSURE_ELEMENTS ’ , ’CGXA ’ )
@cgya=tp . column ( ’TAB∗FEM.TANK_PRESSURE_ELEMENTS ’ , ’CGYA ’ )
@cgza=tp . column ( ’TAB∗FEM.TANK_PRESSURE_ELEMENTS ’ , ’CGZA ’ )
@vx=tp . column ( ’TAB∗FEM.TANK_PRESSURE_ELEMENTS ’ , ’VNX ’ )
@vy=tp . column ( ’TAB∗FEM.TANK_PRESSURE_ELEMENTS ’ , ’VNY ’ )
@vz=tp . column ( ’TAB∗FEM.TANK_PRESSURE_ELEMENTS ’ , ’VNZ ’ )

@for i =1 r s i z e ( compartments )
@ul=gm . qnt ( compartments ( i ) ’ xmax ’ )
@ l l=gm . qnt ( compartments ( i ) ’ xmin ’ )
@ i f cgxa ( i )>u l then
@cgxa ( i )=u l
@ e l s e i f cgxa ( i )< l l then
@cgxa ( i )= l l
@endif
@next

@mn. c h g t a s k ( ’LD ’ )
@ld . g e t ( @ l c a s e )
@arr=l d . a r r ( )

@holdin=a r r ( 1 )
@n=tp . s u b s e l ( cnc ( ’ARR∗ ’ , @arr ) , ’TYPE=L ’ , h o l d i n )
@hold=a r r ( 3 )
@m=tp . column ( cnc ( ’ARR∗ ’ , @arr ) , ’NAME’ )
@dm. s u b s e t (m, h o l d i n , h o l d )

@lnr=a r r ( 1 )
@cgxh=a r r ( 2 ) @@ hold c e n t e r of g r a v i t y
@cgyh=a r r ( 2 ) @@ hold c e n t e r of g r a v i t y
@cgzh=a r r ( 2 ) @@ hold c e n t e r of g r a v i t y
@volh=a r r ( 2 ) @@ h o l d volume
@dens=a r r ( 2 ) @@ liquid density

@for i =1 r s i z e ( h o l d )
@n=tp . l o c a t e ( cnc ( ’ARR∗ ’ , @arr ) , ’NAME’ , h o l d ( i ) , l n r , ’A ’ )
@cgxh ( i )=tp . v a l u e ( cnc ( ’ARR∗ ’ , @arr ) , ’CGX ’ , l n r ( 1 ) )
@cgyh ( i )=tp . v a l u e ( cnc ( ’ARR∗ ’ , @arr ) , ’CGY ’ , l n r ( 1 ) )
@cgzh ( i )=tp . v a l u e ( cnc ( ’ARR∗ ’ , @arr ) , ’CGZ ’ , l n r ( 1 ) )
@volh ( i )=l d . l q n t ( ’VLOAD ’ , h o l d ( i ) )
@dens ( i )=l d . l q n t ( ’RHO ’ , h o l d ( i ) )
@next

@mn. c h g t a s k ( ’SHS ’ )

DEL SHS∗FEM.TANK_PRESSURE~~~ N

NEW FEM.TANK_PRESSURE
SAV !

FLOAT
LDCASE @ l c a s e
107

REPL
CALC
REPL

GEOM
CALC
REPL

FREQ
ASG SQRLPLA DEEP CALC
ASG OMEGA @freq DEEP GIVEN
REPL
CALC
REPL

FACET
FCSHULL @ f a c e t
REPL
CALC
REPL

SOUR
ASG HEADING DEGREE @head
SWSO AUTOMATIC
REPL
CALC
REPL

@ s h s d i r=cnc ( ’FEM.TANK_PRESSURE_HEAD ’ , @head )

AMPL
RLD CALC
LCB CALC
CALC
LQ LPP LCB TA TF
TOO HD=N, TAB=FEM.TANKS_SHS_RESULTS−ONLY
LIS
@ntab= ’TAB∗FEM.TANKS_SHS_RESULTS ’
@ g e o m r e s u l t s=a r r ( 2 )
@n=tp . r e a d ( ntab )
@n=tp . t r e a t ( ntab )
@cgxship=tp . v a l u e ( ntab , ’LPP ’ , 1 ) /2+tp . v a l u e ( ntab , ’LCB ’ , 1 )+r e f ( ’AP ’ )
@ c g z s h i p=tp . v a l u e ( ntab , ’TA ’ , 1 ) +( x r e f −r e f ( ’AP ’ ) ) ∗ ( tp . v a l u e ( ntab , ’TF ’ , 1 )−tp . v a l u e (
ntab , ’TA ’ , 1 ) ) / l r e f
REPL

@av=a r r ( 2 )
@at=a r r ( 2 )
@al=a r r ( 2 )
@ p h a r o l l=a r r ( 2 )
@phapitch=a r r ( 2 )
@phayaw=a r r ( 2 )
@he=a r r ( 2 )

@for i =1 r s i z e ( h o l d )
RELM
SWWAVES UNDIST
ASG PNT1 M @cgxship 0 @ c g z s h i p SHIP
ASG PNT2 M @cgxh ( i ) @cgyh ( i ) @cgzh ( i ) SHIP
SWPA P1
SWPB P2
GCOMP NO
CALC
REPL
GET @ s h s d i r

LQ OMEGA, F1AXREL, F1AYREL, F1AZREL, P1AXREL, P1AYREL, P1AZREL, FROLL, FPITCH


TOO HD=N, TAB=FEM.TANK_RESULTS−ONLY
108

LIS

@tp . t r e a t ( ’TAB∗FEM.TANK_RESULTS ’ )
@ f e m t a n k r e s u l t s=a r r ( 2 )
@n=tp . l i n e ( ’TAB∗FEM.TANK_RESULTS ’ , 1 , f e m t a n k r e s u l t s )

@al ( i ) =(( f e m t a n k r e s u l t s ( 3 ) ∗aw ) ∗ c o s ( phaang−f e m t a n k r e s u l t s ( 6 ) ) )


@at ( i ) =(( f e m t a n k r e s u l t s ( 2 ) ∗aw ) ∗ c o s ( phaang−f e m t a n k r e s u l t s ( 5 ) ) )
@av ( i ) =(( f e m t a n k r e s u l t s ( 4 ) ∗aw ) ∗ c o s ( phaang−f e m t a n k r e s u l t s ( 7 ) ) )
@he ( i )=atan ( −( a t ( i )+g t ) , av ( i )+gv ) / r o

GET FEM.TANK_PRESSURE
REPL
@next

@for i =1 r s i z e ( he )
@ i f and ( he ( i ) >180 , he ( i ) <270) then
@he ( i ) =270−he ( I )
@ e l s e i f and ( he ( i ) >90 , he ( i ) <180) then
@he ( i ) =−(180−he ( i ) )
@ e l s e i f and ( he ( i ) >−180,he ( i ) <−90) then
@he ( i ) =180+he ( i )
@endif
@next

@mn. c h g t a s k ( ’DEF ’ )

@hi=a r r ( 2 )
@his=a r r ( 2 )

@for i =1 r s i z e ( compartments )
POI FEM.TANKS_POINT_DUMMY ( @cgxa ( i ) @cgya ( i ) @cgza ( i ) )
@lnr=dm . l o c a t e ( hold , compartments ( i ) )
@m=dm . l o c a t e ( hold , compartments ( i ) )
@ i f and ( t f i l l ( i ) >=0.95 , he ( l n r ) >=0, r o l l >=0) then

@d=s e c t ( compartments ( i ) , 1 , cgxa ( i ) )


@y1=dm . r e c ( d , 1 0 0 2 )
@z1=dm . r e c ( d , 1 0 0 3 )
@y2=min ( y1 )
@z2=max( z1 )

PLA, FEM.TANKS_PLANE_DUMMY
THR, X, ( @y2 , @z2 ) , @he ( l n r ) ; OK

@hi ( i )=gm . d i s t ( ’FEM.TANKS_PLANE_DUMMY’ , ’FEM.TANKS_POINT_DUMMY’ )

PLA, FEM.TANKS_PLANE_DUMMY
THR, X, ( @y2 , @z2 ) , @ r o l l ; OK

@his ( i )=gm . d i s t ( ’FEM.TANKS_PLANE_DUMMY’ , ’FEM.TANKS_POINT_DUMMY’ )

@ e l s e i f and ( t f i l l ( i ) >=0.95 , he ( l n r ) <0, r o l l <0) then

@c=s e c t ( compartments ( i ) , 1 , cgxa ( i ) )


@y1=dm . r e c ( c , 1 0 0 2 )
@z1=dm . r e c ( c , 1 0 0 3 )
@y2=max( y1 )
@z2=max( z1 )

PLA, FEM.TANKS_PLANE_DUMMY
THR, X, ( @y2 , @z2 ) , @he ; OK

@hi ( i )=gm . d i s t ( ’FEM.TANKS_PLANE_DUMMY’ , ’FEM.TANKS_POINT_DUMMY’ )

PLA, FEM.TANKS_PLANE_DUMMY
THR, X, ( @y2 , @z2 ) , @ r o l l ; OK
109

@his ( i )=gm . d i s t ( ’FEM.TANKS_PLANE_DUMMY’ , ’FEM.TANKS_POINT_DUMMY’ )

@elseif t f i l l ( i ) <=0.95 then

@wlpos=wlpos ( compartments ( i ) , v o l h (m) , 0 , he ( l n r ) , cgxa ( i ) )


@hf=i n . hfromwl ( wlpos , 0 , he ( l n r ) , cgxa ( i ) , cgya ( i ) , c g z a ( i ) )

@ i f hf >0 then
@hi ( i )=0
@else
@hi ( i )=abs ( h f )
@endif

@wlpos=wlpos ( compartments ( i ) , v o l h (m) , 0 , r o l l , cgxa ( i ) )


@hfs=i n . hfromwl ( wlpos , 0 , r o l l , cgxa ( i ) , cgya ( i ) , c g z a ( i ) )

@ i f h f s >0 then
@his ( i )=0
@else
@his ( i )=abs ( h f s )
@endif

@endif
@next

@mn. c h g t a s k ( ’TAB ’ )

@ps=a r r ( 2 )
@pd=a r r ( 2 )

@for i =1 r s i z e ( compartments )
@m=dm . l o c a t e ( hold , compartments ( i ) )
@pd( i )=dens (m) ∗ h i ( i ) ∗ s q r t ( exp ( ( av (m)+gv ) , 2 )+exp ( ( a l (m)+g l ) , 2 )+exp ( ( a t (m)+g t ) , 2 ) )
@ps ( i )=dens (m) ∗ h i s ( i ) ∗ s q r t ( exp ( gv , 2 )+exp ( g l , 2 )+exp ( gt , 2 ) )

@refx=cgxh (m)−cgxa ( i )
@refy=cgyh (m)−cgya ( i )
@ r e f z=cgzh (m)−c g z a ( i )
@dotprod=vx ( i ) ∗ r e f x+vy ( i ) ∗ r e f y+vz ( i ) ∗ r e f z

@ i f dotprod >0 then


@ps ( i )=−ps ( i )
@pd( i )=−pd ( i )
@endif
@next

@nl=r s i z e ( h i )
@for i=n l 1 −1
@ i f and ( h i ( i ) =0 , h i s ( i ) =0) then
@n=dm . remove ( compartments , i )
@n=dm . remove ( e l e m e n t s , i )
@n=dm . remove ( hi , i )
@n=dm . remove ( h i s , i )
@n=dm . remove ( ps , i )
@n=dm . remove ( pd , i )
@endif
@next

@n=dm . o p e r a t e ( 0 . 1 0 1 9 7 2 , ’ ∗ ’ , ps )
@n=dm . o p e r a t e ( 0 . 1 0 1 9 7 2 , ’ ∗ ’ , pd )

@tp . t r e a t ( tabp )
@lnr=tp . n l n ( tabp )+1
@tp . command ( o s . s t r ( ’ASG NAME/ ’ , l n r , ’ compartments ( ) ’ ) )
@tp . command ( o s . s t r ( ’ASG NR/ ’ , l n r , ’ e l e m e n t s ( ) ’ ) )
@tp . command ( o s . s t r ( ’ASG H/ ’ , l n r , ’ h i ( ) ’ ) )
@tp . command ( o s . s t r ( ’ASG PS/ ’ , l n r , ’ ps ( ) ’ ) )
110

@tp . command ( o s . s t r ( ’ASG PD/ ’ , l n r , ’ pd ( ) ’ ) )

@for i =1 r s i z e ( compartments )
@m=dm . l o c a t e ( hold , compartments ( i ) )
@tp . a s s i g n ( tabp , ’SAV ’ , i , av (m) , ’G ’ )
@tp . a s s i g n ( tabp , ’SAT ’ , i , a t (m) , ’G ’ )
@tp . a s s i g n ( tabp , ’SAL ’ , i , a l (m) , ’G ’ )
@next

@tp . w r i t e ( tabp )
111

E Appendix E - External Wave Load


E.1 Main Program

@@∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗
@@ Master ’ s T h e s i s − E x t e r n a l Wave Load
@@ JMP / 1 2 . 4 . 2 0 1 3
@@
@@ This macro i s used t o o b t a i n t h e e x t e r n a l wave l o a d f o r t h e
@@ e q u i v a l e n t d e s i g n wave
@@
@@ PARAMETERS:
@@ f m o d e l = F i n i t e e l e m e n t model name
@@ l c a s e = Loading c o n d i t i o n name
@@ f a c e t = S e a k e e p i n g f a c e t s u r f a c e name
@@∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗

@parameters ( f m o d e l=s l c a s e=s f a c e t=s )

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@ I n i t i a l i z a t i o n
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@mn. c h g t a s k ( ’TAB ’ )

@tabt=o s . str ( ’TAB∗FEM.WAVE_PRESSURE_TEMP_’ , l c a s e )


@tabh=o s . str ( ’TAB∗FEM.WAVE_PRESSURE_HOGGING_ ’ , l c a s e )
@tabs=o s . str ( ’TAB∗FEM.WAVE_PRESSURE_SAGGING_ ’ , l c a s e )
@tabw=o s . str ( ’TAB∗FEM.VBM_DESIGN_WAVE_’ , l c a s e )

@ i f db . e x i s t s ( ’TAB∗FEM.WAVE_PRESSURE_ELEMENTS ’ , ’ ’ , 1 , ’ ’ , ’ ! ’ )=1 then


@db . unsave ( ’TAB∗FEM.WAVE_PRESSURE_ELEMENTS ’ , ’ ’ , 1 , ’ ’ , ’ ! ’ )
@tp . remove ( ’TAB∗FEM.WAVE_PRESSURE_ELEMENTS ’ )
@ e l s e i f db . e x i s t s ( t a b t , ’ ’ , 1 , ’ ’ , ’ ! ’ )=1 then
@db . unsave ( t a b t , ’ ’ , 1 , ’ ’ , ’ ! ’ )
@tp . remove ( t a b t )
@ e l s e i f db . e x i s t s ( tabh , ’ ’ , 1 , ’ ’ , ’ ! ’ )=1 then
@db . unsave ( tabh , ’ ’ , 1 , ’ ’ , ’ ! ’ )
@tp . remove ( tabh )
@ e l s e i f db . e x i s t s ( t ab s , ’ ’ , 1 , ’ ’ , ’ ! ’ )=1 then
@db . unsave ( t abs , ’ ’ , 1 , ’ ’ , ’ ! ’ )
@tp . remove ( t a b s )
@endif

NEW, TAB∗FEM.WAVE_PRESSURE_ELEMENTS, NM
COL, NR
COL, CGXA
COL, CGYA
COL, CGZA
COL, VNX
COL, VNY
COL, VNZ
FORM, NR HD= ’ELEMENT ’
HT, NR ’ F i n i t e Element Number ’
HT, CGXA ’ F i n i t e Element X−C o o r d i n a t e C e n t r o i d ’
HT, CGYA ’ F i n i t e Element Y−C o o r d i n a t e C e n t r o i d ’
HT, CGZA ’ F i n i t e Element Z−C o o r d i n a t e C e n t r o i d ’
HT, CGXA ’ F i n i t e Element X−C o o r d i n a t e Normal V e c t o r ’
HT, CGYA ’ F i n i t e Element Y−C o o r d i n a t e Normal V e c t o r ’
HT, CGZA ’ F i n i t e Element Z−C o o r d i n a t e Normal V e c t o r ’
SAV !

NEW, @tabt , NM
COL, NR
COL, FPEPREH=PRESSURE
COL, FPEPRES=PRESSURE
112

FORM, NR HD= ’ELEMENT ’


FORM, FPEPREH HD= ’PRESSURE HOGGING ’
FORM, FPEPRES HD= ’PRESSURE SAGGING ’
HT, FPEPREH ’ F i n i t e Element P r e s s u r e f o r Hogging ’
HT, FPEPRES ’ F i n i t e Element P r e s s u r e f o r S a g g i n g ’
HT, NR ’ F i n i t e Element Number ’
SAV !

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@ Obtain F i n i t e Element S h e l l
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@ai . add ( ’ fem . wave_pressure_element ’ , f m o d e l )

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@ C a l c u l a t e wave p r e s s u r e and i n t e r p o l a t e
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@ai . add ( ’ fem . w a v e _ p r e s s u r e _ i n t e r p o l ’ , l c a s e , f a c e t )

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@ Wave p r e s s u r e c o r r e c t i o n
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@head=fmt ( tp . v a l u e ( tabw , ’HEADING ’ , 1 ) / ro , ’− ’ , ’DEGREE ’ )

@ i f o r ( head= ’ 0 ’ , head= ’ 180 ’ ) then


@ai . add ( ’ fem . w a v e _ p r e s s u r e _ c o r r e c t i o n ’ , l c a s e )
@endif

E.2 Finite Elements Listing

@@∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗
@@ Master ’ s T h e s i s − E x t e r n a l Wave Load
@@ JMP / 1 2 . 4 . 2 0 1 3
@@
@@ This macro i s used t o o b t a i n t h e e x t e r n a l wave l o a d
@@ f i n i t e e l e m e n t s
@@
@@ PARAMETERS:
@@ f m o d e l = F i n i t e e l e m e n t model name
@@∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗

@parameters ( f m o d e l=s )

@mn. c h g t a s k ( ’FEM ’ )

@fem . command ( o s . s t r ( ’GET ’ , f m o d e l ) )


@fem . command ( ’LIM OFF ’ )
@fem . command ( ’LQ FEME NR STYPE CGXA CGYA CGZA VNX VNY VNZ ’ )
@fem . command ( ’TOO FEME, HD=N, TAB=FEM.ELEMENTS_TEMP−ONLY ’ )
@fem . command ( ’ LIS E ’ )

@elements=tp . column ( ’TAB∗FEM.ELEMENTS_TEMP ’ , ’NR ’ )


@ex=tp . column ( ’TAB∗FEM.ELEMENTS_TEMP ’ , ’CGXA’ )
@ey=tp . column ( ’TAB∗FEM.ELEMENTS_TEMP ’ , ’CGYA’ )
@ez=tp . column ( ’TAB∗FEM.ELEMENTS_TEMP ’ , ’CGZA ’ )
@vx=tp . column ( ’TAB∗FEM.ELEMENTS_TEMP ’ , ’VNX ’ )
@vy=tp . column ( ’TAB∗FEM.ELEMENTS_TEMP ’ , ’VNY ’ )
113

@vz=tp . column ( ’TAB∗FEM.ELEMENTS_TEMP ’ , ’VNZ ’ )


@stype=tp . column ( ’TAB∗FEM.ELEMENTS_TEMP ’ , ’STYPE ’ )

@nl=r s i z e ( e l e m e n t s )
@for i=n l 1 −1
@ i f s t y p e ( i )<> ’SHELL ’ then
@n=dm . remove ( e l e m e n t s , i )
@n=dm . remove ( ex , i )
@n=dm . remove ( ey , i )
@n=dm . remove ( ez , i )
@n=dm . remove ( vx , i )
@n=dm . remove ( vy , i )
@n=dm . remove ( vz , i )
@n=dm . remove ( s t y p e , i )
@endif
@next

@tp . t r e a t ( ’TAB∗FEM.WAVE_PRESSURE_ELEMENTS ’ )
@lnr=tp . n l n ( ’TAB∗FEM.WAVE_PRESSURE_ELEMENTS ’ )+1
@tp . command ( o s . s t r ( ’ASG NR/ ’ , l n r , ’ e l e m e n t s ( ) ’ ) )
@tp . command ( o s . s t r ( ’ASG CGXA/ ’ , l n r , ’ ex ( ) ’ ) )
@tp . command ( o s . s t r ( ’ASG CGYA/ ’ , l n r , ’ ey ( ) ’ ) )
@tp . command ( o s . s t r ( ’ASG CGZA/ ’ , l n r , ’ e z ( ) ’ ) )
@tp . command ( o s . s t r ( ’ASG VNX/ ’ , l n r , ’ vx ( ) ’ ) )
@tp . command ( o s . s t r ( ’ASG VNY/ ’ , l n r , ’ vy ( ) ’ ) )
@tp . command ( o s . s t r ( ’ASG VNZ/ ’ , l n r , ’ vz ( ) ’ ) )
@tp . command ( ’SORT NR ’ )
@tp . w r i t e ( ’TAB∗FEM.WAVE_PRESSURE_ELEMENTS ’ )

E.3 Finite Element Pressure Interpolation

@@∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗
@@ Master ’ s T h e s i s − E x t e r n a l Wave Load
@@ JMP / 1 2 . 4 . 2 0 1 3
@@
@@ This macro i s used t o i n t e r p o l a t e t h e p a n e l p r e s s u r e t o
@@ t h e f i n i t e e l e m e n t s
@@
@@ PARAMETERS:
@@ f m o d e l = F i n i t e e l e m e n t model name
@@ l c a s e = Loading c o n d i t i o n name
@@∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗

@parameters ( l c a s e=s , f a c e t=s )

@tabw=o s . s t r ( ’TAB∗FEM.VBM_DESIGN_WAVE_’ , l c a s e )
@tabt=o s . s t r ( ’TAB∗FEM.WAVE_PRESSURE_TEMP_’ , l c a s e )

@head=fmt ( tp . v a l u e ( tabw , ’HEADING ’ , 1 ) / ro , ’− ’ , ’DEGREE ’ )


@freq=fmt ( tp . v a l u e ( tabw , ’OMEGA’ , 1 ) , 4 )
@aw=tp . v a l u e ( tabw , ’AW’ , 1 )
@wnum=tp . v a l u e ( tabw , ’WNUM’ , 1 )

@@ −−−−−−−−−−−−−−−−−−−−−−−−−−−−−
@@ SEAKEEPING
@@ −−−−−−−−−−−−−−−−−−−−−−−−−−−−−

@mn. c h g t a s k ( ’SHS ’ )

@ s h s d i r=cnc ( ’FEM.WAVE_PRESSURE_HEAD ’ , head )

DEL SHS∗FEM.WAVE_PRESSURE~~~ N
114

NEW FEM.WAVE_PRESSURE
SAV !

FLOAT
LDCASE @ l c a s e
CALC
REPL

GEOM
CALC
REPL

FREQ
ASG SQRLPLA DEEP CALC
ASG OMEGA @freq DEEP GIVEN
CALC
REPL

FACET
FCSHULL @ f a c e t FCSPRHULL
CALC
REPL

SOUR
ASG HEADING DEGREE @head
SWSO 1 0 1 DEEP
CALC
REPL

AMPL
RLD CALC
LCB CALC
CALC
REPL
GET @ s h s d i r
LQ P2XMID, P2YMID, P2ZMID , FPEPRE, PPEPRE
TOO HD=N, TAB=FEM.WAVE_RESULTS−ONLY
LIS
REPL

@tp . t r e a t ( ’TAB∗FEM.WAVE_RESULTS ’ )
@tp . command ( ’SORT P2YMID ’ )
@px=tp . column ( ’TAB∗FEM.WAVE_RESULTS ’ , ’P2XMID ’ )
@py=tp . column ( ’TAB∗FEM.WAVE_RESULTS ’ , ’P2YMID ’ )
@pz=tp . column ( ’TAB∗FEM.WAVE_RESULTS ’ , ’P2ZMID ’ )
@ f p e i=tp . column ( ’TAB∗FEM.WAVE_RESULTS ’ , ’FPEPRE ’ )
@ppe=tp . column ( ’TAB∗FEM.WAVE_RESULTS ’ , ’PPEPRE ’ )
@lpp=r e f ( ’LREF ’ )

@@ −−−−−−−−−−−−−−−−−−−−−−−−−−−−−
@@ INTERPOLATION
@@ −−−−−−−−−−−−−−−−−−−−−−−−−−−−−

@mn. c h g t a s k ( ’LD ’ )
@ld . g e t ( @ l c a s e )

@elements=tp . column ( ’TAB∗FEM.WAVE_PRESSURE_ELEMENTS ’ , ’NR ’ )


@ex=tp . column ( ’TAB∗FEM.WAVE_PRESSURE_ELEMENTS ’ , ’CGXA ’ )
@ey=tp . column ( ’TAB∗FEM.WAVE_PRESSURE_ELEMENTS ’ , ’CGYA ’ )
@ez=tp . column ( ’TAB∗FEM.WAVE_PRESSURE_ELEMENTS ’ , ’CGZA ’ )

@nl=r s i z e ( e l e m e n t s )
@for i=n l 1 −1
@ d r a f t=l d . qnt ( ’TX ’ , o s . s t r ( ’X/X= ’ , round ( ex ( i ) , 0 . 0 1 ) ) )
@ i f round ( e z ( i ) , 0 . 0 1 )>d r a f t then
@n=dm . remove ( ex , i )
@n=dm . remove ( ey , i )
115

@n=dm . remove ( ez , i )
@n=dm . remove ( e l e m e n t s , i )
@endif
@next

@mn. c h g t a s k ( ’TAB ’ )

@@@@@@@@@@@@
@@ Hogging
@@@@@@@@@@@@

@fpehdhog=a r r ( 2 )

@time =(1.57+wnum∗ ( l p p / 2 ) ∗ c o s ( v a l u e ( head ) ) ) / v a l u e ( f r e q )


@for i =1 r s i z e ( f p e i )
@fpehdhog ( i )=aw∗ f p e i ( i ) ∗ s i n ( v a l u e ( f r e q ) ∗ time+ppe ( i ) )
@next

@fpepos=a r r ( 2 )
@fpeneg=a r r ( 2 )

@npantot=r s i z e ( px )
@npan=n p a n t o t /2
@npan1=npan+1
@n=dm . r p a r t ( fpehdhog , f p e p o s , 1 , npan )
@n=dm . r p a r t ( fpehdhog , f p e n e g , npan1 , n p a n t o t )

@w=a r r ( 2 )
@wi=a r r ( 2 )
@fpeprhog=a r r ( 2 )

@for i =1 r s i z e ( e l e m e n t s )

@ i f ey ( i )>=0 then
@for j =1 npan
@w( j )=s q r t ( exp ( ( px ( j )−ex ( i ) ) , 2 )+exp ( ( py ( j )−ey ( i ) ) , 2 )+exp ( ( pz ( j )−e z ( i ) ) , 2 ) )
@wi ( j )=exp (w( j ) , −2)
@next
@fpeprhog ( i )=psum ( f p e p o s , wi ) /sum ( wi )

@ e l s e i f ey ( i )<0 then
@for j=npan1 n p a n t o t
@w( j −npan )=s q r t ( exp ( ( px ( j )−ex ( i ) ) , 2 )+exp ( ( py ( j )−ey ( i ) ) , 2 )+exp ( ( pz ( j )−e z ( i ) ) , 2 ) )
@wi ( j −npan )=exp (w( j −npan ) , −2)
@next
@fpeprhog ( i )=psum ( f p e n e g , wi ) /sum ( wi )

@endif

@next

@n=dm . o p e r a t e ( 0 . 0 0 0 1 0 1 9 7 2 , ’ ∗ ’ , f p e p r h o g )

@@@@@@@@@@@@
@@ S a g g i n g
@@@@@@@@@@@@

@fpehdsag=a r r ( 2 )

@time=(−1.57+wnum∗ ( l p p / 2 ) ∗ c o s ( v a l u e ( head ) ) ) / v a l u e ( f r e q )
@for i =1 r s i z e ( f p e i )
@fpehdsag ( i )=aw∗ f p e i ( i ) ∗ s i n ( v a l u e ( f r e q ) ∗ time+ppe ( i ) )
@next

@fpepos=a r r ( 2 )
@fpeneg=a r r ( 2 )

@npantot=r s i z e ( px )
116

@npan=n p a n t o t /2
@npan1=npan+1
@n=dm . r p a r t ( f p e h d s a g , f p e p o s , 1 , npan )
@n=dm . r p a r t ( f p e h d s a g , f p e n e g , npan1 , n p a n t o t )

@w=a r r ( 2 )
@wi=a r r ( 2 )
@ f p e p r s a g=a r r ( 2 )

@for i =1 r s i z e ( e l e m e n t s )

@ i f ey ( i )>=0 then
@for j =1 npan
@w( j )=s q r t ( exp ( ( px ( j )−ex ( i ) ) , 2 )+exp ( ( py ( j )−ey ( i ) ) , 2 )+exp ( ( pz ( j )−e z ( i ) ) , 2 ) )
@wi ( j )=exp (w( j ) , −2)
@next
@ f p e p r s a g ( i )=psum ( f p e p o s , wi ) /sum ( wi )

@ e l s e i f ey ( i )<0 then
@for j=npan1 n p a n t o t
@w( j −npan )=s q r t ( exp ( ( px ( j )−ex ( i ) ) , 2 )+exp ( ( py ( j )−ey ( i ) ) , 2 )+exp ( ( pz ( j )−e z ( i ) ) , 2 ) )
@wi ( j −npan )=exp (w( j −npan ) , −2)
@next
@ f p e p r s a g ( i )=psum ( f p e n e g , wi ) /sum ( wi )

@endif

@next

@n=dm . o p e r a t e ( 0 . 0 0 0 1 0 1 9 7 2 , ’ ∗ ’ , f p e p r s a g )

@tp . t r e a t ( t a b t )
@lnr=tp . n l n ( t a b t )+1
@tp . command ( o s . s t r ( ’ASG NR/ ’ , l n r , ’ e l e m e n t s ( ) ’ ) )
@tp . command ( o s . s t r ( ’ASG FPEPREH/ ’ , l n r , ’ f p e p r h o g ( ) ’ ) )
@tp . command ( o s . s t r ( ’ASG FPEPRES/ ’ , l n r , ’ f p e p r s a g ( ) ’ ) )
@tp . w r i t e ( t a b t )

E.4 Nonlinear correction

@@∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗
@@ Master ’ s T h e s i s − E x t e r n a l Wave Load
@@ JMP / 1 2 . 4 . 2 0 1 3
@@
@@ This macro i s used t o c o r r e c t t h e f i n i t e e l e m e n t p r e s s u r e
@@ f o r n o n l i n e a r a n a l y s i s
@@
@@ PARAMETERS:
@@ l c a s e = Loading c o n d i t i o n name
@@∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗

@parameters ( l c a s e=s )

@tabt=o s . str ( ’TAB∗FEM.WAVE_PRESSURE_TEMP_’ , l c a s e )


@tabh=o s . str ( ’TAB∗FEM.WAVE_PRESSURE_HOGGING_ ’ , l c a s e )
@tabs=o s . str ( ’TAB∗FEM.WAVE_PRESSURE_SAGGING_ ’ , l c a s e )
@tabw=o s . str ( ’TAB∗FEM.VBM_DESIGN_WAVE_’ , l c a s e )

@mn. c h g t a s k ( ’TAB ’ )
@tp . remove ( t a b t )
@tp . remove ( ’TAB∗FEM.WAVE_PRESSURE_ELEMENTS ’ )
117

NEW, @tabh , NM
COL, NR
COL, HYDROS=PRESSURE
COL, HYDROD=PRESSURE
COL, PRE=PRESSURE ’HYDROS+HYDROD’
FORM, NR HD= ’ELEMENT ’
FORM, HYDROS HD= ’STATIC PRESSURE ’
FORM, HYDROD HD= ’DYNAMIC PRESSURE ’
FORM, PRE HD= ’TOTAL PRESSURE ’
HT, HYDROS ’ F i n i t e Element H y d r o s t a t i c P r e s s u r e ’
HT, HYDROD ’ F i n i t e Element Hydrodynamic P r e s s u r e ’
HT, PRE ’ T o t a l F i n i t e Element P r e s s u r e ’
HT, NR ’ F i n i t e Element Number ’
SAV !

NEW, @tabs , NM
COL, NR
COL, HYDROS=PRESSURE
COL, HYDROD=PRESSURE
COL, PRE=PRESSURE ’HYDROS+HYDROD’
FORM, NR HD= ’ELEMENT ’
FORM, HYDROS HD= ’STATIC PRESSURE ’
FORM, HYDROD HD= ’DYNAMIC PRESSURE ’
FORM, PRE HD= ’TOTAL PRESSURE ’
HT, HYDROS ’ F i n i t e Element H y d r o s t a t i c P r e s s u r e ’
HT, HYDROD ’ F i n i t e Element Hydrodynamic P r e s s u r e ’
HT, PRE ’ T o t a l F i n i t e Element P r e s s u r e ’
HT, NR ’ F i n i t e Element Number ’
SAV !

@rho=r e f ( ’RHO ’ )
@refp=a r r ( 2 )
@refp ( 1 )=r e f ( ’LREF ’ ) /2
@refp ( 2 ) =0
@refp ( 3 ) =( u l ( ’HULL ’ , 3 )+ l l ( ’HULL ’ , 3 ) ) /2

@aw=tp . v a l u e ( tabw , ’AW’ , 1 )


@wnum=tp . v a l u e ( tabw , ’WNUM’ , 1 )
@head=tp . v a l u e ( tabw , ’HEADING ’ , 1 )
@freq=tp . v a l u e ( tabw , ’OMEGA’ , 1 )
@lpp=r e f ( ’LREF ’ )

@elements=tp . column ( ’TAB∗FEM.WAVE_PRESSURE_ELEMENTS ’ , ’NR ’ )


@ex=tp . column ( ’TAB∗FEM.WAVE_PRESSURE_ELEMENTS ’ , ’CGXA ’ )
@ey=tp . column ( ’TAB∗FEM.WAVE_PRESSURE_ELEMENTS ’ , ’CGYA ’ )
@ez=tp . column ( ’TAB∗FEM.WAVE_PRESSURE_ELEMENTS ’ , ’CGZA ’ )
@vnx=tp . column ( ’TAB∗FEM.WAVE_PRESSURE_ELEMENTS ’ , ’VNX ’ )
@vny=tp . column ( ’TAB∗FEM.WAVE_PRESSURE_ELEMENTS ’ , ’VNY ’ )
@vnz=tp . column ( ’TAB∗FEM.WAVE_PRESSURE_ELEMENTS ’ , ’VNZ ’ )

@fpeelemhog=tp . column ( t a b t , ’NR ’ )


@f pee lem sag=tp . column ( t a b t , ’NR ’ )
@fpehdhog=tp . column ( t a b t , ’FPEPREH ’ )
@fpehdsag=tp . column ( t a b t , ’FPEPRES ’ )

@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@ Hogging
@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@mn. c h g t a s k ( ’LD ’ )
@ld . g e t ( @ l c a s e )

@fpehshog=a r r ( 2 )
@elemhshog=a r r ( 1 )

@time =(1.57+wnum∗ ( l p p / 2 ) ∗ c o s ( v a l u e ( head ) ) ) / v a l u e ( f r e q )


@for i =1 r s i z e ( e l e m e n t s )
118

@amphog=aw∗ s i n (wnum∗(− ex ( i ) ∗ c o s ( v a l u e ( head ) )−ey ( i ) ∗ s i n ( v a l u e ( head ) ) )+v a l u e ( f r e q ) ∗


time )
@ d r a f t=amphog+l d . qnt ( ’TX ’ , o s . s t r ( ’X/X= ’ , round ( ex ( i ) , 0 . 0 1 ) ) )

@ i f e z ( i )<d r a f t then
@fpehshog ( 0 )=rho ∗ ( d r a f t −e z ( i ) )
@elemhshog ( 0 )=e l e m e n t s ( i )
@endif
@next

@for i =1 r s i z e ( elemhshog )
@m=dm . l o c a t e ( e l e m e n t s , elemhshog ( i ) )
@refx=r e f p ( 1 )−ex (m)
@refy=r e f p ( 2 )−ey (m)
@ r e f z=r e f p ( 3 )−e z (m)
@vx=vnx (m)
@vy=vny (m)
@vz=vnz (m)
@dotprod=vx ∗ r e f x+vy ∗ r e f y+vz ∗ r e f z

@ i f dotprod <0 then


@fpehshog ( i )=−f p e h s h o g ( i )
@endif
@next

@time =(1.57+wnum∗ ( l p p / 2 ) ∗ c o s ( v a l u e ( head ) ) ) / v a l u e ( f r e q )


@nl=r s i z e ( f p e e l e m h o g )
@for i=n l 1 −1
@in=dm . l o c a t e ( e l e m e n t s , f p e e l e m h o g ( i ) )
@amphog=aw∗ s i n (wnum∗(− ex ( i ) ∗ c o s ( v a l u e ( head ) )−ey ( i ) ∗ s i n ( v a l u e ( head ) ) )+v a l u e ( f r e q ) ∗
time )
@ d r a f t=amphog+l d . qnt ( ’TX ’ , o s . s t r ( ’X/X= ’ , round ( ex ( i ) , 0 . 0 1 ) ) )

@ i f e z ( i n )>d r a f t then
@n=dm . remove ( f p e e l e m h o g , i )
@n=dm . remove ( fpehdhog , i )
@endif
@next

@for i =1 r s i z e ( f p e e l e m h o g )
@m=dm . l o c a t e ( e l e m e n t s , f p e e l e m h o g ( i ) )
@refx=r e f p ( 1 )−ex (m)
@refy=r e f p ( 2 )−ey (m)
@ r e f z=r e f p ( 3 )−e z (m)
@vx=vnx (m)
@vy=vny (m)
@vz=vnz (m)
@dotprod=vx ∗ r e f x+vy ∗ r e f y+vz ∗ r e f z

@ i f dotprod <0 then


@fpehdhog ( i )=−fpehdhog ( i )
@endif
@next

@mn. c h g t a s k ( ’TAB ’ )
@tp . t r e a t ( tabh )
@lnr=tp . n l n ( tabh )+1
@tp . command ( o s . s t r ( ’ASG NR/ ’ , l n r , ’ elemhshog ( ) ’ ) )
@tp . command ( o s . s t r ( ’ASG HYDROS/ ’ , l n r , ’ f p e h s h o g ( ) ’ ) )

@for i =1 r s i z e ( f p e e l e m h o g )
@lnr=dm . l o c a t e ( elemhshog , f p e e l e m h o g ( i ) )
@tp . a s s i g n ( tabh , ’HYDROD’ , l n r , fpehdhog ( i ) )
@next

@tp . w r i t e ( tabh )
119

@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@ S a g g i n g
@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@mn. c h g t a s k ( ’LD ’ )
@ld . g e t ( @ l c a s e )

@ f p e h s s a g=a r r ( 2 )
@elemhssag=a r r ( 1 )

@time=(−1.57+wnum∗ ( l p p / 2 ) ∗ c o s ( v a l u e ( head ) ) ) / v a l u e ( f r e q )
@for i =1 r s i z e ( e l e m e n t s )
@ampsag=aw∗ s i n (wnum∗(− ex ( i ) ∗ c o s ( v a l u e ( head ) )−ey ( i ) ∗ s i n ( v a l u e ( head ) ) )+v a l u e ( f r e q ) ∗
time )
@ d r a f t=ampsag+l d . qnt ( ’TX ’ , o s . s t r ( ’X/X= ’ , round ( ex ( i ) , 0 . 0 1 ) ) )

@ i f e z ( i )<d r a f t then
@ f p e h s s a g ( 0 )=rho ∗ ( d r a f t −e z ( i ) )
@elemhssag ( 0 )=e l e m e n t s ( i )
@endif
@next

@for i =1 r s i z e ( e l e m h s s a g )
@m=dm . l o c a t e ( e l e m e n t s , e l e m h s s a g ( i ) )
@refx=r e f p ( 1 )−ex (m)
@refy=r e f p ( 2 )−ey (m)
@ r e f z=r e f p ( 3 )−e z (m)
@vx=vnx (m)
@vy=vny (m)
@vz=vnz (m)
@dotprod=vx ∗ r e f x+vy ∗ r e f y+vz ∗ r e f z

@ i f dotprod <0 then


@ f p e h s s a g ( i )=−f p e h s s a g ( i )
@endif
@next

@time=(−1.57+wnum∗ ( l p p / 2 ) ∗ c o s ( v a l u e ( head ) ) ) / v a l u e ( f r e q )
@nl=r s i z e ( f p e e l e m s a g )
@for i=n l 1 −1
@in=dm . l o c a t e ( e l e m e n t s , f p e e l e m s a g ( i ) )
@ampsag=aw∗ s i n (wnum∗(− ex ( i n ) ∗ c o s ( v a l u e ( head ) )−ey ( i n ) ∗ s i n ( v a l u e ( head ) ) )+v a l u e ( f r e q ) ∗
time )
@ d r a f t=ampsag+l d . qnt ( ’TX ’ , o s . s t r ( ’X/X= ’ , round ( ex ( i n ) , 0 . 0 1 ) ) )

@ i f e z ( i n )>d r a f t then
@n=dm . remove ( f p e e l e m s a g , i )
@n=dm . remove ( f p e h d s a g , i )
@endif
@next

@for i =1 r s i z e ( f p e e l e m s a g )
@m=dm . l o c a t e ( e l e m e n t s , f p e e l e m s a g ( i ) )
@refx=r e f p ( 1 )−ex (m)
@refy=r e f p ( 2 )−ey (m)
@ r e f z=r e f p ( 3 )−e z (m)
@vx=vnx (m)
@vy=vny (m)
@vz=vnz (m)
@dotprod=vx ∗ r e f x+vy ∗ r e f y+vz ∗ r e f z

@ i f dotprod <0 then


@fpehdsag ( i )=−f p e h d s a g ( i )
@endif
@next

@mn. c h g t a s k ( ’TAB ’ )
@tp . t r e a t ( t a b s )
120

@ln=tp . n l n ( t a b s )+1
@tp . command ( o s . s t r ( ’ASG NR/ ’ , ln , ’ e l e m h s s a g ( ) ’ ) )
@tp . command ( o s . s t r ( ’ASG HYDROS/ ’ , ln , ’ f p e h s s a g ( ) ’ ) )

@for i =1 r s i z e ( f p e e l e m s a g )
@m=dm . l o c a t e ( e l e m h s s a g , f p e e l e m s a g ( i ) )
@tp . a s s i g n ( tab s , ’HYDROD’ ,m, f p e h d s a g ( i ) )
@next

@tp . w r i t e ( t a b s )
121

F Appendix F - Output

@@∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗
@@ Master ’ s T h e s i s − Output t o NASTRAN f i l e
@@ JMP / 1 2 . 4 . 2 0 1 3
@@
@@ This macro i s used t o o ut pu t t h e l o a d s c a l c u l a t e d i n t o a NASTRAN
@@ b d f f i l e .
@@
@@ PARAMETERS:
@@ l c a s e = Loading c o n d i t i o n name
@@ wtab = Name o f t h e o r i g i n a l w e i g h t t a b l e ( e . g . ’WG∗W32 ’ )
@@ f i l e = Name o f f i l e ou tp ut path ( e . g . , ’ c : / napa ’ )
@@∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗

@parameters ( l c a s e=s wtab=s f i l e =s )

@ntab=o s . str ( ’TAB∗WG_FEA.NODES_ ’ , s b s ( wtab , 4 , − 1 ) )


@tabp=o s . str ( ’TAB∗FEM.TANK_PRESSURE_ ’ , l c a s e )
@tabt=o s . str ( ’TAB∗FEM.WAVE_PRESSURE_TEMP_’ , l c a s e )
@tabh=o s . str ( ’TAB∗FEM.WAVE_PRESSURE_HOGGING_ ’ , l c a s e )
@tabs=o s . str ( ’TAB∗FEM.WAVE_PRESSURE_SAGGING_ ’ , l c a s e )
@tabw=o s . str ( ’TAB∗FEM.VBM_DESIGN_WAVE_’ , l c a s e )

@tp . remove ( tabw )


@aw=tp . v a l u e ( tabw , ’AW’ , 1 )
@gl =−9.81∗ s i n ( tp . v a l u e ( tabw , ’FPITCH ’ , 1 ) ∗aw )
@gt =9.81∗ s i n ( tp . v a l u e ( tabw , ’FROLL ’ , 1 ) ∗aw )
@gv=−9.81
@al1 =1000∗ tp . v a l u e ( tabw , ’AL1 ’ , 1 )
@at1=1000∗ tp . v a l u e ( tabw , ’AT1 ’ , 1 )
@av1=1000∗ tp . v a l u e ( tabw , ’AV1 ’ , 1 )
@al2 =1000∗ tp . v a l u e ( tabw , ’AL2 ’ , 1 )
@at2=1000∗ tp . v a l u e ( tabw , ’AT2 ’ , 1 )
@av2=1000∗ tp . v a l u e ( tabw , ’AV2 ’ , 1 )
@al3 =1000∗ tp . v a l u e ( tabw , ’AL3 ’ , 1 )
@at3=1000∗ tp . v a l u e ( tabw , ’AT3 ’ , 1 )
@av3=1000∗ tp . v a l u e ( tabw , ’AV3 ’ , 1 )
@p1=0
@p2=r e f ( ’LREF ’ ) /2
@p3=r e f ( ’FP ’ )

@@ NASTRAN BULK DATA FILE


@@ −−−−−−−−−−−−−−−−−−−−−−−−−−−

@mn. c h g t a s k ( ’FEM ’ )
@mn. command ( ’ !PAGE 256 66 ’ )
@mn. command ( o s . s t r ( ’ !OPEN ’ , ’ \ ’ ’ , f i l e , ’ \ ’ ’ , ’> ’ ,mn . p r o j e c t ( ) , ’_vbm_ ’ , l c a s e , ’ . b d f ’ , ’
11 OVR ’ ) )
@mn. command ( ’LINK 1 11 ’ )

@@ Header f o r t h e f i l e
TYPE $Napa Ltd .
TYPE $NAPA t o Bulk data f o r m a t
TYPE $ V e r s i o n 2 0 1 3 . 1
TYPE $
TYPE SUBCASE 1
TYPE $ S ub ca s e name : SW_HOGGING
TYPE SUBTITLE=STILL_WATER_HOGGING
TYPE LOAD = 11
TYPE SUBCASE 2
TYPE $ S ub ca s e name : WI_HOGGING
TYPE SUBTITLE=WAVE_INDUCED_HOGGING
TYPE LOAD = 15
TYPE SUBCASE 3
122

TYPE $ S ub ca s e name : SW_SAGGING


TYPE SUBTITLE=STILL_WATER_SAGGING
TYPE LOAD = 19
TYPE SUBCASE 4
TYPE $ S ub ca s e name : WI_SAGGING
TYPE SUBTITLE=WAVE_INDUCED_SAGGING
TYPE LOAD = 23
TYPE $
TYPE SUBCASE 4
TYPE $ S ub ca s e name : VBM_HOGGING
TYPE SUBTITLE=VBM_HOGGING
TYPE LOAD = 26
TYPE SUBCASE 5
TYPE $ S ub ca s e name : VBM_SAGGING
TYPE SUBTITLE=VBM_SAGGING
TYPE LOAD = 29
TYPE $
TYPE BEGIN BULK
TYPE $
TYPE $ Loads f o r Load Case : Still_Water_Hogging
TYPE LOAD 11 1. 1. 6 1. 1 1. 2
TYPE 1. 10
TYPE $
TYPE $ Loads f o r Load Case : Wave_Induced_Hogging
TYPE LOAD 15 1. 1. 4 1. 5 1. 7
TYPE 1. 3
TYPE $
TYPE $ Loads f o r Load Case : S t i l l _ W a t e r _ S a g g i n g
TYPE LOAD 19 1. 1. 8 1. 1 1. 2
TYPE 1. 10
TYPE $
TYPE $ Loads f o r Load Case : Wave_Induced_Sagging
TYPE LOAD 23 1. 1. 5 1. 9 1. 4
TYPE 1. 3
TYPE $
TYPE $ Loads f o r Load Case : Hogging
TYPE LOAD 26 1. 1. 4 1. 5 1. 7
TYPE 1. 3 1. 6 1. 10
TYPE $
TYPE $ Loads f o r Load Case : S a g g i n g
TYPE LOAD 29 1. 1. 5 1. 9 1. 4
TYPE 1. 3 1. 8 1. 10
TYPE $

TYPE $ G r a v i t y Loads o f Load S e t : G r a v i t y


@loadtype= ’GRAV’
TYPE @sbs ( l o a d t y p e , 7 ) @fmt ( 1 , 0 , 7 ) @fmt ( 0 , 0 , 7 ) @fmt ( 1 , 2 , 7 ) @fmt ( g l , 2 , 7 ) @fmt ( gt
, 2 , 7 ) @fmt ( gv , 2 , 7 )
TYPE $
TYPE $

TYPE $ A c c e l e r a t i o n s o f Load S e t : A c c e l e r a t i o n
@loadtype= ’ACCEL ’
TYPE @sbs ( l o a d t y p e , 7 ) 3 0 @fmt ( 1 , 2 , 7 ) @fmt ( 0 , 2 , 7 ) @fmt ( 0 , 2 , 7 ) X
TYPE @fmt ( p1 , 2 , 7 ) @fmt ( a l 1 , 2 , 7 ) @fmt ( p2 , 2 , 7 ) @fmt ( a l 2 , 2 , 7 ) @fmt ( p3 , 2 , 7 ) @fmt
( al3 , 2 , 7 )
TYPE @sbs ( l o a d t y p e , 7 ) 3 0 @fmt ( 1 , 2 , 7 ) @fmt ( 0 , 2 , 7 ) @fmt ( 0 , 2 , 7 ) Y
TYPE @fmt ( p1 , 2 , 7 ) @fmt ( at1 , 2 , 7 ) @fmt ( p2 , 2 , 7 ) @fmt ( at2 , 2 , 7 ) @fmt ( p3 , 2 , 7 ) @fmt
( at3 , 2 , 7 )
TYPE @sbs ( l o a d t y p e , 7 ) 3 0 @fmt ( 1 , 2 , 7 ) @fmt ( 0 , 2 , 7 ) @fmt ( 0 , 2 , 7 ) Z
TYPE @fmt ( p1 , 2 , 7 ) @fmt ( av1 , 2 , 7 ) @fmt ( p2 , 2 , 7 ) @fmt ( av2 , 2 , 7 ) @fmt ( p3 , 2 , 7 )
@fmt ( av3 , 2 , 7 )
TYPE $
TYPE $

TYPE $ Box Mass F o r c e s : Box Mass S t a t i c F o r c e s


123

@loadtype= ’FORCE ’
@nodes=tp . column ( ntab , ’NODE ’ )
@ s f l=tp . column ( ntab , ’ SFL ’ )
@n=dm . o p e r a t e ( 9 8 0 6 . 6 5 , ’ ∗ ’ , s f l )
@ s f t=tp . column ( ntab , ’SFT ’ )
@n=dm . o p e r a t e ( 9 8 0 6 . 6 5 , ’ ∗ ’ , s f t )
@sfv=tp . column ( ntab , ’SFV ’ )
@n=dm . o p e r a t e ( 9 8 0 6 . 6 5 , ’ ∗ ’ , s f v )

@for i =1 r s i z e ( nodes )
@ i f s f l ( i )<>0 then
TYPE @sbs ( l o a d t y p e , 7 ) @fmt ( 1 0 , 0 , 7 ) @fmt ( nodes ( i ) , 0 , 7 ) @fmt ( 0 , 0 , 7 ) @fmt ( s f l ( i ) , 2 , 7 )
@fmt ( 1 , 2 , 7 ) @fmt ( 0 , 2 , 7 ) @fmt ( 0 , 2 , 8 )
@endif
@ i f s f t ( i )<>0 then
TYPE @sbs ( l o a d t y p e , 7 ) @fmt ( 1 0 , 0 , 7 ) @fmt ( nodes ( i ) , 0 , 7 ) @fmt ( 0 , 0 , 7 ) @fmt ( s f t ( i ) , 2 , 7 )
@fmt ( 0 , 2 , 7 ) @fmt ( 1 , 2 , 7 ) @fmt ( 0 , 2 , 8 )
@endif
@ i f s f v ( i )<>0 then
TYPE @sbs ( l o a d t y p e , 7 ) @fmt ( 1 0 , 0 , 7 ) @fmt ( nodes ( i ) , 0 , 7 ) @fmt ( 0 , 0 , 7 ) @fmt ( s f v ( i ) , 2 , 7 )
@fmt ( 0 , 2 , 7 ) @fmt ( 0 , 2 , 7 ) @fmt ( 1 , 2 , 8 )
@endif
@next
TYPE $
TYPE $

TYPE $ Box Mass F o r c e s : Box Mass Wave Induced F o r c e s


@loadtype= ’FORCE ’
@nodes=tp . column ( ntab , ’NODE ’ )
@ d f l=tp . column ( ntab , ’DFL ’ )
@n=dm . o p e r a t e ( 9 8 0 6 . 6 5 , ’ ∗ ’ , d f l )
@dft=tp . column ( ntab , ’DFT ’ )
@n=dm . o p e r a t e ( 9 8 0 6 . 6 5 , ’ ∗ ’ , d f t )
@dfv=tp . column ( ntab , ’DFV ’ )
@n=dm . o p e r a t e ( 9 8 0 6 . 6 5 , ’ ∗ ’ , d f v )

@for i =1 r s i z e ( nodes )
@ i f d f l ( i )<>0 then
TYPE @sbs ( l o a d t y p e , 7 ) @fmt ( 4 , 0 , 7 ) @fmt ( nodes ( i ) , 0 , 7 ) @fmt ( 0 , 0 , 7 ) @fmt ( d f l ( i ) , 2 , 7 )
@fmt ( 1 , 2 , 7 ) @fmt ( 0 , 2 , 7 ) @fmt ( 0 , 2 , 8 )
@endif
@ i f d f t ( i )<>0 then
TYPE @sbs ( l o a d t y p e , 7 ) @fmt ( 4 , 0 , 7 ) @fmt ( nodes ( i ) , 0 , 7 ) @fmt ( 0 , 0 , 7 ) @fmt ( d f t ( i ) , 2 , 7 )
@fmt ( 0 , 2 , 7 ) @fmt ( 1 , 2 , 7 ) @fmt ( 0 , 2 , 8 )
@endif
@ i f d f v ( i )<>0 then
TYPE @sbs ( l o a d t y p e , 7 ) @fmt ( 4 , 0 , 7 ) @fmt ( nodes ( i ) , 0 , 7 ) @fmt ( 0 , 0 , 7 ) @fmt ( d f v ( i ) , 2 , 7 )
@fmt ( 0 , 2 , 7 ) @fmt ( 0 , 2 , 7 ) @fmt ( 1 , 2 , 8 )
@endif
@next
TYPE $
TYPE $

TYPE $ P r e s s u r e Loads o f Load S e t : Static_Tank_Pressure


@loadtype= ’PLOAD4 ’
@tp . remove ( tabp )
@tankselem=tp . column ( tabp , ’NR ’ )
@tankspre=tp . column ( tabp , ’ PS ’ )
@n=dm . o p e r a t e ( 0 . 0 0 9 8 0 6 6 , ’ ∗ ’ , t a n k s p r e )
@for i =1 r s i z e ( t a n k s p r e )
@ i f t a n k s p r e ( i )<>0 then
TYPE @sbs ( l o a d t y p e , 7 ) @fmt ( 2 , 0 , 7 ) @fmt ( t a n k s e l e m ( i ) , 0 , 7 ) @fmt ( t a n k s p r e ( i ) , 6 , 8 )
@endif
@next
TYPE $
TYPE $
124

TYPE $ P r e s s u r e Loads o f Load S e t : Wave_Induced_Tank_Pressure


@loadtype= ’PLOAD4 ’
@tankdelem=tp . column ( tabp , ’NR ’ )
@tankdpre=tp . column ( tabp , ’PD ’ )
@n=dm . o p e r a t e ( 0 . 0 0 9 8 0 6 6 , ’ ∗ ’ , t a n k d p r e )
@for i =1 r s i z e ( t a n k s p r e )
@ i f t a n k s p r e ( i )<>0 then
TYPE @sbs ( l o a d t y p e , 7 ) @fmt ( 5 , 0 , 7 ) @fmt ( tankdelem ( i ) , 0 , 7 ) @fmt ( t a n k d p r e ( i ) , 6 , 8 )
@endif
@next
TYPE $
TYPE $

@tp . remove ( tabh )

TYPE $ P r e s s u r e Loads o f Load S e t : H o g g i n g _ H y d r o s t a t i c _ P r e s s u r e


@loadtype= ’PLOAD4 ’
@hs=tp . column ( tabh , ’HYDROS ’ )
@hselem=tp . column ( tabh , ’NR ’ )
@n=dm . o p e r a t e ( 0 . 0 0 9 8 0 6 6 , ’ ∗ ’ , hs )
@for i =1 r s i z e ( hselem )
@ i f hs ( i )<>0 then
TYPE @sbs ( l o a d t y p e , 7 ) @fmt ( 6 , 0 , 7 ) @fmt ( hselem ( i ) , 0 , 7 ) @fmt ( hs ( i ) , 6 , 8 )
@endif
@next
TYPE $
TYPE $

TYPE $ P r e s s u r e Loads o f Load S e t : Hogging_Hydrodynamic_Pressure


@loadtype= ’PLOAD4 ’
@hd=tp . column ( tabh , ’HYDROD’ )
@hdelem=tp . column ( tabh , ’NR ’ )
@n=dm . o p e r a t e ( 0 . 0 0 9 8 0 6 6 , ’ ∗ ’ , hd )
@for i =1 r s i z e ( hdelem )
@ i f hd ( i )<>0 then
TYPE @sbs ( l o a d t y p e , 7 ) @fmt ( 7 , 0 , 7 ) @fmt ( hdelem ( i ) , 0 , 7 ) @fmt ( hd ( i ) , 6 , 8 )
@endif
@next
TYPE $
TYPE $

@tp . remove ( t a b s )

TYPE $ P r e s s u r e Loads o f Load S e t : S a g g i n g _ H y d r o s t a t i c _ P r e s s u r e


@loadtype= ’PLOAD4 ’
@hs=tp . column ( tab s , ’HYDROS ’ )
@hselem=tp . column ( ta bs , ’NR ’ )
@n=dm . o p e r a t e ( 0 . 0 0 9 8 0 6 6 , ’ ∗ ’ , hs )
@for i =1 r s i z e ( hselem )
@ i f hs ( i )<>0 then
TYPE @sbs ( l o a d t y p e , 7 ) @fmt ( 8 , 0 , 7 ) @fmt ( hselem ( i ) , 0 , 7 ) @fmt ( hs ( i ) , 6 , 8 )
@endif
@next
TYPE $
TYPE $

TYPE $ P r e s s u r e Loads o f Load S e t : Sagging_Hydrodynamic_Pressure


@loadtype= ’PLOAD4 ’
@hd=tp . column ( t abs , ’HYDROD’ )
@hdelem=tp . column ( ta bs , ’NR ’ )
@n=dm . o p e r a t e ( 0 . 0 0 9 8 0 6 6 , ’ ∗ ’ , hd )
@for i =1 r s i z e ( hdelem )
@ i f hd ( i )<>0 then
125

TYPE @sbs ( l o a d t y p e , 7 ) @fmt ( 9 , 0 , 7 ) @fmt ( hdelem ( i ) , 0 , 7 ) @fmt ( hd ( i ) , 6 , 8 )


@endif
@next

TYPE ENDDATA
@mn. command ( ’LINK 1 RESET ’ )
@mn. command ( ’CLOSE 11 ’ )

TYPE NASTRAN b d f F i l e c r e a t e d f o r Hogging and S a g g i n g V e r t i c a l Bending Moments


Index
3D Product Model, 2–4, 6, 9, 29, 57, 61, Inertia Relief, 58, 74, 75
62, 64, 72, 73, 76–78 Instantaneous Inclination Plane, 35, 36,
40, 41, 57, 67–70
Computational Fluid Dynamics, 1, 6
Interpolate, 43, 46, 48, 49
Design Wave, 3, 6, 18, 23–28, 31, 37, 39– Interpolation, 4, 43, 44, 46, 49, 51, 70
41, 46, 51, 52, 56, 64–66, 70, 77
NAPA, 6, 9, 10, 12, 13, 15, 57
Dynamic, 2, 3, 14, 21, 33, 34
NAPA Steel, 9
Equipment Mass, 3, 16, 26, 28, 30–32, 56, NASTRAN, 54, 56, 58, 73, 74
58, 62, 66, 73, 78 Nodal Force, 30, 31, 56, 58, 66
External Wave Load, 3, 4, 26, 28, 65, 72,
Panel Method, 11, 27
73, 78
Potential Theory, 11
Extreme Value, 18, 23, 27, 65, 77
Pressure Head, 34, 35, 39
Finite Element, 2–4, 6–9, 26, 29, 34–43, Probability of Exceeding, 22
46–52, 54, 55, 57–61, 66, 68–72,
Quadratic Programming, 58
74–79
Relative Motion, 14, 15
Free Surface Elevation, 25, 27, 28, 49, 50
Response Amplitude Operator, 23
Global Load, 3, 15, 17, 18, 21, 23, 24, 27,
Sagging, 17, 18, 25, 47, 48, 50–52, 55, 56,
47, 77
58, 71–73, 75, 78
Hogging, 17, 18, 25, 47, 48, 50–52, 55, 56,
Seakeeping, 3, 4, 6, 9, 10, 15, 20, 27, 31,
58, 71–73, 75, 78
39, 40, 42, 43, 45, 46, 48, 49, 51,
Hydrodynamic, 4, 10–13, 45, 46, 51, 52,
57, 58, 64, 70
56–58, 60, 70–73, 77, 78
Shepard, 4, 43, 46, 51, 70
Hydrostatic, 4, 6, 13, 34, 36, 45, 46, 49–
Sink, 11, 12
52, 56, 58, 60, 70–73, 77, 78
Sink/Source, 9, 11, 12, 46

126
127

Source, 6, 11, 12, 42, 57


Static, 2, 4, 29, 30, 33–35, 39, 41, 56, 58,
66, 68, 69, 75, 78
Steel Structure, 2, 16, 58
Still Water, 18, 46, 49, 55, 56
Strength, 2, 3, 11, 12
Strength Assessment, 1–5, 9, 17, 26, 29,
30, 32, 34, 42, 54, 55, 57, 62, 64,
73, 75, 79
Strip Method, 6
Strip Theory, 9, 10, 57

Tank Pressure, 3, 16, 26, 28, 32–34, 36,


37, 39, 41, 58, 68, 73, 78
Transfer Function, 20, 21, 64

Vertical Bending Moment, 3, 6, 10, 17,


18, 27, 46, 55, 57, 64, 65, 77, 78
Vessel-Fixed Coordinate System, 13, 14,
31, 34, 39, 68

Wave Spectrum, 19, 21


Wave Surface Profile, 45, 51, 52, 71
Wave-Induced, 4, 14, 18, 28–31, 34, 35,
38–41, 46, 55–58, 64–66, 68, 69,
78

Vous aimerez peut-être aussi