Warnings: |
When opening existing model files that were prepared by older versions of OrcaFlex, beware of compatibility issues. Binary data files have strong version compatibility features. When OrcaFlex opens a binary data file written by an earlier version of the program, it is usually able to ensure that the data are interpreted exactly as they were by previous versions. If it cannot do so, it displays a warning. On the other hand, no such version compatibility is available with text data files. Text data files prepared with old versions may not load in new versions, or may load but be interpreted differently. Because of this we recommend that you use the binary data file to transfer models between different program versions. The convert text data files tool can be used to ease this process. |
|
When performing restart analyses, beware of compatibility issues if the parent model was run in a different version of OrcaFlex. The best practice is to run both parent and child models in the latest available version of OrcaFlex. |
A more in depth discussion of the major new features introduced in 11.4 is available on our blog.
New in version 11.4c
Bug fixes
- Restarts replays with start and finish times outside the range covered by the specified simulations resulted in an access violation error.
- 6D buoy static state total load results (reported with respect to global axes) could not be obtained upon completion of a frequency domain analysis.
- OrcaFlex became progressively more unresponsive as the number of bodies in a multibody group increased.
- Spurious tracked changes could appear if new winch connections were added via a text variation file.
- Since version 11.4a, the dimensions of the model browser were not being stored and restored when OrcaFlex was closed and re-opened.
- An object's orientation may have been incorrect in a restart analysis if the parent analysis was itself a restart analysis and the object's connection parent had been changed somewhere in the chain of restarts.
- Access violation errors may have arisen when modifying variation models or restart analyses loaded from binary data or simulation files. This bug would only have affected models containing lines or winches.
- At replay times within the simulation, OrcaFlex would show N/A when presenting instantaneous value tables for user defined results, irrespective of the values returned by the user defined result code.
- Connecting a newly created object, added in a restart analysis, to a line node that had been fed out in the course of the parent analysis (but which was inactive in the restart model's reset state) would have resulted in the object being connected to the wrong node during the analysis.
New in version 11.4b
OrcFxAPI (OrcaFlex programming interface)
The API has been extended to allow cloning of multiple objects with the addition of the C_CreateClone3 function. This functionality is available for Python and MATLAB through the new model function CreateClones. The new functionality provides support for cloning multiple objects in a single operation, whilst respecting any connections within the collection of objects being cloned. Additionally, the new functionality can clone groups.
Bug fixes
- The variable list on the results form was being truncated on its right hand side, so hiding the list's vertical scroll bar.
- Pasting or duplicating (e.g. copy down with CTRL+D) in the line user specified starting shape table was resulting in an assertion failure error.
- Printing internal spreadsheet windows failed with an access violation error.
- It was not possible to reload simulation files containing a combination of Rayleigh damped lines and constraints solved with the indirect solution method.
- Change tracking for winch connections might not have worked correctly if rows were inserted into or deleted from the winch connections table and some of the connection parent objects were changed.
- Viewing position data for label shapes in the connections view of the all objects data form would have led to an unexpected program error.
- The example code for restart state recording test failed with an error stating that Period.PeriodNum of pnInstantaneousValue is not allowed. In previous versions of OrcaFlex this period could only be used in code from an external function. This restriction has now been lifted so that the example code can be used. This restriction was not present in our in-house builds to facilitate certain testing scenarios, which is why we did not discover the issue during development.
- The OrcaFlex spreadsheet could not find local files when working in a folder that is synchronised to a personal OneDrive account. Business OneDrive folders were not affected by this issue. Both types of OneDrive account now work correctly.
These bugs are fixed in version 11.4b.
New in version 11.4a
Lines
- It is now possible to specify line-seabed contact properties on a per arc length basis, by defining seabed sections on the line data form. The following properties can be controlled: normal, lateral and axial stiffnesses; damping; lateral and axial friction coefficients.
- Time origin data has been added for line tabular contents.
- Attachments are connected to the node whose reference arc length is closest to the specified $z$-coordinate. A new column, named node arc length, has been added to the attachment data table which reports the reference arc length of the node to which attachment is connected. Similar columns have been added for applied loads and mid-line connections.
Environment
- Wind time history files can now specify variation of speed, direction, shear and gust. This facilitates the modelling of wind fields with time varying linear shear, both horizontal and vertical, which is required to satisfy the IEC 61400-1 extreme wind shear (EWS) design load case. Previously only variation of wind speed and direction could be included.
- A new full field wind file format is supported: OrcaFlex can now read external binary .bin files, created by the Mann turbulence generator, to describe the variation of wind velocity in both space and time.
- New data has been added to control how wind ramping is applied to all wind types. You can now choose to ramp the wind up to its full strength (during the build-up) from a static value of either zero or the mean wind. Alternatively, you can specify that the wind be unramped.
- To help visualise the full field wind, a wire frame 3D box and arrows representing the wind vector field can now be drawn.
- Current velocity and acceleration can now be specified in tabular form, as a function of simulation time and position. The table can either be directly defined within OrcaFlex or provided from an external file. Non-zero current acceleration is a new feature; it is combined with the wave acceleration for purposes of computing Froude-Krylov and added mass loads.
- It is now possible to directly specify the constant current value needed to compute the properties of nonlinear waves (Dean, Stokes' 5th and Cnoidal). Previously, a representative current value was computed automatically by OrcaFlex. This behaviour is retained by default but can now be overridden if desired.
- The view horizontal velocity button, on the waves preview page, now plots a graph of wave velocity only. Current velocity is not included.
- The simulation time origin on the waves page has been removed, meaning that there is no longer a distinction between global time and simulation time in OrcaFlex. Time origins in the model are now defined in terms of simulation time and can be set in lieu of the removed simulation time origin to achieve the same outcome. This operation will be performed automatically when reading in binary data files written by previous versions of OrcaFlex.
Turbines
- The turbine's rotation sense can now be nominated. This is the direction the rotor is expected to spin in normal operation, when viewed from upwind. It determines how the blade profile data is interpreted, how the aerodynamic load is calculated and the conventions used to interpret controller input. A conventional turbine will have a clockwise rotation sense, which was always the assumed behaviour in previous versions. However, some turbines, e.g. certain downwind turbines, rotate the other way. Previously it was very difficult to model such turbines and the blade data had to be manipulated before being entered. Now, for such rotors, anticlockwise can be chosen for the rotation sense and the blade data can be entered in a more natural format.
- The turbine now includes the Powles and Eames tower shadow models. These models are used in the tower disturbance calculation to modify the wind field to account for the velocity deficit in the wake behind the tower. This can be important when modelling downwind turbines.
Vessels
- A new sectional method has been added for vessel hydrostatic stiffness. The stiffness method used in previous versions is unchanged, and is now called the displacement method. Using the new method a single hull can be divided into multiple sectional vessels which, individually, may have open-ended wet hull surfaces. The principal motivation is to enable multi-vessel models which study dynamic connection loads within a large structure. A parallel development in OrcaWave permits it to analyse such open-ended bodies and calculate the appropriate hydrostatic results. These can be imported into OrcaFlex as part of the standard import process.
- The calculation of mooring stiffness matrices has been changed – it now excludes the hydrostatic stiffness of all vessels, whereas in previous versions it included the hydrostatic stiffness of connected child vessels. This allows appropriate stiffness matrices to be calculated for an OrcaWave analysis of rigidly-connected sectional bodies. Mooring stiffness results will be affected for vessels that have connected child vessels.
- It is now possible to specify ? placeholder values for the dependent variables (the velocity potential disturbance RAO and its gradients) on any row of sea state RAO data that lies within the hull of a disturbance vessel. Such field points often arise because of the stringent requirement for a complete spatial grid, which is needed for purposes of interpolation. OrcaFlex will raise a warning if a disturbed object enters a region containing these undefined sea state RAOs, which might help you detect a problem with your model. In previous versions of OrcaFlex, before the ? placeholder, invalid values from the diffraction analysis may have been used without warning. These values may have been completely meaningless and/or inconsistent with those outside the hull. With the ? placeholder, the model will still run, as before, but with generally representative values used to compute the sea state disturbance at these undefined interior points. A parallel development in OrcaWave permits it to detect field points that are inside a body and report ? placeholder values as its sea state RAO results. These ? values can then be imported into OrcaFlex as part of the standard import process.
Constraints
- Constraints can now be solved for in two different ways: direct and indirect. The former is the same method that was used in previous versions of OrcaFlex; the latter is a new option that can be more computationally efficient, especially when many constraints are chained together, and also permits the use of double-sided connections.
- Double-sided connections can now be defined for constraints that use the indirect solution method. This means that the in-frame and the out-frame can be independently connected to other model objects. This capability can be used to avoid issues relating to circular connection dependencies, which could otherwise hinder model building and lead to unnecessary confusion. Double-sided connections will aid in the modelling of systems composed of large numbers of interconnecting objects, such as solar arrays and sea-fastening operations.
- It is now possible to explicitly choose whether to account for winding number when computing the moment generated by the stiffness associated with the rotational offset between the in-frame and the out-frame. Winding number was always accounted for in previous versions of OrcaFlex. This choice is only available when the rotational motion is one dimensional, and only for constraints solved with the direct solution method. In all other scenarios, rotational winding is ignored.
Analysis
Fatigue analysis
For stress factor fatigue, if the curvature stress factor is zero, then the stress (and hence the damage) does not depend on $\theta$, the circumferential location of the fatigue point. In previous versions, in this scenario, results would be calculated and reported for multiple values of $\theta$, even though they would be identical. OrcaFlex now suppresses $\theta$ variation when the curvature stress factor is zero.
Results
The velocity and acceleration, relative to earth, can now be reported with respect to a local frame of reference for: 6D buoys, line nodes, turbines, turbine blade nodes, vessels, and constraint in-frames and out-frames.
SHEAR7
A new coupling method has been added named user specified drag amplification. When this is selected, coupling iterations are not performed. Instead the line uses drag amplification factors read from a SHEAR7 plt file. This allows you to perform SHEAR7 analyses separately, perhaps externally to OrcaFlex, and use the calculated drag amplification without have to perform the SHEAR7 analyses again.
OrcFxAPI (OrcaFlex programming interface)
- A new API has been added to allow the creation of bitmap images formed from multiple snapshots from one or more models. For the C++ API this is done by calling C_CreateBitmapCanvas and related functions. For Python and MATLAB you use the BitmapCanvas and ofxBitmapCanvas classes, respectively.
- A new function, C_GetNearestNodeArclength, has been added. This returns the reference arc length of the nearest node to a specified arc length, on a line or turbine blade. This functionality is also exposed by the Python and MATLAB interfaces through functions named NearestNodeArclength for lines and NearestBladeNodeArclength for turbine blades.
Object tags
Object tags can now be exported and imported as YAML files. This is useful if you want to use the same tags with a number of objects, or if you want to copy tags between models. Selected tags can also be copied using the standard CTRL+C and CTRL+V keyboard actions.
MATLAB
- Strings can now be used as input arguments as an optional alternative to using character vectors. Character vectors are still supported.
- OrcaFlex now supports MATLAB R2016b and later. Support for older versions of MATLAB is no longer available.
Bug fixes
- The offset of a clump attachment from its parent line is now accounted for when computing fluid density, velocity and acceleration at the location of the clump. In previous versions this offset was ignored when computing these values. This change makes the calculation consistent with the clump's proportion wet calculation, which has always accounted for the offset.
- Loading a simulation file and requesting line acceleration results may have occasionally failed with a stream read error message. This would only happen if the line in question used line feeding and did not log its velocity and acceleration results. Logging these results is recommended for lines that use line feeding.
- Lines using the decoupled seabed friction model in a restart analysis, but which used coupled friction in the parent analysis, would not have included friction in statics when using the restart statics seabed friction policy.
These bugs are fixed in version 11.4a.
New in version 11.3g
Python
Python external functions, post calculation actions and user defined results now support the latest version of Python, version 3.12.
SHEAR7 and VIVA
- Support has been added for SHEAR7 version 4.12.
- The maximum mode number for automatically generated .mds file used by coupled SHEAR7 and VIVA analyses has been increased from 1,000 to 50,000.
Bug fixes
- Some fields of the TTurbineInstantaneousCalculationData structure, passed to native external functions were not correctly populated. Specifically HubRelativeWindVelocity and those associated with the turbine's motion, e.g. TurbinePosition. This bug only affected native external functions; Python external functions were unaffected.
- Text data variation files specifying the deletion of vessel type RAO directions did not reload into OrcaFlex.
- Simulations of models with large numbers of Morison elements could be significantly slower in 11.3 than earlier versions. The code that caused this has been optimised to restore the previous performance.
- OrcaFlex ignored user-specified starting shape position data for free line ends when reading a text data file.
These bugs are fixed in version 11.3g.
New in version 11.3f
Bug fixes
- Embedded Python execution (external functions, post calculation actions, user defined results, etc.) would sometimes fail with an access violation error. This would only happen in situations where multiple different OrcFxAPI DLLs were loaded. This is quite a rare scenario but is perhaps most likely to occur with Distributed OrcaFlex. As a workaround for Distributed OrcaFlex you should make sure that all jobs are run with the same version of the DLL. If errors occur even after making sure that all jobs are run with the same version of the DLL you will need to restart all Distributed OrcaFlex client services.
Note: | You must not explicitly import the OrcFxAPI module in embedded Python code. This import is performed implicitly by the host OrcaFlex process. The import needs to be performed by the host OrcaFlex process to ensure that the imported OrcFxAPI module correctly references the host OrcaFlex process. |
- It was sometimes possible to edit line end orientation data whilst the statics analysis or simulation was in progress. This would have led to an access violation error.
- Lines using the calculated from end positions length and end orientations option may have been drawn incorrectly in the 3D view after opening a text data file. This issue would persist until the model was modified.
- Attempting to run a single-stage model with an open cycle histogram graph would have triggered an error, preventing the simulation from proceeding.
These bugs are fixed in version 11.3f.
New in version 11.3e
Multithreading performance
Batch processing of multiple jobs on machines with large numbers of processors was sometimes inefficient due to lock contention in the memory manager. The memory allocation strategy has been refined to avoid this lock contention and our internal testing indicates that this change resolves the issue.
Bug fixes
- Attempting to run a mid-simulation restart with a parent simulation that used frequency domain dynamics would have led to an unexpected program error, rather than an informative error message.
- The use calculated position feature was not functioning correctly for restart analyses.
- Incorrect results could have been reported for collated (i.e. for chains of restart analyses) line range graphs exported through the API for lines that use line feeding.
- On the Morison element types data form, changing from the tags page to a different page could have led to an access violation error.
- Providing a very large full field wind input file to a simulation would result in a program error message, and failure to load the wind field file would prevent the analysis from proceeding. The maximum count of full field wind grid values that can be accepted by OrcaFlex has been increased to avoid this error.
- Having vessel added mass and damping of large dimensions, coupled with taking very many convolution integration steps in a simulation could lead to a program error message. The practical resolution of this issue would be to use the convolution time step data item to reduce the number of steps required. However, OrcaFlex capacity for large added mass and damping convolution has also been increased to avoid this error.
These bugs are fixed in version 11.3e.
New in version 11.3d
Bug fixes
- Contents density results for lines that use the slug flow contents method were incorrect in version 11.3c only. Only the contents density results were affected, and not the simulation itself.
- Simulation files with lines experiencing seabed suction (at the time at which the sim file was saved) would not reload if any of the lines in question used seabed tangential resistance profiles or decoupled seabed friction. Seabed suction forces can only arise when using the nonlinear soil model.
- Using the mouse to connect a free constraint to another object in the 3D view would have led to an access violation when running the model. Some of the relevant data would also have been hidden on the constraint data form.
- Since version 11.3a, line results for models with a large number of wave components took longer to generate than previous versions.
- In certain circumstances, line nodes would have been placed in the wrong positions following a restarted step 1 statics analysis. This would happen if the line was connected to a parent object whose position or orientation had been specifically altered, relative to the parent analysis, before restarting. The resultant node positions might have constituted a poor starting guess for any subsequent step 2 or whole system statics analysis (both of which properly accounted for the repositioning of the parent object).
- Collated line range graphs might have failed to display for restart analyses loaded from sim files that used single precision logging in conjunction with line feeding.
These bugs are fixed in version 11.3d.
New in version 11.3c
Bug fixes
- Line results that depend indirectly on line contents data, such as wall tension and ZZ stress, were reported incorrectly for lines with time-varying tabular contents. This bug did not affect the simulation itself, nor did it affect the directly reported contents results (e.g. contents density, pressure and temperature).
- The align with data for clump type objects was erroneously treated as a boolean data type when the EnableBooleanDataType policy was active.
These bugs are fixed in version 11.3c.
New in version 11.3b
Bug fixes
- OrcaFlex could, in certain situations, stop responding when saving data or simulation files. This would require the OrcaFlex process to be terminated.
- Running a model containing two or more lines on multiple calculation threads might have triggered an access violation if OrcaFlex had predicted negative internal absolute pressure for any of the lines. A warning should have been raised to tell the user that unphysical pressures had arisen from their contents data. However, the act of raising the warning was sometimes leading to the access violation when multithreading.
- Constraints with variable data rotational stiffness might, in specific circumstances, have applied an incorrect rotational stiffness force when the angular displacement of the out-frame relative to the in-frame was between 120° and 180°.
- The API functions which return modal mass and modal stiffness are documented as not returning values unless angles are reported as radians when calculating the modes. Previous versions did report values, erroneously.
- Line end orientations calculated from end positions might have been calculated incorrectly if the line in question was connected to another line (directly or indirectly). This would only happen if the line statics step 1 policy was all lines included, and the result would be that the $z$-axis at each line end would point along the straight line between the two ends after step 1 statics had been computed on the parent line, rather than the straight line between their reset positions. A further consequence of this is that any end offset would have been applied incorrectly. Models using the none or parent lines excluded statics step 1 policy would not have been affected by this bug.
- Running line step 1 statics with all lines included, but with step 2 and whole system statics suppressed, for a system in which two lines are connected via an intermediate constraint, might result in the child line solving its step 1 statics with the wrong boundary conditions.
- Dragging end B of a line that used the calculated from end positions length and end orientations option may have resulted in end A moving too.
- Dragging a mid-line connection may have dragged the wrong node or triggered an access violation error. This would only have happened if some rows of the mid-line connections data table were invalid.
- The behaviour of the prescribed step 1 statics policy in conjunction with the calculated from end positions length and end orientations option was complex and unintuitive. This combination has no clear value, so is now ignored in reset and blocked once you try to run the model.
- Saving a variation model or restart analysis as a text data file may have produced an unloadable YAML file if a new object (e.g. a vessel type) had been added (relative to the parent model) containing any sub-objects (e.g. a vessel type draught) whose names had been changed from their defaults.
- Running a static state restart analysis from a parent dynamics analysis might have reported non-zero velocity and acceleration results for free constraints (or any object connected to a free constraint).
- The control points associated with the ends of a line having a spline starting shape might have been loaded incorrectly from a variation or restart text data file in which either of the ends had been moved relative to the parent analysis.
These bugs are fixed in version 11.3b.