How do I solve a steady-state FSI case and then restart this as a transient case?
It is sometimes necessary to initialize a transient 2-way FSI case using a previous steady-state 2-way FSI solution. In general this is necessary when the initial (steady state) fluid field which acts as the starting point for the transient simulation produces deformations in the structure, or when a pre-loaded structure produces deformation that should be accounted for in the fluid field. Pipes which operate at high pressures are a common case when this type of initialization may be necessary. Without appropriate initialization the pipe expansion that would otherwise occur in the first timestep can induce large pressure changes in the fluid, causing the solver to fail.
In structural simulations a common approach is to solve a steady-state step, which is actually a Transient Dynamic simulation with Time Integration turned off (TIMINT,OFF), followed by a transient step (TIMINT,ON) all in one simulation. In other words there are multiple SOLVE commands in one input file. Note that this is not a valid approach for FSI simulations.
The general solution procedure is as follows:
1. Solve a fluids-only steady-state analysis to use as the initial guess for the steady-state FSI analysis.
However, you can often skip this step, especially when the expected deformations are small.
2. Solve a steady-state 2-way FSI simulation.
On the structural side this should be defined as a Flexible Dynamic simulation with Time Integration effects turned off. On the CFX side define this as a steady-state simulation, using the initial guess from step 1 if necessary. Steady-state FSI simulations should be solved using a single Coupling Step, but with enough stagger loops to fully converge the solution. The number of coupling steps is controlled by the `Coupling Time Duration` and `Coupling Time Steps` settings in CFX-Pre (corresponding to MFTI and MFDT). Set both of these values to 1 [s] (this value is arbitrary). The `Coupling Initial Time` should be Automatic, do not specify a value. On the CFX side the `Maximum Number of Iterations` now refers to the number of iterations per stagger, so a sensible value might be 5. The CFX timestep is used only by CFX and has its normal meaning. Now set the Maximum, Minimum and Target Stagger Loops. A maximum of 100, a minimum of 20 and a target of 100 are reasonable values. The target value will not be used. The solution will now proceed for one coupling step with at least 20 stagger loops and 5 CFX iterations per stagger (so at least 100 CFX iterations total). If the convergence criteria has been met the solution will stop here, otherwise it will continue until a maximum of 100 stagger loops.
If structural loads are applied in Simulation, other than those loads transferred through the FSI interfaces, they should be specified such that they are constant for the first 1 [s] of the simulation (corresponding to the steady-state part of the simulation) and then vary as necessary during the transient part of the simulation, which will begin after 1 [s]. Hence transient structural loads should be specified at this stage of the procedure and should be offset in time to account for the time covered by the steady state simulation. If the structural loads are ramped during the steady-state part of the simulation, they should reach their final value well before the end of the steady-state simulation to allow time for the fluid field to respond and reach a steady solution.
Check that you have obtained a converged steady-state solution before proceeding.
3. Set up the CFX side as a transient FSI simulation `as normal`. Note that the transient simulation will now start from 1 [s] instead of 0 [s]. This is because ANSYS controls the transient timestep, and ANSYS sees the true transient simulation as a restart from an earlier transient solution that finished after 1 [s]. Any time-dependent quantities in CFX should account for this.
4. Generate the .mf file.
To do this, define a run in the CFX Solver Manager. Pick the transient CFX def file from step 3. On the Multifield tab pick the `MFX Run Mode` as `Process Input File only`. Pick the `ANSYS Input File` as the input file used in step 2. Enable `Restart ANSYS Run` and pick the `Previous Run DB` as the db file written out when step 2 completed (it will be in the <name>_001.ansys directory). Click Start Run and you should get a new run directory containing a short .mf file.
5. Manually edit the .mf file.
Insert the command TIMINT,ON so that ANSYS will now solve a true transient.
Insert the command DELTIM,<VAL>,0,0 where <VAL> is the `Coupling Time Steps` value set in CFX-Pre for the transient simulation. Setting a DELTIM value less than the Coupling Time Steps value will cause sub-cycling in the ANSYS solver. This is generally not necessary since the "Coupling Time Steps" value is usually limited by the fluid timescale and is therefore small enough to avoid the need for sub-cycling in ANSYS. There are some cases where this is not true.
6. Define the transient 2-way FSI run.
Pick the transient CFX def file from step 3 and the steady-state CFX res file from step 2. On the Multifield tab pick the `MFX Run Mode` as `Start ANSYS and CFX`. Pick the`ANSYS Input File` as the .mf file you just edited. Disable `Process ANSYS Input File`. Enable `Restart ANSYS Run` and pick the `Previous Run DB` as the db file written out when 2 completed (it will be in the <name>_001.ansys directory). Start the run.