This topic lists all the changes that have been made to OrcaFlex since version 7.0. The list is extensive and to help navigate the topic you can use the links below.
A more in depth discussion of the major new features introduced in 11.3 is available on our blog.
Lines
A new tabular contents method has been added to allow line contents to be specified as a general function of time and/or arc length. This may be used to import the results of a separate flow assurance analysis into OrcaFlex, for instance to perform analysis of slug flow. This new contents method, when combined with the new expansion tables, may also be used to perform pipeline buckling, walking and stability analyses.
A contents temperature data item has been added for the uniform and slug flow contents methods.
Expansion tables can now be associated with line types, which can be used to specify the line expansion factor as a function of contents temperature and pressure.
New results variables have been added for contents temperature, pressure, mass flow rate and flow velocity.
There is now an option to automatically calculate a line's length and end orientations from the positions of its ends. If this option is selected, then the total unstretched length of the line is set equal to the distance between end A and end B in reset state, and the $z$-axis of the local axes at each end will point along the straight line running from end A to end B. This can be useful when using the line to model a structural member forming part of a rigid truss structure.
In previous versions, the line data form contained a button captioned set lay azimuth. This button has been removed and the functionality is instead available via an identically named menu item on the popup menu for the lay azimuth data.
The superimposed motion option previously named displacement RAOs + harmonic motions has been renamed RAOs + harmonics. The functionality is exactly the same as in previous versions. This change has been made to make it conserve space on the already crowded vessel calculation page of the all objects data form.
Vessel sea state RAO position data can now be visualised on a 3D view window by using a new view sea state RAO points button on the vessel data form.
Constraints
Constraints can now have their connection set to free, which means that the constraint is free to move in six degrees of freedom (three translational and three rotational), just like a free 6D buoy. The purpose of a free constraint is to provide a useful frame of reference that provides a more convenient alternative to a negligible 6D buoy. A free constraint has no instrinsic properties of its own (other than applied loads) and derives its motion entirely from the influence of any child objects that have been connected to it. The out-frame has no independent meaning for a free constraint and moves completely in unison with the in-frame.
Turbines
The turbine calculation code has been optimised. A typical full-system turbine simulation, such as those modelled in the turbine examples, might be expected to see a reduction in simulation time of approximately 25%.
Two models, González and Minnema Pierce, are now included to account for unsteady aerodynamic effects including: unsteady attached flow, trailing-edge flow separation, dynamic stall, and flow reattachment.
Morison elements have been extended to provide added mass and fluid inertia forces, in addition to the existing Morison drag force. Fluid inertia force has been added to the Morison element results that are reported by vessels and 6D buoys.
Environment
The limit on the number of coordinates that can be input for a 3D seabed has been increased to ten million, from two million previously. It is important to highlight that such large amounts of data can cause drawing of the 3D view to become slow. Some performance can be regained by use of the environment drawing options - we recommend that 3D seabed data points are not drawn, and the seabed grid density is reviewed.
Analysis
Restarts can now be performed from a specified time in the parent model's dynamic analysis. We refer to these as mid-simulation restarts. Previously, restarts could only be performed from the end of parent analysis. In order to perform a mid-simulation restart, the parent model must specify that restart state is recorded at the restart time.
Time history import range data have been added. These allow for better handling of time history import for restart analyses and extended simulations. Previously, for a dynamic restart analysis, there could be discontinuities in the interpolated time history data across the restart. Specifying an import range to cover the entire restart chain allows these analyses to be continuous. Additionally, simulations that used imported time history data could not be extended in previous versions. Extending such simulations is now possible, provided that appropriate import ranges are specified.
Imposed motion vessels, constraints and turbines now have an option to force their velocity and acceleration to be consistent with the assumptions made by the implicit integration scheme. This can be beneficial for certain models, such as those containing displacement RAO vessels which drive lines affected by Rayleigh damping. Unexpected tension spikes can occasionally appear in the segment of the line closest to the vessel connection, an effect which increases for larger time-steps. Forcing the motion of the imposed vessel to be consistent with the integration scheme can mitigate this issue. Previous versions of OrcaFlex would have automatically adopted this approach in certain cases, but the user can now decide if it is appropriate on a model-by-model basis.
OrcaFlex is now aware of Anaconda environments. If you start OrcaFlex from an Anaconda console, then OrcaFlex will use the Anaconda environment that is active when you start OrcaFlex.
Python 2 is no longer supported. OrcaFlex now supports Python 3.6 and later.
Type hints have been added to the Python API.
A number of new Python enum types have been introduced. For example, to create a new object you would previously write line = model.CreateObject(OrcFxAPI.otLine). This code will continue to work, but we now recommend you instead write line = model.CreateObject(OrcFxAPI.ObjectType.Line). The other new enum types can be found by looking through the source code for OrcFxAPI.py.
Automation
Collated results for chains of restart models can now be extracted using the OrcaFlex spreadsheet. This feature corresponds to the include restart parent models option on the OrcaFlex results form.
Collated results for chains of restart models can now be extracted directly from the API. This feature corresponds to the include restart parent models option on the OrcaFlex results form. For the C++ API this is done by calling C_CreateCollatedResultsAdmin and related functions. For Python and MATLAB you call the SampleTimesCollated, TimeHistoryCollated, GetMultipleTimeHistoriesCollated and RangeGraphCollated methods.
The Python Model class can now be treated as a mapping. This means that you can now use the in operator, the get method, etc.
Starting with R2022a, MATLAB has full support for Unicode character data and the the OrcFxAPI interface to MATLAB also has full support for Unicode character data. For earlier versions of MATLAB that do not have full Unicode support, the OrcFxAPI interface only supports ANSI characters.
Bug fix
Range jump suppression was being applied to the constraint angular displacement result. A negative angular displacement might have been reported in some cases, which is not appropriate for what is purportedly a magnitude (the unsigned value would still have been correct though).
New in version 11.2e
Python
Python external functions, post calculation actions and user defined results now support the latest version of Python, version 3.11.
Bug fixes
Undoing the deletion of a line that is part of a line contact relationship would fail to restore the relationship's contact stiffness data if that contact stiffness is variable.
The primary membrane stress result, Pm, did not correctly account for the direct tensile stress component. The result has been redefined to resolve this.
Simulation files containing change tracking state (i.e. variation models and restart analyses) generated by 11.3 could lead to an access violation error when loaded in earlier versions of 11.2.
Since version 11.1a, custom replays which change graphics mode were not exported correctly to .avi files.
The text data file representation of a variation model or restart analysis from which a multibody group had been deleted (relative to the parent model) would not reload into OrcaFlex.
Workspaces with collated results of restart analyses could fail to open with an access violation error. This would happen if the list of restart parent files in the workspace file contained file names that are not in the restart parent chain. The most likely way for this to occur is for a workspace to be applied to the wrong simulation file. The desired behaviour is that an informative error message be reported.
Since 11.1a, batch processing has not been using all available threads when the number of jobs is fewer than the thread count.
New in version 11.2d
Bug fixes
The OrcFxAPI function C_GetNodeArclengths was not working as intended for lines that made use of line feeding. It should report reference arc lengths for all nodes in the line, even inactive ones. The NodeArclengths property of the Python and MATLAB interfaces are implemented by calling C_GetNodeArclengths and so suffered from the same defect.
Requesting line end results via OrcFxAPI might have lead to an access violation error for lines that made use of line feeding.
Exporting an internal spreadsheet with more than 858 columns in .xlsx format produces an invalid .xlsx file that cannot be read by other programs, e.g. Excel.
Exporting an internal spreadsheet in .txt or .csv format does not output negative values to full precision.
Saving a text data file when using pre-bend specified by bend angle could sometimes fail with an export of variable PreBendBendAxisDirection failed error reported.
Models which specify a log start time and contain external functions could produce stream read or access violation errors when reporting results provided by the external functions.
OrcaFlex could sometimes fail to import WAMIT files with 10 or more bodies.
These bugs are fixed in version 11.2d.
New in version 11.2c
Bug fixes
Forces arising from seabed decoupled friction and tangential resistance profiles may have been incorrectly applied in dynamics if the statics seabed friction policy was as laid and the top end of the line was end A. In many models, this discrepancy would have been small and transient, dissipating away a few time-steps into the dynamic analysis.
Python code which created OrcaFlex models using the fileName parameter, e.g. model = OrcFxAPI.Model(fileName), failed with a TypeError: 'EnumClass' object is not callable error. This error only affects the 11.2b version of the Python API. A corrected version of the Python API can be installed from the PyPI repository: pip install --ignore-installed --no-deps OrcFxAPI
When importing vessel type data, a warning is produced if duplicate data are detected in the source file. When duplicate RAO data are noted, it is stated that the last set of RAO data in the source file are retained and imported. Earlier releases of OrcaFlex version 11.2 in fact retained a mixed set of RAO data from the source file. The previous behaviour is restored in this release, and the final set of RAO data are retained after an import of duplicated values.
Static state results pertaining to wave motion (e.g. sea surface elevation, fluid velocity) may have been incorrect if the results in question were queried at the end of the dynamic simulation, rather than immediately after the static analysis. This would only have affected models in which the ramp was non-zero at the start of the simulation.
Restart analyses to which two or more new shapes had been added (in comparison to the parent model) may have failed to run in some cases, with OrcaFlex reporting an unexpected program error.
Changing a winch's specified length or tension in a statics restart would have no effect, with the property in question being inherited from the parent analysis instead.
Using undo while a calculation was active (i.e. statics or dynamics) could result in an access violation error.
Switching between disturbance vessels on the view parameters form would have had no effect for models with multiple disturbance vessels: the 3D view would have always displayed the effects of the first one selected.
Requesting time series statistics from the Python API would fail with an invalid structure size error when using an 11.2 OrcFxAPI module with an 11.1 or older DLL.
Vertex normals were being handled incorrectly for shaded drawings based on panel meshes. This would have been most noticeable for 3D models with sharp corners and edges.
In Python it is possible to create an OrcaFlex model, and load a file in one call: model = OrcFxAPI.Model(fileName). If fileName is a simulation file and the simulation part of the file fails to load but data part can be loaded, then this code would previously load only the data, and not report an error. The correct behaviour is that an error is reported, and future versions will do that. The analogous bug also existed for MATLAB.
Changes to the implementation of recent versions of the Python virtualenv module resulted in such virtual environments not being recognised by OrcaFlex.
A more in depth discussion of the major new features introduced in 11.2 is available on our blog.
Lines
User-defined seabed tangential resistance profiles can now be added. These provide new modelling options for the interaction between the line and the soil, and may be used for applications such as pipeline breakout or slip.
The term normal friction coefficient has been replaced by lateral friction coefficient to match the prevalent convention in the literature and avoid confusion with the seabed normal direction.
A decoupled model of lateral and axial friction has been added for seabed interaction. This model does not average the lateral and axial friction coefficients and instead treats them as defining independent forces.
An option has been added to allow seabed contact forces to be applied at the line centreline when torsion is included, rather than at the point of contact. This may be more appropriate for a line embedded in the seabed, as applying the force at the contact point might lead to unphysical twisting of the line.
The line type CG offset data has been renamed as centre of mass. This change has been made in the interests of consistency across the program. The meaning and interpretation of the data is unchanged.
The location of the shear centre can now be specified for the turbine blade profile. This allows the blade model to capture structural couplings which can be important for some turbine designs.
To allow for drivetrain flexibility, the turbine's main shaft stiffness and damping can now be specified. If a finite stiffness is given, the hub can rotate, about the main shaft axis, relative to the gearbox's main shaft output.
New results, the hub relative velocity and its components, have been added. These report the wind velocity at, and relative to, the hub. In addition, the TTurbineInstantaneousCalculationData structure has been extended to include a hub relative velocity field. This could, for example, be used in an external function implementing a turbine control system.
Vessels
A new page of vessel data for inertia compensation is now available. Users can input a set of inertia data here which will be subtracted from the typical inertia that the vessel type provides. Only the vessel which is given inertia compensation data is subject to this subtraction - other vessels using the same vessel type are not affected.
The vessel type centre of gravity data has been renamed as centre of mass. This change has been made in the interests of consistency across the program. The meaning and interpretation of the data is unchanged.
Supports
Supports can now accept a negative value for the bend radius of a simple geometry path section. This will curve the path in the opposite sense to usual, allowing S-shaped paths to be defined.
Compound object properties
The compound object properties report calculates combined properties for a collection of objects. These combined properties are reported relative to a specified reference point. This reference point can now be selected from any object in the model. Previously, the reference point had to be chosen from just the collection of objects whose combined properties were reported.
Change tracking
In order to minimise the size of the change tracking data in an OrcaFlex .dat or .sim file, especially for a statics-only .sim file, OrcaFlex's binary file output has been significantly compressed. Unfortunately, this means that a binary variation model or restart analysis which was generated in version 11.2 will not open in version 11.1. However, files generated in 11.1 will open in 11.2.
Opening variation files with large parent models can take a long time due to the overhead of change tracking. It is now possible to disable change tracking for variation files by replacing BaseFile with BaseFileNoTracking in a text editor. When such a file is opened, OrcaFlex does not track changes, which means that the file can be loaded more quickly. However, because change tracking has been disabled, if you open such a file, and then save it, the entire model data will be saved, rather than just the tracked changes from the parent.
For shaded drawing, the handling of axis conventions for Wavefront .obj files has been changed. In previous versions, OrcaFlex assumed .obj files used a left-handed coordinate system with the $Y$-axis vertically upwards. In this version, OrcaFlex assumes .obj files use the same right-handed coordinate system as OrcaFlex, with the $Z$-axis vertically upwards. You can use the orientation and mirror in plane data to convert between these assumed conventions and the actual conventions used by your .obj file. When reading binary .dat files created by previous OrcaFlex versions, the shaded graphics drawing data is converted to match the conventions assumed by this version of OrcaFlex.
Results
Root mean square (RMS) has been added to the linked statistics output.
Frequency domain load case simulation files can now be used for rainflow fatigue analysis and histogram collation. Both of these calculations are based on rainflow analysis and therefore require results time histories. For load cases that do use frequency domain dynamics, this rainflow calculation is based on synthesised time histories.
Automation
Batch script commands (NewVariationModel and NewRestartAnalysis) have been added to support pre-processing for variation models and restart analyses.
Python
This will be the final release of OrcaFlex which supports Python 2. Future releases of OrcaFlex will support Python 3.6 and later.
A new function, C_GetFatigueOutput, has been added to allow fatigue analysis and histogram collation results to be extracted directly from the API.
This functionality is also exposed by the Python and MATLAB interfaces.
Bug fix
The error message raised when a sea state RAO table contained duplicate data could have referred to the incorrect rows in the table, but only when interpolating on direction and period only.
This bug is fixed in version 11.2a.
New in version 11.1e
Python
Python external functions, post calculation actions and user defined results now support the latest version of Python, version 3.10.
A bug introduced in 11.1d could cause an invalid multidimensional array arguments error when importing full QTFs from OrcaWave. Only full QTFs were affected, and only if the results were generated by OrcaWave 11.1c or earlier.
In the OrcaFlex spreadsheet, performing pre- and post-processing actions with workbooks that are synched by OneDrive would fail.
Saving a completed restart analysis as a binary data file (.dat) may have incorrectly written the positions of some objects. This defect did not affect .sim files.
Performing a whole system modal analysis immediately after a single line modal analysis would lead to errors. Mode type and offset distribution, which are not available for whole system modal analysis, would be reported, containing values from the previous single line modal analysis. And, if the number of calculated modes was increased, then an access violation could occur.
For frequency domain analyses, showing a summary results report for a line resulted in an access violation error.
A missing data error could occur when attempting to run a simulation using QTF data imported from OrcaWave if the QTF periods or frequencies were restricted to a specified range in OrcaWave.
Exceptions raised in external functions when handling the eaDeriveResult action could lead to erroneous behaviour (incorrect results, floating point exceptions, etc.) in future operations. For instance, when saving and then loading a simulation file, or continuing dynamics.
When a turbine tower end was connected to a line or a turbine blade, the data that specifies which end of the parent the z connection coordinate is relative to was not always visible on the turbine date form.
A line's statics seabed friction policy might have been used to initialise the friction target positions of its nodes, even if this data was hidden on the data form, which happens when statics is disabled or the line is not included in statics. However, it would not have incorrectly overridden the friction target positions loaded from a parent model in a dynamic restart analysis.
When a file saved by version 11.2 or later is opened by version 11.1a, 11.1b or 11.1c then an access violation error would be reported and the file would fail to open.
These bugs are fixed in version 11.1d.
New in version 11.1c
Batch processing
A new option has been added to the batch form to skip dynamics. When this option is checked, dynamics will not be performed for OrcaFlex data files (.dat or .yml), even if dynamics is enabled for the model.
Bug fixes
The line feeding payout rate was not taking into account the new ramp start time and ramp finish time data that was added in 11.1a. Instead, the ramp of payout rate would always have occurred between the simulation start time and time 0, this interval always being the build-up period in previous versions of OrcaFlex.
In versions 11.1a and 11.1b, seabed friction for line drag chain attachments was mistakenly excluded during static analysis of standard model types. Seabed friction was correctly applied during dynamics, and during static analysis of a restart for drag chains that are present in the parent model.
The tracked changes for spar buoy wave load RAO data were not being restored correctly after reloading a binary data or simulation file. The same tracked changes would also be lost when pressing the cancel button on the 6D buoy data form.
Change tracking for mid-line connections might not have worked correctly if rows were inserted into or deleted from the mid-line connections table and some of the connection parent objects were changed.
Connecting an object to a turbine blade did not take into account pre-bend when deciding which part of the blade to connect to.
OrcaWave results files containing very large intermediate results may have raised a file is corrupt error when imported into OrcaFlex. The error occurred if the intermediate results exceeded 2GB on disk, and therefore only affected extremely large files.
In version 11.0 and earlier, constraint declination could be in the range -360° to 360°. However, declination values should be restricted to be in the range 0° to 180° as they are for line end orientations, turbine orientations, etc. This bug was corrected in version 11.1a, which enforces the correct range. However, in versions 11.1a and 11.1b, this is enforced at the point of data entry, but not when loading existing data files. In version 11.1c, when data files containing out of range declination data are loaded, the constraint orientation data is modified so that declination is in the range 0° to 180°.
Since version 11.0a, out-of-balances forces were not being drawn at the end of the statics calculation. Because out-of-balance forces are zero for free degrees of freedom in static equilibrium, this bug only affected constrained degrees of freedom.
These bugs are fixed in version 11.1c.
New in version 11.1b
SHEAR7
Support has been added for export of mode slope values to a SHEAR7 modes file. Previous versions of OrcaFlex would always output zero for mode slope values.
Associated with these non-zero mode slope values, users now have the choice of whether acceleration due to gravity should be output to the SHEAR7 data file. Previous versions of OrcaFlex would always request that the SHEAR7 analysis should include acceleration due to gravity, although this would typically have no impact on the SHEAR7 calculation because modes files generated by OrcaFlex contained zero values for mode slope.
Bug fixes
Contact drawing for lines could be incorrect for certain dynamic restart models. This would happen if the parent model contained elastic solids, but the child restart model did not. Likewise this would happen for a line which used clashing or line contact in the parent model, but did not in the child restart model. As well as the incorrect contact drawing, replays could lead to stream read error.
A dynamic restart from a static parent model could have failed to run in certain circumstances if there had previously been a dynamics stage in the chain of restart models. This would only happen for a model in which a line with torsion included was in contact with a shape or the seabed.
Replays and time histories for restart analyses which include restart parents would fail if the simulation files were moved from their original locations.
Simulation files saved by version 11.1a would not open in previous versions of OrcaFlex if the model contained any lines with mid-line connections.
Ochi-Hubble spectra with large values of $\lambda_1$ or $\lambda_2$ could lead to floating point overflows.
For turbines with large numbers of blade elements (more than about 420), calculations would fail with a stack overflow error.
If vessel type frequency dependent added mass and damping data does not provide matrices for at least one finite period/frequency, then OrcaFlex cannot proceed with a simulation where any vessel using this type has either added mass and damping or manoeuvring load as included effects: because those effects use these data. However, calculations would be blocked by such vessel type data, even when the relevant included effects were not selected.
When editing models saved using the text data file format, undo or redo of data changes made with the edit data as text action would erroneously change the data file format to binary.
In version 11.1a, any jobs added to the batch list while batch processing was in progress would not be cancelled if the batch was subsequently stopped.
A missing data error could occur when attempting to run a simulation using QTF data imported from OrcaWave if the QTF frequencies (or QTF crossing angles) were restricted to a specified range in OrcaWave.
For certain models, OrcaFlex would become unresponsive when using the results form and viewing the objects by group.
The shaded drawing could have failed to render for objects whose drawing data consisted of disjoint panels specified by wire frame edges.
When the vessel shaded drawing origin data is set to '~', the vessel type origin is used. Previous versions failed to account for length scaling when using the vessel type origin to draw the vessel's shaded mesh.
With the 11.1a MATLAB API, calling CreateObject on MATLAB version 2017b and earlier led to a too many input arguments error. This is because our code used a feature introduced in version 2018a (implicit call to inherited constructor).
The MATLAB API would fail to parse certain valid expressions of the form model(objectName).methodName, failing with a too many output arguments error.
In 11.1a, licences claimed by the OrcFxAPI DLL were not being reported by the Orcina licence monitor.
These bugs are fixed in version 11.1b.
New in version 11.1a
A more in depth discussion of the major new features introduced in 11.1 is available on our blog.
Recordings of the OrcaFlex 11.1 user group webinars can be viewed here:
The restart analysis development represents a huge change to OrcaFlex, and affects almost every aspect of the software. Whilst we have put in a correspondingly huge testing effort, we anticipate that some defects and issues remain. If you encounter any unexpected behaviour that you suspect to be a defect, please let us know. We will, as always, attempt to fix any defects as quickly as possible.
A standard model is the type of model found in earlier versions of OrcaFlex.
A variation model is specified entirely in terms of the differences between itself and another OrcaFlex model, the parent model. Variation models use change tracking to identify those data items that differ versus the parent model. The basic functionality of variation models was available in previous versions of OrcaFlex (through text data files using the BaseFile identifier). What is new in this version of OrcaFlex is the ability to prepare these variation models in the OrcaFlex GUI.
Whilst a restart analysistracks its changes against a specified parent model, in the same way that a variation model would, restarts are, from an analysis perspective, conceptually distinct from either of the other two model types. A standard OrcaFlex model behaves in exactly the same fashion as an equivalent variation model once the analysis begins; they only differ in the way that the model data is presented to the user. A restart analysis behaves very differently to either. Instead of simply running the model with the specified data, it will first load the parent simulation file and inherit as much state (e.g. the positions of objects) as possible, before attempting to pick up where the parent analysis left off. This is not simply the same as extending an existing model because the in built change tracking architecture allows for changes to be made to the model data before restarting. This capability makes restart analyses much more powerful: in principle, every property of the model could be changed (although not all changes are permitted in practice), e.g. friction coefficients, object positions and even the masses of objects. Objects can even be created and deleted in the restart analysis.
Simulation stage and time data
To support the new restart analysis feature, significant changes have been made to the way that the simulation stage and time data is specified.
The number of the first stage can now be specified by the user. This allows a sequence of dynamic restart analyses to use distinct numbers for their stages.
The simulation time for the start of the simulation can now be specified by the user. Again, this allows a sequence of dynamic restart analyses to use distinct simulation times. Very commonly such a sequence would use contiguous, increasing simulation times.
The dynamic ramp can now be performed between user specified simulation times. These ramp times can even span multiple restart analyses.
The simulation can now be ramped down by specifying that the ramp finish time is before the ramp start time.
Static analyses are now associated with a specified simulation time. This allows a sequence of static restarts to have distinct simulation times. This is sometimes necessary for calculation purposes, e.g. when the model uses data that is time-varying, and the static analysis simulation time is used to look up values from the time-varying data. Giving the sequence of restarts distinct simulation times is also useful when showing replays and results as it provides a means of identifying each restart analysis within the sequence.
We have also changed the way that the number of stages is specified on the general data form. In previous versions the number of stages excluding stage 0 was specified. Now you must specify the total number of stages, including stage zero.
Note:
This has a potential impact for automation, for instance in scripts that access the stage data. In previous versions, the name of the data item was NumberOfStages. In this version the data item is named StageCount. Both of these names are available. Existing code using NumberOfStages will continue to work as before, because NumberOfStages still means number of stages excluding stage 0. For any new code we recommend that you use StageCount which means the total number of stages. Using StageCount will make it easier to cross-check your automation code with the data displayed by the GUI.
Analysis
Characteristic lengths and forces can now be specified on the all objects data form for objects with free degrees of freedom. These define a measure of scale for the various convergence checks made during an OrcaFlex analysis. If explicit values for the characteristic scales are not specified, then OrcaFlex calculates its own characteristic scales from the intrinsic properties (e.g. weight, buoyancy) of the objects in the model, which is the philosophy used prior to version 11.1.
Vessels (via vessel types), lines (via line types), turbines, 6D buoys and 3D buoys can now be given zero mass. This can be useful when they do not themselves have free degrees of freedom but you wish to connect them to another object without contributing any additional mass to the parent object.
6D buoys
The give buoy negligible properties button on the 6D buoy data form now sets the buoy's mass to zero. Previously it was not possible to give a buoy zero mass, and so a negligible non-zero value was assigned.
Lumped buoy wire frame data can now, optionally, be specified by panels rather than edges. This makes little difference to program behaviour for the wire frame view, but it can be a significant benefit for the shaded graphics view. When edges are used to specify the wire frame data, OrcaFlex finds each set of connected vertices, and draws the smallest convex hull enclosing each set. This may not be a good representation of the object. If the wire frame data is specified by panels, then these are used directly to define a surface, and this typically does result in a good representation of the object.
An origin can now be specified for lumped buoy wire frame data. This origin is defined relative to the buoy axes, and the wire frame vertices are defined relative to the wire frame origin.
Symmetry can now be specified for lumped buoy wire frame data. This can be one of none, xz plane, yz plane or xz and yz planes. If wire frame symmetry is specified then the vertices, edges and panels are reflected in the specified symmetry plane or planes to generate additional vertices, edges and panels that are implied by the symmetry.
Turbines
Turbine blades can now be pre-bent to model blades which are not straight in their unstressed state.
To accommodate pre-bent blades, the definition of the in plane deflection and out of plane deflection results have been revised. Rather than report the node's position relative to the pitch-axis, these results now report the node's position relative to its unstressed position. In most cases, this modification will mean a small change in the reported value.
Range graph results are now available for turbine blades.
The initial rotor angle can now be specified. Previously the rotor angle always started at zero.
A new sidewall pressure result has been added, defined as the product of effective tension and the magnitude of curvature. Although this quantity is named pressure, it is not a true pressure value, having units of force per length.
The choice of line reset representation on the general data form determines whether the line is represented in the reset state by the analytic catenary or quick methods. In previous versions it was possible to have this choice determined by a user preference. This user preference has now been removed and so this choice is determined solely by the general data form setting, which is stored to the data file as part of the model data. This change has been made to ensure consistency between GUI and API behaviour when the new change tracking feature is active.
For vessels using filtering calculation mode, a new data item named calculate hydrostatic stiffness angles by is available. This influences the calculation of the roll and pitch angles used as input to the hydrostatic stiffness load. Two options are available: subtraction and orientation. Versions 11.0 and earlier calculated these angles by subtraction. The two methods are equivalent if the vessel type has zero datum trim angle. For significantly non-zero datum trim angle, we believe that the orientation method is preferable.
Vessel wire frame data can now, optionally, be specified by panels rather than edges. This makes little difference to program behaviour for the wire frame view, but it can be a significant benefit for the shaded graphics view. When edges are used to specify the wire frame data, OrcaFlex finds each set of connected vertices, and draws the smallest convex hull enclosing each set. This may not be a good representation of the object. If the wire frame data is specified by panels, then these are used directly to define a surface, and this typically does result in a good representation of the object.
An origin can now be specified for vessel wire frame data. This origin is defined relative to the vessel axes, and the wire frame vertices are defined relative to the wire frame origin.
Symmetry can now be specified for vessel wire frame data. This can be one of none, xz plane, yz plane or xz and yz planes. If wire frame symmetry is specified then the vertices, edges and panels are reflected in the specified symmetry plane or planes to generate additional vertices, edges and panels that are implied by the symmetry.
For time history waves, you can now specify a component truncation threshold. This is especially useful for long simulations which can require huge numbers of wave components, as generated by the Fourier transform. The component truncation threshold is used to remove the highest frequency components, such that the proportion of spectral energy removed is determined by the component truncation threshold. A judicious choice of threshold can allow simulations to run much more quickly, without significant impact on results.
Frequency domain
Wave load (1st order), wave drift load (2nd order) and added mass and damping load, are now available as vessel results.
Modal analysis
When performing modal analysis, if the mode shapes are reported with respect to the global axes, the modes table now includes the modal mass and stiffness.
User interface
An option has been added to the data form popup menu that sets data items to their default values.
Previous versions of OrcaFlex had, on some data forms, buttons to set certain data items to their default values. For instance, there were such buttons for convergence parameters. Because of the new set to default feature on the data form popup menu, these buttons are redundant and so have been removed.
For shaded graphics, if a 3D model of the object is not provided, vessels and buoys are drawn as a solid, filled-in shape based on the wire frame data. This is done by finding the convex hull of wire frame vertices. Previous versions of OrcaFlex used inefficient code to calculate the convex hull. For objects with a large number of wire frame vertices, this could result in the program taking a long time, or even hanging, whilst switching to shaded view. The convex hull code has been replaced with more efficient code to solve this problem.
External functions
Python external function scripts can now be embedded directly in the data, in addition to the existing option of being defined in an external file.
User defined results
User defined results scripts can now be embedded directly in the data, in addition to the existing option of being defined in an external file.
Files can be added whilst a batch is running. Previously this feature has the limitation that all pre-existing jobs must be run to completion before OrcaFlex starts processing the files added whilst the batch was active. This limitation has now been removed.
In previous versions, the choice of whether to perform statics or dynamics was made on the batch form. This functionality was referred to as the analysis method. This choice is now made in the OrcaFlex input data, on the analysis page of the general data form. Therefore, to avoid duplication, the batch form functionality for choosing analysis method has been removed.
Simulation log files
OrcaFlex stores the results of a simulation by sampling at regular intervals and storing the samples in a temporary log file. When you save the simulation OrcaFlex writes the data to the simulation file, followed by a copy of the log file, so that the sampled values can be read back in again at a later date.
Objects in OrcaFlex can be connected to each other with one object giving control of its degrees of freedom to the other. Previously we used the terms master and slave to describe the two objects involved in a connection. We now use the terms parent and child.
Whilst the terms master and slave are widely used in a technical manner in finite element software, they are nonetheless derived from the abhorrent practice of slavery. We apologise sincerely for any offence caused by our historic use of these terms.
OrcFxAPI (OrcaFlex programming interface)
New options, MonochromeOutput, AddDetailsToOutput and JpegCompressionQuality, have been added to the TViewParameters struct, and its Python and MATLAB equivalents. These options expose the same functionality as the equivalent preferences.
A new function, C_SaveSpreadsheetMem, has been added to the programming interface. This complements the existing C_SaveSpreadsheet function and allows spreadsheets to be saved to memory rather than disk file. The Python interface also makes this functionality available.
The SaveSummaryResults function is now available for the model object in both the Python and MATLAB interfaces. Previously this was available for individual objects (e.g. lines, vessels, buoys, etc.). When called on the model object, this function produces a summary results file for all objects in the model.
The C_AssignWireFrameFromPanelMesh function has been extended to allow the new wire frame type option to be specified. Accordingly the corresponding Python and MATLAB functions have been modified to accept an additional wireFrameType parameter. You should review any code that uses these functions to ensure that it is compatible.
New functions, C_GetObjectExtraFieldRequired and C_GetRequiredObjectExtraFields, have been added. These allow you to query which object extra fields are required for particular results variables. The Python and MATLAB interfaces also make this functionality available.
A new function, C_GetLineResultPoints, has been added which allows you to find out at which points results are reported along a line, a turbine blade or a Morison element. The Python and MATLAB interfaces also make this functionality available.
New functions to change a model's thread affinity have been added: C_AttachToThread and C_DetachFromThread. The Python interface also makes this functionality available.
Historically, boolean data was always treated as string data with possible values 'Yes' and 'No'. It is now possible for this data to be treated as ordinal data, but for reasons of backwards compatibility this functionality is not enabled by default. To enable this functionality you must activate the EnableBooleanDataType policy.
Bug fixes
For models containing a line with a nonlinear stress-strain relationship and an additional bending stiffness, if the solution method had changed from frequency domain to time domain, then running statics would fail with an invalid floating point operation error.
Turbine models using the specified torque generator control mode with free blade DOFs and very stiff segments at root, could fail to converge once the generator had undergone a large number of rotations. The solver has now been adapted to be more robust to such cases.
Using the analytic catenary line reset representation for lines with free top ends could have affected the subsequent calculation by changing the effective initial position of the top end. This discrepancy was generally very small and did not usually lead to any noticeable effects. However, in some rare cases this could lead to models converging when run from the GUI, but not the API, or vice versa.
The behaviour of winches using the specified payout rate change control mode was dependent on how the simulation was partitioned into stages. These discrepancies were generally small and in proportion to the simulation time step.
These bugs are fixed in version 11.1a.
New in version 11.0g
Python
Python external functions, post calculation actions and user defined results now support the latest version of Python, version 3.9.
Bug fixes
When using the static position (interpolated) wave calculation method, the wave time origin could be applied incorrectly in some circumstances. This could happen if the simulation start time was not a multiple of the wave calculation time interval (or the simulation time step if the wave calculation time interval is zero). In these circumstances, the wave time origin would be applied with an error no greater than the wave calculation time interval (or the simulation time step).
The histogram collation feature of the fatigue analysis tool was reporting incorrect values when the histogram bin size was small. If the bin size was sufficiently small, such that greater than 1000 bins were required, then the reported histogram values would be incorrect.
Excel 2019 and Office 365 could sometimes crash when using the OrcaFlex spreadsheet.
Vessel type symmetry convention may have been incorrect after importing OrcaWave results. Specifically, if the option to use mesh symmetry for the import was selected in OrcaWave, then the vessel type was assigned the symmetry of the body mesh file. This was incorrect because symmetries from the body mesh file can be broken, e.g. by specifying a non-zero heel angle in the diffraction analysis. If an import is performed with OrcaFlex 11.0g or later, it now takes account of any broken symmetries.
These bugs are fixed in version 11.0g.
New in version 11.0f
Bug fixes
Vessel manoeuvring load has been changed to exclude a contribution that was previously double-counted. Part of the contribution to vessel inertia load from added mass was included in the simulation twice. The removal of this contribution from the manoeuvring load is done by the first term of the load component equations presented in the theory.
The WAMIT output file presenting multibody added mass and damping data for import was assumed to always refer to waves by period. This assumption could be false, and the imported data would then be associated with the wrong period or frequency. The import process will now attempt to determine whether the .1 file refers to waves by period or by angular frequency.
Opening the Morison element type data form could result in grid index out of range error messages for models containing a large number of Morison element types.
These bugs are fixed in version 11.0f.
New in version 11.0e
Bug fixes
Video export for custom replays which include a static state stage failed with a floating point overflow error.
Users could encounter an error with message "Attempt to read a variable that has not been logged" when requesting velocity or acceleration results for a shape object that was (directly or indirectly) held by a constraint. To trigger the bug, the constraint had to begin moving during simulation by use of the out-frame release stage data or release condition, and have only fixed degrees of freedom initially.
When solving in the frequency domain at low frequency, the wave drift load process relies on interpolating the QTF data on wave direction relative to vessel heading. Previously the vessel's heading in reset state was used to perform this calculation. However, the vessel's heading after the static equilibrium has been calculated is more appropriate. This will most significantly affect vessels for which the static equilibrium has a large yaw disparity relative to the reset heading.
Invalid floating point operation errors could be shown when performing calculations for models with lines using the slug flow contents method and that also specify the frequency domain dynamics solution method. The errors are thrown by the slug flow drawing code so a simple workaround is to disable slug flow drawing for each line that uses the slug flow contents method.
A multithreading bug could lead to program crashes when opening multiple data files simultaneously. This has been observed when starting a batch run, but the issue could also occur when using the API to open multiple data files simultaneously.
When copying objects between models via the clipboard, OrcaFlex copies associated type objects. For instance, if a line is copied from one model to another, any line types that the line uses are also copied. If the target model already contains type objects with the same names, then a decision must be made: use the data from the clipboard, or use data already in the target model? OrcaFlex is meant to ask the user to make this decision, but since 10.3a the mechanism to ask the user has been broken and the program always opts to use the data already in the target model.
Panel mesh import for Sesam .fem files was failing (reporting an invalid node number error) for some valid files that contain triangular elements (ELPTYP=25).
Embedded Python execution (e.g. external function, post calculation actions, user defined results, etc.) would sometimes fail for virtual Python environments.
Stiffener attachments protecting the ends of lines could make an unwanted Rayleigh damping contribution to the line end connection load if torsion is not included and the protected line end also has finite end connection stiffness.
Loading a static state simulation file could result in an invalid floating point operation if a summary results window was active.
YAML fatigue files that use BaseFile were not being processed correctly in batch mode. The base file was being overwritten with the output .ftg file, and the output spreadsheet was being saved with the wrong file name.
Shaded graphics model import from panel mesh files was failing with an unexpected program error for very large mesh files.
A new function, C_AssignWireFrameFromPanelMesh has been added to the programming interface. This is used to to set an object's wire frame drawing data based on an imported panel mesh. This function is equivalent to the GUI's functionality to import wire frame drawing data. The Python, MATLAB and C# interfaces also make this functionality available.
For the Python API, the tags property now returns None for objects that do not support tags. Previosuly an exception was raised.
For the MATLAB API, a new method named HasTags has been added.
Bug fixes
Disabled line contact relationships were being used to determine the extent of the coupling between lines when using either the solve coupled systems line statics step 2 policy or the include coupled objectsmodal analysis option. This meant that the degrees of freedom of a larger group of model objects than was strictly required may have been included as part of a single coupled analysis, even when the system could have been decomposed into two or more independent subsystems. This just affected the grouping of the degrees of freedom when performing the analysis; the results of any coupled analysis would still have been valid.
Line contact relationships in which the protected or splined lines had not been assigned were simply being ignored during the calculation. Such relationships are invalid and should have been brought to the attention of the user via an error message.
Attempting to use the analytic catenary solver to determine the shape of a line in reset state could sometimes lead to an unexpected error if the line was neutrally buoyant.
Attempting to view an instantaneous valuerange graph for the final time-step of a simulation may have resulted in an access violation for lines that use line feeding. This only affected some models and only for a small subset of the line results variables.
Morison element drag diameters were not being converted correctly when the model units system was changed. For instance, if drag diameters were entered in SI units, and the model units system was subsequently changed to US units, then the Morison element drag diameters were not being correctly converted from metres to feet.
The PD 8010 Young's modulus was not being converted correctly when the model units system was changed. This data is used in the PD 8010 torsion, load combinations and bending strain checks.
The SHEAR7bending stress curvature load factor was not handled correctly when using non-SI units systems. When OrcaFlex creates the SHEAR7 data file, it must convert to the units system used by SHEAR7. When using non-SI units, SHEAR7 requires stress values to be given in kpf/in2 (ksi), but previous versions of OrcaFlex were incorrectly converting to lbf/ft2.
An access violation error was raised if the OrcFxAPI function C_GetVarID was called for an OrcaFlex object that does not provide any results, e.g. type objects.
Previous versions could erroneously report that connection moments would not be transferred between two lines, neither with torsion included and connected with zero connection stiffness. This could only have happened if the child line had at one time had torsion included and a non-zero end connections twisting stiffness had been set.
In versions 11.0a and 11.0b, it was possible in the 3D view window to drag attachment objects (clumps, flex joints, etc.). This should not be possible and can lead to unexpected program errors.
New functions, C_CreatePanelMesh, C_DestroyPanelMesh and C_GetPanels have been added to the programming interface. These functions are used to import panel mesh files. Panel mesh files are used by OrcaFlex for drawing purposes and by OrcaWave to define diffraction bodies. The new functions have been introduced primarily to facilitate our internal testing and we do not expect these functions to be widely used by end users. The Python, MATLAB and C# interfaces also make this functionality available.
New in version 11.0a
A more in depth discussion of the major new features introduced in 11.0 is available on our blog.
Distributed OrcaFlex
A number of changes have been made to the structure and layout of the installation directory which have an impact on Distributed OrcaFlex. In order to use OrcaFlex version 11.0, or later, with Distributed OrcaFlex you must be using Distributed OrcaFlex 6.1 or later.
Software licensing
OrcaFlex now supports software licensing using FlexNet Publisher, in addition to the existing dongle-based licensing system. While the code to implement software licensing is in place in OrcaFlex, we are still developing our back-office systems. Because of this, the process of obtaining and maintaining a software licence is not yet as smooth as we would wish. Bearing this in mind, if you would like to migrate some or all of your licences to the new software licensing system, please contact us.
Diffraction analysis
OrcaWave is a diffraction analysis program which calculates loading and response for wet bodies due to surface water waves via potential flow theory. OrcaWave is licensed as part of the OrcaFlex product. If you have a licence of OrcaFlex, then you have access to OrcaWave.
OrcaWave can perform single body and multibody analyses, and first and second order calculations. Hydrodynamic data from OrcaWave output files can be imported seamlessly by OrcaFlex. Full details of OrcaWave's capabilities can be found in the documentation.
This is the first release of OrcaWave and so there is still some desirable functionality that we have not yet had time to implement. Perhaps most significantly, the program currently uses direct matrix solvers. We are aware that, for large meshes, performance can be greatly improved using iterative solvers. We will address that in the next development cycle. We are sure that users will have many other feature requests, and we look forward to receiving such feedback and prioritising future developments.
Turbines
The turbine can now be associated with a tower by choosing from two tower influence models. Based on potential theory, these models allow the tower's influence on the undisturbed wind field, due to the so-called tower dam effect, to be accounted for.
The Øye dynamic inflow model can optionally be used when calculating the rotor aerodynamic loading. This accounts for the time that the turbine's wake takes to adjust to a change of flow conditions.
Blade pitch angle can now be controlled for individual blades. This feature is enabled by the new data item pitch control mode. If common pitch control mode is selected, then all blades share the same pitch angle, as was the behaviour in previous versions. If individual pitch control mode is selected then each blade has an independent pitch value. Existing external function pitch controllers will need to be adapted in order to take advantage of individual pitch control.
Turbine blade nodes now carry a new frame known as the node structural frame. This frame accounts for the user-specified structural twist at the node arc length and is used for drawing and reporting. Blade node results that were reported with respect to the node B-frame have changed to be reported using this new frame. Results that have changed include the node angular motions and the blade load components reported at end A.
Child objects can now be connected to either the turbine hub or to a given blade at a specified arc length. Previously, child objects were always connected to the turbine hub.
New turbine results are available: blade deflections, tower and line clearances, rotor aerodynamic load and power, rotor aerodynamic thrust and power coefficients, rotor swept area, skew angle, disc averaged wind velocity and extra BEM output.
A monitoring start time can now be specified. Before this time, any warnings associated with the BEM method failing to converge will not be reported.
Lines
The analytic catenary solver can now be used to determine the shape of lines in reset state. This permits effects such as seabed contact and buoyancy to be seen in the 3D view before the static calculation has been performed. The choice of line reset representation on the general data form determines how line shapes should be calculated in reset state. Selecting quick statics here restores the behaviour prior to version 11.0a.
Line velocity and acceleration results can now, optionally, be logged. Previously these values were never logged and velocity and acceleration results were derived using numerical differentiation of position. Logging the values leads to more accurate velocity and acceleration results, at the cost of increased simulation file size.
New relative velocity results have been added: x relative velocity and y relative velocity. The existing result named axial relative velocity has been renamed z relative velocity.
New drag and lift force results have been added: drag force, normal drag force, x drag force, y drag force, z drag force and lift force.
New fluid inertia force results have been added: fluid inertia force, x fluid inertia force, y fluid inertia force and z fluid inertia force.
New Morison force results have been added: Morison force, normal Morison force, x Morison force, y Morison force and z Morison force.
Range graphs of lines that use line feeding no longer contain points for nodes that are inactive or have arclengths that change during the specified period of the simulation. Previously, these points were included with their y-axis values set to N/A, meaning that they appeared in the table of values, but were not displayed on the graph.
Loads arising from Rayleigh damping during the simulation now contribute to reported connection load results. We did not have the internal code mechanisms to readily report these loads when we originally implemented the Rayleigh damping feature and so we made the decision to omit them. This seemed reasonable because the Rayleigh damping load is often small compared to the physical load. Mechanisms now exist within our code that allow us to report these loads. This restores the desirable property that the acceleration is consistent with the reported constraint load.
Constraints
Nonlinear stiffness data can now be treated as hysteretic, which can be used to model non-elastic stiffness forces and moments between the in-frame and out-frame.
Vessels
The OCIMF current and wind load model for drag due to translational relative velocity has been extended to 6 degrees of freedom. Previously, following the standard OCIMF method, only horizontal loads (surge, sway and yaw) were included. The drag model has been extended to include heave, roll and pitch loads.
Previously, for current and wind load with xz and yz symmetry, the OCIMF yaw coefficients were forced to be zero. This restriction has been lifted.
New sea state results have been added for vessels. These include results for the disturbed wave field generated by any vessel that uses sea state RAOs. Previously, these results could only be obtained via the workaround of attaching dummy reporting objects, such as 6D buoys, to the vessel.
Time history synthesis replays for frequency domain dynamic analysis now handle contact drawing in a consistent manner. Previously, only line contact with the seabed was drawn, and this was based on the synthesised positions. Now, all forms of line contact (seabed, elastic solids, supports, line contact) are handled. The contact drawing is now based on the static state because this is the model state in which the system is linearised for frequency domain solution.
User interface
Indicator marks can be drawn at the origins of vessels and 6D buoys. These marks are drawn optionally, determined by a preference which can also be modified from the view menu and with keyboard shortcutSHIFT+ALT+Y.
Panel mesh files (Wamit .gdf and Nemoh .dat) can be used for shaded graphics model import.
The summary and full results type have been combined into a single result type named summary. A new check box has been added to the select results form which allows you to choose whether or not abbreviated summary results are reported. This check box is analogous to the distinction between summary and full results in previous versions.
Summary results windows are no longer closed when the model is reset. The content of these windows is now automatically updated whenever a calculation is performed.
Automatic tiling can now be disabled by selecting no tiling from the window menu. This allows you to arrange windows manually and would typically be used when generating workspaces with custom window layouts for presentation purposes.
The internal code used to convert between floating point and text has been modified to make it more accurate. The code used in previous versions for such conversions was sometimes inaccurate in the final digit of precision. Such tiny errors have no real bearing on engineering results, but they can lead to a lack of repeatability if values are converted from binary to text and back again, for example when saving and loading to and from text data files. As part of these changes, the formatting of floating point values displayed by OrcaFlex has changed. This formatting can be controlled by a new user preference, minimum digits after decimal separator.
The relative to feature for 3D views now allows view parameters to be specified relative to 3D buoy and turbine objects.
Excel post-processing can now modify data using the Set data command. Typically this would be used to modify data used solely for post-processing such as stress loading factors and code checks data.
A new function, C_GetRangeGraphNumOfPoints3, has been added to the programming interface. This function is used to find out how many points there are in a range graph for a given period and arc length range. This function has been added to introduce the period parameter which is needed because of changes to the way range graphs are handled for lines that use line feeding, as described above. The existing functions C_GetRangeGraphNumOfPoints and C_GetRangeGraphNumOfPoints2 are now considered deprecated.
A new function, C_ModifyModel, has been added to the programming interface. This function may be used to delete unused types from the model, or to delete unused variable data sources from the model. The Python, MATLAB and C# interfaces also make this functionality available.
A new function, C_SetLibraryPolicy, has been added to the programming interface. This function is used to set module-wide policies that are controlled in OrcaFlex by preferences or command-line parameters. The Python, MATLAB and C# interfaces also make this functionality available.
Functions have been added to the programming interface to expose the new diffraction functionality. The Python and MATLAB interfaces also make this functionality available.
Bug fixes
Attempting to display a specified arc lengths or specified sectionsrange graph for a line may have resulted in an access violation error if line feeding was being used.
Analytic catenary lines could sometimes trigger a fatal error when drawn in the 3D view. This happened rarely and has only been observed in the 64 bit version of OrcaFlex.
Synthesised replays for frequency domain analyses did not support the relative to feature of 3D views. Attempting to make a 3D view window relative to an object rather than global, for a synthesised replay, resulted in an unexpected program error.
Calling C_GetMultipleTimeHistories (or the Python and MATLAB equivalents) to extract results for turbines sometimes failed to subsequently restore the model to its original state. The results returned by C_GetMultipleTimeHistories were correct, but erroneous results could have been reported if the simulation was then extended.
Contact forces for lines were being incorrectly reported as zero for the instantaneous value results period corresponding to the very end of the simulation. This issue would only persist until the replay time was changed for the first time.
It is possible for WAMIT.out files to contain field point hydrodynamic pressure data but not the associated fluid velocities. This would be the case if WAMIT were run with $\textrm{IOPTN}(6)=\pm 1$. Importing an .out file of this type into OrcaFlex would previously have resulted in the sea state velocity potential disturbance RAO gradients being computing assuming that the fluid velocity was zero everywhere. Now, the velocity potential disturbance RAOs are not imported if the corresponding data are not present in the .out file; instead, the disturbance RAO gradients are set to be calculated by OrcaFlex by finite difference approximation.
We have made an implementation change for some of the types used for external functions and post calculation actions. The info object passed to external functions and post calculation actions now defines Python slots. This has two consequences:
These types are now more compact and attribute lookup speed is faster.
It is not possible to use attributes other than those specified (by OrcaFlex) in the type's slots.
This second item may have an impact when migrating external functions and post calculation actions to the new version of OrcaFlex. Previously it was possible to write code like this:
def Initialise(self, info):
info.myCustomAttribute = someValue
Now that the info object is declared using slots, such code will result in a Python error. If you encounter any such errors they can be resolved by moving the custom attribute into your class:
def Initialise(self, info):
self.myCustomAttribute = someValue
Bug fixes
In the model browser, pasting either the general object or the SHEAR7 data object could corrupt memory leading to access violation errors.
In 10.3c, external functions which called C_GetMultipleTimeHistories (or Python external functions which called TimeHistory passing multiple variable names) were handled incorrectly during dynamics. Symptoms included time running backwards and simulations becoming unstable.
Dynamic simulations using wind time histories could be extended and in such cases the time history data were erroneously extrapolated after this point. Extending such simulations is no longer permitted.
Those unable to upgrade 10.3c can work around the external function multiple time histories defect by using individual calls to C_GetTimeHistory2 or, for Python, by calling TimeHistory multiple times, passing a single variable name in each call.
New in version 10.3c
Bug fixes
The Coriolis force arising from contents flow inside a line was being applied with the wrong sign. This only affected lines with a non-zero contents flow rate.
Results for any shape connected to a turbine may have been incorrectly reported and the shape may have been drawn in the wrong position during the replay. The components, with respect to local axes, of vessel and winch connection loads, as well as line end loads, could also have been incorrect, if the object in question was attached to a turbine. However, the simulation itself would not have been affected by this issue.
These bugs are fixed in version 10.3c.
New in version 10.3b
Turbines
The TTurbineInstantaneousCalculationData structure has been extended to provide more fields that may be useful when writing turbine controllers, or wrapping existing turbine controllers.
Lines
It is now possible to explicitly specify the value of the effective seabed slope assumed in the computation of analytic catenary solutions. The effective seabed slope is no longer computed from the lay azimuth; instead, if an explicit slope has not been set, it is computed from the positions of the line ends when the model is in reset state.
Automation
A new function, C_GetUnitsConversionFactor, has been added to the programming interface. This function calculates the scaling factors required to convert between values in the model unit system and the SI unit system. The Python, MATLAB and C# interfaces also make available this functionality.
External functions
External functions can now notify OrcaFlex that simulations which use the external function cannot be resumed after having been saved and then loaded. This is done as follows:
Analytic catenary lines laid down on any part of the seabed that was out of the water would not have correctly accounted for the dry weight of the line. For technical reasons, laydown on dry seabed is no longer permitted for analytic catenary lines.
Analytic catenary lines with buoyant sections could sometimes cause an access violation error in OrcaFlex during static analysis, but only when the analytic catenary solution grid had the potential to extend beneath the seabed.
An analytic catenary line could sometimes be drawn incorrectly in the 3D view if its bottom end was above the sea surface and some part of it was laid down on the seabed.
The Jacobian (rate of change) calculation associated with hysteretic bend stiffness for lines was previously incomplete. This had no effect on the accuracy of the calculated bend moment, but may have have increased the iteration count and slowed down the calculation.
Python post calculation actions that contain syntax errors could sometimes result in access violation errors.
Tether stiffness for links was incorrectly labelled as having units of force per unit length, e.g. kN/m in default SI units. However, this value has units of force, e.g. kN in default SI units. Although incorrectly labelled on the data form, OrcaFlex correctly interpreted the value as a force.
OrcaFlex would sometimes fail to open simulation files that use frequency dependent vessel added mass and damping. This would occur if that instance of OrcaFlex had previously cancelled a static or dynamic calculation. To workaround the issue, open the simulation file in a new instance of OrcaFlex (close the program down and restart it).
The combination of full field wind and 6D buoy wings results in Access Violation errors. There is no workaround for this.
These bugs are fixed in version 10.3b.
New in version 10.3a
Turbines
Turbines are a new type of object, introduced to model horizontal axis wind turbines. The turbine object includes functionality to model the generator, gearbox, pitch controller and rotor. Blades can be modelled as rigid bodies or can be flexible, utilising a structural model derived from that of the line object. Controllers are supported through user specified external functions. Aerodynamic load is captured through an implementation of the blade element momentum (BEM) method adapted from AeroDyn v15.04.
We are continuing to work on the turbine model and plan, in future releases, to extend it to include
blade / tower interaction
dynamic stall
dynamic inflow
subsea modelling, i.e. for marine hydrokinetic devices
as well as a number of other features. If there is any functionality that you would like to see added, or you have any other feedback, then please let us know.
Wind
Full field wind can now be modelled. This allows for variation of wind velocity in both space and time, with data specified in an external file.
At the moment the only supported format is the binary TurbSim .bts full field file. However, in future releases we intend to add support for other commonly used file formats. In addition, we intend to extend OrcaFlex to allow turbulent wind fields to be generated directly in OrcaFlex.
Again, if there is any functionality relating to wind field specification that you would like to see added, or you have any other feedback, then please let us know.
Quasi-dynamic analysis
It is now possible to model a line using an analytic catenary representation instead of the usual finite element representation. This feature is primarily designed to facilitate quasi-dynamic mooring analysis, in which the mooring line loads are calculated from analytic catenary equations. The removal of the line degrees of freedom from the analysis typically leads to a significant reduction in computation time. The analytic catenary representation can provide a reasonable approximation in cases where the inertia and bend stiffness of the mooring lines can effectively be neglected. Analytic catenary lines do not, however, allow directly for any damping, and an additional source of damping may need to be introduced. This can usefully be done with vessel other damping.
Vessels
Vessel other damping has been extended to be applicable to a wider range of scenarios. You now specify which velocity to use in calculating the damping load, and so determine which part of the response is to be damped. This velocity can result from wave frequency motion, low frequency motion or total motion. You also have a choice of frame of reference in which to apply the damping load. This choice effectively defines the coupling between vessel response and damping load. The overall vessel modelling approach will often dictate how this coupling should be handled, so your choice here will often be related to the other vessel data in use: see the other damping topic for more details.
It is now possible to specify an integration time step for the added mass and damping convolution integral with the impulse response function. This can speed up the calculation significantly in cases where it is justifiable to use a convolution time step that is longer than the simulation time step.
Lines
Two enhancements have been made to line pre-bend to make model development easier:
3D views of the pre-bend shape can be displayed using the view pre-bend shape button on the pre-bend data page. These views present the unstressed line shape and node orientations.
Previously the pre-bend shape was specified by entering the $x$ and $y$ components of curvature. As an alternative, the pre-bend shape can now be specified by entering bend angle, bend radius (or equivalently arc length) and the theta angle that defines the plane of bending.
Contact between lines and supports can now be subject to friction. The friction coefficients are defined on the friction coefficients data form (which has been renamed accordingly; it was previously the solid friction coefficients data form).
Solid contact friction
The way in which friction coefficients are defined for contact between attached 6D buoys and elastic solids has been improved. You can define a friction coefficient which applies to all 6D buoys, and this may be overridden for specific, individual buoys by defining a different value for each one – this has not changed. Previously, however, attached 6D buoys used the friction coefficient defined for all 6D buoys. Now, attached 6D buoys use the friction coefficient defined for the 6D buoy which represents their attachment type if it is specified, and that for all 6D buoys if it is not.
User defined results
It is now possible to set up your own user defined results. These allow you to extend OrcaFlex by defining, using Python scripts, additional results.
In essence, user defined results are a convenience feature for post-processing. There is nothing that can be done with user defined results that could not be done with other forms of post-processing. The convenience is that user defined results can be used in exactly the same way as any pre-defined results. For example, you can plot graphs of your own user defined results in the OrcaFlex GUI. You can extract user defined results using any of the various post-processing interfaces available to OrcaFlex. And so on.
Object tags
Model objects (e.g. lines, vessels, line types, etc.) now maintain a set of name/value pairs known as tags. These tags are user-defined, and are not used at all by the built-in calculation routines within OrcaFlex. They are intended for use by external functions, post calculation actions, user defined results, post-processing scripts etc; you are, however, entirely free to decide if and how to use them.
The batch processing form can now accept Python script and command script jobs. These job types would typically be used to collate the output from other types of job.
Automation
A new function, C_GetMultipleTimeHistories, has been added to the programming interface to provide more efficient mass post-processing. This function extracts multiple time history results, and is designed to be more efficient than making multiple calls to C_GetTimeHistory2.
A function has been been added to the programming interface to support saving model 3D view images to memory rather than files: C_SaveModel3DViewBitmapMem. A new bitmap file format has been added, bffRGB, to save the 3D view image as an RGB pixel array.
The Python, MATLAB and C# interfaces also make available all of the above functionality.
Python version support
Support for Python versions 3.0, 3.1 and 3.2 has been dropped because it has become very hard to install these old versions and associated third party modules for testing purposes. OrcaFlex now supports Python 3.3 and later, in addition to retaining support for Python 2.7.
Official support for Python 2.7 is ending in 2020, and we would expect OrcaFlex to stop supporting Python 2.7 at a similar time. We recommend using a modern version of Python 3 for all your Python automation tasks.
Data access name changes
The following changes have been made to data access names:
Enumeration
Previous name
New name
Interpolation method
Cubic Spline
Cubic spline
Cubic Polynomial
Cubic polynomial
Shaded drawing mirror in plane
XY Plane
XY plane
XZ Plane
XZ plane
YZ Plane
YZ plane
Sea surface type
Single Line
Single line
6D buoy type
Spar Buoy
Spar buoy
Lumped Buoy
Lumped buoy
Towed Fish
Towed fish
6D buoy added mass specified by
RAOs and matrices for Buoy
RAOs and matrices for buoy
Wing type pen
Use Wing pen
Use wing pen
Use Buoy pen
Use buoy pen
Clump align with
Line Axes
Line axes
Global Axes
Global axes
Constraint type
Imposed Motion
Imposed motion
JONSWAP parameters
Partially Specified
Partially specified
Fully Specified
Fully specified
Kinematic stretching method
Vertical Stretching
Vertical stretching
Wheeler Stretching
Wheeler stretching
Extrapolation Stretching
Extrapolation stretching
Wind type
NPD Spectrum
NPD spectrum
API Spectrum
API spectrum
Time History (Speed)
Time history (speed)
Time History (Speed & Direction)
Time history (speed & direction)
Vertical density variation
Bulk Modulus
Bulk modulus
Wave calculation method
Instantaneous Position (exact)
Instantaneous position (exact)
Instantaneous Position (interpolated)
Instantaneous position (interpolated)
Static Position (interpolated)
Static position (interpolated)
Specified by Environment
Specified by environment
Line setup calculation mode
Calculate Line Lengths
Calculate line lengths
Calculate Anchor Positions
Calculate anchor positions
Line setup target mode
No Target
No target
Horizontal End Force
Horizontal end force
Buoys included in statics
Individually Specified
Individually specified
Reynolds number calculation
Cross Flow
Cross flow
Flow Direction
Flow direction
Wave search method
Height or Steepness
Height or steepness
Height and Period
Height and period
Min. bend radius tension variable
Wall Tension
Wall tension
Effective Tension
Effective tension
External function time step
Inner Time Step
Inner time step
Outer Time Step
Outer time step
Specified Time Step
Specified time step
Histogram variable
ZZ Stress
ZZ stress
von Mises Stress
von Mises stress
Direct Tensile Stress
Direct tensile stress
Bending Stress
Bending stress
ZZ Strain
ZZ strain
Direct Tensile Strain
Direct tensile strain
Effective Tension
Effective tension
Wall Tension
Wall tension
Bend Moment
Bend moment
Shear Force
Shear force
Full statics convergence
Line Search
Line search
Mag. of Std. Error / Change
Mag. of std. error / change
Step 1 statics method
User Specified
User specified
Step 2 statics method
Full Statics
Full statics
Dynamics VIV method
Milan Wake Oscillator
Milan wake oscillator
Iwan and Blevins Wake Oscillator
Iwan and Blevins wake oscillator
Vortex Tracking (1)
Vortex tracking (1)
Vortex Tracking (2)
Vortex tracking (2)
SHEAR7 Strouhal type
User Specified
User specified
Rough Cylinder
Rough cylinder
SHEAR7 power ratio exponent
Equal Probabilities
Equal probabilities
SHEAR7 fatigue calculation method
Zero Crossing
Zero crossing
VIVA section type
Strake (General)
Strake (general)
Line segment pen mode
Use Line Type Pen
Use line type pen
Use Segment Pen
Use segment pen
Line contents method
Free Flooding
Free flooding
Slug Flow
Slug flow
Wave type
Dean Stream
Dean stream
Time History
Time history
User Defined Spectrum
User defined spectrum
User Specified Components
User specified components
Response Calculation
Response calculation
Gaussian Swell
Gaussian swell
Link type
Spring/Damper
Spring/damper
Line type wizard calculation
Rope/Wire
Rope/wire
Line with Floats
Line with floats
Homogeneous Pipe
Homogeneous pipe
Line type wizard rope construction
6×19 Wire with Fibre Core
6×19 wire with fibre core
6×19 Wire with Wire Core
6×19 wire with wire core
Line type wizard homogeneous pipe material
High Density Polyethylene
High density polyethylene
User Specified
User specified
Line type wizard hose type
High Pressure
High pressure
Low Pressure
Low pressure
Fold-Flat
Fold-flat
Line type category
Homogeneous Pipe
Homogeneous pipe
Equivalent Line
Equivalent line
P-y model
API RP 2A Soft Clay
API RP 2A soft clay
API RP 2A Sand
API RP 2A sand
P-y Table
P-y table
QTF conventions rotation axes
Rotated
rotated
Original
original
QTF conventions frame of reference
Body-Fixed
body
Earth-Fixed
earth
Rayleigh damping mode
Stiffness Proportional
Stiffness proportional
Mass and Stiffness Proportional
Mass and stiffness proportional
Shape type
Elastic Solid
Elastic solid
Trapped Water
Trapped water
Shape
Curved Plate
Curved plate
Vessel primary motion
Time History
Time history
Externally Calculated
Externally calculated
Vessel superimposed motion
Displacement RAOs + Harmonic Motion
Displacement RAOs + harmonic motion
Time History
Time history
Vessel type drawing
Use Vessel Type's own pen
Use vessel type's own pen
Use this pen for Vessel Type
Use this pen for vessel type
Vessel prescribed motion mode
Constant Speed
Constant speed
Speed Change
Speed change
Vessel added mass and damping method
Frequency Dependent
Frequency dependent
Wake model type
User Specified
User specified
Winch control mode
Whole Simulation
Whole simulation
By Stage
By stage
Winch stage control mode
Specified Payout
Specified payout
Specified Tension
Specified tension
Specified Length
Specified length
Specified Payout Rate
Specified payout rate
Specified Tension Rate of Change
Specified tension rate of change
Specified Tension Change
Specified tension change
Length at Stage End
Length at stage end
Specified Payout Rate Change
Specified payout rate change
In many cases these changes will have no impact on your use of OrcaFlex, however there are scenarios where you may need to take action when upgrading OrcaFlex.
Data and enumeration names are case insensitive in OrcaFlex. Consequently, batch script files, Python/MATLAB scripts, etc. that pass these names to OrcaFlex will not be affected by letter case changes to these names.
When data and enumeration names are changed by more than just letter case, OrcaFlex remains aware of the names used in previous versions. Again, this means that if you pass the old names to OrcaFlex, then they will be recognised.
When OrcaFlex returns enumeration names to your Python/MATLAB script then the new name is returned. This is the scenario which is most likely to require action when upgrading. If your script compares the enumeration name against a hard-coded value then your script may need to be modified. You may need to change the hard-coded value, or if the name change is only to the letter case, then it may suffice to use case insensitive comparison.
New in version 10.2d
Python
Python external functions and post calculation actions now support the latest version of Python, version 3.7.
Bug fixes
If wind loading was included on a vessel, but excluded from vessels in the environment data, then frequency domain analysis for the low frequency solvers failed with an access violation error.
If wind loading was included on a vessel, but no wind load coefficients specified, then frequency domain analysis for the low frequency solvers failed with an access violation error.
Flat seabeds with non-zero slope angle were appearing in shaded drawing with incorrect elevation; these sloping seabeds could appear too high or too low relative to the rest of the model. Results and calculations were not affected, only the position in which the seabed was drawn on a shaded 3D view. As a workaround, profile seabeds draw correctly, and can reproduce a sloping seabed if only two data points and linear interpolation are used. The data points chosen must be far enough apart to bracket the entire extent of the model. For more detail on this method, please contact Orcina.
When synthesising a replay following a frequency domain solve, an object's orientation could be incorrectly drawn. This issue only affected the drawing; the simulation results were still valid.
Attached 6D buoys with line supports failed to calculate and apply the support contact force.
Selecting the modes view page of the modal analysis form could raise an invalid floating point operation error if the model contained an imposed motion constraint.
Hauling in a line node with another object connected to it should result in an error message being reported. However, this error message was being reported even if the connected object had already been released.
The upper limit on the number of 3D seabed data points has been increased from 300,000 to 2,000,000.
Bug fixes
Simulations using Rayleigh damping or line feeding may have failed to run if the model also contained either a vessel with calculated (3 DOF) primary motion or a constraint with exactly two free rotational DOFs.
Time domainrange graphs of mid-segment results over a fixed time period, e.g. whole simulation or a specified period, may have incorrectly shown results for segments of the line that did not have fixed mid-segment arc lengths throughout the period. These segments should not have been displayed at all because they correspond to results at moving arc lengths.
Environment sea elevation time histories may have been incorrect in the presence of a moving disturbance vessel. Only the reporting of the elevation results was affected: the simulation and all other results used the correct elevation values. Only models in which the specified disturbance vessel moved were affected.
Vessels connected to constraints did not always display their primary motion treatment data on the vessel data form, even when these values affected the calculation. In particular, this issue affected any vessel connected to an imposed motion constraint.
Curvilinear constraints failed when the decimal separator specified in Windows regional settings was not a period. The reported error message was AttributeError: 'Tuple' object has no attribute '_eval_power'.
Undo or redo could fail with an access violation error if performed during a static or dynamic calculation.
The LabelScale member of the OrcFxAPI TViewParameters structure was being ignored.
The calculate line lengths mode of the line setup wizard was not compatible with lines that have inactive parts. This combination of features should have been blocked in version 10.2a.
OrcaFlex sometimes failed to run beyond statics if a line's end A and end B initial arc lengths were both ~ and the payout rate was non-zero at one or both ends. Cases that failed include lines whose step 1 statics method is quick, and models in which a static state or instantaneous valuerange graph is visible.
Validation of contents flow and sea state disturbance vessel data was not carried out for the inactive parts of any line. It was therefore possible to run a model containing data that would otherwise have been disallowed if the line were fully active.
OrcaFlex's SHEAR7 and VIVA interfaces were not working correctly for lines with inactive parts.
A line's actual arc length result could have been reported incorrectly if its payout rate was specified by a variable data table that truncates to zero before the end of the simulation. This only happened once the truncation to zero had occurred, and then only for lines that used smooth growth to control their payout rate. This bug could also have affected instantaneous valuerange graphs because the actual arc length values of the nodes are the abscissae on these graphs.
The MATLAB interface to OrcaFlex was installed incorrectly by the 10.2a installation program. Two source code files, ofx6DBuoyObject.m and ofxWaveScatter.m were missing from the installation. Scripts that depend upon these files would fail to run.
These bugs are fixed in version 10.2b.
New in version 10.2a
End of support for Windows Vista
Microsoft ended support for Windows Vista in April 2017. As a consequence of this, we at Orcina have now retired all of our Vista machines. This in turn means that it is no longer practical for us to test and support our software on Vista. Accordingly, OrcaFlex is no longer supported on Vista.
Vessels
Vessels now have a choice of calculation mode. If the calculation mode is set to filtering, then vessel behaviour will match OrcaFlex version 9.8; if it is QTF modification, vessel behaviour will match versions 10.0 and 10.1 of OrcaFlex. There was extensive discussion of the QTF modification mode on its release in OrcaFlex 10.0, so the new in version 10.0 notes are a good place to begin reading about the difference between these modes.
Include axial contents inertia, on the line type data form, has always been used to include or exclude the axial component of translational inertia due to line contents. Now, in addition, it determines whether or not the radially offset contribution to the content's rotational inertia, about axes normal to the line's axis, is to be included (previously, those radial contributions were always included). For most models the change will be insignificant, only becoming important for large-diameter lines.
Line mid-wall stress and strain results are now available. Previously these results were only available at inner and outer fibre.
New stress results are available. Bending stress is defined as $(\text{ZZ stress}) - (\text{direct tensile stress})$. Pm and Pb report primary membrane stress and primary bending stress respectively.
Morison elements are a new type of attachment that can be rigidly attached to a vessel or a 6D buoy. Morison elements are composed of a collection of rigid cylinders which attract hydrodynamic drag forces. They were developed to simplify the modelling of structures composed of inflexible elements for which only hydrodynamic drag is required. An example of their use might be to include the influence of quadratic viscous drag on the bracing of a semi-submersible, which has been neglected as part of a linear hydrodynamic analysis.
A new type of shape, the label, is available for drawing purposes. Label shapes have no physical effect on the model and do not interact with other objects. They are used to define arbitrary text labels to be drawn on the 3D view. The size of the text can be controlled by the label scale preference.
Label shapes is something of a misnomer since they have no geometric shape. Whilst this is potentially confusing, we took the decision to include this functionality in the shape object because it is the object most commonly used purely for visualisation.
Supports
Supports can now be released at the start of any stage of the simulation. Once released, the supports are no longer active in the model and apply no forces or moments to supported lines.
Constraints
The out-frame of a constraint can now be disconnected from its in-frame at the start of any stage of the simulation.
Curvilinear constraints are a new class of constraint that can be used to model motion along arbitrary curves and surfaces, to apply mixed calculated and imposed motion, and to dynamically release the out-frame of a constraint based upon some user-specified criteria.
Full statics for lines that include torsion was previously performed in two stages. Line statics was first solved with torsion not modelled, and then solved again with torsion modelled. A new option has been added that allows the intermediate non-torsion solve to be skipped. The static analysis is usually quicker and more robust if the intermediate non-torsion solve is performed. However, some lines, typically those involving significant amounts of twist or pre-bend, may converge more robustly if the intermediate non-torsion solve is not performed.
Whole system statics can now optionally be suppressed. Usually whole system statics should be performed because it brings the entire system into a static equilibrium. However, there are situations where it may be desirable to skip this step, usually because you wish to start dynamics from a non-equilibrium state, for instance to perform analysis of rate of decay. Before this feature was introduced, the same effect could be achieved by setting a very large value for the tolerance.
Modal analysis
Modal analysis for single lines now allows, optionally, for coupled objects to be included in the analysis. This is especially useful when creating mode shapes files for use by external VIV programs. For some systems, the mode shapes are unrealistic if the analysed line is considered in isolation: including coupled objects in the modal analysis may be necessary to obtain more realistic mode shapes. The interfaces to SHEAR7 and VIVA have been extended to support this option. All automation interfaces have been extended to make this option available.
The combinedsolution frequencies option has been renamed low frequency, combined linearisation. The functionality is unchanged, and the renaming intended to describe the functionality more accurately.
Complex-valued results process components are now reported on a new page of the statistics report and are available via Excel post-processing. Previously these were only available through the programming interfaces.
Code checks
The definition of API STD 2RDmethod 1 and method 2 results has been changed. The new definition is the square root of the expression used previously. For illustration, OrcaFlex previously used equations of the form
\begin{equation}
\frac{(|T_\mathrm{e}/T_\mathrm{y}| + |M/M_\mathrm{y}|)^2 + \{(p_\mathrm{i}-p_\mathrm{o})/p_\mathrm{b}\}^2}{F_\mathrm{d}^2}
\end{equation}
Starting from this version, the following equation is used instead
\begin{equation}
\frac{\sqrt{(|T_\mathrm{e}/T_\mathrm{y}| + |M/M_\mathrm{y}|)^2 + \{(p_\mathrm{i}-p_\mathrm{o})/p_\mathrm{b}\}^2}}{F_\mathrm{d}}
\end{equation}
These results are unity checks, i.e. values less than 1 are acceptable, values greater than 1 are not acceptable. Hence, the boundary between acceptance and failure remains unchanged, but the absolute values away from the boundary are altered. The change has been made so that these results behave more like corresponding results from other code checks.
A new data item, corrosion allowance, $t_\textrm{corr}$, has been added for the API STD 2RD code check. This is used to determine a minimum wall thickness, from the nominal wall thickness, as $t_\textrm{min} = t_\textrm{nom} - t_\textrm{corr}$. Then, $t_\textrm{min}$ is used to calculate the burst pressure, $p_\mathrm{b}$, and elastic collapse pressure, $p_\mathrm{c}$. These pressure capacities are used in the calculation of the method 1 and method 2 results. OrcaFlex previously used $t_\textrm{nom}$ in determining these capacities.
A new data item, corrosion thickness, $t_\textrm{corr}$, has been added for the PD8010 code check. This is used to determine a minimum wall thickness, from the nominal wall thickness, as $t_\textrm{min} = t_\textrm{nom} - t_\textrm{corr}$. Then, $t_\textrm{min}$ is used to calculate the thin wall hoop stress in the allowable stress check. OrcaFlex previously used $t_\textrm{nom}$ when calculating the thin wall hoop stress for this code check.
Fatigue analysis
A new calculation option, histograms. This method performs rainflow cycle counting and collates these cycles into histograms. These histograms can then be used as inputs to subsequent post-processing, for instance to perform an engineering criticality assessment (ECA).
The rainflow associated mean output now includes R ratio. All automation interfaces have been extended to provide calculation of R ratio.
Shaded drawing
A new option, mirror in plane, has been added for shaded drawing. Previously OrcaFlex assumed that imported drawing files used a left-handed coordinate system (this is the most common form for DirectX models). However, not all drawing files use this convention, and the rotations available in OrcaFlex cannot always be used to allow for it. This new option allows the shaded drawing to be mirrored about a chosen plane to convert from a different axis convention, such as from right to left-handed.
User interface
Multi-level undo and redo is now supported. These actions are found on the edit menu, and can be invoked conveniently using CTRL+Z for undo and CTRL+SHIFT+Z for redo. A consequence of this change is that certain confirmation dialogs are no longer presented. For example, when you deleted an object in previous versions of OrcaFlex, it showed a dialog to confirm that you really did intend to do this. Such dialogs are no longer presented; if you perform such an action by mistake, you can now use undo to revert that action.
Compound object properties reports are now available. It is common to model physical structures using multiple distinct OrcaFlex objects that are connected together so as to move as a single rigid body: the new feature calculates and reports properties of this compound rigid body, including total mass, total weight in air, total volume, centre of mass, centre of volume, etc. These reports are available from the model browser. Select multiple objects, or a group of objects, and then invoke the properties menu item.
The instantaneous value period is now available for the static result / time history result type. Results are reported in a table, and show the values of variables at the instantaneous calculation state, or the active replay time. When a replay is active, the results are reported for the active replay time. Otherwise the results are for the latest simulated time, or the static state. Multiple results, and results for different objects, can be reported in a single table.
Similarly, functions have beed added to the programming interface that support loading and saving fatigue analysis objects to memory rather than files: C_LoadFatigueMem and C_SaveFatigueMem. The Python, MATLAB and C# interfaces also make available this functionality.
New in version 10.1e
Bug fixes
In earlier OrcaFlex versions, when importing vessel type data from AQWA, both difference frequency QTFs and sum frequency QTFs were conjugated upon import. After feedback from users, we now have a more complete understanding of the AQWA QTF output conventions and load calculation. With this release, OrcaFlex no longer conjugates the sum frequency QTF values. We believe that this change ensures that the QTF load calculations performed by OrcaFlex match those performed by AQWA. If existing simulations need to be run again because of this issue, note that OrcaFlex sum frequency QTF load will only change if the AQWA QTF data are first re-imported into OrcaFlex.
For frequency domain analysis, the ZZ stress process reported through the API, could be 180° out of phase. The error only arises when using a nonlinear Young's modulus, and for sections of line in mean compressive stress.
The line type wizard for umbilicals calculated EA and EI incorrectly if the model force units were not set to kN.
Previously, when conducting a frequency domain solve, at low frequency solution frequencies, the analysis could fail and present an argument out of range error message. This affected models containing vessel types with no wave drift QTF data present.
The bulk modulus data for 3D buoys, 6D buoys and lines specifies the compressibility of the object. When the fluid pressure exceeds the bulk modulus, the formula for compressed volume breaks down and OrcaFlex uses a value of zero. Unfortunately, the related code that calculates variation of compressed volume with depth does not handle this case correctly which in turn leads to statics and dynamics calculations failing. This problem affected line objects from 9.1a, and buoy objects from 10.0a.
For frequency domain analysis, the external load on 6D lumped buoys associated with a dynamic change in the proportion wet was 180° out of phase. This only affected 6D lumped buoys that were partially submerged, i.e. surface piercing, in the static state.
Fatigue analysis based on frequency domain simulations did not take account of stress loading factors.
The extreme statistics results diagnostic quantile plots were not being drawn correctly for the Weibull distribution. Specifically, the fitted model quantiles (along the $x$-axis) were calculated incorrectly. These plots are intended to provide support (or otherwise) for your choice of fitted distribution, so this bug might have influenced your interpretation of the validity of this choice.
These bugs are fixed in version 10.1e.
New in version 10.1d
Bug fixes
The log start time feature introduced in 10.1a interacted incorrectly with spike logging. When the log start time is set to a value other than '~', logging starts at that time. However, in order for static state results to be offered, a log sample is always recorded at the very start of the simulation. The spike logging algorithm could, erroneously, modify this initial log sample which in turn leads to incorrect static state results being reported from dynamic simulations.
Previously, when conducting a frequency domain solve, with a vessel that included quadratic other damping, there was a small possibility the solve would fail with an invalid floating point operation error.
Very large (>2GB) frequency domain simulation files could not be opened, with the following error message reported: An attempt was made to move the file pointer before the beginning of the file.
The end load reported at a free line end may have been incorrect if another line had been connected to the free line end via a mid-line connection.
If a browser group and one or more of its children are selected and copied to the clipboard, two instances of each child object is copied to the clipboard.
Variable rotational stiffness data for constraints was being incorrectly handled when the stiffness force between the in-frame and the out-frame was repulsive.
These bugs are fixed in version 10.1d.
New in version 10.1c
Modal analysis
The introduction of constraints in 10.1a led to the realisation that the modal analysis solver performed poorly in situations where disparate objects have coupled mass/inertia matrices. Constraints exacerbate this problem because they introduce new degrees of freedom between a child object and its ultimate parent. 10.1c has an improved modal analysis solver that is significantly more efficient for such highly-coupled cases.
Python
Python external functions and post calculation actions now support the latest version of Python, version 3.6.
Bug fix
Calculation of common second order loads could fail and present an argument out of range error message. This error affects vessels which select wave load (1st order) as an included effect, but have no load RAO data present in the corresponding vessel type.
This bug is fixed in version 10.1c.
New in version 10.1b
Bug fix
When solving in the frequency domain at low frequency or combined solution frequencies, the vessel's current load, if included, can introduce a linearised damping if a non-zero mean current speed is present. The linearisation of the current load relies on the current load coefficients at the current direction relative to the vessel. These coefficients are interpolated on direction from the user data. Previously an incorrect current direction was used for this interpolation.
Constraints are a new type of object that provide general purpose connections between objects. Constraints can be used to fix individual degrees of freedom (DOFs) and to impose displacements on individual DOFs.
Constraints were developed primarily to enable simpler modelling of the following:
Hinges and articulations.
Telescoping joints.
Crane operations.
This list is not intended to be exhaustive. Constraints can be applied in many other situations.
Line stiffeners are now fully supported by the frequency domain solver.
Acceleration component results can now be reported relative to the vertically downwards acceleration due to gravity, g, for 6D buoys, vessels, and lines.
Mid-line connections are now available. These allow mid-line nodes to be connected to parent objects, whereas previously it was only possible to connect end nodes to parent objects. Using mid-line connections, many models that would formerly have required treating a line as two distinct line objects can now be modelled with a single line object.
Line Type inner diameter can now be profiled so that is the inner diameter can vary with arc length. This has been implemented in the same manner as the existing functionality for profiled outer diameter.
OrcaFlex permits an object with rotation degrees of freedom, such as a 6D Buoy, to be connected to a Line that does not include torsion. However, this is not recommended because the parent Line will not be able to receive moments from the connected child object – it is necessary for the Line to include torsion in order to analyse the system properly. In previous versions of OrcaFlex, such an object would have exhibited zero rotational response in frequency domain and modal analyses, and zero angular velocity and angular acceleration in time domain analyses. OrcaFlex 10.1a instead assigns the connected object a rotational response consistent with the motion of the node to which it is connected.
Vessels
Since version 10.0a, OrcaFlex has used vessel type datum rotations as input when importing vessel moment of inertia from AQWA or WAMIT output. The datum rotations are used to ensure that the imported moment of inertia matrix is correctly expressed using OrcaFlex vessel axes. Starting with this OrcaFlex release, the awareness that some imported quantities should be rotated has been extended to all appropriate imported data. In addition to the inertia matrix, imported centre of buoyancy, sea state RAO positions, reference origins and phase origins now all take proper account of vessel type datum rotations upon import.
The modification of input QTF data by subtraction of common second order loads is now only performed if the primary motion has wave frequency content. Diffraction analysis only considers wave frequency vessel motion as input to the calculation of QTF data. It is the application of first order diffraction analysis data in the time domain, using the instantaneous state of a vessel undergoing wave frequency motions, that is responsible for generating common second order loads. If there is no wave frequency content, the input QTF data will not be modified. Your primary motion may be without wave frequency content either because primary motion is treated as low frequency only, or because some degrees of freedom are not used, which is the case when primary motion is Calculated (3 DOF), Prescribed or None.
Vessel superimposed motion
The vessel's primary frame is now used to calculate the motion of the displacement RAO phase origin and to determine the wave heading, relative to the vessel's instantaneous heading, when interpolating the displacement RAOs for direction. Previously the primary low frequency frame was used for these calculations.
From a modelling perspective, the decision to use the primary frame for these calculations should not have any significant impact. If superimposed displacement RAO motion is included, the vessel's primary motion should not include wave frequency effects and the use of the primary frame or the primary low frequency frame are conceptually equivalent.
This has been done to facilitate a more significant change to the program, namely that OrcaFlex now uses a more sophisticated method when calculating the velocity and acceleration of the superimposed displacement RAO motion. In earlier versions of OrcaFlex, the position, velocity, and acceleration of the superimposed displacement RAO motion were assumed to always be related through the wave component frequency, rather than the instantaneous encounter frequency. A vessel undergoing displacement RAO motion might have had position, velocity, and acceleration values that were inconsistent, and the inconsistency would have become more pronounced as the magnitude of the primary velocity (relative to the wave velocity) increased. This is because only the position fully accounted for the encounter frequency. In version 10.1a, position, velocity, and acceleration all now account for the encounter frequency.
This change is not expected to influence results of interest for the vast majority of models. A more noticeable difference can be expected for models where vessel displacement RAO motion is superimposed in conjunction with a high primary motion velocity, especially when results associated with the vessel's velocity or acceleration are important, e.g. sea fastenings analysis. For such cases, the behaviour of the new version is expected to be more accurate than previous versions.
Winches
Connection force results are now available with respect to local axes, as well as with respect to global axes.
Environment
A new option for vertical stretching of current is available. When vertical stretching is enabled, the vertical profile as defined at the seabed origin is stretched to fit the water depth at points away from the seabed origin. The idea behind the stretching is to arrange that the current speed is constant at all points on the seabed, constant at all points at the mean water level, constant at all points half way down the water column, and so on.
Time history data
Previous versions of OrcaFlex required that time history data for wave elevation, wind speed and direction, and vessel motion, were specified in external files. Such data can now, optionally, be specified in an internal data table.
Logging
Simulation files can be large and this has implications for both storage space and performance of read/write file operations. Typically, the logged values are the largest section of the simulation file, and it may be desirable to log only the latter part of the simulation file in order to reduce the size of the file. A new data item, Log Start Time, allows for such partial logging. Note that when a simulation is only partially logged, results and replays are not available for those parts of the simulation that were not logged.
Fatigue Analysis
Mean stress effect calculation for rainflow analysis has been enhanced. Previously, for the rainflow analysis at each fatigue point, a single mean stress value was used for every stress half-cycle at that fatigue point. A new data item has been added, mean calculation method, that allows you to opt instead to use mean values associated with each individual half-cycle. These per half-cycle means are defined to be the mean of the two local turning points that were used to define the stress range. The option to use a single overall mean has been retained.
Multithreading performance
Previous versions of OrcaFlex, when running on machines with a large number of processors, have not been able to make full use of all the processors. Typically this weakness would be apparent on machines with more than 64 processors or with NUMA memory architecture. The batch processing capability has been modified to address this weakness. The batch processor is now capable of utilising all processors on such machines, and operates efficiently on NUMA systems. Note that these changes only apply to the 64 bit version of OrcaFlex, because the underlying operating system support is only available on 64 bit systems.
Results
Cycle histograms can now be produced directly from the user interface. These are obtained by rainflow cycle counting time history results, and binning the cycles. This functionality is also available from the OrcaFlex spreadsheet and from the programming interfaces.
A new Rainflow Associated Mean table can be produced from a time history graph. This lists each rainflow half-cycle range and its associated mean value.
Line Full Statics failed to take account of model objects that are indirectly connected to a line via one or more intermediate objects. An example would be a 6D Buoy connected to another 6D Buoy, which is itself connected to a line. In this example, the effects of the first 6D Buoy would be ignored.
Analysing a single line in modal analysis could sometimes cause OrcaFlex to crash if the line had other lines connected to it, either directly or indirectly.
Certain results for stiffeners attached to non-torsion lines were calculated incorrectly. Specifically the results affected are those that rely upon the local x- and y-directions of the line. For instance, x-Bend Moment, y-Bend Moment, x-Shear Force, y-Shear Force and so on. The local x- and y-directions are calculated based on the orientation of the node at the latest simulated time rather than the result time. The size of the error depends on how out of plane the line is, and so for many cases the error is small.
The OCIMF vessel wind load model uses a wind velocity at 10m above mean water level. Previously the wind velocity was being evaluated at a global Z elevation of 10m. This meant, if the model contained a vertical wind variation and a non-zero sea surface Z, vessel objects could use the wind speed at an inappropriate elevation.
For frequency domain analysis, Sea Surface Clearance and Depth results were reported 180° out of phase.
These bugs are fixed in version 10.0e.
New in version 10.0d
Bug fixes
Dynamic Rx, Ry and Rz results for lines, vessels, 6D buoys and shapes could be incorrect if the rotational motion of the object relative to its static orientation were large.
The Mode Offset and Mode Curvature values exported to a SHEAR7 Mds file for analysis of inline VIV were not given correct signs. The output values have correct magnitude. This error does not affect modes files exported for the more common SHEAR7 analysis of transverse VIV.
In some cases the frequency domain solver would fail to solve with an invalid floating point operation error. The problem occurred in cases where an object experienced extremely small relative flow velocities. In such cases it was sometimes possible to get spurious negative entries in the object's relative velocity covariance matrix which could trigger an invalid mathematical operation when the drag was linearised. This bug did not act to produce erroneous results, only to prevent a simulation from completing successfully.
When conducting frequency domain analysis, a value of ~ must now be used for the expansion factor, which is equivalent to a value of 1. Previously it was possible to set any positive value, in such cases the expansion factor was not accounted for in the segment tension and strain results, following frequency domain solution.
Zero values for line type slamming data were not being handled correctly. If a constant zero value was given for slam data on entry in combination with variable data for exit (or the other way around, exit & entry), this could lead to an OrcaFlex simulation failing with a Simulation unstable message.
Extraction of frequency domain results failed when the wave height was zero.
Importing multibody added mass and damping data from AQWA files was not possible for some unusual AQWA models for which OrcaFlex was mis-counting the AQWA structures.
Dynamic simulations for models containing attached 6D Buoys with line supports would fail with an Access Violation error.
Mode loads for bend moment and shear force on lines that do not include torsion reported incorrect values in OrcaFlex 10.0a and 10.0b.
These bugs are fixed in version 10.0c.
New in version 10.0b
Bug fixes
In OrcaFlex 10.0a, the assumed angular velocity and angular acceleration used for calculation of common second order loads based on vessel Added Mass and Damping data were incorrect if the QTF Data Source Conventions specified that successive rotations were applied about Original axes. The modification of the input QTF data was therefore incorrect. This error affects Vessels which:
select Added Mass and Damping as an Included Effect, and,
select one or both of Wave Drift Load (2nd order) and Sum Frequency Load (2nd order) as Included Effects, and,
specify the use of Original axes for the QTF Data Source Conventions.
Loading from Wave Drift QTF and Sum Frequency QTF calculations and the associated results will be incorrect for models that use these settings.
OrcaFlex will block any attempted connection between objects that would lead to a chain of object connections containing a cycle. However, version 10.0a contained a bug which meant that, as well as blocking such a cyclic connection, OrcaFlex would, in some cases, erroneously set the connection x and y coordinates on the object's data form to zero.
One of the main advantages of frequency domain analysis is that it is much faster than time domain analysis. However, frequency domain analysis is a linear analysis. This means that for systems that have nonlinearity, frequency domain analysis is less accurate than time domain analysis, which is fully nonlinear. Because of this, frequency domain analysis is not always appropriate and judgement must be exercised when determining whether or not to use frequency domain analysis.
Because frequency domain analysis requires a linear system, any nonlinearities must be linearised. Broadly speaking, this is done by using the tangent stiffness matrix. The main exception to this is quadratic viscous drag which is linearised by the minimum mean square error method.
Not all OrcaFlex features are compatible with frequency domain analysis. For example, time-varying loading cannot be modelled using frequency domain analysis. OrcaFlex reports an error if you attempt to analyse a model that uses such a feature.
In addition to features that are not compatible with frequency domain analysis, some features are not yet supported by the OrcaFlex frequency domain solver. These as yet unsupported features include, but are not limited to:
Line stiffeners.
Line contact with containment (line contact without containment is supported).
Calculated vessels.
Sea state RAOs.
Wind loading.
Variable drag coefficients.
Again, if you attempt to use such features in a frequency domain analysis, OrcaFlex reports an error. We intend to remove these limitations, where possible, in future releases.
All of the different forms of results post-processing have been adapted to support frequency domain: GUI, Excel spreadsheet and programming interfaces. Fatigue analysis has been enhanced to support spectral fatigue based on frequency domain analyses.
We will be continuing to develop and enhance the frequency domain capability for future releases, and encourage user feedback.
Generalised Connection Ordering
The rules for connecting objects together have been relaxed. In particular, it is now possible to connect lines to lines and to form chains of connections, e.g. 6D Buoy1 is connected to 6D Buoy2, which in turn is connected to 6D Buoy3 etc.
Lines
Slamming and water exit loads may be calculated on lines, using the same model of slamming on circular cylinders as is used by Spar buoys. Either constant or variable slam coefficients may be used, with the variable slam data model following the rate of change of added mass formulation as given by DNV Recommended Practice (RP-H103).
Line contact relationships can be disabled. A disabled relationship is ignored and has no impact on any calculations.
In previous versions of OrcaFlex, stiffness proportional Rayleigh damping was not applied to the geometric stiffness terms for bending deformation. A new data item, apply to geometric stiffness, has been added to allow you to specify whether or not the damping coefficient is applied to those terms.
The End Node Shaded Drawing data have been removed and replaced by a new data item named Draw nodes as spheres. This data item applies only to the shaded drawing and controls how nodes are drawn. When the data item is checked, a sphere with diameter equal to the outer contact diameter is drawn to represent every node in the line. Sometimes these spheres are not desirable and the new data item allows them to be suppressed.
New angle results Node Azimuth, Node Declination and Node Gamma have been made available. These are in addition to the existing Azimuth, Declination and Gamma results. Azimuth, Declination and Gamma are reported at mid-segment points, and line ends. The new variables, Node Azimuth, Node Declination and Node Gamma, are reported at nodes.
The free flooding contents method should result in a line being filled with sea water, up to the instantaneous water surface. This behaviour was not correctly modelled for the inner line in a line contact relationship where containment was enabled, and where the outer (containing) line had uniform contents method. Free flooding contents behaviour has been restored to such contained inner lines.
Vessels
Mooring stiffness matrices can now be calculated for models in statics complete state. The program calculates and outputs $6N{\times}6N$ stiffness matrices, where N is the number of vessels being analysed. These matrices are intended to be used as input for the calculation of displacement RAOs by external diffraction analysis programs.
The treatment of full difference frequency QTF data has changed. The difference frequency QTF associated with the interaction of one component with itself (the mean drift force) should theoretically be real-valued (i.e. have a phase of zero). Previous versions of OrcaFlex would not enforce this condition for either upper triangular only or lower triangular only QTF data, and would instead simply assume that the data were physically consistent. However, OrcaFlex did enforce this reality condition for fully specified QTF data (i.e. where both triangles are specified in the QTF table), by taking the real part of the mean drift QTFs. The problem with not enforcing the reality condition is that it can lead to answers that depend upon the order of the wave components. This is because OrcaFlex is assuming a symmetry of the data that has not been realised. OrcaFlex 10.0a has been modified to guard against this possibility by enforcing the reality condition for mean drift QTFs in all cases, not just when the data are fully specified. Taking the real part of the mean drift QTFs deals with this ordering issue, but it does not mean that the resultant wave drift forces are any more accurate – it is ultimately the user's responsibility to ensure that the data are consistent.
The multiple statics feature has been removed. We took this decision in order to streamline certain parts of the code and user interface. We felt that the feature was very seldom used and had limited functionality. Since adding the feature, the automation facilities have been hugely improved and we would now expect to conduct this sort of analysis using an automation script. If the removal of this feature presents significant problems to you, please contact us and we will endeavour to help find an alternative approach.
OrcaFlex can import vessel moment of inertia from AQWA or WAMIT output. If the hull model analysed by AQWA or WAMIT has non-zero heel and trim, then the imported inertia matrix should be rotated, in order to express the inertia using OrcaFlex vessel axes. OrcaFlex previously made no allowance for such rotation. In OrcaFlex 10.0a, the diffraction analysis heel and trim values can be provided before import as vessel type datum rotations, and the imported inertia matrix will be rotated using those angles.
Calculated Vessel Loads
The vessel fluid load modelling has been changed for those fluid loads that are based on input data from diffraction analysis. These changes have been made in order to give better modelling of second order fluid loads.
The response of a vessel using calculated primary motion in OrcaFlex 10.0 will be different from the response given by earlier OrcaFlex releases, if the vessel uses anyIncluded Effects that are based on input data from diffraction analysis (load RAOs, hydrostatic stiffness, added mass & damping matrices, wave drift QTFs or sum frequency QTFs).
The changes are not limited to vessels using QTF data – vessels using first order diffraction analysis results (load RAOs, hydrostatic stiffness, added mass & damping matrices) are also affected.
Vessels whose primary motion is not calculated may also be affected. As for the behaviour above, OrcaFlex 10.0 vessel fluid load results that are based on input data from diffraction analysis will be different to those from previous OrcaFlex versions.
Reason for change
There is a danger of double-counting some contributions to the QTF loads, which we refer to as common second order loads. OrcaFlex has always taken measures to avoid such double-counting, but our approach in OrcaFlex 10.0 is different to that used in previous versions.
Second order fluid loads are typically calculated using QTF data obtained from diffraction analysis program results. Vessels are generally subject to nonlinear fluid loads. As with most nonlinear quantities, these can be represented as a sum of linear, quadratic, cubic and higher order terms. QTF data are provided by diffraction analysis as a means to represent the quadratic part of the vessel fluid loading. But diffraction programs include in their QTF results several second order load contributions that arise due to multiplication of first order load with first order response, or constant load with second order response. Those same interactions can arise naturally in normal time domain simulation. In fact, time domain simulation can represent the full nonlinear interaction between load and response.
So to avoid double-counting the common second order loads, OrcaFlex must apply either
method (a): prevent the common second order loads from arising in the time domain simulation. The QTF data provided can then be used without modification; or
method (b): prevent the common second order loads from arising in the QTF load, by internally modifying the user-specified QTF databefore they are used to calculate the QTF load, to remove the QTF contributions for the common second order loads. The time domain simulation can then run without modification.
Previous releases of OrcaFlex used method (a). But this required filtering out the wave frequency part of the vessel response from the frame of reference that was used to apply the first order fluid loads. And this approach has proved problematic, partly because time domain filters often do not separate wave frequency from low frequency response cleanly. But more seriously, it was not possible to use the same frame of reference for applying all the various vessel loads, and as a result some cases predicted unrealistically large rotational response. In particular, long slender vessels with relatively low roll stiffness and damping were sometimes predicted to give unrealistically large roll responses in large sea states.
To solve these problems, OrcaFlex now uses method (b) instead. This allows the time domain simulation to run as normal, with all the fluid loads being applied using the most natural frame of reference, removes the filtering problem, and avoids the poor roll modelling that arises with method (a) for long slender vessels.
Implementation
Method (b) is implemented by modifying the QTFs before they are used to calculate the QTF load. The QTF contributions that correspond to the common second order loads are subtracted from the user's QTF data before they are used to calculate the QTF load. The user-specified QTF data are not modified – this modification is done completely internally. The common second order loads will instead be included in the nonlinear effects present in our time domain analysis. There are some important consequences of this change:
Quadratic and higher order loading will be applied, even to vessels that use only first order input data from diffraction analysis. This is why an analysis using only first order Included Effects in OrcaFlex 10.0 still yields different results to previous versions.
The vessel filter is now relevant to fewer of the available Included Effects; see the Vessel Modelling Overview for details.
New QTF data source convention data
Unfortunately diffraction programs do not all use the same conventions when calculating their QTF results, so to calculate the QTF modification terms OrcaFlex now needs to know more about the conventions used by the diffraction program that generated the QTFs. Some new QTF Data Source Conventions data items must be specified to define the diffraction analysis calculation conventions that generated the QTF data.
Supports
A new Contact Arc Length results variable is available that reports the arc length on a supported line of that supported line's closest approach with the support.
New Connections + Supports Load results are available that report the sum of connections loads and supports loads. These variables can be used, for instance, to compare against vessel bollard pull capacity.
New wave frequency spectrum discretisation methods (arithmetic progression and geometric progression) have been added. The arithmetic progression method is generally a poor choice, certainly for time domain analysis, because a huge number of components are typically needed in order to discretise the spectrum accurately. Arithmetic progression has been added largely for the sake of completeness and in general we neither recommend nor endorse its use. By way of contrast, the geometric progression method is often a sound choice and can provide a good discretisation of the spectrum with a reasonable number of components. The default option remains equal energy, also usually a good choice. In addition to the two new methods, the existing discretisation methods have been rationalised. Previous programs offered three variants of the equal energy method. The two older of these methods have now been deprecated and by default are hidden in the GUI. Old data and simulation files that used these methods can still be loaded and will continue to use the deprecated methods. New analyses should not use the deprecated methods.
The wind spectrum can now be calculated at a user-specified elevation. In previous versions, the spectrum was always calculated at an elevation of 10m (32.8 ft) above the mean sea level.
You can now specify a minimum and maximum frequency range which determine the range of frequencies considered by the spectral discretisation algorithm when the wind spectrum is discretised. In previous versions the spectral energy from the whole frequency range was always included, i.e 0 to infinity Hz. The motivation for this change is that the spectral energy at low frequencies is poorly defined by the wind spectra commonly available to the industry and so by setting an appropriate frequency range the energy at these frequencies can be omitted from the wind. The default values have been changed to be the range of frequencies for which the NPD spectrum is properly defined, as documented in ISO 19901-1:2005.
The reporting of fluid velocity and fluid acceleration has been changed for points above the water surface level. Previous versions reported zero for points above the water surface. This version reports non-zero values, as used by the calculation. Corresponding results for 3D Buoys, 6D Buoys and Lines have been similarly altered. Note that this change is purely in the way values are reported at results time. The values used during calculation have not been modified.
Buoys
The hydrodynamic calculation has been changed for Spar buoys which use the RAOs and Matrices form for their linear hydrodynamic data. Buoyancy variation due to wave height is not calculated explicitly in this case, since it is assumed to be included in the RAO values; instead, buoyancy is calculated using the mean water level (MWL). This has always been the case in OrcaFlex. Previously, other hydrodynamic effects (Munk moment, drag, slam) were also calculated based on MWL for Spar buoys using the RAOs and Matrices form, but since these effects are nonlinear it may be unreasonable to expect them to be incorporated into the (linear) RAOs. This version therefore uses instantaneous wave height, and not MWL, in calculating these nonlinear hydrodynamic terms.
New results have been added for Vessels, 6D Buoys, Lines and Shapes that report dynamic components of position and orientation. The position results are named Dynamic x, Dynamic y and Dynamic z. The orientation results are named Dynamic Rx, Dynamic Ry and Dynamic Rz. These dynamic results report the dynamic increment from the static state values and are reported with respect to the static state axes.
Explicit Integration
The source code associated with explicit integration in OrcaFlex has been restructured to provide greater commonality with the corresponding implicit integration code. These changes make explicit integration more flexible by allowing for coupled inertia between different model objects. As a consequence, the following features can now be included when using explicit integration:
The downside of these changes is that explicit integration in OrcaFlex 10.0a takes longer to run than in previous versions. However, we concluded that the advantages of unification are sufficient to justify the reduction in performance. In particular, it will be a lot easier for us to add more advanced features to OrcaFlex in the future now that these changes have been made.
The behaviour of vessels that have either Calculated (3 DOF) or Calculated (6 DOF) primary motion and Displacement RAOs + Harmonic superimposed motion active at the same time has changed because of this restructuring. Using this combination of motions has never been encouraged because the two motion types are generally thought of as being distinct modelling approaches – having both motion types active at the same time is a strange thing to do. The changes that have been made provide compatibility with the restructuring of the explicit integration code and make the underlying mathematical model more consistent. This combination of motions is still only available when using explicit integration, and is still not a recommended analysis option.
User Interface
New forms of range graph are now available. When selecting range graph results you must also select a range graph type which can be one of the following: Envelope, Std. Dev. or Extremes. The envelope range graph is the traditional range graph that was available in previous versions. The std. dev. range graph reports the standard deviation of the result as a function of arc length. The extremes range graph is for frequency domain only, and reports the most probable maximum value.
Spreadsheets can now be saved in the .xlsx format. This is in addition to the existing options to save as .xls, .csv and .txt. One consequence of this is that internal spreadsheet windows can now have more rows and columns. In previous versions these spreadsheet windows were subject to the .xls limit of 65,536 rows and 256 columns. The limits are now governed by the .xlsx format and are 1,048,576 rows and 16,384 columns. Do note however that very large spreadsheet windows may take a long time to populate and save.
The batch form can now accept text files, with .lst extension, that contain a list of files to be added. This is particularly useful if you wish to process a subset of files in a particular directory, or if you wish to process files from multiple directories.
OrcaFlex now supports the Wavefront OBJ file format for shaded graphics model imports. The Wavefront OBJ format is widely used as an interchange format for sharing models between 3D graphics applications. Many common 3D modelling applications support the import and export of models using this format either directly or through a plug-in. For example, AutoDesk 3DS Max, Rhino 3D, SolidWorks via ScanTo3D, SketchUp Pro, Wings3D, Amabilis, PolyTrans 3D, Blender and MilkShape 3D. In addition, many of these applications can import proprietary formats such as 3D Studio's .3ds, AutoCAD .dxf files or 3DSystems .stl files and then export these as Wavefront OBJ files. OrcaFlex implements a subset of the Wavefront OBJ format sufficient for most shaded models, this includes support for mesh definition, material colouring and basic textures. See https://www.orcina.com/support/shadedgraphics/ for more details.
Python
Python external functions and post calculation actions now support the latest version of Python, version 3.5.
Automation
External results text, for externally calculated results, can now be specified for Excel post-processing.
Breaking changes have been made to some methods of the C# interface. Methods that accept both ObjectExtra and Period arguments have had the order of these arguments reversed. In previous versions ObjectExtra was passed before Period. From this version forward, Period is passed before ObjectExtra. This change has been made so that the C# interface is consistent with the Python and MATLAB interfaces. The same change has also been made to the object oriented C++ interface introduced in version 9.8. These changes have the consequence that existing code that relies on these methods will no longer compile with the new version of the interface. Calling code will need to be changed by reversing the order in which these parameters are passed.
Bug fixes
Rayleigh damping was not correctly applied at line end connections, or for bend stiffener attachment lines. Previous versions of OrcaFlex would apply Rayleigh damping to line end connection stiffness if Rayleigh damping was applied to the line type used for the end section of line. Stiffener attachments would apply the Rayleigh damping of their protected line to their bending stiffness, meaning that the Rayleigh damping settings of any line types were ignored when they were used to define stiffener attachments.
Lumped buoys which use variable slam data were not verifying their data at the start of the simulation. These data must be of a specific form, but OrcaFlex was failing to warn you if the data did not conform to this requirement.
RAO data from AQWA was being imported incorrectly when the number of bodies in the diffraction analysis was greater than nine.
New in version 9.8e
Bug fixes
In 9.8d a bug was introduced in Vessel Types units handling, which meant that if you changed the units of your OrcaFlex model the vessel type RAO and QTF data were not converted correctly to the new units system.
When a value of ~ was used for the Z coordinate, some environment results were not being calculated correctly for disturbance vessels that used the Direction and period only sea state RAO interpolation option. This affected sea surface elevation, velocity and acceleration results.
Line applied loads specified by native external functions, were failing to invoke the eaStoreStateCreate action. In the case of line applied loads specified by Python external functions, this same fault meant that the StoreState method was not called.
These bugs are fixed in version 9.8e.
New in version 9.8d
User Interface
The monochrome output option, removed in version 9.8a, has been restored.
Bug fixes
When marking up a generic text file in order to import vessel type data, you may split an RAO or QTF table for a single heading into multiple parts, each surrounded by a pair of "OrcaFlex Start Data" / "OrcaFlex End Data" marker lines (for example, your diffraction package might insert a page break within a large table). If you did so and also required OrcaFlex to perform a units conversion on import (i.e. the units declared in the text file differed from the units prevailing in the OrcaFlex model), then this conversion was not being performed correctly and some of the imported data may have been incorrect.
When Skip dynamic simulation file save for post calculation actions is checked, warnings were not being captured, and so were not reported in the batch form. The code path that captured warnings was associated with the simulation file save and was also skipped. This meant that any errors encountered during post calculation action script execution were not being reported.
Drag Chains attached to a line that included torsion would cause calculations to fail if the drag chains make contact with the seabed.
These bugs are fixed in version 9.8d.
New in version 9.8c
Static State Results
A new form of results window has been added to present results for the model's static configuration. These results have always been available via the various automation interfaces, but static state results were previously not readily obtainable using the GUI. Static state results are selected in exactly the same way as time history results. If the static state period is selected then static state results are presented. Otherwise time history results are presented.
Static state results are presented in spreadsheet windows. If multiple variables are selected, then each selected variable is reported in the same spreadsheet window. New results can be appended to existing static state results windows by holding the CTRL key down when pressing the Show button on the results form. This makes it possible to have a single window showing results different objects and also for different points on the same object.
Lines
A new results variable, Max pipelay von Mises Strain, is available for Lines. This result is a simplified equivalent strain measure commonly used in S-lay analysis.
Supports
For support types, contact pen data can now be specified in addition to the standard pen data. When supports are in contact with supported lines, the supports are drawn using the contact pen.
SHEAR7
SHEAR7 version 4.8 is now supported.
The handling of added mass for SHEAR7 .dat file export has been changed. In OrcaFlex, Ca is associated with the outer diameter. In SHEAR7, Ca is associated with the hydrodynamic diameter. When OrcaFlex creates the SHEAR7 .dat file the OrcaFlex VIV diameter is passed as the SHEAR7 hydrodynamic diameter. In previous versions of OrcaFlex, the OrcaFlex value for Ca was passed directly to SHEAR7. As a consequence, if the OrcaFlex outer diameter differs from the VIV diameter then the added mass in the OrcaFlex model differs from the added mass in the SHEAR7 model. From version 9.8c, OrcaFlex scales Ca by $(O\!D/D_\mathrm{viv})^2$ before passing the value to SHEAR7. This ensures that both programs model the same added mass.
Bug fixes
The model browser uses visual cues for groups to indicate that all of the groups members are either hidden or locked. For instance, if all members of a group are hidden, then the group folder icon is drawn faded in the browser. Likewise, if all members of a group are locked, then the locked icon is shown next to the group. From version 9.8a, the synchronisation between the state of the model, and the visual cues in the browser was not working correctly. So, the visual state drawn in the model browser would sometimes be out of step with the actual state of the objects in the group.
Since 9.8a, if vessel type structural mass and inertia were imported from AQWA files and the centre of mass was not at the body origin, then OrcaFlex would fail to import the mass and inertia data, claiming incorrectly that the inertia tensor did not have the expected form.
These bugs are fixed in version 9.8c.
New in version 9.8b
Bug fixes
The Static Position (interpolated) wave calculation method contained a bug that manifested itself for models containing multiple lines when the thread count was greater than one. This specifically affected models in which at least part of a line lies above the sea surface (or within a trapped water solid) at the completion of statics. OrcaFlex version 9.8a would give unpredictable results for such models and the simulation may have failed to run to completion at all in some cases.
The 9.8a installation was missing a file essential to the Python interface to OrcFxAPI, namely OrcFxAPIConfig.py. OrcaFlex itself installs and runs successfully without this file, but any Python scripts which import OrcFxAPI would fail to run.
Models containing vessels with added mass and damping as an included effect would fail with an access violation error if the added mass and damping cutoff time was less than the integration time-step. This bug only applied for implicit integration.
The Include Seabed Friction data item was sometimes read incorrectly when loading data from old data files. The error would only occur if the old file used Separate Buoy and Line Statics, did not use Catenary for step 1 line statics, and did not use Full Statics for step 2 line statics. When all of those conditions held, and the old data file was loaded by version 9.8a, the Include Seabed Friction data item would sometimes be enabled when it should have been disabled.
These bugs are fixed in version 9.8b.
New in version 9.8a
End of support for Windows XP
Microsoft ended support for Windows XP in April 2014. As a consequence of this, we at Orcina have now retired all of our XP machines. This in turn means that it is no longer practical for us to test and support our software on XP. Accordingly, OrcaFlex is no longer supported on XP.
Supports
The supports feature is a new contact model that has primarily been developed to facilitate the efficient modelling of pipelay rollers. However, there are also many other areas of application where the new supports feature can provide an improved modelling approach. Fundamentally the supports feature models contact between lines and supports; a support is a user-defined group of rigid cylinders (i.e. the rollers in a pipelay model) fixed to a Vessel or 6D Buoy. Some of the key features include:
Two methods to specify the geometry of the supports arrangement: i) the simple geometry specification provides a quick way to set up a simple stinger model, with the supports positioned along a user-specified support path; ii) the explicit geometry specification provides a method for the generation of detailed support models in arbitrary arrangements where the positions and orientations of individual supports are explicitly defined with respect to user-specified coordinate systems.
A sophisticated contact model built on the existing line contact model; smooth splines are fitted between the nodes of supported lines allowing OrcaFlex to treat them as smooth, deformable tubes for the purposes of contact.
Contact is between supported lines and new objects called support cylinders. Support cylinders are more than simple cylindrical solids because they have a desired side associated with them. This property allows OrcaFlex to know on which side of the support cylinders the supported line is expected to be. This leads to excellent statics convergence performance – generally the supported lines converge quickly to the desired equilibrium without the requirement of complicated arrangements of helper objects (e.g. links and winches) to try and guide the static solution along the desired path.
Four in-built geometry options for the support types. The support type defines the number, geometry and physical properties of the support cylinders associated with a support. The in-built geometry options allow support cylinder geometries to be simply defined by specifying a few key parameters. The in-built choices are: Flat, U shaped, V shaped, or User specified. The latter is used for the generation of user defined arrangements of support cylinders.
Supports can be defined for both Vessels and 6D Buoys, allowing for the modelling of complex support configurations, with multiple moving parts, such as hinged or articulated stingers.
Lines
Line contact penetrator discretisation is now possible by specifying the penetrator discretisation count and the penetrator discretisation scale on the Line Contact Data form. This feature has been added to improve the modelling of cases where the line contact penetrators and the spline have the same, or very similar, diameters. In previous versions modelling such a case was difficult because using a single penetrator to represent the contact led to a singularity in the force model which often resulted in noisy or unstable simulations.
The Penetrator Locations data set now allows the penetrator contact length to be explicitly user-specified. Previously the contact length was calculated from the contact area and the contact diameter, coupling it to the effective contact stiffness.
Applied loads can now be added directly to lines. In previous versions this could only be achieved by the somewhat inconvenient workaround of attaching 6D Buoys to the line. As well as the added convenience afforded by directly specifying applied loads, this change now allows loads to be applied to lines that do not include torsion.
Torsion is no longer required on line contact splined lines for line contact relationships that do not apply any friction force to the modelled contact.
The drawing of line contact penetrators when penetrator locations are in use on a penetrating line that does not have torsion enabled now better matches the model. Without torsion, the penetrators are not offset from the line nodes to which they are attached, and the drawing now reflects this. Results and calculations are not affected.
Vessels
OrcaFlex can now import Newman QTF data that have been calculated by WAMIT using the Momentum Conservation method.
OrcaFlex can now apply weight and buoyancy forces directly at a vessel's centre of mass and centre of buoyancy. Previously these forces were included in the hydrostatic stiffness matrix, the resultant loads being applied at the stiffness and inertial damping reference origin. The difference between these two approaches is that applying the forces directly fully captures the nonlinearity of the moment arm contribution, whereas the hydrostatic stiffness matrix is only a linearised approximation. The stiffness effects due to changes in the vessel's waterplane area are still accounted for by the hydrostatic stiffness matrix. OrcaFlex can only account for the nonlinear moment arm effects if the vessel's centre of buoyancy has been explicitly specified.
OrcaFlex now allows you to enter a full $3{\times}3$ moment of inertia matrix for vessel types, rather than just the three principal moments of inertia. This means that the vessel axes are no longer required to be principal axes of structural inertia of the vessel type.
The meaning of the Sea Surface Z result has been changed. Previously this was the global Z coordinate of the sea surface directly above or below the vessel origin, accounting for vessel primary motion only. In this version of the program, the result is the global Z coordinate of the sea surface directly above or below the user-specified point P on the vessel, due to the total combined primary and superimposed motion. This change has been made for the sake of consistency, in order that the Sea Surface Z result is consistent with the Sea Surface Clearance result.
The Check RAOs button on the vessel types form now displays complex-valued RAOs whose arguments are phase leads, not lags. This change has been made for the sake of consistency between the internal implementation and external presentation and documentation. The complex-valued RAO graphs are now a reflection about the horizontal axis of the graphs produced by older versions of the program. In all other ways these graphs should be interpreted just as in previous versions.
Buoys
Slamming and water exit forces on 6D Buoys can now be calculated using variable slam force data that is a function of submergence, as an alternative to using a constant slam or water exit coefficient. The variable slam data model follows the rate of change of added mass formulation given in DNV Recommended Practice (RP-H103, RP-C205) and it allows slamming and water exit forces to be modelled for buoys that are fully submerged but near the surface, as well as for surface-piercing buoys.
For Spar Buoy and Towed Fish cylinders the added mass coefficient for motion normal to the cylinder axis can now be variable as a function of submergence.
Sea Surface Clearance results have been added for 3D Buoys and 6D Buoys.
Shapes
Trapped water and drawing shapes are now excluded from the connection loads reports for Vessels, 3D Buoys and 6D Buoys which appear in the Summary and Full Results for those object types. Since such shapes can never produce connection loads, including them in these reports just introduced needless clutter.
Statics
The Separate Buoy and Line Statics method has been removed. This method of performing statics essentially became obsolete when the Whole System Statics method was added in version 9.0. The Separate Buoy and Line Statics was retained because there were limitations to Whole System Statics. Those limitations have now been removed and so, in the interests of simplicity, the Whole System Statics method is always used. Because there is now only a single statics method, the data item that was formerly needed to specify which method to use has been removed.
The Step 2 Statics Method (Full Statics) for Lines can now be set to None at all times. In previous versions this was only allowed when the Separate Buoy and Line Statics method was in use. Now that the Separate Buoy and Line Statics method has been removed, we have decided to allow the Full Statics calculation to be suppressed at all times. This is not normally something that should be done, but in certain unusual situations it can be useful to do so.
Environment
OrcaFlex now offers a choice of wave calculation methods: Instantaneous Position (exact), Instantaneous Position (interpolated) and Static Position (interpolated). The first method calculates the fluid kinematics at the instantaneous position of each relevant model object, at every time-step of the simulation. This is the method used by previous versions of OrcaFlex. The second method computes the wave kinematics on the vertices of a regular grid and interpolates in-between these vertices to compute the kinematics at intermediate points. The third method simplifies the calculation by assuming that all line objects remain approximately stationary throughout the simulation. The two new options may lead to a considerable performance gain when the number of wave components is large.
There is a new option to specify a wave kinematics cutoff depth below which the fluid velocity and acceleration are assumed to be zero. This reduces the computational work needed and can lead to significant reductions in runtimes.
You can now view the autocorrelation of the total wave process on the Waves Preview page of the Environment data form. This has been added as a tool to help establish whether a sufficient number of components have been specified for the discretisation of the wave spectra; if insufficient components are used then unrealistic levels of correlation can occur during the simulation.
Automation
In the OrcaFlex post-processing spreadsheet the Additional Data column now allows a Disturbance Vessel to be specified for sea state results. For Vessel Support results and 6D Buoy Support results, support index and supported line can be specified. The Instructions Wizard has been extended to support specification of these additional data.
A new utility function to obtain node arc lengths has been added to the programming interface: C_GetNodeArclengths. The Python and MATLAB interfaces also make available the functionality.
We now supply an experimental, unsupported object oriented C++ interface to OrcFxAPI. We stress that the object oriented interface is purely experimental and is supplied on an unsupported, as-is basis. It is not documented, although it is very similar to the Python and MATLAB interfaces. This interface is incomplete in that not all functionality of OrcFxAPI has been implemented. However, in spite of all these provisos, we feel that this interface could be useful in some circumstances.
User Interface
A new option for shaded graphics, fill mode, has been added. The option can be set to either Solid or Mesh. The solid option is the traditional shaded graphics view available in previous versions of the program. In this mode the mesh triangles used to represent the model are opaque, to give the effect of solid objects. For the new mesh option the triangles are transparent, with only their edges visible. The mesh option may sometimes be useful for complex models, since it gives you the ability to look inside and through objects that otherwise are solid.
VIVA
The VIVA interface now calls the separate VIVA executable rather than a DLL, in much the same way as the SHEAR7 interface is implemented. This change has the following implications:
The link to VIVA now uses a modern version of VIVA.
VIVA can now be accessed from the 64 bit version of OrcaFlex.
The following changes have been made to the interface:
The VIVA interface now uses mode frequencies, shapes and curvatures calculated by an OrcaFlex modal analysis. In contrast, previous versions relied on VIVA to perform a modal analysis. The modal analysis performed by OrcaFlex is more accurate, particularly for curved risers, because VIVA does not have the full geometry information that is available to OrcaFlex.
The restriction that the OrcaFlex model uses uniform discretisation has been removed. This is still a restriction of VIVA and OrcaFlex deals with the issue by interpolating the input data supplied to VIVA.
OrcaFlex now captures the VIVA output files. In addition to summarising the VIVA output in the results tables, OrcaFlex can save these output files. They will be saved automatically if the static analysis is run in batch mode, or from Distributed OrcaFlex. And the output files can be exported from the VIVA data form or via one of the OrcaFlex automation interfaces using Python, MATLAB etc.
The VIVA Z Axis Direction data found in previous versions has been removed since the new interface to VIVA does not need the information.
Two new section types are available: Staggered buoyancy/bare and Strake (P/D=17, h/D=0.2).
Vetco section types are treated differently from previous versions. The VIVA hydrodynamic database contains data for different current incidence angles to a Vetco riser. Previous versions of OrcaFlex would calculate the current incidence angle at each point of the riser and then specify the closest angle defined in the VIVA database. This version of OrcaFlex asks you to specify explicitly the Vetco data set to be used.
Unfortunately, at the time of writing, the version of VIVA that OrcaFlex requires has not been released. All development and testing of the OrcaFlex side of the interface has been performed with a beta release of VIVA. Please contact JD Marine to obtain a version of VIVA compatible with this version of OrcaFlex.
The contact length, used to scale the loads on penetrators that only partly overlap a splined line, could in rare cases be calculated incorrectly. Generally the discrepancy was small and could only occur if: a) two lines in the model were in multiple contact relationships with each other and both (each node) and user-specified penetrator locations data were being used for the penetrator locations across these relationships; or b) a line in an Inside or Outside contact relationship had different segment contact diameters each side of a node that partly overlapped the splined line.
Line Ez-Angle, Exy-Angle, Ezx-Angle and Ezy-Angle results report the direction angles of the results point (either an end node or a mid-segment point), relative to the end axes of the nearest line end. For single segment lines, at End B, the program was mistakenly determining that the nearest line end was End A. Consequently the results reported were the direction angles of the node at End B relative to the end axes at End A.
Mode loads for bend moment, for lines that do not include torsion, were incorrect when the line curvature was very close to zero. This could be detected by the presence of non-physical spikes in the bend moment mode load graphs.
When post-processing using the OrcaFlex Spreadsheet in Excel 2013, viewing charts linked to the output data could cause Excel to crash.
These bugs are fixed in version 9.8a.
New in version 9.7d
Bug fixes
There was a chance that vessel type hydrostatic stiffness and constant (not frequency-dependent) added mass and damping data could be corrupted. This could only happen if any of the direction conventions associated with the data were not the default Orcina ones, and only occurred on pasting or importing model objects into the current model.
Printing or exporting a data form in 9.7b or 9.7c failed with an access violation error.
Exporting wire frame video files using run-length encoding compression, failed to work correctly on Windows 8. The resulting video file contained only the first frame of the exported replay. This defect is caused, to the very best of our knowledge, by a bug in the Windows 8 run-length encoding component. OrcaFlex cannot fix the bug in Windows 8 and so version 9.7d deals with the problem by implementing the run-length encoding in OrcaFlex, so avoiding the fault in Windows 8.
All previous versions of the program reported the units for the Sea Acceleration result incorrectly as L/s instead of L/s^2 where L is the unit of length.
OrcaFlex's processor count detection was reporting incorrect values for some machines, typically those with large numbers of processors, for 64 bit versions of OrcaFlex.
The MATLAB interface to OrcaFlex was failing to load in MATLAB R2014a with this error message: Invalid MEX-file 'C:\Program Files (x86)\Orcina\OrcaFlex\9.7\OrcFxAPI\MATLAB\ofxMex.mexw64': The specified procedure could not be found.
Distributed OrcaFlex jobs would fail to run on 64 bit clients if jobs using different versions of OrcaFlex were processed simultaneously.
A new data item has been added named skip dynamic simulation file save. When this is checked, the dynamic simulation files are not saved if running in batch mode or Distributed OrcaFlex (i.e. whenever post calculation actions are active). This is useful if the post calculation action extracts all the output you need from the simulation. Skipping the saving of the simulation file allows you to reduce storage and bandwidth demands.
Bug fixes
OrcaFlex was unable to read full QTFs from some AQWA .QTF files, depending on how the file was formatted.
OrcaFlex previously assumed that WAMIT .1 files (for multibody added mass and damping data) contained an initial header line. If they did not, which may be the case for WADAM output, the (1,1)-elements of the first added mass and damping matrices were not read in and were mistakenly set to zero.
Exported PDF files in landscape orientation were produced incorrectly with the image being drawn at the wrong location on the page.
Pasting a copy of a group in the model browser would fail in some circumstances. Specifically, if the target of the paste operation is the group that had been copied to the clipboard, the objects would be pasted, but not the group container itself.
Extreme value statistics analyses, for 64 bit versions of OrcaFlex and OrcFxAPI, could sometimes result in abnormal program termination.
The handling of simulation aborting during batch processing was broken. When you stop a part-run batch job, OrcaFlex gives you the option of saving any partially completed simulation files. In earlier 9.7 versions the program was saving some, but not all, partially completed simulation files.
These bugs are fixed in version 9.7c.
New in version 9.7b
The PDF export feature introduced in 9.7a has been improved. In 9.7a, wire frame views and graphs were exported as bitmap images. In 9.7b they are exported as vector images which results in better quality when printing.
Bug fixes
In version 9.7a, the default vessel type data were not consistent with the default vessel type conventions. This bug affected the default Displacement RAOs, Load RAOs and frequency-dependent Added Mass and Damping matrices. The default data values have been updated to remedy the situation. The default conventions have not been changed.
Version 9.7a did not work correctly when run with FAST using the FASTlink DLL. FAST is a wind turbine modelling program developed by the US National Renewable Energy Laboratory (NREL) which can be linked to OrcaFlex using the FASTlink DLL, in order to run coupled time domain simulations of floating wind turbines.
In 9.7a, if vessel type structural mass and inertia was imported from WAMIT files and the centre of mass was not at the body origin, then the offset of the centre of mass from the body origin was not correctly allowed for. In most such cases, in version 9.7a this resulted in the mass and inertia data simply not being imported and you were warned that this had happened. Any offset in centre of mass in the WAMIT data is now properly accounted for.
In previous versions, the Check RAOs facility was displaying incorrect long-wave limiting values on the graphs for load RAOs if the Stiffness, Added Mass and Damping reference origin differed from the Load RAO origin, or if the vessel type/draught belonged to a multibody group.
Command line parameters /LocalDongle, /NetworkDongle and /DisableDynamics were ignored by 9.7a.
These bugs are fixed in version 9.7b.
New in version 9.7a
A more in depth discussion of the new features introduced in 9.7 is available on our blog.
Vessels
You can now define multibody hydrodynamic data for a group of vessels, and run simulations that include the fluid load interaction effects of other nearby vessels. For details see Multibody Data.
The way in which Vessel Type data are imported has been improved and extended. OrcaFlex now analyses your import file and allows you to choose which of the available data you wish to import and where it should be placed within OrcaFlex. AQWA and WAMIT files containing more than one body/structure are now supported, along with the corresponding import of Multibody Data.
When using frequency-dependent added mass & damping, the way in which the convolution integral is truncated with a cutoff time has been changed, to avoid possible energy feed-in that could have occurred with the previous method. Also, the user-specified Cutoff Time can now be set to '~', in which case OrcaFlex will automatically calculate the Cutoff Time based on a user-specified Cutoff Tolerance. For details see Cutoff Time and Impulse Response Function theory.
The vessel type Displaced Volume and Centre of Buoyancy can now be specified explicitly. The data item that was previously called Equilibrium Position has been renamed as the Reference Origin Datum Position, and this no longer needs to be a free-floating equilibrium position of the vessel. These changes make it easier to model a vessel whose hydrostatic stiffness matrix has been calculated for a position that is not a free-floating equilibrium position, which could well be the case for TLPs or other vessels whose moorings result in significant vertical displacement. If the Datum Position is a free-floating equilibrium position then the Displaced Volume and Centre of Buoyancy can both be set to ~ (their default value), and this gives the same behaviour as previous releases of the program. For details see Displaced Volume and Centre of Buoyancy.
The Vessel Time History Origin data item has been renamed as Datum Point.
Default vessel type data have been adjusted. Corrections have been made to default Mass and Moment of Inertia values. Small changes have also been made to Displacement RAO, Load RAO and Added Mass and Damping. And finally, the default data for Other Damping now includes some non-zero linear roll damping. It is strongly advised that you replace default data values with accurate data for the vessel they are modelling. So if you include Other Damping for a vessel then you need to specify appropriate Other Damping data for its vessel type.
Some diffraction programs output results from which such disturbance RAOs can be derived, and OrcaFlex can import directly from WAMIT output files. But more basic disturbance modelling, such as simple uniform scaling of all wave component amplitudes, can also be done, by just entering a single sea state RAO amplitude that will then be applied to all wave components and at all positions.
Lines, 3D Buoys and 6D Buoys now offer sea velocity and acceleration results which account for any sea state disturbance.
The user interface for code checks has been modified to cope with all the extra data required for the new code checks. Instead of the data being specified on the Line Types data form, a new Code Checks data form has been added which contains all the code check data.
Lines
The Line Setup Wizard can now target tension and declination values at specified arc lengths on a line. Previously, only values at line ends could be targeted.
Line ends can now be subject to a connection damping moment. The damping moment is given by ${-}C\omega$, where $C$ is the specified value of connection damping and $\omega$ is the angular velocity of the end fitting relative to the angular velocity of the line, measured in degrees/second.
The drag data set by the Line Type Wizard for Chain have been changed. The drag data are now set to the values recommended by DNV OS E301. The values for normal drag are similar to previous versions of the program, but the values for axial drag are significantly increased.
The Line Type Wizard for Rope/Wire has been modified slightly. Previous versions of the program set Compression is Limited for a rope/wire. In this version, Compression is Limited is not set for a rope. We now feel that not limiting compression is more realistic.
Previous versions of the program contained a results variable named Net External Pressure which was defined to be Internal Pressure - External Pressure. This variable was incorrectly named and has been renamed as Net Internal Pressure.
The contribution of the shear force to the Max xy-Shear Stress result has been increased by a factor of two. It had been previously assumed that the shear stress due to the shear force was uniformly distributed across the cross section and so this result effectively included the contribution of the average shear stress due to the shear force. This change reflects that in reality there is a distribution in the shear stress due to the shear force over the cross section which, for a thin walled pipe, has a maximum at the neutral axis that is two times greater than the average shear stress.
6D Buoys
The angular velocity and acceleration of the sea are now both taken to be zero. In previous releases of OrcaFlex these values were taken to be the angular velocity and acceleration of the local water isobar. This change will affect results for buoys that have non-zero rotational damping, rotational drag or rotational added inertia data, since these data specify moments that depend on angular motion. This change has been made since the motion of the sea is (largely) irrotational and its angular motion is undefined. Although the angular motion of the isobar is perhaps reasonable for calculating fluid moments on objects that are large in the horizontal direction and small in the vertical direction, such as large discus buoys, it is not suitable for most other cases. The program has therefore been changed to treat the angular velocity and acceleration of the water as being zero, which is a reasonable approach given that its motion is irrotational. For details see Lumped Buoy Fluid Inertia, Damping and Drag, and Spar Buoy and Towed Fish Added Mass and Damping and Drag.
Winches
The Sea Surface Z results variable for winches has been removed, because we did not want to make the development effort that would have been needed to extend this results variable to be aware of the new vessel sea state disturbance facility. If you need to generate time histories of Sea Surface Z for a winch connection point, you can instead obtain them from the object to which the winch is connected.
Modal Analysis
A new page named Modes Graph has been added to the modal analysis form. This displays a graph of the mode shapes.
Fatigue Analysis
Bilinear S-N curves can now be specified by parameters. Previously such curves had to be specified by table.
Automation
A new feature named Post Calculation Actions has been added. This allows you to integrate the execution of post-processing scripts into an OrcaFlex batch analysis. This capability has long been available for the OrcaFlex spreadsheet. But if you prefer to use something other than the spreadsheet for post-processing, then the post-processing has until now always required extra human intervention. Post calculation actions remove the need for that human intervention. In addition to OrcaFlex batch, the actions will be executed from Distributed OrcaFlex and can also be invoked from the programming interfaces.
A new attribute, named UpdateModelWhilstReadingFile, has been added to help with certain complex text data file automation tasks.
Automation (batch script, text data file, programming interfaces etc.) of model-wide SHEAR7 data is now handled slightly differently. In previous versions such data were owned by the General object. In this version they are owned by a newly introduced SHEAR7 Data object. We provide examples of how to access such data for both batch script and text data file automation.
The Python and MATLAB interfaces have been extended to support a more general form of the TimeHistory function. Previous versions only accepted a single variable name, but now multiple variable names can be supplied. This is particularly useful for extracting results which can be thought of as time histories of vectors, such as the X, Y and Z position coordinates of an object. Full details of the new functionality can be found in the relevant OrcFxAPI documentation.
A drop-down button has been added to the toolbar, next to the replay step button, which allows you to directly enter a replay time. This can be used for precise control of the replay time, which is useful when replaying long simulations for which the slider control does not provide sufficient resolution.
Active simulation replays now have two methods by which the replay times can be specified. The long-standing method is known as Regularly Spaced and the new method is Snapshots. For a snapshot replay you explicitly list the simulation times that are used to form the replay. This new snapshot option has been added to make visualisation of installation snapshots simpler, although the feature can of course be used for other applications.
3D view and Graph windows can now be exported as PDF files.
Default file types can now be specified on the Preferences form. This allows you to specify which file formats are selected by default in file save dialogs.
A new preference named Add program/file details to output has been added. This allows you to control whether or not the text giving program version, file name, last modified time etc. is included on exported views, graphs, spreadsheets etc. This preference now also controls whether or not frame details are included in exported videos, and so the check box to include those frame details has been removed from the export video dialog.
External Functions
Python external functions now support the latest version of Python, version 3.3.
Bug fixes
In previous versions, solid contact force results for 6D Buoys were not being saved to the simulation file. This meant that the results for models loaded from simulation files were always reported as zero.
When one object (child object) is connected to another object (parent object), and the centre of mass or centre of added mass of the child object is offset from the child origin, then rotational motion causes centrifugal forces applied at the child object origin. Such centrifugal forces have always been correctly included in the calculation of the motions of the objects, but in previous versions they were not being included in the 6D Buoy Connection Force and Vessel Connections Load results. These results now include such centrifugal forces.
In previous versions, rotational added inertia of 6D Buoys was treated in the same way as structural inertia when calculating second order inertia loads such as Coriolis forces. We now feel that it is not appropriate for added inertia to be treated in this way, so added inertia no longer generates Coriolis forces (though it will still generate centrifugal forces if the centre of added mass is offset from the buoy origin). Dynamic analysis behaviour and results might be affected by this change if the buoy undergoes significant angular velocity.
These bugs are fixed in version 9.7a.
New in version 9.6c
A more in depth discussion of the new features introduced in 9.6 is available on our blog.
Buoys
The slam area used for slam force calculation was not very reasonable for a hollow spar buoy or towed fish whose axis was not normal to the surface. Previously the slam area was always the waterplane intersection area of the cylinder annulus, but for a hollow buoy hitting with its axis parallel to the water surface it is much more reasonable to use slam area equal to the waterplane intersection area of the whole cylinder (outer diameter). See Slam Area for Hollow Spar Buoys and Towed Fish for details of the new method of calculating the slam area for a hollow cylinder.
Previous versions of OrcaFlex contained a very subtle bug affecting dynamic simulations using the implicit solver. The problem only occurred when connections were released during the simulation. For example, consider a model with a calculated vessel and three lines connected to it. If, during the simulation, one of the lines was released, then the OrcaFlex system solver could, under certain circumstances, incorrectly associate solver degrees of freedom with the line nodes. This almost always resulted in the simulation failing due to unstabilty.
Modal analysis for a model with no lines results in an Access Violation error.
The command to export SHEAR7 modes file from a batch script was erroneously reporting that the modes file cannot be generated for lines that included torsion. This was a limitation in older versions, but was lifted in version 9.6a. However, the block on modes file export for such lines was not removed from the batch script code.
The equal-and-opposite reaction force applied to the splined line in a line contact relationship could be applied at an incorrect node. This issue could only arise if the penetrating node position was exactly at the boundary between two splined line segments.
Importing Newman QTFs from WAMIT .out files, into a vessel type which had radians as its phase unit, could result in incorrect values for some QTFs.
In some circumstances, importing full QTFs from AQWA files could fail with an obscure error message. The import procedure has been corrected, and if it does fail (for some other reason) it will at least give a helpful explanation.
The point of application of the slam force on a hollow cylinder (non-zero inner diameter) of a spar buoy or towed fish was being mis-calculated. This problem only applied to hollow spar buoys or towed fish, and has now been fixed.
The modal analysis calculation was incorrectly accounting for flex joint stiffness. The effect of attached Flex Joints was included twice, and modal analysis stiffness was therefore lower than the user intended. This error affects modal analysis results, and therefore any cases where Shear7 or VIVA have been used via OrcaFlex. Dynamic analysis behaviour and results are not affected.
Workspace files, with .wrk extension, can now be applied by dragging them onto the main OrcaFlex window.
Bug fixes
On some machines, but not all, attempts to use shaded graphics fail with a floating point exception.
The program could, in rare circumstances, report access violation errors when a dynamic simulation fails due to instability.
Some fatigue data files using the text YAML format cannot be loaded. This bug only affects files that contained empty lists. For example, empty S-N curve lists, empty load case lists, empty analysis data, etc.
The ExtendSimulation batch script command leads to a floating point error when executed on a model in the reset state. This command is only meaningful when a simulation is active and so the fix is for the program to report a more appropriate error.
Enabling the Show Trails option on the replay form, whilst a custom replay is playing, leads to an access violation.
The line selection drop down list on the SHEAR7 data form does not function correctly. It always displays the first line in the model in spite of any attempts to change the value.
In version 9.6a only, there is a flaw in the way the mode offset distribution and mode type is calculated for lines that include torsion. The weighting given to the rotational offsets in the mode, and hence the offset distribution percentages and mode type, depends on the segment lengths used to model the line.
These bugs are fixed in version 9.6b.
New in version 9.6a
64 bit OrcaFlex
Version 9.6 now includes 64 bit versions of the OrcaFlex executables. 32 bit versions of the executables are still included and are fully supported.
The 64 bit version runs slightly quicker than the 32 bit version. However, the main benefit is that the 64 bit version can access more memory than the 32 bit version. This is especially significant for machines with a very large number of processors.
The installation package copies both 32 and 64 bit versions of the executables, even on a 32 bit system. On a 32 bit system, the shortcuts and file associations are configured to execute the 32 bit version. On a 64 bit system, the shortcuts and file associations are configured to execute the 64 bit version. If you wish to run the 32 bit version on a 64 bit system, you will need to create an appropriate shortcut – the installation program will not do so. The 32 bit executable is named OrcaFlex.exe and the 64 bit executable is named OrcaFlex64.exe.
The OrcaFlex spreadsheet is now compatible with 64 bit versions of Excel. The installation process will detect which version of Excel is installed, and register the OrcaFlex add-in with that version of Excel. Post-processing using the OrcaFlex spreadsheet from the batch form is supported no matter which combination of OrcaFlex and Excel you are using. For example, if you are running 64 bit OrcaFlex and have 32 bit Excel installed, the OrcaFlex spreadsheet can still be processed from the batch form.
Native external functions will need to be re-compiled as 64 bit DLLs in order to work with 64 bit OrcaFlex. More generally, if you need your external function to work with both 32 and 64 bit versions of OrcaFlex, then you need to compile two separate versions, a 32 bit version and a 64 bit version. These should be located in the same directory and the 64 bit version given the suffix of 64. For example, if the 32 bit external function DLL is named ExtFn.dll then the 64 bit DLL must be named ExtFn64.dll. If you follow this naming convention, then OrcaFlex will load whichever external function DLL matches the architecture of the OrcaFlex process. Please refer to the OrcFxAPI help for full details.
Python external functions are fully supported under 64 bit OrcaFlex. Note that you must install a 64 bit version of Python to use Python external functions from 64 bit OrcaFlex. Likewise, to use Python external functions from 32 bit OrcaFlex, you must install a 32 bit version of Python. Multiple Python versions can be installed on a single machine so it is perfectly possible to use Python external functions from both 32 and 64 bit versions of OrcaFlex on a single machine.
All OrcaFlex automation capabilities are fully supported for both 32 and 64 bit. The OrcaFlex DLL, OrcFxAPI, is available in both 32 and 64 bit versions. The different versions of the DLL are both named OrcFxAPI.dll. The installation program installs binary files (.dll, .lib) to <InstallationDir>\OrcFxAPI\Win32 and <InstallationDir>\OrcFxAPI\Win64 respectively. Previous versions of OrcaFlex also installed OrcFxAPI.dll to the Windows system directory. Starting with version 9.6, OrcFxAPI.dll is no longer installed to the Windows system directory. Please refer to the OrcFxAPI help for details of how to link to OrcFxAPI.dll.
The Python and MATLAB interfaces to OrcaFlex now support both 32 and 64 bit versions of OrcaFlex. To use 64 bit OrcaFlex from Python or MATLAB you need to install a 64 bit version of Python or MATLAB. We will continue to support these interfaces in both 32 and 64 bit forms. So if you have already installed 32 bit Python or MATLAB then you are perfectly at liberty to continue using the 32 bit versions. In fact, not all third party modules are easy to obtain for 64 bit Python so there may be situations where it is preferable to use 32 bit Python.
In order to export videos from 64 bit OrcaFlex using the XVID codec, you must have the 64 bit version of the codec installed. The latest versions of the XVID codec install both 32 and 64 bit versions. However, if you installed XVID from an older installation package, then you may only have the 32 bit version of the codec installed. Installing the latest version, from http://xvid.org, will resolve the problem.
The OrcaFlex interface to VIVA is the only part of the program that is not currently supported in the 64 bit version of OrcaFlex. The reason for this is that the VIVA interface is implemented as an in-process DLL. That DLL is only available in 32 bit format. We intend to address this issue in a future release by implementing the VIVA interface in a different manner. In a future release we will use the VIVA executable files instead of the VIVA DLL. This will have the added benefit that the interface will keep pace with any developments to VIVA – the VIVA DLL is currently lagging behind mainstream VIVA. In the meantime, you will need to use the 32 bit version of OrcaFlex in order to gain access to the interface to VIVA.
New Line Contact Model
You can now model contact between lines using a new Line Contact model. This new contact model is particularly suitable for modelling systems where:
One line (or more than one) is inside another line, such as pipe-in-pipe systems and pull-in operations.
One or more lines are constrained to follow another line at certain arc lengths, such as choke and kill lines on drilling risers, installation guide wires and piggy-back risers.
A line strikes the outer surface of another, as seen in riser interference cases.
The line contact model supports relative axial motion between the contact lines. In addition, axial friction can be modelled. Line Contact Force results are available for lines that are in a line contact relationship.
This new line contact model is distinct from the previously existing line clashing model in OrcaFlex, which is still available.
Line Bending Hysteresis
The hysteretic bend stiffness model has been enhanced to allow modelling of lines in a depressurised state during statics. This is controlled by a new data item, Statics Model, set on the variable data form, that can be either Pressurised or Depressurised. The former results in the model used in previous versions of the program. The new Depressurised option results in a linear bending stiffness being used during statics. The bending stiffness is taken to be the slope of the final segment of the bend stiffness data (i.e. the slope determined by the final two rows of the data table). When dynamics starts, the program switches to the dynamic hysteresis model and ensures that the transition from statics (linear elastic) to dynamics (nonlinear hysteretic) is continuous.
P-y Models
P-y models can now be applied to lines that are slightly off vertical. The undeformed configuration of the P-y springs is determined by the end orientation at the bottom end of the line. Previous versions of the program assumed that the undeformed configuration of the P-y springs was vertically upwards. This means that models built with previous versions of the program, that have a bottom end orientation that is not vertically upwards, will be interpreted differently by 9.6a and later. The program displays a warning message to this effect when you load such a model.
The implementation of the API RP 2A soft clay P-y model has been updated to use the tabular form presented in Supplement 3 to the code. This does mean that version 9.6 will give different results from version 9.5 for P-y models that use the soft clay option.
Vessels
We have developed the facilities for modelling second order wave loads, as follows:
Wave drift loads on a vessel can now be calculated using the full QTF method, as an alternative to using the Newman approximation method. The full QTF method requires more data but is more accurate, especially in shallow water.
OrcaFlex's treatment of wave drift damping has been extended to account for finite water depth. Previous versions of OrcaFlex used the deep-water approximation for wave drift damping. So, re-running a model in OrcaFlex 9.6 or later will give slightly different results compared to simulations performed with previous versions.
We have also changed the way RAOs and QTFs are derived for wave component periods that are beyond the range of periods specified in the data. For details of the new treatment see RAO Interpolation/Extrapolation and Interpolation and Extrapolation of QTF data. The effects of these changes are as follows:
Previously, if the user displacement RAO or 1st order wave load RAO tables did not specify the RAOs for period=Infinity, then for wave component periods greater than the longest period specified in the data the RAOs were obtained using frequency-linear extrapolation from the RAOs given for the two longest periods specified in the data. Now, for all periods greater than the longest period specified the program uses the RAOs given for that longest specified period.
Previously, if the user QTF tables did not specify the QTFs for period=0, then for wave component periods less than the shortest period specified in the data the QTFs were obtained using period-linear extrapolation from the QTFs given for the two shortest periods specified. Now, for all periods less than the shortest period specified the program uses the QTFs given for that shortest specified period.
Previously, if the user QTF tables did not specify the QTFs for period=Infinity, then for wave component periods greater than the longest period specified in the data the QTFs were obtained using frequency-linear extrapolation from the QTFs given for the two longest periods specified. Now, for all periods greater than the longest period specified the program uses frequency-linear extrapolation from the QTFs given for that longest specified period towards zero QTFs at infinite period (zero frequency).
Note:
OrcaFlex uses a backwards compatibility mode when opening simulation files generated by previous versions of the program. If the simulation file was generated using 9.5 or earlier, then the program continues to use the extrapolation method that was in force when the simulation file was generated. The main implication of this is that if you continue or extend the simulation, then OrcaFlex will continue to use the legacy extrapolation method. If you reset the simulation and restart, then the program will switch to new behaviour.
Environment
The nonlinear wave theories all take current speed as input to the wave theory. In previous versions of the program the current speed at the start of the simulation was used as the input to the wave theory. However, if the current is ramped then this results in a current speed of zero being used. Clearly this is not ideal because the ramping only applies during the build-up, which is used to avoid transients during the simulation. When the build-up phase is complete it makes most sense for the nonlinear wave theory to be based on the unramped current speed. Accordingly, version 9.6 now uses the unramped current speed as input to the nonlinear wave theories.
For the Torsethaugen wave spectrum, the Environment data form now reports the values of fm1 and fm2. These values are calculated as part of the formulation of the wave spectrum and so they are read-only. For wind dominated sea states fm1 = fm and fm1 > fm2; for swell dominated sea states fm2 = fm and fm1 < fm2.
Real values are now allowed for wave spreading exponent. Previous versions required even integer values.
The line clearance result that used to be called Line Contact Clearance has been renamed as Line Clearance. This change of name is to avoid possible confusion with the new line contact model since clearance results are not associated with the new line contact model.
The results that were called Acceleration (incl. g) in previous versions, are now called Acceleration rel. g. This name change has been made to clarify that the acceleration is reported with the downwards acceleration due to gravity subtracted, not added. The results themselves have not altered.
A new Stretched Length result for Winches has been added. This reports the total distance between the winch connection points.
Solid Contact Force results have been added for 6D Buoys. These report the force due to contact with elastic solids.
Model Browser
Actions (e.g. hide/show, delete, locate etc.) can now be performed when multiple items are selected, even if that selection includes a group. In previous versions, actions could not be performed on a selection if that selection contained a group, and the selection had more than a single item.
New actions, available from the model browser menus, have been added to expand or collapse all top level containers in the browser tree.
User interface
The Winch Connections list, on the Winch data form, can now be modified using INSERT and DELETE. These key presses insert and remove rows respectively. In previous versions, for historical reasons, these key presses were not supported for this data, despite being widely supported throughout the rest of the program.
The All Objects data form now supports viewing and modification of winch stage data.
OrcaFlex graphs support mouse panning by means of SHIFT+drag. Similarly, you can zoom in and out of graphs using CTRL+wheel. These shortcuts are the same as those supported by 3D views.
A number of OrcaFlex warning messages can now be disabled by checking Don't show this message again on the warning message form. Once a message has been disabled, it will not be shown again. These messages can be re-enabled from the preferences form. At the moment, the dialogs that can be disabled are those that are shown when you use the Use Specified Starting Shape for Lines and Use Static Line End Orientations actions.
Post-processing
The Instructions Wizard now has an option to Exclude header text. This option is applicable to results instructions that have columnar output, e.g. range graphs, linked statistics, spectral density etc. By default the output columns are titled with a header row. For example the range graph columns are titled Min, Max, Mean etc. The new option allows you to suppress the output of the header row.
The Duplicate Instructions facility now allows a results sheet to be named using an index, rather than being named based on the load case file name. For example, this allows results sheets to be named 1, 2, 3, etc. You are still able to supply a base name for the results sheets so that you can, for example, name your output sheets BaseSheetName#1, BaseSheetName#2, etc.
The radial position for homogeneous pipe fatigue can now be specified for each arc length interval. This change has been made to allow you to analyse both inner and outer positions as part of the same analysis. In order to facilitate this change we now allow arc length intervals to overlap.
The SN-curve and stress concentration factors are now included in the fatigue output tables. This is needed in order to identify results points if you have overlapping arc length intervals.
The SHEAR7 data form now presents options to control which SHEAR7 output files (.anm, .fat, .dmg, .out, .out1 and .out2) are generated. These options are then reflected in the SHEAR7 data file that OrcaFlex generates. When OrcaFlex runs SHEAR7 directly, OrcaFlex will capture whichever of the .out, .out1 and .out2 files are created and include them in the results tables for the line. The output files are automatically exported if you run the static analysis in batch mode. The files are exported with file names based on the model file name and the line name.
The facility to perform VIVA calculations during a dynamic simulation has been removed. VIVA calculations can still be performed as part of a static calculation.
External Functions
We have made breaking changes to the way in which native external functions must be linked to OrcFxAPI. Existing native external function DLLs will not work with version 9.6a and later. You must re-compile external function DLLs using the new linking mechanism. New style external function DLLs are compatible with versions 9.5d and later. Full details of the linking requirements are given in the OrcFxAPI documentation.
To summarise, you will need to perform the following steps for any existing external function DLLs:
Update your project to include the latest version of OrcFxAPI.h.
Remove OrcFxAPI.lib from your project (delete it from your project file and delete the actual file from the project folder).
Add OrcFxAPIExplicitLink.c to your project.
Add InitializeOrcFxAPI to your project's .def file.
Aside from the changes to the linking mechanism, we have made the following enhancements to external functions:
The external function info struct has been extended with a new field named lpModelFileName. This contains the name of the latest OrcaFlex file (.dat, .yml or .sim) that was opened or saved. For Python external functions the corresponding attribute is named ModelFileName.
External function can now define results. These results are available via OrcaFlex time history results, linked statistics, extreme value statistics, range graphs etc. External results can be defined by both Python and native external functions. To learn more about how to implement external results, please refer to the External Function Examples.
Python external functions can now be implemented using Python 3. Previous versions of the program only supported Python 2.
We now supply an experimental, unsupported interface between OrcFxAPI and .net languages. This is supplied in the form of a C# source code file that links to the OrcFxAPI native DLL using P/invoke. This interface can be accessed from a C# project simply by adding the source file, OrcFxAPI.cs, to the project. For other .net languages you need to create a C# class library from OrcFxAPI.cs, and then reference that class library. We stress that the .net interface is purely experimental and is supplied on an unsupported, as-is basis. It is not documented, although it is very similar to the Python and MATLAB interfaces. The .net interface is incomplete in that not all functionality of OrcFxAPI has been implemented. However, in spite of all these provisos, we feel that this interface could be useful to experienced .net programmers.
Bug fixes
Vessel harmonic motion is applied at the displacement RAO origin. However, if displacement RAOs were not in use (for example, there were no data for them or the wave height was zero) then harmonic motion was being mistakenly applied at the vessel origin.
Fatigue files larger than 2GB could not be loaded.
These bugs are all fixed in version 9.6a.
New in version 9.5d
A more in depth discussion of the new features introduced in 9.5 is available on our blog.
Environment
A new spectrum discretisation method was introduced, named 9.5d. This only affects double peaked spectra, i.e. Ochi-Hubble and Torsethaugen. The older discretisation methods were sometimes inaccurate, especially for wind-dominated Torsethaugen spectra. All new models should use the new 9.5d spectrum discretisation method.
Bug fixes
Python external functions could, for a variety of reasons, fail to run under Distributed OrcaFlex. These issues have all been resolved in OrcaFlex 9.5d and Distributed OrcaFlex 3.2d.
Data files containing an object named Curve1, which were originally saved with 9.4 or older, could produce error messages when loaded in versions 9.5a-c. The error message read Cannot find Shear7 SN-Curve 'Curve2' – using first Shear7 SN-Curve. In addition to the error message, the object named Curve1 would be renamed Curve2, an object named Curve2 would be renamed Curve3 and so on. Despite all that the bug was relatively benign because the meaning of the model would not be changed, just the names of some of the objects.
Fatigue analysis sometimes produced incorrect results if the arc length interval data were not specified in order of increasing arc length.
These bugs are fixed in version 9.5d.
New in version 9.5c
Bug fixes
Batch jobs could sometimes fail with the application entering a hung state. This would happen typically when the connection to a networked dongle was lost.
Graphs containing very large values (most commonly bend radius graphs) could result in floating point errors being reported.
Clumps and drag chains were being connected offset from the centreline in certain situations. This would happen if the attachment had previously been a 6D Buoy attachment, contained non-zero x and y attachment position data, and was subsequently converted to a different attachment type.
The compass was drawn underneath other objects in shaded graphics.
The move objects facility was reporting errors when attempting to move plane shapes.
Floating point errors were sometimes being reported for files using Python external functions.
Fatigue analysis was failing for certain files using Python external functions.
These bugs are fixed in version 9.5c.
New in version 9.5b
Bug fixes
Vessel loads and motion were miscalulated if the vessel used calculated primary motion (3DOF, 6DOF or externally calculated) and treated primary motion as both low and wave frequency and the vessel heading passed through 180 degrees during the simulation. Other cases were not affected.
Range graphs for specified arc length ranges, were, in some cases, reporting incorrect values for the final reported arc length. The bug only affected certain mid-segment results like curvature, bend moment, stress results etc. and only occurred when the arc length range ended in the second half of a segment.
The line detailed properties report was incorrectly reporting the y drag coefficient for line types with non-isotropic drag.
These bugs are fixed in version 9.5b.
New in version 9.5a
Lines
Lines may now interact with the seabed through P-y models. This feature is intended for vertical lines that extend beneath the seabed.
A new Equivalent Line category has been added for line types. This is intended for simple modelling of pipe-in-pipe and pipe-on-pipe lines. The program calculates combined line type properties (geometry, mass, stiffness etc.) of a number of different line types.
The inertia coefficients, Cm, for line types can now be specified independently from the added mass coefficients, Ca. This is not available for the homogeneous pipe line type category.
The line properties report now includes an extra page titled Details. This contains details of each line type used by the line, together with a table, listing for each section, the segmentation, structure, hydrodynamics, contact and friction properties. When a section's line type uses a profiled diameter properties are reported for each segment in that section.
The line type properties report now includes an extra page titled All containing tabular information for all line types, laid out with one row per line type. The first sheet of information echoes the input data for each line type in the model. The second sheet presents derived values (e.g. weight in air, displacement etc.) for each line type. These derived values are not available for line types using a profiled diameter.
The handling of outer contact diameter for nodes at section boundaries has been changed. The change is only relevant when the line type contact diameter is different on either side of the node. Previous versions of the program used a node contact diameter calculated as the contact area for the node divided by the node length. This version of the program no longer attempts to satisfy that equality and sets the contact diameter to be equal to the larger of the contact diameters from the line types either side of the node.
Stress joint and bend stiffener profiles are now drawn in the 3D view when the model is in reset state.
Curvature and stress results at the end of profiled sections are now reported more accurately. Previously these results were calculated using the diameter of the segment at the end of the line. For profiled sections the segment diameter is determined by the value of the diameter profile at the mid-segment point. Using this mid-segment diameter for results reported at line ends is inaccurate. This version of the program calculates curvature and stress results using the value of the profile diameter at the end.
The minimum wall thickness data item for the API RP 2RD code check has been replaced by a corrosion thickness data item. This allows the code check to be used with profiled line types, for example stress joints, that have a non-zero corrosion thickness.
The SHEAR7 mode behaviour cutoff data item has been renamed power ratio cutoff level to match the terminology used in SHEAR7. The default value has been changed to that recommended in the SHEAR7 4.5 manual.
Vessels
When primary motion is being used, you now need to tell OrcaFlex whether to treat primary motion as being entirely low frequency, entirely wave frequency, or a mixture of both (in which case you must specify a dividing period). This enables the program to split the primary motion into its low frequency and wave frequency parts, which is needed because some aspects of vessel modelling should only use the low frequency motion, and some only the wave frequency motion. For further information see the warning and note below.
Wave drift damping, in the surge and sway directions, can now be included. This is also known as the current effect on wave drift.
The roll damping in previous versions has been removed, and instead there is now a new Other Damping page on the vessel type data form. This new damping effectively replaces the previous roll damping, but also extends it to cover all 6 degrees of freedom. You can choose whether Other Damping is included. If you open old data files that included non-zero roll damping, then the roll damping will no longer be active without some changes to the data – see the warning below.
You may now choose whether to include the added mass and damping load, in the same manner as other vessel loads. Previously it was always included.
To improve clarity, the previous Hydrodynamic Damping and Wind Damping pages (on the vessel types data form) have been re-titled Current Load and Wind Load. And the previous Prescribed Motion and Primary Time History pages (on the vessel data form when using those primary motion settings) now appear as a page simply titled Primary Motion, which contains the data (if any) for the currently-selected primary motion.
The QTF input origin z-coordinate is now editable. Previously it was assumed to always be zero.
Vessel Type length can no longer be left undefined ('~'). Although old simulation files with undefined Vessel Type length can be loaded, they cannot be re-run without specifying a length.
Vessel primary motion can now be specified by external function. This feature was added to enable coupling of OrcaFlex and FAST, the NREL aeroelastic code for horizontal axis wind turbines. For details see FASTlink on our website. Although externally calculated primary motion was implemented to enable this coupling, we envisage that the feature could be used for other purposes.
Some vessel force and moment results have been reordered and renamed, for consistency across the program.
Warning:
If you open an old data file that included non-zero roll damping, then OrcaFlex will read that roll damping data and reference origin into the roll components and reference origin of the new Other damping. But the roll damping will no longer be active without some changes to other data. This is because roll damping was previously calculated using the whole of the vessel primary motion, but Other Damping uses only the wave frequency part. And by default the new program will treat the primary motion as low frequency, not wave frequency, so the velocity used to calculate the roll damping load will be zero. To apply a roll damping load you need to change the data to treat the primary motion as either wave frequency, or both low & wave frequency.
Note:
Previous versions of the program included all primary motion of the vessel in the position used to calculate wave phases and for wave heading used for RAO/QTF interpolation, when applying displacement RAOs, 1st order wave load RAOs and 2nd order wave drift QTFs. As a result the vessel 2nd order modelling might have been inaccurate if significant wave frequency primary motion was present. This is only likely to have affected results significantly if 6DOF Calculated primary motion was used to model combined slow drift and wave frequency motion, by including both the 1st order and 2nd order wave load. The new primary motion filtering facility enables this inaccuracy to be avoided.
6D Buoys
You can now model slam loads on 6D Buoys. For details see Slam Force Theory.
You can now choose whether the buoy velocity used with the damping data that you specify should be the buoy velocity relative to earth, or the buoy velocity relative to the fluid. Normally, to model wave radiation damping the velocity relative to earth should be used, whereas to model skin friction damping the velocity relative to the fluid should be used. This option is relative to earth by default but note that previous versions of the program, which did not have this options, effectively used damping relative to fluid.
For Spar Buoys and Towed Fish, Cm can now be specified independently from Ca. In previous versions Cm was always equal to 1+Ca. Setting Cm to ~ is equivalent to setting the coefficient to 1+Ca.
Normal drag area for Spar Buoys and Towed Fish can now be calculated directly from the cylinder geometry. This value is almost always set equal to cylinder OD times length, and this new option allows this calculation to be performed automatically by the program.
Two new stage control modes have been added: Specified Payout Rate Change and Length at Stage End. These control modes typically result in smoother responses than the other length control modes.
Environment
The Stokes' 5th (SH) wave theory has been removed. This wave theory, due to Skjelbreia and Hendrickson, is well-known to be less accurate than the Stokes' 5th wave theory due to Fenton that is named Stokes' 5th in OrcaFlex. Note, however, that the Dean Stream wave theory is still recommended as the most accurate and reliable regular wave theory in the program.
Fatigue Analysis
The fatigue analysis capabilities can now be automated through batch script and the OrcaFlex Programming Interface.
Automation through the spreadsheet supports analysis using the Rayleigh distribution via the Rayleigh Extremes command. The Weibull and GPD distributions are not available in the current version due to the complexity of threshold selection.
The full analysis capability is available via the programming interface. That is, in contrast to the OrcaFlex spreadsheet, analysis using the Weibull and GPD distributions is available.
Unicode
OrcaFlex now has full support for Unicode text. All previous versions used the 8 bit ANSI character set appropriate for the machine's locale. The use of ANSI characters meant that data files would be interpreted incorrectly when opened on a machine that used a different locale from the machine that created the data file.
Using the Unicode character set means that characters from all languages can be used without any risk of mis-interpretation when files are opened on different machines.
User Interface
You can now attach a 3D view to any Vessel, 6D Buoy or Shape object in the model, by specifying that the view parameters are relative to that object, instead of being relative to global axes. When a 3D view is relative to an object, it shows the view from a camera that moves with that object, so this is useful for towed cases where the system being modelled moves a large distance during the simulation.
You can now rotate a 3D view about the view direction, by specifying a new view angle called Gamma.
The compare data facility has been extended to allow comparison of two objects within the same model. This is achieved using the Compare action in the model browser. Exactly two objects must be selected. The objects can be simple OrcaFlex objects (e.g. Vessels, Lines etc.) or browser groups.
OrcaFlex now has a built-in compare program which is used if you do not specify an external compare program. The built-in compare program is quite limited and for the best experience we still recommend using an external program. We currently recommend WinMerge.
Files can be added to the batch form whilst a batch is running. Note that this feature has the limitation that all pre-existing jobs must be run to completion before the program starts processing the new files added whilst the batch was active.
The model browser can now be docked inside the main OrcaFlex window. The traditional floating model browser window is still available as an option. You can choose between the various options by right clicking on the model browser and selecting Floating, Dock Left or Dock Right.
Workspace axes ranges can now be preserved when saving workspace files – those axes ranges will be restored when the workspace is subsequently opened.
Copying, exporting and printing of data from the model browser and from data forms now uses the YAML text data format. This results in a much better presentation of the data than in previous versions.
The fundamental frequency for spectral density graphs can now be specified. This is done through a data item on the General data form.
The Superimpose Times feature has been removed. Equivalent functionality is available using Custom Replays.
A new Delete directive is available for text data files which deletes a named object from the model. This is useful when used in combination with the BaseFile directive.
External Functions
External functions can now be used with the implicit solver, removing a limitation of previous versions. Note that there is no mechanism for including Jacobian contributions which can result in poor convergence of implicit simulations for certain types of external function. Having said that, our experience so far is that this issue is seldom a significant problem. Existing external function code may need to be modified to work with the implicit solver – see the OrcFxAPI documentation for details.
External functions can call C_ExternalFunctionPrint (or simply print for Python external functions) to output diagnostics text. This text is displayed in a text window in OrcaFlex which can be opened from the Window menu.
OrcaFlex Programming Interface (OrcFxAPI)
OrcFxAPI now offers automation of Fatigue Analysis and Extreme Value Statistics, for all supported interfaces: C/C++, Delphi, Python and MATLAB.
OrcFxAPI has full support for Unicode text. This is supported in all interfaces except MATLAB because MATLAB does not support Unicode strings.
The full list of new API functions is: C_CreateFatigue, C_LoadFatigue, C_CalculateFatigue, C_SaveFatigue, C_DestroyFatigue, C_OpenExtremeStatistics, C_CalculateExtremeStatisticsExcessesOverThreshold, C_FitExtremeStatistics, C_QueryExtremeStatistics, C_SimulateToleranceIntervals, C_CloseExtremeStatistics, C_InvokeLineSetupWizard, C_CreateModel2 and C_ExternalFunctionPrint.
The C/C++ header file, OrcFxAPI.h, has been modified in the following way. Most declarations which were previously of type LONG have been changed to int. The main exception to this are handles which now use a new type, TOrcFxAPIHandle. Other exceptions include APIs like C_GetNamedValue and C_SetNamedValue which now operate on values typed as INT_PTR. The motivation for these changes is a planned future release of a 64 bit version of OrcaFlex, for which these changes are essential. Compiling existing code with the new header file will result in compilation errors. These are straightforward to fix using the replacement scheme described above. Note that you can safely use newer versions of OrcFxAPI.dll with code compiled and linked with older .h and .lib files should you wish to postpone implementing these changes.
The Delphi interface unit, OrcFxAPI.pas, has been modified in a similar fashion to the C/C++ header file.
New in version 9.4g
A more in depth discussion of the new features introduced in 9.4 is available on our blog.
Bug fixes
Range graphs for incomplete periods (e.g. partially complete simulations) were not showing results for spike logged variables such as tension.
The outputting to Excel for the post-processing spreadsheet has been greatly speeded up.
These bugs are fixed in version 9.4g.
New in version 9.4f
Bug fix
Wake Interference was being mis-calculated when a User Specified wake model was used. This problem did not affect the Huse or Blevins wake models.
This bug is fixed in version 9.4f.
New in version 9.4e
Bug fixes
Copying objects to the clipboard in earlier versions of 9.4 could sometimes result in corrupted models. Typically this bug would manifest as objects changing names, apparently at random, e.g. names becoming blank or names like '1', '2', '3' etc.
In-plane and out-of-plane shear force results were reversed in previous versions. That is the in-plane values were reported instead of out-of-plane values and vice versa.
The OrcaFlex spreadsheet Get Data instruction was not working for variable data sources.
Batch processing for OrcaFlex spreadsheets was failing if the simulation files referred to by the spreadsheet did not exist when the spreadsheet was added to the batch list.
These bugs are fixed in version 9.4e.
New in version 9.4d
Previous versions of the program would sometimes fail to perform rainflow fatigue analyses, reporting Out of memory errors. These errors would typically occur for analyses with large numbers of nodes, thetas, components, for long duration simulation files or on machines with a large number of processors.
The rainflow fatigue analysis implementation has been reorganised to make more reasonable use of system memory. We believe that the analyses will no longer fail due to lack of memory as a result of this change. A side effect of this is that some analyses may be slightly slower than in previous versions, but we feel that it is best to trade a small amount of performance for increased robustness.
New in version 9.4c
OrcaFlex spreadsheet
The batch script and text data file generation features now reflect the Excel formatting of value cells. So, if a cell is formatted to have, say, 1 decimal place, the corresponding value in the generated script or text data file will also have 1 decimal place.
Bug fixes
The Total End Force magnitude result was calculated as the sum of the protected line end force magnitude and the stiffener end force magnitude. Instead the vector sum should be performed and then the magnitude of this sum returned.
End Lx, Ly and Lz-Force and Moment results were reported incorrectly for stiffener line ends. The magnitude was correct but the results were reported with respect to the wrong frame of reference. Similarly, Total End Lx, Ly and Lz-Force and Moment results were incorrect because they are based on the erroneous stiffener end load results.
End Ex, Ey and Ez-Force and Moment results could be reported incorrectly for stiffener line ends, at End B, when torsion is not included. The error occurred only when there was some twist between the end axes orientation and the end node orientation. The magnitude was correct but the results were reported with respect to the wrong frame of reference.
Mean up-crossing declustering for extreme value statistics was operating incorrectly for time histories with consecutive values that alternated above and below the mean. This would typically only occur when the log interval was exceedingly large.
Models with line nodes exactly on edges or corners of solids resulted in unstable simulations.
Simulations for models with wire frame drawings containing a very large number of vertices could, under some circumstances, take significantly longer than in previous versions of the program.
Setting Hs to zero for the Torsethaugen spectrum resulted in a floating point divide by zero error.
The batch script and text data file generation features of the OrcaFlex spreadsheet would, with certain input, result in errors of the form: Could not convert variant of type (OleStr) into type (Double). This would typically occur for cells containing numbers formatted as text, or Excel errors such as #VALUE!, #DIV/0! etc.
These bugs are fixed in version 9.4c.
New in version 9.4b
Multithreading
Some modern Intel processors can run more than one thread per core. For example, many of the Intel Core i7 processors support two threads per core. The terminology logical processors is often used – to give a concrete example, a quad core processor with two threads per core has 8 logical processors, and so on.
Previous versions of OrcaFlex did not, by default, take advantage of this capability because the thread count defaulted to be the number of physical cores. Starting with version 9.4b, the program defaults to using the number of logical processors and so makes full use of available processor resources.
Bug fixes
The install program for 9.4a failed to install the OrcaFlex spreadsheet correctly.
In version 9.4a, the OrcaFlex spreadsheet did not function if the language selected in the system's regional settings did not match the Excel program language.
These bugs are fixed in version 9.4b.
New in version 9.4a
Lines
Line contents can now be specified as free-flooding, in which case the line is filled with sea water, up to the instantaneous water surface.
A slug flow option for line contents modelling has been added. This allows for spatial and temporal variation of contents. The contents flow velocity can also vary with time.
Line contents flow loads (centrifugal and coriolis forces) are now applied in statics. Previously they were ramped during build-up. Applying the loads in statics reduces transients.
Line clashing can now occur between segments from a single line. In previous versions clashing only occurred between segments from different lines.
The Line with Floats Wizard is now available when the base line type has drag which varies with Reynold's number. In order to allow this the Wizard now sets the drag diameters for the equivalent line type to be the drag diameters of the base line type and sets the drag coefficients accordingly.
The Maximum Tension data item for Line Types has been renamed Allowable Tension.
Minimum Bend Radius variable data items can now specify that bend radius is related to either wall tension or effective tension. Previously the relationship was always with wall tension.
The program no longer includes Rayleigh damping contributions from the geometric stiffness due to effective tension.
Vessels
The process of importing hydrodynamic data for Vessel Types has been improved in a number of ways. Now, generic text data may be combined in one file and imported in a single operation – previously, displacement RAOs, load RAOs, QTFs, and added mass and damping all had to be in separate files. Generic text data files may now specify the conventions and units of their data. The different ways of importing Vessel Type data are now consistent, whether importing all the data at once or importing a single category, i.e. RAOs, QTFs or Added Mass and Damping. In all cases, the vessel type conventions are preserved. If the conventions or units of the data being imported differ to those of the Vessel Type, then the data will be converted to match them at the time of import. Examples and descriptions are given of how to mark up RAO, QTF, and added mass and damping output from various analysis packages for import into OrcaFlex.
Vessel QTFs are now dimensional – previously they were non-dimensional. Old binary (.dat) data files containing non-dimensional values will be converted automatically when read. For text data files from old programs, the non-dimensional data will be read in but not re-dimensionalised.
First order displacement and load RAOs now handle extrapolation towards zero period response differently. In previous versions if any extrapolation was needed you were warned about it but the program extrapolated based on the first two rows of the RAO tables. This meant that it would not necessarily extrapolate towards a zero response. In this version, if extrapolation is needed, OrcaFlex will now extrapolate towards a zero response for zero period. You are still warned that the data are missing and that the program will do this extrapolation for you. If you specify non-zero data for zero period then this data will be replaced with zero response.
For primary motion time histories, a degree of freedom set to None now fixes the degree of freedom as the value at the end of the statics calculation. Previously this setting fixed the value as zero.
Vessel time history data now includes an origin which specifies the point on the vessel at which the motion time history applies.
Elastic solid contact is now handled slightly differently for objects with non-zero contact diameter, e.g. line-solid contact. The algorithm used in previous versions had some weaknesses. The essential problem was that the reaction force always acted normal to the solid face closest to the node. When a node is near an edge or a corner then this results in a discontinuity which in turn can lead to poor convergence and noisy responses.
In addition, the previous algorithm had the unfortunate property that contact could, under some circumstances, occur for nodes outside the shape. This problem most commonly afflicted nodes just beyond the end of a curved plate, e.g. a bellmouth.
This version of OrcaFlex solves these problems by adopting a minor change to the contact algorithm. The reaction force now acts in the direction of the vector po-ps where po is the position of the node and ps the position of the closest point on the surface of the solid to po. When ps is on one of the faces of the shape then the new and old algorithms are identical. However, when ps is on an edge or at a corner then the reaction force is no longer normal to one of the faces.
Should you require more technical details regarding this change, please contact Orcina.
Shapes
A new type of shape, the drawing shape, is available for drawing purposes. Drawing shapes have no physical effect on the model and do not interact with other objects.
Modal Analysis
A new eigen-solver has been implemented to perform modal analysis. The new solver is much faster and requires much less memory than the previous solver and this has significant benefits for large problems. The new solver is not applicable to all problems and so the old solver is retained as a fall-back. More details are given in the modal analysis theory topic.
Modal analysis was previously only available for individual lines. It is now possible to perform a modal analysis for the whole system.
Modal analysis is now available for systems with non-banded stiffness matrices. For example, previous versions of the program would not perform a modal analysis if there was a link connecting two nodes on the same line but modal analyses for such models are now possible.
The VIV table on the modal analysis form previously allowed you to control how the modes were output by sorting the modes on offset distribution. This was not the most helpful user interface because typically you wish to filter out less interesting mode types (e.g. only show transverse modes) and display in increasing mode number order. The new filter option implements this improved user interface.
Fatigue Analysis
There is a new option to collate, sum and present fatigue damage output from SHEAR7.
Mean stress effects can now be accounted for using Goodman, Soderberg or Gerber models.
Stress factor fatigue now offers the choice of wall tension or effective tension as the tension variable. Previous versions always used wall tension.
User Interface
A new menu item, View | Show Entire Model, has been added which sets the view parameters for the active 3D view so that the entire model will be displayed. Related to this change, new data have been added to the drawing page on the General data form to allow more control over default view parameters. Previous versions of the program stored default view parameters as absolute, fixed values. The new option allows the default view to be determined by the extent of the model.
Copy/paste and import from Library files has been improved for objects which refer to variable data. In previous versions the variable data sources were not imported which meant that you had to separately paste or import the required variable data items. In this version all variable data sources that are referenced by the imported objects are also imported. This means that variable data references are now handled in the same way as type objects (e.g. Vessel Types, Line Types).
Shaded graphics video export now offers direct support for the Windows Media Video 9 codec, which is identified by the code WMV3. This codec produces lower quality videos than XVID for the same video file size, but does have the advantage that the videos should work on almost all Windows machines without the need for codec installation.
A new menu item, File | Properties, has been added which displays the system file properties dialog for the current file. This has been added to make it easier to find the full path for files with long names.
GIF and JPG images can now be exported from 3D view and graph windows.
OrcaFlex Spreadsheet
The OrcaFlex Spreadsheet has been completely re-written. Previous versions were implemented using VBA but the new version removes all VBA and instead implements the functionality as a COM add-in to Excel. From the user's perspective this change is largely immaterial – the operation of the spreadsheet remains essentially unchanged. The main advantage of, and indeed the principal motivation for, the change, is that the spreadsheet can now make use of multi-core and multi-processor hardware to post-process multiple load cases in parallel.
The Linked Statistics post-processing instruction now reports m0, m2, m4, Tz, Tc and spectral bandwidth parameter ε. This brings it into line with the Linked Statistics output produced by the interactive OrcaFlex interface.
The Duplicate Instructions action now duplicates cells by using Excel's standard copy routines. This means that formulae will be copied, and references updated in the standard Excel fashion. A common request has been to allow an easy way to output the load case file name to an output sheet. The obvious way to implement this is with a label defined by a formula referring to the load case file name. This approach failed in previous versions but this change, by allowing formulae to be copied in the standard Excel fashion, solves the problem.
Hidden rows in post-processing instructions tables are now ignored. This allows you to disable certain instructions which can be useful when developing and building a table of post-processing instructions.
Post-processing can now take advantage of Excel 2007 and later supporting very large worksheets. Older versions of Excel were limited to 65536 rows and 256 columns, but the more recent versions of Excel have effectively removed these limits.
OrcaFlex Programming Interface
We now provide an interface to OrcaFlex from MATLAB. This MATLAB interface is functionally identical to the Python interface.
Wave search output, summary results and full results can now be exported from the API.
Network dongle config files
The preferred location for the network dongle configuration file, NetHasp.ini, is now COMMONAPPDATA\Orcina. The OrcaFlex.msi installer will, if required, write the file to this location (for a new installation) or copy it from its old location (for an upgrade). See the OrcaDongle help for further details.
Bug fixes
Ramping during build-up for vessel primary motion time histories was handled incorrectly when 6 DOF statics was in use.
Simulations using time domain VIV, for models which included bend stiffeners, would sometimes become unstable.
Cancelling data forms was, in some situations, failing to force a refresh of shaded graphics meshes.
Previous versions were not capable of opening text data files as library files.
OrcFxAPI was failing to load certain text data files when specified by a relative file name.
Modal analysis views with Draw node axes enabled for lines with attached links or winches was resulting in a corruption of static state positions for such links or winches. This corruption could also affect the first log sample of simulations. As a workaround, reset the model and repeat the statics calculation.
End load results for free-ended lines with attached stiffeners erroneously included the stiffener contribution to end load.
These bugs are all fixed in version 9.4a.
New in version 9.3c
A more in depth discussion of the new features introduced in 9.3 is available on our blog.
Static state results
Static state results (e.g. static state range graphs) are now available for dynamic simulation files.
This change has been implemented by returning results based on the first log sample from the dynamic simulation. As a consequence of this the first log sample of the simulation is now sampled differently from previous versions of the program. In previous versions the first sample was taken after dynamics had started, but before the first time step integration. In this version of the program the first log sample is taken immediately before dynamics begins.
The reason for this change is so that the first log sample really does contain the static state results. For example, consider a line end which is released at the beginning of the build-up stage. Once the line end has been released, the effective tension at that end will be zero. In statics, before the end is released, the effective tension will, typically, be non-zero. The change described above results in the non-zero static state value being logged as the first log sample – previous versions logged the zero tension value corresponding to the released state.
Please note that you should re-run dynamic simulations with version 9.3c or later before making use of this new capability. This ensures that simulation files incorporate the logging change described above.
Statics Friction for Lines
The handling of axial friction in statics has been improved for non-horizontal seabeds.
Bug fixes
Static state wake interference results (Wake Velocity Reduction Factor, Wake Cd, Wake Cl) are incorrect for static state simulation files. The results are correct when extracted directly after the statics calculation is performed.
Solid Contact Force results for bend stiffener attachments are always reported as zero in static state, even if there is contact with an Elastic Solid.
Static state tension results for bend stiffener attachments are incorrect when the graph is created immediately after a modal analysis has been performed.
Incorrect values of Dry Length are reported for Spar Buoys and Towed Fish in the Summary/Full Results tables in static state.
OrcaFlex sometimes reports a Control 'BatchList' has no parent window error message at program shutdown. This error is in fact benign.
For certain OrcaFlex data forms, data in library files cannot be viewed and an Assertion failed error message is displayed.
The SHEAR7MdsFile batch script command can fail and produce an Access violation error message. This occurs when there are no transverse modes – usually due to no current being applied.
OrcaFlex simulation files which fail due to dynamic instability when run using the batch script RunDynamics command are not saved.
Cancelling from the batch form can produce an Access violation error message. This occurs only when using the Check button, only when checking statics and only when Whole System Statics is being performed.
Cancelling from the batch form fails to cancel jobs which are performing Whole System Statics if you select the save partially completed simulation files option. Any such jobs continue running until their statics calculations are complete.
These bugs are all fixed in version 9.3c.
New in version 9.3b
Profiled seabeds now support up to 100,000 data points. Previously the limit was 10,000 points.
Bug fixes
Saving files to a network share can, in certain circumstances, result in failure with an Access is denied error.
The end nodes of a stiffener line can, in certain circumstances, clash with the line protected by the stiffener. This is a bug since a stiffener should not clash with the protected line. The bug is segmentation dependent and is unlikely to occur for most typical bend stiffener models.
Using the mouse scroll wheel with no child windows (e.g. 3D views, Graphs etc.) open generates an "Access Violation" error message.
These bugs are all fixed in version 9.3b.
New in version 9.3a
Extreme Value Statistics
Extreme Value Statistics Results are available for time history variables. Return values are estimated for a user-specified time duration, based on the time history of a selected variable. Rayleigh, Weibull or Generalised Pareto distributions can be fitted. For the latter two, confidence limits are estimated for the return level and diagnostic graphs are presented indicating the goodness-of-fit of the selected model.
Text data file
OrcaFlex models can be saved to text data files in addition to the traditional binary .dat data file. Text data files can be edited in any standard text editor and are readable, well structured and self-documenting. The text data file offers benefits for QA and automation in particular and is intended to complement, rather than replace, the binary data file.
Static state simulation files
Results from static analyses can now be saved to simulation files. Such static state simulation files can be re-opened and static state results can then be extracted.
The OrcaFlex batch form can now perform static analysis and save simulation files containing the results of that analysis.
A new batch script command, RunStatics, has been added. This performs a statics calculation and then saves the results to a simulation file.
The OrcaFlex spreadsheet can load static state simulation files and post-process statics state results.
You can use static state simulation files in a custom replay to show a series of static snapshots. This can be significantly faster than in previous versions which typically calculated statics for each snapshot every time the replay was started.
Performance improvements for drag-dominated systems
Previous releases of the program have suffered from performance problems when modelling certain drag-dominated systems. Most commonly this affected towed-array systems with high tow speeds. Such systems could suffer from poor convergence in both statics and implicit dynamics. Dynamic simulations could require very short time steps and often were faster performed with the explicit solver. These performance problems have been comprehensively addressed by this release of the program.
The performance problems were caused by previous versions omitting drag-related terms in the system Jacobian matrix. For the vast majority of systems modelled in OrcaFlex the statics and dynamics convergence is dominated by the structural terms in the Jacobian matrix. In all previous versions of the program we therefore omitted the Jacobian terms related to drag. The Jacobian matrix is only used for the purposes of obtaining convergence of the static or dynamic equilibrium equations and does not affect results. Consequently omitting terms which do not affect convergence is reasonable and actually results in better performance. However, it has become clear that the drag-related terms are sometimes significant (e.g. when the relative fluid velocity is high) and so we have now included them.
In our experience drag-dominated systems typically require shorter time steps than structurally-dominated systems, even if the Jacobian terms related to drag are included. For typical towed array systems we have found that a time step of 0.025s produces stable convergence in dynamics although different systems may have different time step requirements.
Performance improvements for systems with line clashing
We have made similar improvements for systems which include line clashing. Previous versions of OrcaFlex did not include any Jacobian contributions related to line clashing. As described above this can result in poor convergence of implicit dynamic simulations. This version of the program now includes the Jacobian contributions related to line clashing. For many systems this results in better convergence and means that longer time steps can be used.
Although the inclusion of the Jacobian contributions results in more stable convergence, you still should use a short enough time step to achieve your desired level of accuracy. Line clashing commonly leads to significantly nonlinear responses. Hence, shorter time steps are required for accurate simulations than is the case for systems with less nonlinearity.
Coatings and linings can now be modelled for homogeneous pipe line types. These are typically used with steel pipes to model the additional mass and displacement of concrete coatings, plastic linings etc.
A Layback results variable has been added for lines.
The Line Type Wizard for Homogeneous Pipe now creates data for a General Category Line Type. In version 9.2 the Wizard created data for a Homogeneous Pipe Category Line Type. We now recognise that the change to the Wizard's behaviour in 9.2 was rather unhelpful given the availability of Homogeneous Pipe Category Line Types. Consequently we have reverted the Wizard's behaviour to that exhibited by version 9.1 and earlier. Now that the Homogeneous Pipe Category can model nonlinear bending and supports coatings and linings we suspect that the Line Type Wizard for Homogeneous Pipe will be very seldom used.
Calculated vessels can now include the effects of roll damping. These effects are included in a simple model offering both linear and quadratic damping terms.
A number of new results have been added: Sea Surface Clearance, Acceleration (incl. g), Angular Velocity and Angular Acceleration.
Buoys
A connections table has been added to the Summary and Full Results tables for both 3D and 6D Buoys. This table contains the same information as the connections table for Vessels.
A number of new results have been added for 6D Buoys: Acceleration (incl. g), Angular Velocity and Angular Acceleration.
Links and Winches
Links and Winches can can be connected to Lines in a more general way. In previous versions of the program such connections had to be made at the centreline of the Line. The connections can now be offset from the centreline. Note that this does require torsion to be modelled in the Line.
The Link data form now allows you to plot graphs of the nonlinear stiffness and damping data.
Sea results are reported at a specified point X,Y,Z. You can now use the value ~ for Z which is interpreted as meaning the instantaneous sea surface elevation.
The Wave Components report now includes spectral moments m0 up to m4 – previously it only included m0, m1 and m2. The spectral bandwidth parameter epsilon is also now included.
3D seabed data points can be excluded from wire frame drawing which can sometimes be useful for models with extremely large numbers of 3D seabed data points. Such models can take a very long time to draw and drawing performance can be improved by omitting the drawing of the data points.
The 3D seabed triangulation algorithm has been enhanced. A new data item, minimum edge triangulation angle, has been added. This gives a degree of control over how the triangulation is performed at the edges of the seabed data set.
VIV
The SHEAR7 interface has been extended to allow SHEAR7 to be called directly from OrcaFlex to perform coupled VIV analyses. In addition to the benefits of coupling, the direct SHEAR7 interface greatly simplifies the automation and file management issues related to running SHEAR7 from OrcaFlex.
SHEAR7 data file export now has an option to control how the current profile is discretised. Previous versions of OrcaFlex produced a table with one entry per node. When segment lengths are small this can give rise to numerical problems in SHEAR7. OrcaFlex now allows you to produce a current profile table for SHEAR7 with regularly spaced entries. This is now the default option with a default target spacing of 10m.
Mode curvature in the SHEAR7 modes file is now calculated with a more accurate analytic method than previous versions which used a perturbation method.
User Interface
The INSERT and DELETE keys can be used to insert and delete rows in a data table. In previous versions of the program only a single row at a time could be inserted or deleted. Multiple rows can now be inserted and deleted if multiple rows of the table are selected.
Linked Statistics results tables now include estimates of m0, m2, m4, Tc (mean crest period) and the spectral bandwidth parameter ε. These are in addition to estimates of mean, standard deviation and Tz (mean up-crossing period) which were reported by previous versions.
Modal Analysis
Seabed friction is now modelled slightly differently for modal analysis. Previous versions of the program were somewhat prone to modal analysis failures related to seabed interaction and this change has been implemented to avoid such failures.
Homogeneous pipe fatigue can now be performed at either the inner or outer fibre of the pipe. Previously the analysis was always performed at the outer fibre.
Batch processing and Automation
A pause button is now available on the batch processing form.
Individual tasks may be aborted via the popup menu on the batch processing form.
When a batch processing run completes, any tasks which failed are moved to the end of the batch list. This makes it easy to identify which jobs failed, expecially when the batch job contains a large number of tasks.
Modal analysis is now available via the OrcaFlex Programming Interface through the following functions: C_CreateModes, C_DestroyModes, C_GetModeDegreeOfFreedomDetails, C_GetModeDetails and C_GetModeSummary. The Python interface also supports modal analysis.
New functions have been added to the OrcaFlex Programming Interface: C_CalculateLinkedStatisticsTimeSeriesStatistics, C_CalculateTimeSeriesStatistics, C_SaveExternalProgramFile, C_GetBinaryFileType, C_GetDataRowCount, C_SetDataRowCount, C_GetWaveComponents2, C_DisableInMemoryLogging.
A New field (ObjectHandle) has been added to the TVarInfo structure.
The Python interface has been expanded significantly and now exports the same level of functionality as the C interface.
The shaded drawing interpretation of Vessel Type wire frame data was not being scaled correctly in particular circumstances. This bug occurred when the Vessel Type length was different from the Vessel length and the edge diameter was non-zero.
A more in depth discussion of the new features introduced in 9.2 is available on our blog.
The version of the OrcaFlex spreadsheet included with earlier versions of OrcaFlex 9.2 has some performance problems. These problems do not always manifest themselves. However, if you are suffering from slower than usual results extraction in the spreadsheet then you are probably experiencing this problem. The version of the spreadsheet included with OrcaFlex 9.2f fixes the problem.
Bug fix
In some circumstances the SHEAR7 data files exported by OrcaFlex contained incorrect values of hydrodynamic diameter. This problem affects all earlier versions of OrcaFlex 9.2. The exported files were incorrect if:
The line contains sections with different diameters, and
The VIV diameter is set to '~'.
Note that this means that lines with constant diameter are not affected by this bug.
This bug has been fixed in 9.2f.
New in version 9.2e
A new nonlinear soil model is now available for modelling the seabed. For details see Seabed Model Data.
Note:
The nonlinear soil model is currently experimental and we are working on comparing the model against experimental results for seabed contact. Please contact Orcina if you have any feedback and comments on the model or ideas for improvement.
New in version 9.2d
Lines
Line clash energy and clash impulse results are calculated by numerical integration. This integration is now carried out using a more accurate method. The effect of change is more significant when longer simulation time steps are used. Clashing usually requires short time steps for accurate modelling and so in practical terms the effects of this change are usually insignificant.
Bug fixes
Aborting of batch processing did not work in 9.2c.
The Line Setup Wizard failed with "Access Violation" error messages in 9.2c.
New in version 9.2c
Multithreading
Performance has been improved for a number of multithreaded scenarios when running multiple jobs in batch mode and when running single jobs. Only a minority of models benefit from these improvements but the benefits are significant, especially if you are running on a machine with a large number of processor cores.
Entering points with the same x and y values but different Z values for 3D seabed data resulted in an access violation error being reported.
New in version 9.2b
Curved plate shapes now use Cubic Bessel interpolation instead of cubic spline, to give the shape between user-specified data points. Cubic Bessel interpolation has the advantage that it gives 'local' interpolation, so a given data point now only affects the interpolated shape over the intervals near that point.
Bug fixes
Certain models (typically more complex models) which use the stiffener modelling object were failing to simulate when using the implicit solver.
Results extraction from the OrcaFlex Excel spreadsheet was sometimes hanging and eventually reporting an out of memory error in Excel.
Batch processing had a number of separate bugs. Firstly, the auto save function was not working. In addition the option to save partially completed simulation files when cancelling a batch run was not functioning. Finally, multithreaded batch simulations could sometimes fail, erroneously reporting "out of memory" or "could not create thread" error messages.
Certain data items are editable even after a simulation has been run. Most notably this includes stress loading factors for Line Types. Such data items can be changed within OrcaFlex and so likewise should be editable from a batch script. However, in 9.2a the act of changing any such data item from a batch script resulted in the simulation being reset.
There were two separate bugs relating to range graphs with vertical arc length axis (a new feature introduced in 9.2a). Such graphs were reporting incorrect values in the hint window. Additionally, instantaneous value range graphs with vertical arc length axis were not automatically ranging themselves correctly.
Import of AQWA QTF data was failing if the data contain directions which are split across more than one table.
Cancelling certain operations (e.g. opening a graph) could leave the program in a state in which simulations could not be run.
New in version 9.2a
Implicit integration
The matrix solvers used by OrcaFlex have been updated. The new solvers are faster and more robust than those used in previous versions. For many models the impact of this change will be negligible. However, for more complex models with a lot of nodes then the new solvers can result in much quicker convergence and consequently shorter run times.
The default dynamics convergence tolerance has been increased from 1e-6 to 25e-6. Using the new default value results in shorter run times. We have performed extensive sensitivity studies and are confident that there is no loss of accuracy associated with this change.
Fatigue calculations have been significantly optimised resulting in vastly improved performance. Note that to take full advantage of these improvements the simulation files used by the fatigue calculation must have been generated by version 9.2. In addition the calculation now makes use of any available processor cores by processing load cases concurrently. These changes combined can result in calculation times 10-100 times shorter than previous versions, depending on the particular case and on how many processor cores are available.
The fatigue calculation performance optimisations described above now mean that the calculation time is often limited by disk access. Consequently it is important that the disk access speed is as fast as possible. Usually this means that the simulation files should be stored on a local disk of the machine performing the fatigue calculation.
A new method for damage calculation has been implemented based on stress factors. With this method stress is defined to be a linear combination of tension and curvature. This method is most suitable for fatigue analysis of umbilicals.
The damage calculation method used by older versions of OrcaFlex has been retained and is called homogeneous pipe stresses. Older versions of OrcaFlex calculated CC Stress, RR Stress and ZZ Stress, together with off-diagonal stress and von Mises stress at both inner and outer fibres. For the systems that OrcaFlex is used to model, damage is always dominated by ZZ Stress at the outer fibre. In order to simplify the program and speed-up fatigue calculations OrcaFlex now only calculates damage for ZZ Stress at the outer fibre.
A thickness correction factor has been added when you are using the homogeneous pipe stresses option. This factor is applied in addition to the SCF.
The fatigue results presentation has been significantly enhanced. The program now offers range graphs of fatigue. The program now saves fatigue results in the .ftg file which allows you to load and view results very quickly without having to repeat the calculation. Finally a number of new tables have been added and other improvements have been made to the tabular results output.
Batch processing
The batch processing facility now makes use of any available processor cores by running jobs concurrently.
Lines
A new category of Line Type is now available: Homogeneous Pipe. This allows material properties to be specified by Young's modulus, material density and pipe diameters. This facility is appropriate for a pipe constructed from a single homogeneous material, for example a metal riser, or for modelling stress joints and bend stiffeners. The traditional method for specifying line properties is available as the General category of Line Type.
Line Type outer diameter can now be defined to be profiled – that is the outer diameter can vary with arc length. This facility is intended for use when modelling stress joints and bend stiffeners. In previous versions of OrcaFlex a profiled section of line (a stress joint or a bend stiffener, say) had to be modelled with a separate line type for each discretised segment of the profile. The new facility essentially automates the discretisation of the profile. Profiled line types are only available for homogeneous pipes.
OrcaFlex can now model wake interference. Three forms of wake model are available. The Huse model is the most widely used but only includes the drag reduction effect for downstream lines. The Blevins model extends the Huse model by modelling the wake lift force that tends to draw the downstream line into the centre of the wake. Finally you can use a user-specified model by providing drag and lift coefficient factors as a function of the position of the downstream line relative to the wake of the upstream line. A number of new results have been added to help understand the behaviour of these models.
Strain results have been modified. Mean Axial Strain has been replaced with Direct Tensile Strain. This has also been redefined and now excludes the Poisson effect axial strain due to radial and circumferential strains caused by internal and external pressure. This change has been made to achieve self-consistency with the Direct Tensile Stress result. If you are modelling a homogeneous pipe then these results are now related by the expected equation E = σ/ε. Likewise we have redefined ZZ Strain to exclude the Poisson effect axial strain and this result now matches its corresponding stress, ZZ Stress. Finally we have replaced Max Axial Strain with Worst ZZ Strain which is the value of ZZ Strain with the greatest absolute value.
The default Vessel Type had an inconsistency in the hydrostatic stiffness data. The default equilibrium position has been changed to match the reference origin, so with initial position Z = 0 the default vessel is in static equilibrium.
Vessel QTFs can now be specified for all 6 degrees of freedom.
Added mass and damping data can now be imported from text files in any format. You do need to add special markup strings to the files so that OrcaFlex knows which data to add. We provide instructions and examples for import from Moses, Hydrostar/ARIANE and WADAM but import is possible from other programs too.
A number of vessel load results have been added and others have been renamed. Connection forces are now available in global axis directions as well as local. And, for both results tables and time histories, all the loads acting on vessels are now reported, and the reported total vessel load is equal to the sum of the reported constituent loads.
Non-dimensional RAOs can now be specified as either deg/deg or rad/rad. Although these are equivalent we are hoping it may remove some confusion.
6D Buoys
6D Buoys can now be connected to other 6D Buoys which allows you to treat multiple 6D Buoys as a single rigid body. This can be particularly useful when you wish to model more complex shapes than the stacks of co-axial cylinders that Spar Buoys and Towed Fish allow.
Random waves can now optionally include a directional spreading spectrum. This allows you to spread the spectral energy around the principal wave direction and can sometimes result in a useful reduction in conservatism.
Wave trains now have a wave origin data item which allows you to shift a wave spatially. This new data item is in addition to the wave time origin.
Previous versions restricted the number of dynamic stages in a simulation to 40. The limit has now been increased to 1000 stages.
The interface for setting time history file data has been significantly overhauled. The Import Wizard used in previous versions has been removed and the data are now set entirely on the object data form. This makes it easier to check and also allows the data to be set through batch script. In addition the program now plots preview graphs of the time history data.
Default workspaces can now be defined for individual files in addition to being defined for directories.
Context sensitive help is now available for the Variable list box on the Select Results form. Definitions of results can be obtained by selecting them in the Variable list box and then pressing F1.
3D view and Graph windows can now be exported as PNG files. These are essentially compressed bitmap files and are generally to be preferred over bitmap files.
Shaded drawing files are now specified in a slightly different way. In previous versions of OrcaFlex you had to specify a folder which contained a .x file with the same name as that folder. This rather limiting restriction has been lifted by allowing you to specify the .x file name rather than the folder name.
We have included an extra sample shaded model, an FPSO. This is essentially the same as the turret-moored FPSO that we supply, but with the turret removed.
Automation
The Clear Sheet instruction in the OrcaFlex spreadsheet has been renamed Clear. It now allows you to clear either the entire sheet, or just a specified range.
The range graph instructions in the OrcaFlex spreadsheet now allow you to specify which curves are to be output. This can be useful if you, say, only want the maximum values to be reported.
OrcaFlex Programming Interface
We now provide an interface to OrcaFlex from the Python programming language. Python is a modern dynamically typed language that is very much easier to use than the programming languages traditionally used to interface to OrcaFlex (C/C++, Delphi). Despite being easy to use Python is still a very powerful language. We now recommend Python for the majority of OrcaFlex programming tasks and it is especially suited to scripting and automation of pre- and post-processing.
C_GetThreadCount and C_SetThreadCount have been replaced by C_GetModelThreadCount and C_SetModelThreadCount. The old functions continue to work but new code should use the new functions.
New functions for range graphs (C_GetRangeGraph4 and C_GetRangeGraphNumOfPoints2) have been added which allow an arc length range to be specified.
Very large simulation files (greater 8GB) were loaded incorrectly in earlier versions. This problem has now been corrected.
New in version 9.1e
A more in depth discussion of the new features introduced in 9.1 is available on our blog.
The implementation of lift force for Lines in previous versions of OrcaFlex was flawed. In previous versions the lift force acts normal to the line and normal to the relative flow direction.
This works well for cases where the flow is normal to the line. However if the flow is close to the line axial direction then the previous lift calculation is not appropriate. In previous versions this resulted in the lift force being over-predicted for cases where the flow direction was not normal to the line. Such cases would commonly converge poorly and/or be unstable for both statics and dynamics.
Version 9.1e corrects all these problems as described in the Line Theory section.
New in version 9.1d
The Line Type chain wizard had a bug affecting normal drag diameter for all versions of 9.0 and all previous versions of 9.1. Those older versions interchanged the values of drag diameter for studless and studlink chain. This meant that the drag diameters calculated by those older versions were in error by 8%. This bug is now fixed in version 9.1d.
Versions of 9.1a and 9.1b had a bug which affected vessel motions and runtime performance when all of the following conditions were met:
The implicit integration scheme was in use.
A vessel had Primary Motion set to "Prescribed" or "Time History".
That same vessel had Superimposed Motion of "None".
When all these conditions were met then vessel motions contained errors. The errors build up gradually during the simulation which means that longer simulations are more seriously affected. In addition simulations were significantly slower than they should have been.
In version 9.1c the problem has been corrected.
Lines
Versions 9.1a and 9.1b had a bug related to the new hint window results feature introduced in version 9.1a. If a replay is paused and you hover the mouse pointer over a line then a hint window is displayed. This hint window now includes results. The code to derive these results contained a bug which corrupts Summary and Full Results for the line, and also corrupts the 3D view of the latest simulation position.
Note that the bug does not affect other results such as Time History, Statistics, Range Graph etc. It also does not affect replays. The bug is corrected in version 9.1c.
Modal analysis formerly had a limitation that no more than 200 modes could be calculated. This has now been removed.
Automation
OrcaFlex script tables can now optionally be transposed so that load cases can be arranged in columns. Previously they had to be arranged in rows. This solves problems that some users were having with the Excel limitation of 256 columns per worksheet.
VIV Toolbox
The latest release of SHEAR7 (version 4.5) introduces changes to the format of the SHEAR7 data file. OrcaFlex can now output SHEAR7 data files for either version 4.3/4.4 or version 4.5.
The link to VIVA now works with Whole System Statics.
Bug fix
Spar Buoys and Towed Fish whose diameters varied along the buoy axis were drawn incorrectly in the shaded graphics mode. This bug has now been fixed.
New in version 9.1a
Implicit integration and Whole System Statics
OrcaFlex now uses the Generalised-α integration scheme (version 9.0 used Newmark-β). The new integration scheme allows longer time steps which in turn means that simulations can be run many times faster than in version 9.0.
Rayleigh damping is now available for the implicit integration scheme. This can be used to model structural damping in lines. Different levels of damping can be specified for axial, bending and torsional response.
Whole System Statics and implicit integration are now the default methods for new models.
Lines
Previous versions of OrcaFlex made various assumptions about the sense of the line which often meant that you were forced to have place End A at top of the line and End B at the bottom. For example, to model an SCR you were obliged to place End B on the seabed and connect End A to the vessel. The new Top End data item gives you the freedom to arrange your lines whichever way is more convenient.
The handling of friction in statics has been improved for Profile and 3D seabeds. The line is now assumed to have been laid following the shape of the seabed. This improves statics convergence for many cases and also means that the effect of axial friction is more realistically captured.
Previous versions of OrcaFlex included a test for unstable static solutions for Lines. Whilst this worked well in many cases, it reported false positives too frequently. That is to say cases where a stable static equilibrium had been found were too often reported as being unstable. On balance we think that the downside of reporting false positives outweighs the advantage of detecting the very unusual case of an unstable equilibrium and so we have removed the test.
In previous versions of OrcaFlex clump attachments interacted with elastic solids, so that contact between the clump and the solid was modelled. This happened because clumps are implemented by OrcaFlex as a special type of 3D Buoy and clumps inherited the ability to contact solids. However, we feel that this interaction is usually not desirable and so it has been disabled.
The Line Type Wizard for Rope has been renamed Rope/Wire. Likewise the Line Type Wizard for Cable has been renamed Umbilical. The functionality is unchanged, but we feel that these names are more representative of that functionality.
The Line Setup Wizard can now be used to set up a line to achieve a target layback value.
In-plane and out-of-plane component results have been added for Bend Moment, Curvature, Shear Force and Bend Radius. These refer to a plane parallel to both the line's axial direction (at the specified arc length) and the vertical direction.
A new Net External Pressure results variable has been added. This is defined to be Internal Pressure - External Pressure.
For various quite technical reasons we have removed the torque per unit tension feature. We suspect that this feature is very infrequently used. Indeed we do wonder if it is used at all. We hope that this change will not cause inconvenience, but if it does then please do contact us.
Friction
The modelling of contact between Elastic Solids and Lines, 3D Buoys and 6D Buoys now includes friction. Friction coefficients are specified on the friction coefficients data form.
The modelling of contact between the seabed and 3D Buoys and 6D Buoys now includes friction. Friction coefficients are specified on the 3D Buoy and 6D Buoy data forms.
The handling of buoyancy variation with depth has been altered slightly for objects with bulk modulus not equal to Infinity. The relationship between pressure and compressed volume breaks down if the pressure exceeds the bulk modulus. Previous versions of OrcaFlex aborted the simulation if this occurred. The program will now continue the simulation if this occurs, but uses a compressed volume of zero whenever the pressure exceeds the bulk modulus.
The random wave search facility has been extended to allow you to search for wave events which match both a specified wave height and a specified wave period.
A number of different calculations for Reynolds number for flow around a cylinder are in common use. OrcaFlex now allows you the option of specifying how Reynolds number is calculated. Reynolds number is only used in OrcaFlex calculations if you have specified that drag and lift coefficients for a line are to vary as Reynolds number varies. Which method you select for calculating Reynolds number is in many ways arbitrary. The key factor is that the method chosen matches the data source used for the variable drag and lift coefficient data.
Vessels
Vessel type hydrodynamic data import is available for AQWA and WAMIT output files. OrcaFlex can now automatically import the displacement and load RAO, QTF, added mass, damping and stiffness data from these files and set the vessel type conventions appropriately.
A new data item called Contact Area has been added for 3D Buoys. Specifying a value of 0 allows you to disable contact for the buoy. Similar functionality is already available for 6D Buoys.
A new Workspace facility has been added to help manage the various 3D view, graph and spreadsheet windows in OrcaFlex. This facility allows you to save your current window layout (called a workspace) which can then be restored at a later time. A single workspace can be applied to any number of OrcaFlex files which allows you to view the same collection of results windows for each different file.
OrcaFlex can now reconnect to a dongle if for some reason the connection to the dongle is lost. This can happen for a variety of reasons, for example if the dongle server is restarted or if the network connection to the dongle server is temporarily busy. You can even disconnect a dongle connected locally to your machine in order to loan it to a colleague temporarily! Note that the OrcaFlex simulation will pause while the dongle connection has been lost.
The Compare Data facility can now compare the currently loaded model with a single file on disk. This option is in addition to the existing facility for comparing two data files on disk.
Exported AVI files for custom replays now use the graphics mode (wire frame or shaded) specified in the custom replay.
The Replay menu items have been moved to a new top-level menu item. Previously they were found in a sub-menu of the View menu.
You can now define a north direction. If you do this then a compass is drawn on the 3D view. The compass is only drawn for plan views.
The hint windows which are displayed when you hover the mouse over an object in a 3D view (see example) now show key results. Note that a calculation (statics or dynamics) has to have been performed before these results are available. The results are for the same time as used to draw the view. This means that if you pause a replay the results shown will be for the time at which the replay is paused.
Keyboard shortcut keys
A number of keyboard shortcut keys have been changed to make OrcaFlex more closely follow Windows standards.
The shortcuts for rotating the view have been changed to CTRL+ALT + ← → ↑ ↓.
The shortcut for opening the model browser has been changed to F6. This shortcut is also used to close the model browser. The previous shortcut F2 could not be used to close the model browser since its standard Windows meaning is to start editing the name of the highlighted item in the model browser. It is for this reason that we have made the change.
We do realise that these changes are likely to cause some confusion, at least in the short term. However, we hope that the benefit of following the standards used by other Windows programs will outweigh the downside of having to re-learn these shortcuts.
The detailed load case results worksheets can now be omitted using the new Output detailed load case tables option. This can significantly reduce the time required to generate the results.
Modal analysis for free line ends could produce incorrect answers in certain cases. This happened if the connection stiffness was non-zero. These data are hidden for free line ends and so you have to temporarily change the end connection to Fixed in order to check the connection stiffness value. This bug manifested itself by producing physically unrealistic mode shapes. This problem has now been fixed.
Line acceleration (incl. g) results were defined incorrectly. These results are designed to replicate accelerometer readings by "g-contaminating" the standard acceleration results. However, in previous versions, there was a simple sign error and g (in vector form) was added rather than subtracted from the standard acceleration results. This problem has now been fixed.
New in version 9.0h
The window handling bugs introduced in version 9.0f, and described below, had not been completely resolved by version 9.0g. We believe that version 9.0h resolves all these problems.
New in version 9.0g
Bug fixes
Version 9.0f introduced a number of problems with the handling of windows in OrcaFlex. These problems would occur when switching between different applications (e.g. using the Windows taskbar, ALT+TAB etc.) Upon returning the focus to OrcaFlex problems such as windows losing the focus, or even becoming hidden behind other windows could occur.
New in version 9.0f
The VIV Toolbox is no longer a separately licensed module. It is now included with OrcaFlex as standard at no extra cost.
New in version 9.0e
Bug fixes
Clashing results were misreported in versions 9.0b, 9.0c and 9.0d. Clash Force, Clash Energy and Clash Impulse were all reported as zero. In addition the Line Clashing Report was not reporting any clash events. Please note that the bug only affected the reported results. The contact force was being applied correctly and reported tensions, positions etc. are all correct.
Under rare circumstance, OrcaFlex was falsely reporting Euler Buckling infringements when using the implicit integrator. This bug affected all earlier 9.0 releases.
Both of these bugs have now been fixed in version 9.0e.
New in version 9.0d
Bug fix
Multiple statics results for cases with seabed friction in statics were wrong in version 9.0a to 9.0c inclusive. This bug is fixed in version 9.0d.
New in version 9.0c
In the data for the default vessel type, the hydrodynamic drag and wind drag yaw coefficients had the wrong signs. This has now been corrected.
New in version 9.0b
We have made a number of performance improvements for implicit integration. Please note that these do not affect all cases. Principally we have improved the performance for a number of cases which were not being handled well by version 9.0a.
The reporting of simulation time remaining is now more stable when using implicit integration.
In version 9.0a simulations of models with a large number of elastic solids could be significantly slower than in earlier versions. This problem has been fixed and run times in 9.0b for such models are now as fast as in earlier versions.
The following bugs have been found in version 9.0a. They have all been fixed in version 9.0b.
When using implicit integration and line-on-line clashing the Line Clash Impulse result and the Line Clashing Report were incorrect. Note that other results when using implicit integration and line-on-line clashing were unaffected.
OrcaFlex spreadsheets can be added to the batch form and processed as part of the batch. In version 9.0a this feature was not working.
Version 9.0a was not working properly on Windows 98 and ME. An "Access Violation" error message was being displayed when you loaded a simulation file or ran a simulation.
Implicit integration can offer very significant performance benefits, especially for stiff systems (models with very high stiffness values, such as steel pipes) or for models with very fine segmentation.
Whole System Statics
Whole System Statics is a new alternative system statics method that complements the existing Separate Buoy and Line statics method. For systems with many Buoys or Vessels included in the static analysis, it can converge much better than the Separate Buoy and Line statics method.
Line interaction with the seabed or elastic solids
A new data item, Height above seabed, has been added. This is only available for Anchored connections and is used to help ensure that end nodes can be positioned to sit on top of the seabed. See the Line Data: Connections topic for full details.
These changes may require you to update data files prepared with older versions of OrcaFlex. In particular you should be aware of the following issues:
Anchored connections were commonly set up with z=0 in previous versions of OrcaFlex which placed the centreline at the seabed. In this version of OrcaFlex this can result in the end node becoming 'buried' in the seabed which can lead to spurious curvature, bend moment etc. results. The solution is to set Height above seabed to 0. This results in the z coordinate being raised one radius above the seabed – see Height above seabed for more details.
In old data files some elastic solid sizes or positions might have been specified to be slightly different from their real values, to compensate for previous versions of OrcaFlex not allowing for line contact diameter. Since the contact diameter is now handled by OrcaFlex the solid sizes and positions should be set to their real values.
Lines
A Lift Coefficient can now be specified for Line Types and is intended for use for seabed stability analysis. The lift force that results is normal to the line and normal to the relative flow direction. The lift coefficient can be constant, vary with Reynolds number, vary with height above seabed or vary with both Reynolds number and height above seabed. The lift coefficient is also available as a results variable.
The Line Type normal Drag Coefficients can now be specified to vary with height above seabed or vary with both Reynolds number and height above seabed. The previous options of being constant or varying with Reynolds number are still available.
New Drag / Lift diameters have been added for Line Types and are used when calculating drag area and lift area. Previously the outer diameter was used for this purpose. These new data items allow greater modelling flexibility and are particularly useful when the line geometry is not cylindrical.
The friction bias power data item has been removed. This was necessary in order implement the new implicit integration scheme. The Friction Theory topic gives full details of the seabed friction model used by OrcaFlex.
Line results logging can optionally be disabled on a Line by Line basis. This can be useful if you need to reduce the size of simulation files. Of course, if you choose to disable results logging for a Line then OrcaFlex will not be able to provide simulation results for that Line.
Time history graphs for the touchdown point of a Line now behave differently if there is no touchdown node. In previous versions in this circumstance the graph would report a value of 0. In version 9.0 and later the program reports N/A (meaning 'not available') and the graph shows no value.
The hysteretic bend stiffness profile graph (available from the variable data form) now shows the hysteresis loop.
A Shear Seabed Stiffness data item has been added. This value was used by older versions of the program but was not available for editing by the user and was taken to be the Normal Seabed Stiffness.
General Data
New force units tonnes-force (tef) and kilograms-force (kgf) have been added.
User-specified units now allow the gravitational constant g to be specified.
New data items have been added which allow user control of the recommended outer time step for explicit integration.
Vessels and Buoys
Vessel damping is now calculated from vessel velocity relative to global axes. Previously, vessel velocity relative to current was used, but this can give artificially high damping loads on vessels moored in current. Note that this change will affect results in some models.
Damping load results are now available for vessels.
Vessel prescribed motion was previously restricted so that the velocity was forced to be in the same direction as the vessel heading. This restriction has now been lifted.
Vessel and 6D Buoy data forms now show a preview of the wire frame drawing data.
6D Buoy and Vessel position results can now report position at a specified point on the object.
Velocity and Acceleration results for 6D Buoys and Vessels have been added. These are also reported at a specified point on the object.
Spar Buoys and Towed Fish can now be made hollow by specifying an ID. Inertial effects (mass, fluid inertia loads etc.) for the fluid contained in the hollow part are included. These inertial effects are only included in directions normal to the buoy.
The Centre of Mass for a 6D Buoy can now be specified to be different from the buoy origin.
The RAOs and matrices option for 6D Buoys now allows specification of the origin at which RAO, added mass and damping effects are added. In addition this RAOs and matrices option is no longer available for Towed Fish because the symmetry assumptions are not valid for Towed Fish.
Lumped Buoys with no vertices no longer contact with shapes or the seabed. In previous versions such buoys were treated as having a single contact vertex at the buoy origin.
User Interface
The All Lines Data Form has been superseded by the All Objects Data Form which incorporates all the functionality of the previous All Lines Data Form. The form allows simultaneous viewing or editing of properties of multiple objects. Previously this was restricted to Lines, but in addition the form now supports Vessels, 6D Buoys, 3D Buoys, Links, Winches and Shapes. Finally, the form now allows simultaneous editing of section data for all Lines in the model.
OrcaFlex generates various warning messages when performing calculations. In previous versions of the program these were only displayed if you were in interactive mode, i.e. not using batch mode or Distributed OrcaFlex. These warnings can now be viewed after a simulation has been run from the Calculation | View Warnings menu item.
Spectral density results are calculated with a modified algorithm designed to reduce the 'noise' or 'leakage' present in the graphs.
The built-in spreadsheet has been changed to use a different piece of 3rd party software. This brings the following benefits: mouse wheel scroll is now supported; copy to clipboard now includes full floating point precision together with formatting information (borders, colours, bold etc.); saving to .xls files use the latest Excel file format.
The Line Setup Wizard adjusts line configuration to achieve specified target tensions or declinations. Previously it did this by adjusting either the length of the first section of the line or by adjusting the anchor position. The Wizard has been enhanced to allow variation of length for a user-specified section of the line.
The Line Setup Wizard now allows you to specify target tensions and declinations at both ends of the line.
In version 8.7 the mouse drag rotation (CTRL+drag) feature could change the connections of selected objects as well as rotating the view.
Wave drift load was not being ramped correctly in previous versions. In practical terms this does not really matter because results from the ramped build-up stage should never be used.
These problems have all been fixed.
New in version 8.7d
Bug fix
Versions 8.6 and 8.7 reported errors when opening very old OrcaFlex files (version 7 and older). This problem has now been fixed.
The external function feature was failing to search the system path for external function DLLs.
Imported shaded drawing 3D models were not being oriented correctly. The Microsoft .X file uses a left-handed coordinate system and OrcaFlex uses a right-handed system. OrcaFlex was failing to convert from one to the other. This resulted, typically, in objects being reflected in their xz plane. Because this is often a plane of symmetry the mistake was not obvious.
New in version 8.7b
Lines
When using nonlinear axial stiffness, in older versions of OrcaFlex the wall tension at zero axial strain had to be zero. This restriction has now been removed.
Multithreading
We have made two minor improvements to the new multithreading capability:
The default thread count is now set differently on machines with hyperthreading.
The OrcFxAPI DLL failed to set the default thread count when loaded and so a thread count of 1 was always used.
Custom replays with trails were not working properly in older versions. The machine would slow drastically and consume huge amounts of system memory.
Both problems have now been fixed.
New in version 8.7a
Graphics and 3D Views
A new graphics mode for 3D views has been added, called Shaded Graphics. The older wire frame drawing style is still available and in fact can be displayed alongside shaded views. The new shaded graphics mode renders the model as solid objects with lighting, shading, perspective and hidden line removal. To use this new facility you will need a DirectX 9 compatible graphics card although inexpensive models are perfectly adequate. High quality videos are easily exported. Detailed 3D models of vessels, templates etc. can be imported – we have provided a small selection of generic 3D models: a turret-moored FPSO, an installation vessel, a semisub and a subsea template.
New facilities to simplify navigation in 3D views have been added. CTRL+drag allows you to rotate the 3D view with the mouse. Similarly SHIFT+drag moves the view centre.
Multithreading and performance
OrcaFlex can now make much better use of machines with multiple processors. For such machines OrcaFlex is now capable of using these multiple processors simultaneously. In previous versions of OrcaFlex the calculation was serial which meant that OrcaFlex could only use a single processor at any one instant. This gives a very significant reduction in simulation run time on multi-processor machines or machines with multi-core processors. Note that the reduction in simulation time can only be achieved for models with more than one Line object – we intend to remove this restriction in a future release of the software. For full details please refer to parallel processing topic.
Orcina Licence Monitor
The Orcina Licence Monitor (OLM) is a service that monitors the current number of OrcaFlex licences claimed on a network in real time. OLM requires OrcaFlex version 8.7a or later.
Shapes
A new type of shape has been added, the Curved Plate, which is intended to be used for modelling bellmouths or mid-water arches.
Lines
In older versions of OrcaFlex, when modelling nonlinear bend stiffness, the program used an elastic model which did not include hysteresis effects. In this version of OrcaFlex there is now the additional option of modelling hysteretic nonlinear bending.
The Line Setup Wizard can now include lines in the statics calculation for which no targets are specified. This is particularly useful if you are analysing buoyed systems where the upper and lower catenaries were modelled with different Lines. In addition we have made the convergence parameters for the calculation editable.
Line angle results (Azimuth, Declination, Gamma, Ez-angle, Exy-angle, Ezx-angle and Ezy-angle) are now available at line ends and mid-segments. Previously they were only available at mid-segments.
OrcaFlex Line Types have a minimum bend radius data item. In older versions of OrcaFlex this datum is constant for each Line Type. In some cases, for example steel core umbilicals, the minimum bend radius varies with effective tension. You can now allow for this effect in OrcaFlex by specifying minimum bend radius as a variable data item which varies against effective tension. This is then used when reporting normalised curvature.
Prescribed Starting Shape tracks are now laid out slightly differently for the first section. This change only affects tracks where End A is above a profiled seabed. Previously the Line's global Z coordinate varied linearly between End A and the first track section point. From this version the height above the seabed is varied linearly between End A and the first track section point.
Curvature reporting for lines with zero bend stiffness has been improved. Previously, at section boundaries where segment length changed, the program reported spurious spikes – these have now been removed.
6D Buoys
6D Buoys are frequently used for non-standard purposes. For example they can be used to connect Lines together. Sometimes they are used as frame of reference objects. For such uses the 6D Buoy needs negligible structural and hydrodynamic properties. We have added a button to the 6D Buoy data form, labelled Give Buoy negligible properties, which sets the buoy data appropriately.
A new data item called Total Contact Area has been added. If a value of ~ is specified then OrcaFlex calculates the contact area based on the buoy geometry, using the same method as previous versions of OrcaFlex. Specifying a value of 0 allows you to disable contact for the buoy.
Information about contact areas have been added to the 6D Buoy properties report.
Interpolation for current profile rotations has been improved for data with jumps greater than 180°. Previously the program naively interpolated the raw data. So, for example, if consecutive rows in the table specified rotations of 350° and 10° then the program would interpolate through 340°, 330°, 320° and so on down to 10°. Now OrcaFlex interpolates over the shortest route – so in the previous example it would pass through 355°, 0° and 5°.
The Wave Components report on the Environment data form now has a column reporting wave length for each component.
In previous versions of OrcaFlex we recommended that the inner time step was no more than 1/20th of the shortest natural period of motion for any degree of freedom in the model. In practice we have found that simulations are usually stable when using an inner time step of 1/10th of the shortest natural period. A new data item, recommended inner time step ratio, has been added which allows user control of this fraction.
A new mass unit, the slug, has been made available.
A Connections Report has been added to help check that all the connections in the model have been set correctly. This can be displayed by clicking the Model | Show Connections Report menu item. It displays, in a spreadsheet, information about all object connections in the model. Reports for individual objects can also be produced from 3D Buoy, 6D Buoy, Vessel and Line data forms using the popup menu. Finally, the report is also included in Summary and Full Results for all objects.
A calculator feature has been added to OrcaFlex. This is available from any OrcaFlex data form and can be found on the popup menu. It can also be opened by pressing F12. Numbers can be transferred to and from it with standard Windows copy (CTRL+C) and paste (CTRL+V).
Replay start and finish times can now be set to ~ which is interpreted as simulation start time and simulation finish time respectively. Similarly the specified period values on the Select Results form can be set to ~ with the same interpretation.
Nine new functions have been added to the OrcaFlex Programming Interface. These are C_AnalyseExtrema, C_GetNamedValue, C_GetLineTypeHandles, C_GetRangeGraphCurveNames, C_GetThreadCount, C_ProcessBatchScript, C_SetLineUserSpecifiedStartingShape, C_SetNamedValue and C_SetThreadCount. For full details please refer to the OrcFxAPI documentation.
The external function interface has been extended. Three new fields have been added: lpDataName, lpInstantaneousCalculationData and lpModelDirectory. The lpDataName can be used to coordinate external functions controlling linked simulation data items, e.g. applied loads in the X, Y and Z directions. The lpInstantaneousCalculationData is intended to simplify the process of retrieving instantaneous simulation state information for commonly used simulation variables, e.g. position, velocity etc. Finally, the lpModelDirectory field has been added to allow you to take advantage of relative paths in your external function. Again, for full details please refer to the OrcFxAPI documentation.
For OrcaFlex versions 8.3 to 8.6 inclusive, on Windows XP, users with password protected screensavers were seeing a variety of error messages after entering their passwords to return from the screensaver. Fortunately we have finally been able to reproduce the error and have fixed it in this release.
Vessel RAO import did not work when draught names contained spaces. This has now been fixed.
When calculating statics for Lines which include torsion OrcaFlex was in some cases failing to converge or giving nonsensical solutions. This has now been fixed and statics convergence for Lines including torsion is improved.
New in version 8.6d
Groups of objects in the model browser can now be referred to in batch scripts. The properties of a group which can be modified are Name and Hidden.
Bug fixes
Earlier versions of 8.6 had a reporting error for lines with zero bend moment and zero connection stiffness. In earlier versions of 8.6 such lines were reporting non-zero bend moments at the line end. Note that this problem only affected the reported values of bend moment – the program correctly used a value of zero internally to calculate the line's motion.
In certain situations the line clashing calculation was not working properly. This problem only arose for cases where a segment was involved in a clash and the following segment did not have clash checking enabled. In turn, this only arises for segments at a section boundary and where the 2nd section has clash checking disabled. In this situation the effect was that the clash force on the node at the section boundary was applied after the original clash had ended. This is easily detected in problem cases because the erroneous force applied to the node leads to the line assuming a quite unrealistic shape. In fact a model with these characteristics almost certainly should have clash checking enabled for both sections in question – if a clash occurs in the final segment of one section then it is very likely that one would occur in the first segment of the following section. Because of this we expect that it is unlikely that this bug will affect many previously run simulations.
Both these problems have now been fixed.
New in version 8.6c
Bug fix
In some circumstances, vessel RAOs and QTFs were not being interpolated correctly. This problem could only arise if both of the following conditions apply:
there are at least two wave components, with different directions; and
the difference between these wave directions is smaller than the minimum difference between RAO directions;
and additionally one or more of the following also applies:
the vessel turns about its primary Z axis either during the statics calculation or in dynamics; or
wave heading minus initial vessel heading is < 0° or > 360° for at least one wave component.
Under these circumstances, the interpolation of displacement RAOs, first order wave load RAOs, and second order wave drift QTFs may have been incorrect. This problem has now been fixed.
As it is not straightforward to determine whether or not a particular simulation has been affected by this bug, we have produced a utility which will do this for you. This utility, called RAOBugCheck, can be run by downloading RAOBugCheck.zip and then running the program that the zip file contains.
New in version 8.6b
Pressure effects on Lines
OrcaFlex 8.6b reverts to using the stress diameters to calculate the difference between effective tension and wall tension, as was done by OrcaFlex 8.5 and earlier. OrcaFlex 8.6a (only) used the outer and inner diameters for this purpose, but we have concluded that the approach used by OrcaFlex 8.5 (and earlier) was better for most cases. So OrcaFlex 8.6b onwards use the same method as OrcaFlex 8.5 and earlier, i.e. uses the stress diameters.
As a result of this change, the stress diameters can no longer be edited when a calculation is active. You must reset the model first.
This change only affects cases where the stress diameters differ from the ordinary diameters. In such cases the wall tension reported by OrcaFlex 8.6a (only) effectively assumed that the annulus between the stress OD and the full outer diameter carried zero axial load and the whole of the axial force was carried by the stress annulus. In OrcaFlex 8.6b we have reverted to the model used in OrcaFlex 8.5 and earlier, which effectively assumed that the annulus between the stress OD and full outer diameter carries an axial load which matches the ambient external pressure.
This is a more suitable model for the majority of cases, for example attached buoyancy modules, since such modules are in compression due to the external water pressure. However note that there could be cases where this model is less suitable. In such cases the wall tension, and hence stress results, reported by OrcaFlex may not be suitable and we recommend users then take the effective tension reported by OrcaFlex and do their own separate wall tension and stress analysis.
The same applies to cases where the stress ID differs from the inner diameter. OrcaFlex 8.6a used the inner diameter for this purpose, which corresponds to assuming that the annulus between the two diameters carried zero axial load. In OrcaFlex 8.6b we have reverted to the same as OrcaFlex 8.5 and earlier, i.e. that the stress ID is used when calculating the difference between effective tension and wall tension. This is equivalent to assuming that the annulus between the two diameters is at the ambient internal pressure in the line. We believe this is a better model for most cases, for example non-structural pipe linings.
For cases where the stress diameters differ from the outer and inner diameters you should consider whether the model used by OrcaFlex is suitable. If not, you should do your own calculation of wall tension and stress results. See the warning in the Line Pressure Effects section.
New commands have been added to the batch script facility to allow the export of SHEAR7 data and Mds files.
New in version 8.6a
Pre-processing
A new feature called Wave Scatter Conversion has been added. This tool converts a scatter table of sea states to a scatter table of regular (i.e. individual) waves. The tool can be opened from the OrcaFlex Calculation menu.
We have also improved the way OrcaFlex handles the small length changes to lines caused by internal and external pressure. The changes to the program, which are described below, mean that the old and new versions give different results for lines (the new version being the more correct). For most cases the differences are not significant, since length changes due to pressure are very small. But the differences can be significant for length-sensitive cases, such as a stiff straight pipe connected between fixed points. For such a case small length changes can cause significant changes in tension.
These improvements enable OrcaFlex to model cases like pipe buckling due to pressure effects. OrcaFlex has been validated against the experimental results for such a case obtained by Palmer and Baldry.
The changes are:
OrcaFlex now allows for the small length changes due to internal and external pressure. In previous versions (OrcaFlex 8.5 and earlier) the user had to allow for such length changes by specifying the unstretched length in the pressured state, and further length changes due to changes in pressure during the simulation were not allowed for. Now the unstretched length is the unstressed length at atmospheric pressure (both inside and out) and length changes due to pressure are calculated and allowed for by OrcaFlex.
OrcaFlex also now allows for length changes from the Poisson ratio effect from radial and circumferential stress due to internal and external pressure. OrcaFlex release 8.5 (and earlier) did not allow for the Poisson ratio effect, so it effectively took the Poisson ratio to be zero.
The contents pressure is now the internal pressure at a fixed specified reference Z level. Previously it was the internal pressure at end A of the line, even if the Z level of end A changed during the simulation.
Because of these changes, it is no longer possible to edit the contents pressure (or the reference Z level) when a simulation is active.
For further details of these pressure effects changes and the validation case contact Orcina.
Other changes to Lines
The Line Setup Wizard now includes the option of varying anchor position to achieve specified top tension or top declination. Note that the Line Setup Wizard was previously known as the Line Length Wizard.
In previous versions Lines which included torsion were forced to use the Full Statics option. This restriction has been lifted, mainly to help analyse cases which use the prescribed starting shape option. However, we still recommend that you use the Full Statics option where possible because this is the only statics option in OrcaFlex which includes the effects of torsion.
The Pre-tension data item on the Line data form is now called As Laid Tension.
Vessels
Several improvements have been made to vessels that affect results. In most case the changes are not significant, but the effect could be more significant for cases with non-zero heel or trim combined with superimposed RAOs or rotational harmonic motion. The details are as follows.
Displacement RAOs, harmonic motion, the stiffness, damping & added mass matrices, and the wind and hydrodynamic drag loads, are all now applied with respect to the primary heading axes. In previous versions (OrcaFlex 8.5 and earlier) these effects were all applied with respect to the instantaneous vessel axes directions. This change has been made so that these effects are applied with respect to a frame of reference with z vertical, in order to better match the frame of reference used by diffraction programs from which these data are normally obtained. This change will affect results, but the effect is only significant for vessels with significant heel or trim angles.
Vessel displacement RAOs are now applied at the RAO origin. Previously (OrcaFlex 8.5 and earlier) the RAOs were transformed to be RAOs about the vessel origin and then applied at that vessel origin. This RAO transformation used a small angle approximation, so to avoid that small angle approximation the RAOs are no longer transformed and are applied at the user-specified RAO origin. Because the new method avoids the small angle assumption it gives slightly different results if the RAO origin is not at the vessel origin. The differences are unlikely to be significant, unless the RAO origin is a long way from the vessel origin and some of the RAO rotation angles are large.
Vessel harmonic motion is also now applied at the RAO origin. Previously (OrcaFlex 8.5 and earlier) harmonic motion was applied at the vessel origin.
The Check RAOs facility now plots graphs of RAO amplitude and phase in addition to the existing complex value graphs.
The RAO phase conventions have been extended to allow you to specify that phases are relative to zero up-crossings or zero down-crossings.
Environment
The program now allows you to define multiple sets of current data in a single data file. Only one set of current data is active at any one time. This is intended to help when you are analysing a series of load cases with differing current data. You can set up all the different current data sets in the base file. Then, in the batch script which generates the load case simulations, you simply select from the pre-defined current data sets.
The View Wave Components report now includes the first 3 spectral moments m0, m1 and m2.
The modal analysis facility now reports mode type and offset distribution. This allows you to identify whether particular modes are inline, axial or transverse.
In previous versions range graphs were plotted for the entire arc length range of a line. There are now additional options of plotting the graph for a selected arc length range or for a selected line section.
Custom Replays are replays in which each frame can be from one or more OrcaFlex files. In previous versions of OrcaFlex these replays were known as Multiple File Replays. We have added a Custom Replay Wizard which greatly simplifies the process of specifying a custom replay.
Exported video files now optionally include details of each frame (e.g. simulation time). This helps relate the events in the video to the OrcaFlex simulation.
A new command line switch has been added called ThickLines which is intended for use when projecting OrcaFlex onto a large screen.
When 2 objects are connected to each other in OrcaFlex (e.g. connecting a line to a vessel) the program changes the object-relative position of the child object (e.g. the line in the earlier example). The change is made so that the child's position relative to global axes is preserved.
A similar change is now made to the child's object-relative orientation. When a child object is connected to another object the child's object-relative orientation is changed so as to preserve the orientation relative to global axes. This preservation of child object orientation was not performed in previous versions of the program.
In order to understand better the effect of this change you should experiment with object connections in OrcaFlex. For example, take an empty model and add to it a Vessel and a 6D Buoy. Set the Vessel's Initial Orientation to be non-zero; for example Heel: 10°, Trim: 20°, Heading: 30°. Now open the 6D Buoy's data form. The buoy's initial attitude is Rotation 1: 0°, Rotation 2: 0°, Rotation 3: 0°. If you now connect the buoy to the vessel by setting the Connection data item to "Vessel1" you will see the buoy's initial attitude change to -10°, -20°, -30°. But if you look in the 3D view you will see that the buoy's orientation relative to global axes remains unchanged.
The value ~ can now be specified for the VIVA Z axis direction. This is interpreted to mean the current direction at the sea surface.
In older versions of OrcaFlex a VIV Toolbox licence was required in order to load simulation files which used any of the VIV models. This restriction has now been lifted.
Automation
The Instructions Wizard in the OrcaFlex spreadsheet now allows you to get results for Drag Chains, Flex Joints and attached 6D Buoys. These were not available in older versions of the spreadsheet.
External Functions
The OrcaFlex external function mechanism now includes the facility for external functions to store state information to the simulation file. Some external functions have state information (e.g. the integrator of a PID controller). This new facility allows for simulations which use such external functions to be restarted and continued. For details please refer to the OrcFxAPI documentation.
Inserting and deleting rows in SN curve table data on the fatigue form was not working properly. This is now fixed.
Clump type drawing data can now be edited while a simulation is active. This is the case for other drawing data in OrcaFlex.
The Ramberg-Osgood profile graph on the Plasticity Wizard was displaying strain values incorrectly. They are labelled as % strain but older versions of the program actually displayed fractional strain. The correct values were used for the calculation; the error only affected the values displayed on the profile graph. This problem is now fixed.
There was a bug which occurred when reloading and restarting partially complete simulations with tension controlled winches. If the winch was in a tension controlled mode when the simulation restarted then the winch would restart with the wrong tension. The problem only occurred if a partially completed simulation was saved, reloaded and then restarted. This bug is now fixed.
Minor corrections have been made to the way prescribed rate of turn and yaw rate drag moment are calculated for vessels with non-zero heel or trim. The changes only affects vessels with non-zero heel or trim, and the effects are not significant unless the heel or trim is large. The changes are therefore very unlikely to be significant.
New in version 8.5d
Improvement and bug fix in calculation of wave drift load applied to vessels
OrcaFlex now uses the formula given in the paper by Standing, Brendling and Wilson (1987), rather than the formula given by Newman (1974), to calculate the wave drift load. The Standing, Brendling, Wilson formula has the advantage that it avoids the spurious high frequency terms generated by the Newman formula.
In previous versions of OrcaFlex there was a sign error in the wave component phases used when calculating the oscillatory parts of the wave drift loads. This bug has now been corrected. The effect of the bug was that the oscillatory parts of the wave drift load were incorrectly phased. In a typical random sea application of wave drift loads, the wave component phases are random, so the phasing of the wave drift load is random and so not significant. However the bug caused the oscillatory parts of the wave drift loads to be incorrectly phased relative to the 1st order wave loads and vessel motion.
New in version 8.5c
Bug fixes
Saving simulation files for models which use external functions for vessel applied loads was causing errors to be reported and the simulation file to be corrupted.
The drawing for attached 6D Buoys with wings was incorrect when the model was in the reset state.
Some simulation files which modelled line clashing could not be opened with versions 8.5a or 8.5b.
In some circumstances the Cancel button for the Line Type Wizard was failing to cancel changes.
New in version 8.5b
Spreadsheet output of tabular results
OrcaFlex displays tabular results in a spreadsheet window. This spreadsheet window has a maximum number of rows that it can display. If you attempt to display tabular results with more rows than this you are given the options of either truncating or sub-sampling the table before it is displayed in the spreadsheet. You are now offered the additional option of exporting the results to a tab-delimited text file which gives you access to the entire results table.
Vessels
We have decided to change the way the added mass, damping and stiffness matrices of a vessel type are specified. For details, see the note in the added mass, damping and stiffness topic. When reading old files (written by previous releases) OrcaFlex automatically handles for you any data changes needed, so there should be no need for you to take any action. However OrcaFlex will tell you if it needed to make any data changes, in which case we recommend that you check the data. When entering new data, remember to specify these matrices with respect to the conventions directions.
We have also changed how the damping matrix is applied. Previously the damping load was calculated as the damping matrix multiplied by the vessel velocity relative to the earth, but this meant that the damping load tended to restrain a free floating vessel from moving with the current. The damping matrix is now multiplied by the vessel velocity relative to the current.
Bug fix
The Stress Outer and Inner Diameter data items can be modified after a simulation has been run. This is because they only affect the wall tension results, stress results and fatigue analyses. In version 8.5a, if you did modify these data items after a simulation had been run then the wall tension results and stress results were not updated accordingly. This problem has been fixed in version 8.5b.
New in version 8.5a
Spectral Response Analysis
A new facility for calculating RAOs for any OrcaFlex results variable has been added. The method uses a fully nonlinear random wave simulation together with the Fourier transform to generate the RAOs.
Fatigue Analysis
A spectral fatigue analysis capability has been added which makes use of the new Spectral Response Analysis feature. This fatigue analysis method is in addition to the existing regular and rainflow fatigue analysis methods.
The load case damage results are now reported as damage per hour. In previous versions of the software they were reported as damage per cycle (for regular analysis) and damage accrued over the analysed simulation period (for rainflow analysis). The change has been made for the sake of consistency between the different fatigue analysis methods.
Fatigue Analysis results now include details of where on the line the worst damage occurred. This is reported both for individual load cases and for overall total damage.
The Fatigue Analysis now allows you to specify which stresses are to be calculated. The fatigue calculation is quicker if fewer stress components are analysed so this feature can help you to reduce calculation times. For example, in cases where pressure effects are not significant for damage you may choose only to analyse ZZ stress.
Vessels
Several new (optional) facilities have been added which enable coupled analyses, i.e. where the motion of a vessel is calculated allowing for the effects of not only waves but also other loads, such as those from attached lines or other objects, applied loads, etc. First, you can now specify 1st order wave load RAOs for a vessel type and include the resulting wave loads on a vessel. Second, you can now specify the added mass, damping and hydrostatic stiffness matrices for a vessel type in full 6 degrees of freedom. Third, you can now set a vessel's Primary Motion to a new option, called Calculated (6 DOF), in which OrcaFlex calculates the motion of the vessel in full 6 degrees of freedom. Together, these 3 new facilities enable coupled analyses, which is useful for systems where the vessel motion is significantly affected by other loads, e.g. from attached lines or other objects. With this approach no superimposed motion would normally be applied (since the wave induced motion is already being calculated and included in the primary motion). Note that in this release only a single pair of added mass and damping matrices can be specified and these are used for all frequencies; in a future release we intend to allow these matrices to be frequency-dependent.
Vessel applied loads may now be set for all 6 degrees of freedom.
You may now more easily specify which loads are included for the vessel. Ticking a check box means that load will be applied to the vessel. If the vessel primary motion is set to be calculated then the vessel motion will allow for the included loads.
Individual results are now available for those loads which have been included.
The OrcaFlex spreadsheet has a new Duplicate Instructions feature which allows you to duplicate sets of OrcaFlex spreadsheet instructions for multiple load cases. Suppose you are analysing a number of different load cases for a variety of environmental conditions. Once you have built the spreadsheet instructions for a single load case you typically want to generate the same instructions for each other load case. This Duplicate Instructions feature automates the procedure.
A new command called Working Directory has been added to the OrcaFlex spreadsheet. It outputs the directory where the spreadsheet is stored. If you are using relative paths then this command helps keep track of the base path for QA purposes.
Lines
OrcaFlex allows you to specify nonlinear bend stiffnesses for Line Types by defining a table of bend moment against curvature. To help create this table we have added a Plasticity Wizard. This asks you to specify the relationship between material stress and strain and then derives the table of bend moment against curvature. The stress/strain relationship can be specified either as a table or by a Ramberg-Osgood curve.
When torsion is included, lines with zero twist stiffness at each end can now be analysed. In previous versions of OrcaFlex the program refused to analyse such lines.
Pre-bend can now be modelled for lines when torsion is included. Pre-bend is provided for modelling lines which are not straight when unstressed, e.g. spool pieces.
Node axis directions (x, y, z) can now be drawn in different colours (previously each node axis was drawn in the node pen colour). This helps distinguish between x and y directions thus making component results easier to interpret. The node axes directions are drawn optionally and can be controlled by the Draw Local Axes preference or by pressing CTRL+Y.
The Line Clashing Report, which was added in version 8.3, has been improved slightly. In the previous version the reported values of Peak Clash Energy did not allow for contact damping. This has now been changed and the reported values do indeed allow for contact damping. Note that you will need to re-run any old simulations to take advantage of this change. This is because the values reported in the Line Clashing Report are calculated during the simulation and saved in the simulation file.
A new Sea Surface Clearance results variable is available which reports vertical clearance from node centre to the instantaneous sea surface. Negative values mean that the node is submerged.
In previous versions of OrcaFlex line clumps which are net heavy in water were treated differently from those which are buoyant. These net heavy clumps were intended to be used to represent drag chains and modelled the supported weight and friction effects of drag chains contacting the seabed. The drag chain object is available to perform this function and does so rather better. To simplify the program we have decided to treat all line clumps the same irrespective of whether they are net heavy or buoyant. This means that if you load an old file which used the drag chain line clump feature the new program will treat such clumps differently. The program will warn you of this should you load such a file.
Connection arc lengths
Line attachment z position specifies the arc length at which the attachment is connected. In previous versions of OrcaFlex this arc length was always measured relative to End A of the Line. This arc length can now optionally be specified relative to End B.
Links, Winches and 6D Buoys can now be connected to lines with connection arc length specified relative to either End A or End B. In previous versions of OrcaFlex this arc length was always measured relative to End A of the Line.
Lines can now be excluded from the statics calculation. This can be done on the Line Data form and the All Lines Data Form. Results are not available for such lines and dynamics is disabled if you have any lines which are excluded from statics. This is mainly useful when building a model and a particular line is not converging. In this situation you could exclude all other lines from statics (this is easiest from the All Lines Data Form). This would allow you to experiment with different statics convergence parameters for the problematic line without having to wait for all the other lines to converge each time you tried a new set of convergence parameters.
User Interface
The batch processing form now has a check box allowing you to request that OrcaFlex be closed once the batch of runs is complete. This feature is intended principally for users with networked licences. It allows you to release your claim on an OrcaFlex licence as soon as the batch of runs is complete.
Data files which use Vortex Tracking Models with non-default smear factor values were being read incorrectly in previous versions of OrcaFlex. The smear factor was being reset to the default value.
Simulations using time domain VIV models were sometimes giving different results if you restarted a partially run simulation. This affected the Wake oscillator models and the Vortex Tracking (2) model. With this version the problem has now been fixed and simulations can be paused and restarted without affecting results.
Offset graphs for multiple statics were not offering the user the option of choosing the offset direction in version 8.4 of OrcaFlex.
Printing, copying and exporting of the attachments data form was not working in previous versions of OrcaFlex. In addition, the Compare Data feature was not reporting any differences between attachment type data.
The OrcaFlex spreadsheet includes a function called OffsetCell. For users of Excel 97 this function would intermittently fail to work resulting in cells containing '#VALUE!'. This problem has been fixed in the spreadsheet distributed with this version of OrcaFlex.
New in version 8.4e
Bug fixes
For certain models, the values output in the vessel spectral response reports contained very minor inaccuracies. This has now been fixed.
The model browser has 2 modes of operation: the "by types" view and the "by groups" view. These modes are intended to work independently of each other. However, moving objects when using the "by types" view was erroneously altering the "by groups" structure.
There was a problem with the results form for multiple statics Offset Graphs. The list box allowing you to set the offset direction was not being shown.
In some circumstances, the program was unnecessarily repeating Vessel interpolation calculations. This led to increases in simulation run times. This has now been fixed.
A problem with Windows XP service pack 1 was sometimes causing OrcaFlex to crash. We have added some code to prevent OrcaFlex crashing when this problem occurs.
New in version 8.4b
External Functions
The OrcFxAPI DLL functions C_SetDataDouble, C_SetDataInteger and C_SetDataString can now be called from an external function.
Bug fix
There was an error in the calculation code for the new flex joint modelling objects. The stiffness for flex joints is specified in units of moment per degree of deflection. However, in 8.4a this value was interpreted as if it was specified in units of moment per radian of deflection. The bug only affected flex joints with finite non-zero stiffnesses. That is those flex joints with stiffnesses of 0 or Infinity were unaffected.
New in version 8.4a
Simulations
Results from unstable simulations can now be examined and the simulation files can now be saved. If a simulation becomes unstable the simulation is aborted and the program moves to the simulation unstable model state. From this state you can view replays, extract results, save the simulation or return to reset state. If you are operating in batch mode then the unstable simulation is saved and you are notified that there was a problem when the batched calculations are complete.
Environment
Wind loading can now be applied to Lines and 6D Buoy Wings. Previously Vessels were the only objects which responded to wind loads.
A seabed profile arc length calculation has been added to the environment data form. This calculates the arc length between 2 points along a profile seabed.
A new Line Length Wizard has been added. Intended for mooring analyses, this wizard adjusts line length to achieve a specified top tension or top declination.
A Line Clashing Report has been added. This produces a detailed tabular report about the line clashing events during a simulation.
A new type of line attachment for use when modelling flex joints has been added.
You can now define a contact pen which is used when drawing nodes and segments which are in contact with the seabed, elastic solids and other lines.
Line curvature results are now reported when bend stiffness is zero. Previously the curvature was reported as zero when the bend stiffness is zero.
Line expansion factor was previously forced to be 1 during statics. This restriction has been lifted.
When the model is in Statics Complete state the results tables for lines now contain detailed reports of the shortest natural periods.
Catenary convergence parameters can now be set to default values by clicking a button on the line data form.
The behaviour of the Use Calculated Positions button has been altered. If you use this facility in a model which includes lines then you are offered the option of changing the lines' Step 1 Statics Method to User Specified. In previous versions of the program this data change was only performed for those lines whose Step 2 Statics Method was set to Full Statics. In this version of the program the value is changed for all lines in the model.
A small improvement has been made to the way damping is implemented at line ends. This may give slight changes in results.
The Vessel connections report has been improved. It now includes individual connection forces for Shapes and 6D Buoys. It also includes vertical component and force declination for all connections (previously these were only reported for Lines).
RAO graphs are now ranged automatically to avoid parts of the curve disappearing off the edge of the chart.
The rainflow fatigue damage calculation has been slightly modified. OrcaFlex scales the single-occurrence load case damage values to allow for the exposure associated with that load case. In previous versions OrcaFlex assigned the damage to the entire simulation period being analysed. Now it is assigned to just the period of time between the first and last extrema of the stress time history. In previous versions of the program, any stress variation between these extrema and each end of the time history made no contribution to damage. This change makes the program more accurate. For rainflow analysis you need to use a large simulation period in order for the results to be statistically significant. Thus for suitably long duration simulations this change to the calculation will have little effect.
Post-processing
The Results spreadsheet has been renamed as the OrcaFlex Spreadsheet. The "Process All" and "Process Selected" buttons have been removed from the instructions sheet and moved to the new Orcina menu. This new Orcina menu appears in the main menu of Excel.
New commands called Spectral Density, Empirical Distribution and Rainflow Half Cycles have been added to the OrcaFlex Spreadsheet.
OrcaFlex Spreadsheets can now be handled by the batch processing mode. To use this facility the spreadsheet must have been created from the spreadsheet template from version 8.4a or later.
OrcaFlex Spreadsheets range graph arc lengths can now be specified as all arc lengths less than or all arc lengths greater than. This is done using arc length ranges such as "<35" or ">60".
There is a new Move Selected Objects Wizard which allows you to move a number of objects en masse. This can be found by selecting an object in the model browser and clicking Move Selected Objects on the browser's edit menu (also available from the popup menu). The wizard is most useful when you select multiple objects, a group or a number of groups or even the entire model.
Stress and pressure values are now labelled in kPa or MPa if the chosen units system correspond to either of these units. For example values which would previously been labelled kN/m2 are now labelled kPa. Similarly values which would previously been labelled N/mm2 are now labelled MPa. In addition a new force unit (MN) has been added. If you choose this force unit together with a length unit of m then stress and pressure values are labelled MPa. This is particularly useful for the Fatigue units selection.
New command line switches have been added which allow you to set the process priority when starting OrcaFlex.
If you have installed the Orcina shell extension you will be able to see thumbnail views of data and simulation files in Windows Explorer. This only works with files written by this version or later. Please note that thumbnail views may not be available in some older versions of Windows. Thumbnails views can be displayed by selecting Thumbnails from the Windows Explorer View menu.
OrcaFlex Programming Interface
New functions C_GetWaveComponents, C_AVIFileInitialise, C_AVIFileAddBitmap, C_AVIFileFinalise, C_GetSimulationDrawTime, C_SetSimulationDrawTime, C_CreateTimeHistorySummary, C_GetTimeHistorySummaryValues and C_DestroyTimeHistorySummary have been added to the OrcaFlex Programming Interface. For details please refer to the OrcFxAPI documentation.
External Functions
A new DataSourceName field has been added to the TExternalFunctionInfo data structure. For more details see the OrcFxAPI documentation.
A change has been made to the Vortex Tracking (2) model. Previously this model did not include any of the vortex strength decay effect that is present in the Vortex Tracking (1) model. But trials have revealed that omitting this effect causes model 2 to over-predict response when the Strouhal frequency is high compared to the natural frequency. Model 2 therefore now includes vortex strength decay, using the same method as in model 1.
Bug fix
In certain circumstances OrcaFlex was crashing when a password protected screensaver started. This problem has now been fixed.
When using the VIV Toolbox, range graphs of VIV results gave an error if VIV was disabled for part of the line.
New in version 8.3b
Bug fix
Simulations which used Calculated Vessel Primary Motion were failing to run on Windows 95. The program was reporting the error message Could not find the routine "InterlockedExchangeAdd" in the library "kernel32.dll".
New in version 8.3a
Simulations
The Extend Dynamic Simulation menu item now sets winch and vessel stage data for the new stage to be exactly the same as for the previous stage. A vessel using prescribed motion will therefore now continue any acceleration or turning that it was doing at the end of the previous simulation (in OrcaFlex 8.2 any such acceleration or turning stopped). And a winch that paid out a given length in the previous stage will pay out the same length again in the new stage (in OrcaFlex 8.2 the payout stopped).
The dynamic ramping function which is applied during the build-up stage has been changed. The new ramping function is intended to reduce transients at the start of simulations.
Lines
The Line Ends Form is now called the All Lines Data Form. This is because you can now set line data other than just that which applies to line ends.
Line segmentation was previously determined by specifying an absolute number of segments. In this version, as an alternative you can specify segmentation by giving a Target Segment Length. If you specify segmentation this way then when you alter section lengths the segmentation is not affected.
Line clearance results reporting has been extended. Previous versions of OrcaFlex reported a variable called Line Clearance which reported clearances between centrelines. This results variable did not allow for line outer diameters. We have renamed this variable Line Centreline Clearance and introduced a new results variable called Line Contact Clearance which does allow for line outer diameters. In addition previous versions of OrcaFlex were limited to reporting clearances from a specified line to all other lines in the model. This option is still available but now you can choose to report clearances between 2 specified lines.
An expansion factor data item has been added which allows you to model time-varying changes in unstretched length, for example due to thermal expansion or contraction. The expansion factor used in a simulation is available as a results variable.
In previous versions of OrcaFlex the local line orientations of lines without torsion were not defined if End A was free or if it was released. This restriction has been lifted in this version but care must be exercised when interpreting any results based on such local line orientations – see local line orientations.
The presentation on the line data form of line statics methods has been altered. The data item that was previously labelled Statics Method has been renamed Step 1 Statics Method. The data item that was previously labelled Full Statics has been renamed Step 2 Statics Method.
The program now allows more flexibility when specifying JONSWAP spectral parameters. There is a new option which allows you to specify directly the 5 principal parameters of the spectrum (γ, α, σ1, σ2 and fm). When using this option Hs and Tz are calculated and reported by the program.
A new wave type called User Specified Components has been added. This allows you to specify the wave train as the sum of a number of sinusoidal components. This wave type gives you complete control over the wave train and would typically be used to compare OrcaFlex results with results produced by a different program.
Wind time history files can now specify variation of both speed and direction. Previously only variation of wind speed could be modelled.
A new button labelled View Vertical Profile 3D View has been added to the Current page of the Environment data form. This is intended to help you visualise and check your current profile rotation data.
Multiple applied loads can now act on a 6D Buoy. In previous versions of OrcaFlex you could only specify a single applied load with respect to global axes and a single applied load with respect to local axes.
In previous versions of OrcaFlex Wings were drawn using the 6D Buoy pen. There is a new data item in the Wing Type data which allows you to optionally draw the wing using a pen specified in the Wing Type data.
Multiple applied loads can now act on a Vessel. In previous versions of OrcaFlex you could only specify a single applied load with respect to global axes and a single applied load with respect to local axes.
The Report RAOs facility has been significantly extended and renamed as Report Vessel Response. It now includes reporting RAOs for Z Above Wave and it provides a report of spectral values based on the vessel's RAOs. These facilities were previously only available in the separate DOS program OrcaMotion, which is now not needed and so is no longer distributed with OrcaFlex.
Winches
In previous versions of OrcaFlex winches were controlledstage by stage. In this new version the control variable (either target tension or payout rate) can vary with simulation time or be given by an external function. This new form of control is in addition to the existing stage by stage control.
Some new stage by stage winch control modes have been added. These are Specified Payout Rate, Specified Tension Change and Specified Tension Rate of Change. The Specified Payout Rate merely provides an alternative to the existing Specified Payout mode. The Specified Tension Change and Specified Tension Rate of Change modes are more interesting because they allow you, for example, to model a constant tension winch where the tension is determined by an earlier simulation stage. By specifying a tension change of 0 following a payout stage you can lock the winch at the tension used at the end of the payout operation.
Position time history results are now available for each winch connection point. Previously the results were only available for the first connection point.
OrcaFlex now uses a filter to separate the VIV and non-VIV motion of a node. This allows the wake oscillator models to now handle cases where VIV excitation is due to non-VIV line motion (e.g. due to towing) as well as fluid flow.
The inline and transverse components of vortex force are now available as results. Also, all the vortex force results are now reported per unit length of line (previously the value reported was the force on that node).
You can now specify vortex force factors that allow you to scale the inline and transverse components of the vortex force. These data can be used, for example, to allow for VIV suppression devices or to model the increase in inline drag force due to VIV.
There is now detailed control of how VIV is drawn with the time domain VIV models.
OrcaFlex no longer uses a cut-off angle, i.e. a fluid incidence angle below which VIV is suppressed. This feature of previous releases has been removed since when the incidence angle passed the cut-off angle it caused the vortex force to change, in a single time step, between the force given by the VIV model and the standard drag force. Such step changes in force are unrealistic. Also, all the VIV models are based on the normal component of velocity, which automatically reduces as the incidence angle reduces. If you want you can disable VIV modelling on a section where the incidence angle is low.
OrcaFlex now applies an initial perturbation to the time domain VIV models to initiate oscillation of the wake. With the wake oscillator models it is therefore no longer necessary to apply separate excitation (e.g. using a winch), as was recommended in previous releases of OrcaFlex.
When using the time domain VIV models, OrcaFlex now uses ramping during the build-up stage, to give a smooth handover from the standard Morison drag force, applied in the static analysis, to the vortex force given by the time domain model.
Batch processing
A number of new commands have been added to the batch script language. These are NewModel, Create, Delete, LoadData, SaveData, Reset and ExtendSimulation. The existing Load and Save commands previously loaded or saved data files. They have been altered so that they can now load or save simulation files. The NewModel, Create, Delete commands now allow you to build a model entirely within batch script. The extended Load and Save commands now allow you to automate the modification of post-processing data items (e.g. Stress Diameters, Allowable Stress etc.).
You can now set, from batch script, a number of data items that previously could not be set. These included drawing data, variable data source data, QTF data.
The model browser has a new facility called the By Groups View which allows you to define a tree structure associated with your model. This is particularly useful for navigating large models. Closely related objects can be grouped together and folders of objects which you are not currently working on can be closed and thus hidden from view in the browser. The traditional By Types View which groups together objects of the same type is still available.
More than one object can be selected in the model browser. This allows you to perform the same action (e.g. delete, copy, hide, show, locate) on many objects at once. To select more than one object you use the standard Windows key presses CTRL+click to add to a selection and SHIFT+click to extend a selection.
Popup hints are now shown when you hover the mouse over an object in the 3D view. These hints can be disabled by setting a preference.
Files can be added to the batch processing form by drag and drop.
Multiple File Replays now allow you to set the view parameters for each frame of the replay. This allows you to zoom, pan and rotate the view during the replay.
There is a new Graph menu on the OrcaFlex main menu. This gives access to various functions that were previously only available through the popup menu.
A new period called Instantaneous Value is available for range graphs. Graphs with this period show a curve of the values at the instantaneous simulation time. This is normally the latest simulated time. However, if a replay is active, the graph shows a curve of values at the replay time. This allows you to see, for an entire line, how a results variable evolves over a simulation.
The Results Spreadsheet can now be used with a statics only OrcaFlex licence. The Load command now allows you to load a data file. After the data file has been loaded the spreadsheet performs the OrcaFlex statics analysis. This may be time consuming so we recommend using the Use Calculated Positions feature when building the model. Commands available are Range Graph, Range Graph Summary and the new command Static Result which is like the Time History command but just gives a single value.
The Results Spreadsheet can now output pipe stress component results. This was not possible in previous versions because there was no way to specify R,Theta in the results spreadsheet. This is now possible using the new Additional Data column on the results spreadsheet. Because of this we are no longer supplying the Stress Spreadsheet which was supplied with older versions of OrcaFlex. Old Stress Spreadsheets will continue to work but we now recommend you use the Results Spreadsheet for post-processing pipe stress component results.
The Results Spreadsheet can now output results for the Environment by specifying the position of the point for which you want results in the new Additional Data column on the results spreadsheet.
OrcaFlex Programming Interface
New functions C_ClearModel, C_GetDefaultUseCalculatedPositionsForStaticsParameters, C_GetModelState, C_GetObjectType, C_GetObjectTypeName, C_GetRangeGraph3, C_GetRecommendedTimeSteps, C_UseCalculatedPositionsForStatics, OrcinaInfinity and OrcinaUndefinedReal have been added to the OrcaFlex Programming Interface. For details please refer to the OrcFxAPI documentation.
Bug fixes
Shaperesults tables were sometimes reporting the wrong contact force. The error only occurred for results tables of the static configuration and for contact with lines which included torsion. The error was that the contact forces due to lines which included torsion were counted double. Note that the values used in the calculations were correct.
Current Speed results previously did not allow for the build-up ramp if the current was ramped during build-up. Note that the value used for calculation purposes correctly allowed for the ramp. The error only affected the reported values of the Current Speed results variable.
OrcaFlex was sometimes failing to locate time history files when opening simulations. This occurred for models using time history files with relative paths.
Printing data for certain models containing 6D Buoys was failing. The models affected were those with Spar Buoys or Towed Fish with a large number of cylinders.
Old data files which contained Vessel Types with draughts named '?' could not be loaded.
The Water Density Variation graph reported incorrect values when the model was not using SI units. Note that the values used in the calculations were correct.
New in version 8.2b
OrcaFlex Programming Interface
Calls to OrcFxAPI results functions have been speeded up.
Bug fixes
OrcaFlex was sometimes giving "Out of Memory" errors for models using the Vortex Tracking option.
OrcaFlex data files with wings which were written by version 7.4 or older could not be read by version 8.2a.
The VIV Force result has now been renamed Vortex Force and it now includes all of the lift and drag forces. Previously it only included the force from the VIV model being used, some of which included drag effects and some of which didn't.
Simulations
There is a new Extend Dynamic Simulation menu item on the Calculation menu, which allows you to extend a completed or part run simulation without having to reset and restart the simulation from scratch.
There is now a choice of 3 methods of kinematic stretching of linear waves (Airy and random waves). Previous versions of OrcaFlex used vertical stretching, which remains the default.
When using a JONSWAP or ISSC spectrum the spectral peak period and frequency are now reported, and are editable when using User settings (setting them sets Tz to match).
When using a Profile Seabed you can now choose the interpolation method. Previous versions of OrcaFlex used cubic spline interpolation, but cubic Bessel interpolation is now the default.
There is a new horizontal velocity graph available on the Waves Preview page of the Environment data form. Also, the Wave Components report now includes mean period T1 and the peak period Tp.
Buoys
Buoy Properties are now available using the popup menu on the 3D Buoy data form and 6D Buoy data forms.
The orientation angles of a wing can now be varied during the simulation. This enables modelling of a towed object that varies its depth by changes in wing angle of attack. Also, the orientation angles and the global coordinates of the wing are now available as wing results.
The fatigue analysis results now report the fatigue analysis data, as well as the analysis results. Previously only a selection of the data was reported on the results sheets.
OrcaFlex Programming Interface
A Visual Basic (VB) import module is now available for the OrcaFlex programming interface. This enables the programming interface to be called from a VB program or from a VB macro in Excel, Word etc.
Interface and Results
There is a new multiple file replay facility, which enables you to animate a series of static positions.
You can now install an Orcina Shell Extension. Amongst other things this enables you to open an OrcaFlex file by simply double clicking it.
Variable data can now be copied from one model to another using copy and paste or drag and drop in the model browser. Also, the variable data form now reports how values between and beyond those specified in the table are handled.
If the results exceed the maximum number of rows in a spreadsheet (Excel has a limit of 65535) then you are now offered the choice of either sub-sampling (only displaying every n'th value) or truncating (only displaying as many as will fit).
If needed, you can now specify the video codec that is used when exporting video files.
Bug fixes
If a line had a 6D Buoy attachment then cancelling the line ends form caused the template 6D Buoy to change position.
On the statics progress window buoy rotation angles were being reported in radians, not degrees.
When using the line type wizard to model lines with floats, the float weight in water was sometimes misreported on the data form. The correct value was used in calculations.
The OrcFxAPI functions C_GetStaticResult, C_GetStaticResult2, C_GetTimeHistory and C_GetTimeHistory2 were not working for statics-only OrcaFlex.
New in version 8.1b
Child 6D Buoys
There was a bug which affected the drag calculation for 6D Buoys which are children of Lines or Vessels. Such buoys can arise in a model in 2 ways:
A 6D Buoy's connection is set to be a Line or a Vessel.
A Line has an attachment where the Attachment Type is a 6D Buoy.
The drag force is calculated using the relative velocity of the fluid – that is the velocity of the fluid minus the velocity of the buoy. The bug is that OrcaFlex is calculating the drag using relative velocity based on the translational velocity of the buoy in the static state, rather than using the instantaneous buoy velocity. Changes in buoy velocity during the simulation are therefore not correctly contributing to the drag force. For more details contact Orcina.
OrcFxAPI
OrcFxAPI functions C_GetStaticResult, C_GetStaticResult2, C_GetTimeHistory and C_GetTimeHistory2 were not working for statics-only OrcaFlex.
VIV
When using the VIV Toolbox, the VIV Force was reported incorrectly when the incidence angle was below the cut-off angle. In this situation the VIV Force result was wrongly reporting the force generated by the VIV model, even though that force was correctly being suppressed in the simulation because the incidence angle was below the cut-off angle.
We have done some code optimisation that speeds up simulations. The speed gain depends on the type of computer. On machines that we have tried it varies between 5% and 45%.
The mode shape normalisation used by the modal analysis has been changed. Previously the modes were normalised so that the largest offset vector component (in global directions) had magnitude 1. Now the modes are normalised so that the largest offset vector has magnitude 1 (i.e. is a unit vector). The new normalisation has the advantage that it does not depend on the choice of frame of reference.
Very small numbers in spreadsheet windows are now displayed in engineering notation (they previously appeared as zero).
During the first pass through a replay, OrcaFlex records each frame so that subsequent passes through the replay can be displayed faster. In previous versions this could sometimes hit operating system memory limits, so to avoid this OrcaFlex now only records the frames if there is sufficient memory.
The Results spreadsheet can now handle time histories with more than 32767 rows. Note that there is still the Excel limit of 65535 rows in a worksheet.
Bug fixes
Extremely large replays (ones with more than 32767 frames) did not work correctly in previous versions.
Dragging and dropping a file onto OrcaFlex is no longer allowed during a statics calculation or when a simulation is active. Version 8.0a accepted the drag and drop but failed to open the file correctly.
Previous versions failed to find a time history file if it was specified using a relative path. (You had to specify the full path.)
The vessel results variables Mean X, Mean Y and Mean Z have been renamed Primary X, Primary Y and Primary Z, since they report the primary motion of the vessel. Old result spreadsheets containing the old names will still work correctly.
Previously, if a vessel's motion was specified using a time history file then OrcaFlex only smoothed the transition from static state to time history motion if the model's starting velocity was zero. Because of this a snatch could occur at the start of the simulation if the starting velocity was non-zero. To avoid this OrcaFlex now smooths the transition from static state to time history motion in all cases.
When importing wave drift coefficients from an NMIWAVE format file, the wave headings are now automatically converted to OrcaFlex convention.
Shapes
Objects now ignore any trapped water shapes which are connected to that particular object. See trapped water shapes for details.
The seabed can no longer be specified as being rigid, i.e. have a seabed stiffness of '~'. To model a very hard seabed you can use a high seabed stiffness value, but remember that this may require a shorter simulation inner time step.
The model title on the General data form, which was previously limited to a maximum of 60 characters, can now accept free format multi-line text and has been renamed Comments.
The 'Use Static Positions' button on the General data form has been renamed 'Use Calculated Positions' since it has been extended to work with dynamics.
More accelerator keys (the underscored characters on forms) have been added to make OrcaFlex easier to drive using the keyboard. For example you can now use key presses to change between different pages on a form.
You can now open an OrcaFlex file by dragging and dropping it onto the OrcaFlex window.
You can now open a new file when a simulation is active. You are reminded that the model will be reset and given the opportunity to cancel.
OrcaFlex no longer warns when you are saving files with long object names. There is a new menu item which allows you to truncate long object names.
There is a new facility to compare two OrcaFlex files and display the data differences.
OrcaFlex now handles relative paths in a more convenient way.
Locking an object now protects you from accidentally changing which object it is connected to. Previously locking only prevented accidental dragging, not accidental connection changes.
When running a batch job, if you click the Stop button you are now offered the option of saving or discarding the partially run simulation.
When entering data you can no longer use thousands separators. E.g. 5000 can no longer be entered as 5,000 (where the comma character is the thousands separator on your machine).
You can now ask the results form to 'keep open', so that several different results can be selected and displayed without having to reopen the results form repeatedly.
Results (graphs, tables etc.) are now labelled with the time and date when the simulation file was last modified. Previously the label gave the time and date when the output was generated.
In OrcaFlex 7.5a the wave View Profile and wind View Profile commands displayed values as a function of simulation time. This was not intended and was inconsistent with previous versions and with the wave List Events command, which reported global times. These View Profile commands have therefore been changed to report global times.
In OrcaFlex 7.5a to 7.5c, vessel type data printing, exporting and copying did not always work correctly (data items were sometimes overlaid by other data items).
In OrcaFlex 7.5c and earlier, importing RAOs did not work correctly if the decimal point separator was set to the comma character.
OrcaFlex 7.5a and 7.5b would not accept the value 'Infinity' (e.g. for the long wave period limit) when importing RAO text files.
When opening a simulation file that uses a time history file, if any data errors are found in the file then OrcaFlex now correctly reports the error. Previous versions abandoned opening the file but without giving any error message.
In OrcaFlex 7.5a to 7.5e, very steep Stokes' 5th waves in very deep water sometimes caused floating point overflows.
You can now specify vessel motion using a time history file even if you are using a non-zero starting velocity. Previously this combination was not allowed.
In the RAO data for a vessel type, OrcaFlex no longer requires the RAO table to cover the full range of periods (i.e. from zero to Infinity). See RAO Interpolation and Extrapolation.
The vessel results tables now report the connection load components in the local vessel axes directions, as well as the components in the global axes directions.
The way results at line end results are handled has been improved and extended. The results names End Tension, End Shear, End Curvature, End Bend Moment and End Torque are no longer used. Instead to get the end tension, for example, you now simply ask for the Effective Tension (or Wall Tension) at point A or B, and similarly for the other redundant variable names. Old Results spreadsheets that use the old variable names will still work, but we recommend that new spreadsheets use the new system. For details see End Loads.
The line end reorganisation (see above) has enabled us to provide more results, including stress results, at line ends. See End Loads for details. Also OrcaFlex now provides range graphs of many more variables, most range graphs now extend to include values at the line ends.
The line end orientation angles and the contents pressure can no longer be specified as '~'. Previously these data items could be set to ~ to indicate 'undefined', and results that depended on that data (vector components and stresses) were then not available. Now, for simplicity, the data always must be defined and the results are always available. If you do not know the actual value then zero can be specified. When reading old data files, OrcaFlex converts ~ to zero for these data items; a warning is given when this happens.
The following data items can now be edited after a simulation has been run, without the need to reset and re-run the simulation. The results reported reflect the new data values. The data items involved are a line type's stress ID, stress OD and stress loading factors, and a line's contents pressure.
In the data for a drag chain, the normal drag coefficient is no longer forced to be zero at zero incidence angle (= axial flow). Similarly the axial drag coefficient is no longer forced to be zero at 90° incidence angle (= normal flow). Note that the normal and axial drag forces will still go to zero at these angles, because of the cross-flow assumption built into the drag force formulae.
The translational hydrodynamic mass of a lumped buoy can now be set to '~', meaning equal to the displaced mass.
Interface and Results
OrcaFlex 7.5a could not handle simulation files larger than 2Gb. This limit has now been removed.
The way OrcaFlex logs node positions has been changed in order to improve the precision of the logged value. In addition, for even more precision, there is now an option to use double-precision logging (though note that this is not needed in most cases and doubles the size of the simulation file).
Note:
This change has altered the simulation file format, so simulation files written by OrcaFlex 7.5 cannot be read by previous releases. The data can be read, however, using the Open Data command.
Also on the General data form, you now specify the logging interval, rather than the number of log samples. This is better since changing the simulation duration no longer changes the logging interval.
On 3D views you can now use the mouse wheel to scroll and zoom. Also the Status Bar now reports the global coordinates of the cursor position in the current 3D view.
Time history graphs now offer a new Spectral Density command on their popup menu. And all graphs now offer a new Values command on their popup menu.
We have removed the Project Directory preference. Instead, OrcaFlex now simply remembers the directory you last used for each type of file.
There are new commands and a keyboard shortcut (SHIFT+F2) for switching focus between the main window and the model browser window, without having to close the model browser window.
Locking an object now prevents it from being connected using the mouse on the 3D view. Previously locking only prevented accidental dragging, not accidental connection changes.
Post-processing
The fatigue analysis now offers a rainflow fatigue analysis (as an alternative to the original regular analysis). Also, line end points are now included in the analysis (previously only mid-segment points were included).
You can now use a table to specify the S-N curve used in the fatigue analysis.
There is now a new Linked Statistics command available in the Results spreadsheet, and you can now limit the Range Graph commands in the results spreadsheet to cover a specified range of arc lengths along the line.
OrcaFlex Programming Interface
The OrcaFlex programming interface has been significantly extended. The interface now includes facilities for altering data and calculating static positions.
Documentation
The manual is now available in Acrobat pdf format on the OrcaFlex CD. See CD:\OrcaFlex\OrcaFlex.pdf.
New in OrcaFlex 7.4
You can now specify more than one wave train; this enables crossing seas to be modelled. Note that before specifying wave data in a batch script file you must therefore now give an extra script command to select the wave train.
A line type's drag, added mass, bend stiffness and minimum bend radius properties can now be non-isotropic. In other words, you can now specify different values for the x- and y-directions normal to the line axis.
When torsion is modelled, Lines can now have their centre of mass from the centreline.
You can now use long object names in the model, i.e. names that are more than 10 characters long. Note that previous versions of OrcaFlex (earlier than 7.4b) cannot read data files that use any long names. If you try to save a model that uses long names then OrcaFlex warns you about this and gives you the option of converting the names to 10 characters before saving. You can suppress this warning if you want.
You can now easily hide objects so that they do not appear on the 3D view, and there is now a choice of whether the sea surface is drawn as a grid or as a single line.
Vessel type RAOs can now have their phases specified relative to a separate phase origin that is distinct from the RAO origin. This is useful with RAOs from programs such as Moses, which generates phases that are not necessarily relative to the point whose motion the RAOs define.
6D Buoys can now be attached to a Line as attachments. This makes it much easier to attach a number of identical 6D Buoys to a line.
When a 6D Buoy is attached to a line, it is now connected at the nearest node to the specified arc length. Previously it was connected to that nearest node, but with a z offset that equalled the specified arc length minus the node's arc length.
6D Buoys now have new Connection Load results available and they can also now be connected to Vessels. These developments enable you to perform sea fastening calculations, by attaching a 6D Buoy (representing the attached object) to a vessel and then examining the force and moment that the buoy applies to the vessel.
When using a random wave train, there is a new View Wave Components button that gives details of the wave components that OrcaFlex uses to represent the wave train.
The List Events command now gives extra statistics, namely the largest rise and fall, the highest crest and lowest trough, the number of up and down zero-crossings and the sample's estimated Hs and Tz values.
In the new Results spreadsheet, there is now a new command that returns the mean value of a variable, and you can now specify output cells relative to other cells.
Drag chain angle is now calculated using only the horizontal component of the relative flow. This change was made because it was found that multiple solutions could exist if the total relative velocity vector was used.
OrcaFlex now uses a slightly different ramping function. The difference is not significant for engineering purposes.
You can now specify a time origin for each time history file that you use. This allows different time history files to use different time frames.
The Export Video command has been improved. This solves AVI file compatibility problems with some machines and some versions of PowerPoint.
New in OrcaFlex 7.3c
Miscellaneous
Please note that the button on the toolbar is now Save (i.e. to existing file name, without further prompt), rather than Save As. We have made this change to match the standard for Windows programs. Also, the icons have changed on some buttons (e.g. replay).
You can now specify that the system being modelled has a starting velocity. This is useful when modelling towed systems.
Replays are now much smoother and can now been left running indefinitely (previously, replays could not be left running indefinitely under Windows 95/98). Also, replay time is now indicated on any time history graph windows that are open.
If you import or paste an object into your model from another model that uses different units, then the object data are now automatically converted to the appropriate units. Previous versions did not do this conversion for you.
Export of replays to AVI files has been improved. They are now compressed, which reduces the file size substantially, and they now use the current colour mode (previously they were always in 256 colour mode).
You can now reorder objects in the model browser by using drag and drop.
We now have much more comprehensive QA and validation documentation for OrcaFlex. It includes new comparisons against the API tests cases for tensioned risers, showing good agreement with the API results. Also, very close agreement was obtained in a comparison of the actual position after a pull-in (i.e. "deflect-to-connect") operation in The Troll Olje field, against the OrcaFlex predictions that were used to plan the operation. Contact us if you would like the full documentation.
Post-Processing
There is now a powerful new facility to automate simulations using batch script files. These provide an easy way to set up and run load case simulations that are all based on a common model.
There is now a fatigue analysis tool within OrcaFlex. This tool is faster and more user-friendly than the old fatigue analysis spreadsheet that it replaces.
When simulating lines and including torsion, this version is about twice as fast as previous versions.
For lines that experience no twisting (e.g. in-plane cases) it is no longer necessary to include torsion in order to obtain stress results and x- and y-components of curvature, shear and bend moment.
In previous versions the line type wizard, when deriving line type properties for a rope, set the line type OD to equal the user-specified nominal rope diameter. This overestimates the rope's buoyancy, since in practice there are gaps between the rope fibres so not all of the nominal diameter is filled with fibres. The line type OD is now set to the effective OD that gives the correct buoyancy to match relative density values taken from rope manufacturer data. See ropes: outer, inner and contact diameters for details.
There are improved facilities for modelling drag chains attached to lines.
6D Buoys
6D Buoys can now be connected to lines that include torsion. This enables better modelling of buoyancy tanks.
If the centre of mass of a spar buoy or towed fish is offset from the stack axis then the fluid forces on the stack cylinders are now calculated allowing for the offset. (In previous versions the fluid forces were calculated without allowing for the offset; the effect of the offset is small unless a significant offset is specified.)
Vessels
In previous versions the expected long wave yaw RAO, as shown on the Check RAOs graph, was zero (relative to max. wave slope). This is not always correct and in fact the expected long wave yaw RAO depends on the shape of the vessel. The Check RAOs graph now shows the expected long wave yaw RAO for slender vessels. See RAO Quality Checks for the formulae used.
Bug fixes
In versions 7.1a to 7.2c (inclusive) the statistics results for the sea always gave results for the global origin, rather than for the position specified by the user on the results form.
In versions 7.1a to 7.2c (inclusive), there was a rare bug that only occurred if a simulation file was loaded and the simulation included a vessel that had been included in the static analysis from which the simulation started. In such a case, some vessel text results for the end of the simulation were mis-reported. Note that the errors were normally quite noticeable and the more commonly used results (time histories, statistics, replay etc.) were not affected.
New in OrcaFlex 7.2
Miscellaneous
The File|Open Simulation menu item has been replaced with File|Open, which can open data or simulation files. Similarly the Save Simulation and Save Simulation As menu items have been replaced with Save and Save As, which save a data file if there is no simulation active, or save a simulation file if there is a simulation active. The toolbar buttons and now give these new dual-purpose Open and Save.
Replays can now be exported as standard AVI files, which can be played by Windows and easily be imported into presentation programs such as PowerPoint.
For lines, vessels, 3D Buoys, 6D Buoys and winches, the results that used to be called Surge, Sway and Heave have been renamed X, Y, Z (since they report position relative to global axes).
Similarly, the vessel and 6D Buoy results that used to be called Roll, Pitch, Yaw have been renamed Rotation 1, Rotation 2, Rotation 3 (since they report position relative to global axes).
For vessel results, the names Surge, Sway, Heave, Roll, Pitch, Yaw are now (more correctly) used for a vessel's dynamic motion relative to its primary position and heading. In addition, there are new variables (Primary X, Primary Y, Primary Z, Heel, Trim, Heading) that record the prescribed motion of the vessel.
If you installed the old spreadsheets as Excel templates then you will need to update those templates to the new versions.
Warning:
Be careful if you use a results spreadsheet that uses Surge, Sway, Heave, Roll, Pitch or Yaw results. In an old spreadsheet (i.e. one derived from the results spreadsheet distributed before OrcaFlex 7.2) these variable names will have the old meaning (coordinates and rotations relative to global axes), but in a new spreadsheet (derived from the results spreadsheet distributed with OrcaFlex 7.2 or later) these names have the new meaning (dynamic offsets relative to the primary vessel position).
Environment
You can now specify a 2D seabed profile to model a seabed that is not flat.
You can now specify a current profile using a standard exponential decay power-law.
Solids
Solids have been renamed as shapes, since they can now also be used to model trapped water, i.e. areas such as moonpools where wave and current action is suppressed.
Lines
A new Line Type Wizard has been developed. This gives you a quick and easy way of setting up the appropriate mass and stiffness properties for wire and fibre ropes, steel pipes, chains, and lines with distributed buoyancy. The Wizard also provides approximate values for flexible pipes and umbilicals.
Warning:
The values generated by the wizard are approximate, and are intended as first estimates for preliminary use. They are offered in good faith, but due to variations in properties between products they cannot be guaranteed. We recommend that you use suppliers' data where this is available.
Vessels
Current and wind loads can now be applied to vessels – very useful for mooring systems design. Vessel Type data have been extended to include a full set of force and moment coefficients for wind and current drag loads.
You can now use the Report RAOs button on the Vessel data form to see exactly the RAOs which will be used for the vessel heading and wave direction you have set up in your model – OrcaFlex interpolates the RAO data where necessary.
Applied loads can now be specified in either global axes or local vessel axes directions, and can also now be applied at a point other than the vessel origin.
When using vessel type symmetry, the RAOs are no longer restricted to being in one half plane or quadrant.
6D Buoys
We have added damping forces and moments, and rotational added inertia, to the data for 6D Spar Buoys and Towed Fish. This allows better modelling of surface-piercing structures such as CALM buoys, metocean data buoys, etc.
You can now specify applied loads in either global or local axes – e.g. to represent a thruster load.
Bug fixes
In version 7.1a, when a line included torsion the line end moment time history results were not correctly reported. This problem was corrected in version 7.1b.
In versions 7.1a and 7.1b seabed friction was miscalculated in the Full statics if there were different friction coefficients for the axial and normal directions. This problem was corrected in version 7.1c.
New in OrcaFlex 7.1
Lines
Lines can now (optionally) include the effects of torsion.
Line end orientations can now be left undefined; this is used to mean a pin-joint where there is no connection stiffness and no defined end directions.
Connection stiffnesses for lines can now be set to be "infinity" (or "inf" for short). This value specifies a rigid connection, in other words one where the connection does not allow any bending and so all the bending takes place in the line.
The results Bend Moment and Curvature are now reported at the nearest segment midpoint (previously versions reported the value at the nearest node). Separate results End Curvature and End Bend Moment are now available for the ends.
Seabed friction can now be included in the Full statics calculation – see the new button on the line data form, which allows you to control whether friction is included in the static analysis. This overcomes a limitation that existed in previous versions, so Full statics is now recommended for almost all cases.
In previous versions, when the user set the clump type drag area, Cd and Ca data, the X and Y-components were forced to be equal. This restriction has now been removed.
Vessels
Vessel RAO data has been significantly developed. Full details are given in Vessel Types. The main developments are:
Each vessel is now assigned a Vessel Type and the RAO data have been moved from the vessel form to the vessel type form. The Vessel Types form defines the properties of a number of named vessel types, which can then be used to specify the general form of the Vessels used in the model. In particular, RAOs and related conventions are specified for vessel types and apply to all vessels of that type. The list of vessel types must include all of the vessel types referred to on the Vessel forms, but it can also include other vessel types that are not used in the model. This allows you to build a library of standard vessel types.
The RAO data for the vessel type can now be specified using a wide range of different conventions – e.g. phases as leads or lags, rotational RAOs in dimensional or non-dimensional form, etc. This enables you to work with the conventions that you are used to, or allows you to enter RAO data from another program or from model tests, without the need to transform the data to the standard Orcina conventions.
You can now specify vessel type RAOs for a number of different wave directions. OrcaFlex interpolates to find the response to the actual wave direction. You can also specify that the vessel is symmetric – OrcaFlex uses the symmetry to derive RAOs for the reflected directions.
RAO data can now be imported from text files. This makes it easier to import RAO data from other applications.
RAOs can now be specified for a number of different named draughts. This allows you to easily examine behaviour under different conditions.
A Check RAOs button is now available. This provides RAO graphs that help you to check the data before use.
Finally, several new results variables are now available for vessels. They are:
Force, Lx-Force, Ly-Force and Lz-Force. These are the magnitude and components (in vessel axes) of the total force exerted on the vessel by objects that are connected to the vessel.
Moment, Lx-Moment, Ly-Moment and Lz-Moment. These are the magnitude and components (in vessel axes) of the total moment exerted on the vessel by objects that are connected to the vessel. These moments are reported about the vessel origin.
Random Seas
A new type of spectrum (Ochi-Hubble) is now available for random seas. The Ochi-Hubble formulation allows two-peaked spectra to be set up, enabling you to represent sea states that include both a remotely generated swell and a local wind generated sea. See Ochi-Hubble Spectrum for details.
For random seas, the data items Hs and Tz have been moved. They still appear on the environment data form, but they are now under the random waves page.
Libraries
Library facilities have been introduced. Users can build library files containing commonly used OrcaFlex objects (e.g. line types, vessel types, buoys) which can then be used when creating new models. Objects from the library can be easily imported into the new model, greatly increasing the speed of model building. See Libraries.
As part of adding the library facility, the model browser (the tree view of objects in your model) mouse clicks have been changed:
Single click selects an object.
A second single click allows you to rename the object.
Double click opens the object's data form.
Right click gives a popup menu that offers functions such as rename, copy, paste etc.
Post-Processing
New user-customisable post-processing facilities are now available, using Excel spreadsheets. You can set up your own spreadsheets that automatically extract and post-process results from OrcaFlex simulation files.
Miscellaneous
When the units are changed, OrcaFlex now automatically converts all the data in the model into the new units.
Users can now change the default settings of graphs. For example, you may wish to change the font used for graphs. On the labels page of the dialog, set the fonts as required and click Set As Default. All new graphs will appear with this font. Alternatively you may wish to change the colours of curves or whether the graph legend is visible.
A Standard Deviation curve can now be added to range graphs.
The interpolation method used to model vessel dynamics specified by Time History has been changed. Cubic spline interpolation is now used instead of the Fast Fourier Transform (FFT) interpolation. This change has been made because it was found that the FFT could introduce small-amplitude high frequency components into the vessel motion. Such motions are not realistic, since most vessels have too much inertia to respond at such frequencies.
Note:
This change means that when re-running old cases, the results might differ slightly from those previously obtained.
Many of the size limits of data tables have been greatly increased.
The dongle driver installed with OrcaFlex is now compatible with the Windows NT 4 Service Pack 4. (The dongle driver used by previous versions of OrcaFlex was not compatible with this service pack and Orcina had issued a warning to this effect.)
Bug fixes
Previous versions miscalculated vessel prescribed motion in rare cases – i.e. if the vessel was driven backwards (negative prescribed velocity) and velocity change mode was used. This has now been corrected. The prescribed motion calculation has also been improved in accuracy.
Previous versions miscalculated seabed friction on a line in some cases. This has now been corrected.