Communication between Radioss and AcuSolve

Radioss and AcuSolve can be run on heterogeneous and remote platforms which are located on the same network domain. The communication between Radioss and AcuSolve is via sockets. To start a co-simulation between Radioss and AcuSolve, one of the analysis software needs to initiate the communication process, while the other analysis software needs to connect to the initiated communication process.

In Radioss the socket port number (PORT) is specified by the third item of the /IMPL/DYNA/FSI data. The default port number is 10000. This same port number must be specified in the EXTERNAL_CODE data in the AcuSolve.inp file. If the machine that Radioss is running on is named linux_mach, then the EXTERNAL_CODE will look like:
EXTERNAL_CODE {
communication	= socket
socket_initiate	= no
socket_host	= "linux_mach"
socket_port	= 10000
}

AcuSolve and Radioss are started independently. AcuSolve will wait for Radioss to initiate the socket connection. The time that AcuSolve will wait is determined by the WAIT parameter of the /IMPL/DYNA/FSI data. The default value is 3600 seconds.

Before the start of time step loop, basic information about the interface must be exchanged between the two codes. First, a number of parameters controlling the interface strategy must be set for both codes. Second, the physical parameters of the interface must be defined. Typically, both AcuSolve and Radioss start at the same time step; however, if there is a desire to have AcuSolve start first (to allow for the flow to develop), the INIT data of the /IMPL/DYNA/FSI data can be set to the initial AcuSolve time step at which the coupled analysis will start.

Time Steps and Data Exchanges

Both Radioss and AcuSolve need to use the same time step size and the total number of time steps should be the same. Also, the size of the time step needs to remain constant in both Radioss and AcuSolve. For example, for 1000 time steps of 0.001 seconds the AcuSolve and Radioss data are:
AUTO_SOLUTION_STRATEGY {
initial_time_increment	= 0.001
max_time_steps	= 1000
min_stagger_iterations	= 1
max_stagger_iterations	= 20
}
and
/RUN/wing/1
1.0
/IMPL/DTINI
0.001
/IMPL/DT/2
        12  0.0  120  1.0   1.0

For the Radioss input data /IMPL/DT/2, items 4 and 5 specify the time step scale factors. These need to be set to 1.0 in order to keep the Radioss time step constant.

At each time step, the forces and displacements are exchanged between Radioss and AcuSolve until they converge to a certain tolerance. Once convergence is achieved, the analysis continues on to the next time step. These exchanges are called "staggers" in AcuSolve. The minimum number of staggers (exchanges) should be set to 1 in both sets of input data. This is specified by the min_stagger_iterations parameter in the AcuSolve AUTO_SOLUTION_STRATEGY data and the MINX data in the Radioss /IMPL/DYNA/FSI data.

The maximum number of exchanges can be controlled by a combination of force and displacement convergence criteria and a hard limit on the maximum number of exchanges. The maximum number of exchanges is set by the max_stagger_iterations parameter in the AcuSolve AUTO_SOLUTION_STRATEGY data and the MAXX data in the Radioss /IMPL/DYNA/FSI data.

Force and displacement convergence tolerances are used to reduce the number of exchanges to the number needed to receive stable and accurate results. This can dramatically reduce run times while guaranteeing accurate results. The force and displacement tolerances are specified by the FTOL and DTOL data in the Radioss /IMPL/DYNA/FSI data. These are tolerances on the L2 norms of the force and displacement vectors. If these tolerances are set high, the solution time will be reduced, but solution accuracy may also be reduced.

Typically, only forces and displacements need to be exchanged. In special cases, such as a spinning beam, you can request that moments and rotations are also exchanged. This is done by setting the DATA parameter to 2 of the Radioss /IMPL/DYNA/FSI data.

Data Exchange Verification

In order to verify that the correct data is being exchanged between Radioss and AcuSolve, the MSG parameter can be set to a non-zero value of the Radioss /IMPL/DYNA/FSI data. The higher the value, the greater the amount of information that is written to the Radioss .out file for verification. This data includes the data communication control parameters, as well as the actual values of the forces and moments being exchanged.

Examples

Typically, you only need to define the damp surface to run Fluid-Structure Interaction Analysis with Radioss and AcuSolve. If the damp surface has a surface ID of 10, the input data would be:
/IMPL/DYNA/FSI
 0 10 0 0 0 0 0 0 0 0
 0 0 0 0

In this case, all of the other FSI parameters are set to their default values. In Radioss, 0 means the default value and not explicitly zero (unless the default value is actually zero).

