Orcina news

Here you will find the latest news on the development of OrcaFlex. Alongside our LinkedIn page, it is a valuable source of information about what we are up to!

OrcaFlex 11.3g released

We have just released a minor upgrade to OrcaFlex, version 11.3g. Version 11.3g fixes a number of bugs and adds some minor functionality, including:

  • Support has been added for SHEAR7 version 4.12.
  • Python external functions, post calculation actions and user defined results now support the latest version of Python, version 3.12.

Full details of the changes are described in the documentation:

We intend for this to be the final release of 11.3 because version 11.4 will be released later this month.

Distributed OrcaFlex 8.0a released

We have just released Distributed OrcaFlex 8.0a which you can download from the Distributed OrcaFlex page.

This is a major update containing the following changes:

New job list views

There are now two tabs to view the list of jobs with different perspectives:

Active

The active list displays only the running or waiting jobs, the the same order as the job list in previous versions. However, it has a simplified interface for a quick overview.

Detailed

Batches of submitted jobs are now grouped together under the detailed tab. In this view, more information can be seen about particular jobs, and the order of jobs remains constant (sorted by age).

Batch actions

The new job list structure allows for actions that can be performed on a whole batch at once:

  • Resubmit batch
  • Cancel batch
  • Pause batch
  • Resume batch

High DPI

The UI elements of Distributed OrcaFlex now scale cleanly at any resolution, improving use with high DPI displays.

Status icons

Icons have been added to the job status for readabilty, doubling as a summary of the job list in the status bar.

Proxy client

Previously, each DOF client process on a large machine would communicate individually with the DOF server. To reduce the amount of network traffic, an extra client process is created as a proxy, which collates the messages sent from and recieved by each subprocess.

File operations throttle

In place of the ramping feature, a throttle on the total saving and loading of jobs can be set to reduce the strain on the file server. If the total file operations exceed a certain threshold, the clients will delay the file read and writes by a random interval.

Batch notifications

Users can now be notified when an submitted batch has completed.

Update to wind turbine controller examples

We have recently made some updates to our set of wind turbine controller examples, which is now available to download from the new Orcina GitHub page.

The main change is the addition of a native controller wrapper example. This takes the form of a C++ DLL, having the same functionality as the existing Python wrapper. The reason for creating this example is to avoid restrictions imposed by the Global Interpreter Lock (GIL). The GIL is an inherent part of the Python process, and it can be restrictive if using Python (e.g. external functions) whilst using multi-threading to run simulations in parallel.

For example, the OrcaFlex batch processing tool uses multi-threading to run a batch of simulations, but there is only one GIL which acts as a gatekeeper for that process. For any models using Python, this can cause performance bottlenecks when running many simulations in parallel.

As the GIL is inherent to Python, running the simulations using the native (C++) wrapper avoids this restriction altogether. In turn, this has the potential to lead to improved efficiency when running large multi-threaded batches of simulations.

Although the native variant has the benefit of avoiding the GIL, the Python variant still has value. It’s easy to modify if adjustments need to be made, for example if you need to adjust what is passed to and from the swap array. This can still be done for the native variant, but the process is more difficult because it requires modification of the C++ source code and then recompilation of the DLL.

For this reason the C++ source code – used as a basis for the native DLL – can be downloaded from the same GitHub page mentioned above: see the folder Bladed controller wrapper\Native controller\src. The build folder contains both a Microsoft Visual Studio project and a MSYS2 makefile, either of which can be used to compile the DLL. This caters for two common C++ toolchains.

We have also made a couple of other minor adjustments to make the Python and native variants have feature parity. The notable changes are:

  • Minor changes to how the Python controller wrapper models are set up. Instead of having separate classes named PitchController and TorqueController, there is now a single class named BladedController.
  • The yaw controller example – offered in earlier revisions of this resource – has been removed for now. We hope to replace this with a new example in the future. In the meantime, the old example can be supplied upon request. Please contact us for further details.

