the pioneers of offshore engineering - plm …€¦ · the pioneers of offshore engineering ......

21
THE PIONEERS OF OFFSHORE ENGINEERING Presentation date: Presenter Name: Frederik Vanhee Room name: Cannes Presentation Title: Using NX Open to adapt NX CAE to our working methods.

Upload: buicong

Post on 05-Jun-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

THE PIONEERS OF OFFSHORE ENGINEERING• Presentation date:

• Presenter Name: Frederik Vanhee

• Room name: Cannes

• Presentation Title: Using NX Open to adapt NX CAE to our working methods.

TABLE OF CONTENTS1. Who we are and what we do

2. Background to our working method

3. NX Open examples

WHO WE AREAND WHAT WE DO

• Engineering firm in the offshore industry

• Basic design of:

• Jack-up (picture courtesy of Maersk drilling)

• Semi-submersible (column stabilized unit) (picture courtesy of Floatel)

• Vessel (picture courtesy of Noble Drilling)

• Offshore crane (picture courtesy of A2SEA)

OUR MODELS• Sheet body geometry with „common edges“

• Shell meshes with beam elements

• Coarse meshes for overall/global hull

OUR WORKING METHODWHY CLICK IF YOU CAN SCRIPT• Combine basic building blocks into a customized FEA analysis

• Efficient while maintaining flexibility

• Building blocks:

• Siemens NX and other commercial software

• In-house programs

• Small scripts (journals) running specific tasks

• Advantages of scripting:

• Efficiency

• Re-use of code

• Traceability

• Error tracing / model checking

• Running in batch mode

COMMON TASKSPRE - PROCESSING

Mesh

•Shell meshes with beam elements

•Some tools to make life easier

Loads

•From external hydrodynamics calculations (in & out phase)

•Mass distribution (excel)

•Legloads (in-house, via excel)

•Pressures

•…

Boundary conditions (BC)

•Depending on operational condition

Solution with subcases

•Generate subcases

•Assign loads and BC

Extract

MeshGustoMSC

compiled class

COMMON TASKSPOST - PROCESSING

Export results

•Universal file format (Structural Dynamics Research Corporation)

External processing

•Maximum stresses over phase angle

•Buckling verification according offshore codes

•Fatigue damage calculation

Import results

•Universal file format

Post processing

•Combining subcases

•Maximum over subcases/solutions

•Envelope of direct results and results form external post-processing

•Stress and other results plots

Sort resultsExport

universal file

Export

universal file

GUSTOMSC EXTRACT MESHBACKGROUND

• NX shell mesher performs best if entire model is meshed in one operation.

• Only one mesh and as a result 1 plate thickness.

• Extract functionality is element based and loses associativity

GUSTOMSC EXTRACT MESH• Mesh entire model in one operation

• Use GustoMSC extract mesh to create separate meshes for different plate thicknesses

• Advantage:

• Good mesh due to single initial mesh operation

• Separate meshes for plate thickness assignment

• Associativity

GUSTOMSC EXTRACT MESH

GUSTOMSC EXTRACT MESH

GUSTOMSC EXTRACT MESH

GUSTOMSC EXTRACT MESH

GUSTOMSC EXTRACT MESH

GUSTOMSC COMPILED CLASSBACKGROUND

• Typical journal process:

• Record journal

• Modify code in journal to function or sub

• Call function several times in Main()

• One journal file per „functionality“

alternative: template journal with all GustoMSC functions at the bottom

• How do we keep track of journals

• Avoid remaking the same functionality

• Improve existing functionality

GUSTOMSC COMPILED CLASS• GustoMSC compiled class is a .dll containing all GustoMSC functions.

• User gets access to these function in every journal by late binding

• Also works in batch mode

• Advantages:

• Small step up

• Clean journal files

• User has latest up to date functionality

• Continious improvement of existing functionality

GUSTOMSC COMPILED CLASSJOURNAL AND CLASS

GUSTOMSC EXPORT UNIVERSAL FILE

• We have legacy stand-alone post-processing programs for buckling, fatigue, ...

• Take universal file as input and return as output

• Standard NX functionality not sufficient

• GustoMSC export universal file from NX

• No need to change our internal (legacy) programs

• Seamless transition from Ideas

GUSTOMSC SORT RESULTS• Some Sorting/envelope of results used in almost all analyses

• Similar functionality as the standard NX functionality

• Available as script

Dim SolutionNumbers() As Integer = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}

Dim LoadcaseNumbers() As Integer = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24}

Dim IterationNumbers() As Integer = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}

Dim ResultNumbers() As Integer = {4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}

Dim Component As CAE.Result.Component= CAE.Result.Component.VonMises

Dim operation As CAE.ResultsEnvelopeBuilder.Operation = CAE.ResultsEnvelopeBuilder.Operation.Maximum

Dim name As String = "Maximum_VonMises"

Sort(SolutionNumbers, LoadcaseNumbers, IterationNumbers, ResultNumbers, CAE.Result.Component.VonMises, CAE.ResultsEnvelopeBuilder.Operation.Maximum, name)

Sort(SolutionNumbers, LoadcaseNumbers, IterationNumbers, ResultNumbers, CAE.Result.Component.VonMises, CAE.ResultsEnvelopeBuilder.Operation.Maximum, "Maximum_VonMises")

Sort(SolutionNumbers, LoadcaseNumbers, IterationNumbers, ResultNumbers, CAE.Result.Component.Xx, CAE.ResultsEnvelopeBuilder.Operation.Maximum, "Maximum_Xx")

Sort(SolutionNumbers, LoadcaseNumbers, IterationNumbers, ResultNumbers, CAE.Result.Component.Xx, CAE.ResultsEnvelopeBuilder.Operation.Minimum, "Minimum_Xx")

Sort(SolutionNumbers, LoadcaseNumbers, IterationNumbers, ResultNumbers, CAE.Result.Component.Yy, CAE.ResultsEnvelopeBuilder.Operation.Maximum, "Maximum_Yy")

Sort(SolutionNumbers, LoadcaseNumbers, IterationNumbers, ResultNumbers, CAE.Result.Component.Yy, CAE.ResultsEnvelopeBuilder.Operation.Minimum, "Minimum_Yy")

Sort(SolutionNumbers, LoadcaseNumbers, IterationNumbers, ResultNumbers, CAE.Result.Component.Zz, CAE.ResultsEnvelopeBuilder.Operation.Maximum, "Maximum_Zz")

Sort(SolutionNumbers, LoadcaseNumbers, IterationNumbers, ResultNumbers, CAE.Result.Component.Zz, CAE.ResultsEnvelopeBuilder.Operation.Minimum, "Minimum_Zz")

NX OPENSUMMARY

• Able to solve all our needs

• Allowed us to move forward

• Confident that it can be used for all future needs

THANK YOU FOR YOURKIND ATTENTIONPLM EUROPE 2017, BERLIN

Using NX Open to adapt NX CAE to our working methods

Frederik Vanhee

© Copyright GustoMSC B.V. 2015. All rights reserved