In order to reduce run times, you could set an upper bound on the number of exchanges, as well as setting higher values for the force and displacement convergence tolerances. For example, you could set the maximum number of exchanges to 5 and the force and displacement convergence tolerances to 0.01 and 0.005 respectively with the FSI data:
/IMPL/DYNA/FSI
0 10 0 0 5 0 0 0 0 0
0.01 0.005 0 0
In the case of a beam problem with tagged elements and the exchange of moments and rotations, the input data would be:
/IMPL/DYNA/FSI
20 0 0 0 0 1 1 0 0 0\
0 0 0 0

Where, 20 is the element set that contains all the beam elements. The beam element tags are based on the beam property ID's.

Radioss Structural FSI Data Setup

The structural analysis type is implicit dynamics and is solved using the General Newmark method, so the Radioss Engine Keyword is:
/IMPL/DYNA/2
Suggested Radioss time step convergence criteria are 0.001 for energy and force and 0.01 for displacement, as set on the Implicit Nonlinear Solution Control data:
/IMPL/NONLIN/1
123 0.001 0.001 0.01
Since the time step must remain constant, the Time Step Control method must allow for many time iterations without changing the time step and the scale factors on the time step must be 1.0. The Time Step Control method 2 data should be:
/IMPL/DT/2
 12 0.0 120 1.0 1.0
Also, the number of allowable divergence iterations must be increased so that the time step is not adjusted. This is done by setting the Divergence Criterion to 5 with:
/IMPL/DIVERG/5
Finally, to write the applied loads from the fluid tractions and the resulting displacements to the Radioss results animation files, use:
/ANIM/VECT/FEXT
/ANIM/VECT/DISP

Model Locations

The Radioss and AcuSolve models must be co-located. In other words, fluid boundary mesh and the corresponding structural damp surface mesh match each other as physical boundary. The gap between these meshes should be small. To verify the conformity of exchange surfaces in AcuSolve, consult the .Log file for the structural mesh information, as shown below. Verify the number of damp surface elements and the minimum and maximum coordinates of the damp surface, as well as for matching bounding box and areas to help identify position, size and orientation mismatch:
acuSolve: No. external code nodes = 15050
acuSolve: No. external code tri3s = 0
acuSolve: No. external code quad4s = 15000
acuSolve: Min/Max x-coord = -3.812500e-02 3.812500e-02
acuSolve: Min/Max y-coord = -3.805000e-02 3.805000e-02
acuSolve: Min/Max z-coord = 0.000000e+00 3.812500e+00
acuSolve: Total surface area = 9.126732e-01
acuSolve: No. fluid damp surfaces = 5637
acuSolve: Min/Max x-coord = -3.812499e-02 3.812500e-02
acuSolve: Min/Max y-coord = -3.812494e-02 3.812498e-02
acuSolve: Min/Max z-coord = 0.000000e+00 3.812500e+00
acuSolve: Total fluid surface area = 9.128247e-01
At each time step the damp surface deforms, due to the fluid flow load. At the same time, the fluid mesh is moved to match the new damp surface. The average and maximum gap between the meshes is shown for each time step as:
acuSolve: Ave distance = 2.842759e-05
acuSolve: Max distance = 1.182390e-04

The gap should remain small for a valid solution.

Coupled Simulation Post-processing

There are a couple of options to post-process the coupled simulation:
  • Post-process the structural solution and interface response using HyperView and the fluid solution and interface response using a post-processor compatible with AcuSolve, such as HyperView.
  • Use a third-party post-processing software to post-process the combined structural and fluid solution.

Scaling of Quantities

You may apply a multiplier function in AcuSolve to the forces and/or moments imported from Radioss. Scaling fields may be useful when starting a fluid-structure interaction simulation with high inertial effects. Specify a multiplier function on the EXTERNAL_CODE command.
MULTIPLIER_FUNCTION("ramp" ) {
type	= piecewise_linear
curve_fit_values	= { 1, 0.0 ; 10 , 1 }
curve_fit_variable	= time_step
  }
 
    EXTERNAL_CODE {
     …
multiplier_function	= "ramp"
…
  }

Parallel Execution of the Solvers

AcuSolve and Radioss may be run in parallel on distributed memory clusters.

Platform Support

AcuSolve runs on Windows (64-bit) and Linux (64-bit).

Limitations

  • If the damp surface contains beam elements, no other elements can be used to define the damp surface. In other words, beam elements cannot be mixed with other elements to define the damp surface.
  • Quadratic and modified tetrahedral elements are not supported
  • There must be a constant locked time step increment between two solvers
  • Thermal Analysis is not supported at this time