For further details about the latest updates, please see the Bladed controller wrapper section of the accompanying PDF document. Note, the Code drop-down box, at the top of the GitHub page, provides the option to download this entire resource as a zip file.

Wind turbine examples

Lastly, to reflect the latest set of controller examples, the K02 and K03 examples now demonstrate the implementation of the Python wrapper and native wrapper respectively. A summary of the model setup is provided in the Controller modelling section of the PDF description included with each example.

We hope that you will find the latest updates helpful. We always welcome any questions or feedback, so please do contact us for any further enquiries.

OrcaWave – working with meshes

We have recently uploaded a new technical note to our website titled OrcaWave – working with meshes. The document focuses on the use of panel meshes in our diffraction analysis tool OrcaWave. We describe the link between mesh refinement and results quality. Furthermore we discuss how features such as symmetry conditions, calculation method and meshing technique can be used to report converged results whilst reducing run time and memory requirement.

 

This new resource can be found alongside a range of existing technical notes on the Papers and technical notes page of our website.

OrcaFlex 11.3f released

We have just released a minor upgrade to OrcaFlex, version 11.3f. Version 11.3f fixes a number of bugs, and makes further performance improvements for processing of multiple jobs on machines with large numbers of processors.

Full details of the changes are described in the documentation:

We recommend that all users of 11.3 upgrade to 11.3f.

To upgrade to OrcaFlex 11.3f from any previous version, download the install program from your company’s Orcina software download page. A link to this page was sent to your software administration contact when we released 11.3a. If you do not have access to this page, please contact us.

OrcaFlex 11.3e released

We have just released a minor upgrade to OrcaFlex, version 11.3e. Version 11.3e fixes a number of bugs, and addresses a performance issue for batch processing of multiple jobs on machines with large numbers of processors.

Full details of the changes are described in the documentation:

We recommend that all users of 11.3 upgrade to 11.3e.

To upgrade to OrcaFlex 11.3e from any previous version, download the install program from your company’s Orcina software download page. A link to this page was sent to your software administration contact when we released 11.3a. If you do not have access to this page, please contact us.

OrcaFlex 11.3d released

We have just released a minor upgrade to OrcaFlex, version 11.3d. Version 11.3d fixes a number of bugs, including a significant bug affecting the contents density results variable when using the line slug flow contents method.

Full details of the changes are described in the documentation:

We recommend that all users of 11.3 upgrade to 11.3d.

To upgrade to OrcaFlex 11.3d from any previous version, download the install program from your company’s Orcina software download page. A link to this page was sent to your software administration contact when we released 11.3a. If you do not have access to this page, please contact us.

Updates to wind turbine resources

We have recently made some updates to the wind turbine resources available on our website.

Firstly, one of our most popular OrcaFlex modelling examples – K03 15MW semi-sub FOWT – has been revised to reflect the latest IEA 15MW reference wind turbine (RWT) design: version 1.1.3. The rotor, nacelle and tower updates have been made possible by the design/model information made available through the IEA-15-240-RWT GitHub repository.

Modelling of the semi-submersible foundation has again been supported by OrcaWave, which we have used to perform a diffraction analysis for the UMaine VolturnUS-S semi-submersible. The platform design basis is documented here and the same report details the mooring specification considered for this example.

As with all of our modelling examples, the accompanying description PDF document provides a summary of the important details, including some discussion about the model build and some important results of interest.

Unsteady aerodynamics (UA)

Since introducing the turbine object, back in 2018, we have been continually working to enhance its capability and the K03 model now supports the latest functionality.

More recently, as part of our OrcaFlex 11.3 release, we introduced two unsteady aerodynamic models: González and Minnema Pierce. Both models are able to account for a range of important unsteady flow phenomena: attached flow, trailing-edge flow separation, dynamic stall, and flow reattachment. These phenomena can be characterised by rapid change, delay, and hysteresis of the aerodynamic load.

The K03 example includes the model input data and settings required to implement either of the UA models. Here, we have chosen to implement the González model to remain consistent with the approach considered as part of our validation study (discussed below).

