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.
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
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
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).
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
/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
/IMPL/DYNA/2
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
1.0
. The Time Step Control method 2 data should
be:/IMPL/DT/2
12 0.0 120 1.0 1.0
5
with:/IMPL/DIVERG/5
/ANIM/VECT/FEXT
/ANIM/VECT/DISP
Model Locations
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
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
- 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
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