# Run FSI

The OptiStruct and AcuSolve runs can be run either in serial or parallel mode.

As explained in the previous sections, you simply initiate an OptiStruct or AcuSolve run and then start the second subsequent run. OptiStruct and AcuSolve will communicate via the specified port and exchange the required information with each other.

OptiStruct and AcuSolve may be run in parallel on distributed memory clusters. Both MPI and OpenMP parallelization modes are currently supported. For more information, refer to High Performance Computing.

General Limitations
1. If the structural interface 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.
2. A constant fixed time step should exist between the two solvers.
Table 1. Fluid-Structure Interaction Complete Setup Timeline
Activity Timeline OptiStruct AcuSolve
FSI Initiation Set up standalone OptiStruct model co-located with the fluid domain Set up standalone AcuSolve model co-located with the structural domain
Standalone verification Run independently on OptiStruct to verify model integrity Run independently on AcuSolve to verify model integrity
Identifying the interface Identify the structural damp interface that is in contact with the fluid domain as a SURF entry or an element SET Identify the fluid interface that is in contact with the structural domain as an element set
Referencing the interface Set up FSI Bulk Data Entry and reference the interface on the SURFID or ELSET fields Set up EXTERNAL_CODE_SURFACE command block and reference the interface elements using the element_set parameter
Modeling interface behavior The USETAG field on the FSI Bulk Data Entry can be used to tag damp surfaces The EXTERNAL_CODE_SURFACEcommand block can be used to define parameters to model interface behavior like velocity_type, mesh_displacement_type, temperature_type, and so on. For additional information, refer to the corresponding solution page (SFSI/TFSI).
Activating FSI The FSI Subcase Information Entry can be used to reference the FSI Bulk Data Entry The external_code parameter is set to on in the EQUATION command block to activate the use of an external solver (OptiStruct) to provide the solution field.
Identifying communication protocols The PORT and WAITTIME fields on the FSI Bulk Data Entry are used to identify the socket and the time OptiStruct waits for AcuSolve. The EXTERNAL_CODE command block is used to identify the socket and machine for communication. The external_code_wait_time parameter can be defined in the Acusim.cnf file to define the time AcuSolve waits for OptiStruct.
Specify run control parameters The FCNVTOL, DCNVTOL, TCNVTOL, and FXCNVTOL fields on the FSI Bulk Data Entry can be used to adjust exchange convergence tolerances.

The MINEX and MAXEX fields control the minimum and maximum number of exchanges per time step.

The INITTS field identifies the initial AcuSolve time increment to start the coupling with OptiStruct

The convergence_toleranceparameter in the AUTO_SOLUTION_STRATEGY command block can be used to determine the stagger convergence tolerances.

The min_stagger_iterations and max_stagger_iterations parameters in the same command block define the minimum and maximum staggers per time step.

There are additional sections of the AcuSolve run where the minimum and maximum number of exchanges are defined.

Running FSI Run the OptiStruct input file (with FSI data) and look for the cci.txt file in the working directory After starting the OptiStruct run, initiate the AcuSolve run before the specified wait time. If the runs are proceeding as expected, you should see exchange/stagger information printed to:
1. The OptiStruct .out file.
2. The AcuSolve .log file.
3. The cci.txt file - a log of the exchange/stagger data is printed.

Note:
1. Either OptiStruct or AcuSolve can be started first. The critical step is to initiate the second solver prior to the expiration of the wait time (for initial handshake) after the first one is started.
2. If the wait time is set to a reasonable value (say, 10 minutes), and both models do not progress beyond the pre-processing stage and the cci.txt file does not contain printed information, then check to make sure that the socket_host and socket_port are set correctly in the AcuSolve model and that socket_port matches the PORT field on the FSI Bulk Data Entry in the OptiStruct model.
FSI output An .h3d file is generated with the structural results at the end of the simulation The AcuSolve .log file is available to post-process the results of the simulation and can be loaded into HyperView.

Note: Currently, the structural and fluid TFSI results can be overlaid; however, the SFSI results can only be post-processed separately.