Further details about setting up a turbine model, to capture UA effects, can be found in the example description PDF and through the Turbines & OrcaWave new features webinar, delivered in line with the release of OrcaFlex version 11.3.

Controller modelling

The K03 example implements the latest version of NREL’s Reference Open Source Controller (ROSCO, v2.6.0), available at the time of writing. Included amongst the K03 example files is the 64-bit version of the ROSCO DLL (libdiscon.dll), downloaded from the ROSCO GitHub repository. Also included is a copy of our controller wrapper, which is available from https://github.com/Orcina-Ltd/turbine-controllers.

ROSCO is configured to call a parameter input file (DISCON-UMaineSemi.IN), listing the required controller parameters, along with a rotor performance file (Cp_Ct_Cq.IEA15MW.txt); both of which have been downloaded from the IEA-15-240-RWT GitHub repository.

Our K02 10MW fixed-bottom OWT example model of the IEA 10MW RWT has also been updated to run with ROSCO 2.6.0, with the necessary parameter input and rotor performance files coming from the corresponding IEA-10.0-198-RWT GitHub repository.

Validation study

Lastly, to support the K03 example development, we have carried out a validation study which compares the aeroelastic response of the 15MW turbine, calculated by OrcaFlex, against that predicted by OpenFAST running BeamDyn.

A report summarising a full comparison of results can be downloaded from the validation page of our website. The study considers the structural dynamics of the turbine blade oscillating freely under gravity and the aeroelastic response of the rotor-nacelle assembly (RNA) and tower to steady, stepped, skewed & turbulent wind.

Overall, we have found the results to be in very close agreement, supporting both the validity of the updated OrcaFlex RWT model and consistency across the two aeroelastic codes. Below are some select results from the validation report.

We hope that the above resources will be helpful to anyone modelling wind turbines in OrcaFlex. We always welcome any questions or feedback, so please do contact us for any further enquiries.

OrcaFlex 11.3c released

We have just released a minor upgrade to OrcaFlex, version 11.3c. Version 11.3c fixes a number of bugs, including a significant bug affecting certain results variables when using the new tabular contents feature.

Full details of the changes are described in the documentation:

We recommend that all users of 11.3 upgrade to 11.3c.

To upgrade to OrcaFlex 11.3c from any previous version, download the install program from your company’s Orcina software download page. A link to this page was sent to your software administration contact when we released 11.3a. If you do not have access to this page, please contact us.

Distributed OrcaFlex 7.0a released

We have just released Distributed OrcaFlex 7.0a which you can download from the Distributed OrcaFlex page.

This is a major update containing the following changes:

  • DOF can now handle simulation restarts. Restart parents are identified in the DOF Viewer when submitting a batch of jobs and the DOF Server will ensure that the dependency chain is run in the correct order if the ‘Respect restart sequence’ check box is selected when submitting jobs. When adding restart child models, you can automatically include the restart parents if you check the ‘Include restart parents’ check box. The child restart models must be ‘.yml’ text data files.
  • The DOF Viewer can display full details for a selected job in a pop-up window from the context menu. Client machine details can be viewed in a pop-up from the context menu in the DOF Viewer OrcaFlex Clients tab. The DOF Server settings can be seen in a pop-up window by double-clicking the DOF Viewer status bar.
  • The speed of handling of the job status and progress messages in the DOF Server has been improved.
  • The list of DOF Clients kept by the DOF Server is now saved in structured text format (yaml) file. This can be edited to give a DOF Client an alias name for display in the DOF Viewer rather than its machine name.
  • Bug Fix: If a client disconnected during communication with the DOF Server this would cause an error in the server.
  • Bug Fix: A client could fail to provide a MAC address to the DOF Server which meant that the ‘Wake on LAN’ feature would not work.
  • Bug Fix: If a DOF Client was disabled whilst running jobs, these jobs were given a ‘moving’ status but could block later scheduling to that DOF Client if other client machines were busy.