I am working on FSI simulations involving a rotating wind turbine rotor using OpenFOAM (with AMI) coupled to a structural FEM solver via preCICE.
I am exploring the possibility of keeping the structural mesh fixed in its reference frame, while still accounting for the rotor’s rotation by simply rotating the applied loads coming from the fluid solver.
This idea is based on a principle from finite element theory: as long as the relative positions between nodes remain constant (i.e., the mesh undergoes rigid-body motion such as a rotation or translation), the stiffness matrix does not change. Thus, by only updating the external load vector (e.g., rotating it appropriately each timestep), I could simulate structural response to a rotating flow field without physically rotating the structural mesh or recomputing the stiffness matrix.
My question is related to how preCICE handles the mapping of data between the solvers:
Does preCICE rely solely on spatial coordinates at every timestep to perform data mapping, or does it retain the correspondence between mesh nodes (e.g., via IDs) after the initial mapping?
In other words, suppose that in timestep 0 both meshes (fluid and structure) are aligned in space, so preCICE performs a mapping and establishes a set of node correspondences. Then, in timestep 1, if the fluid mesh has rotated but the structural mesh remains fixed, would preCICE re-map based on the new spatial positions, or would it reuse the initial correspondence?
Understanding this would help me decide whether I can implement this rigid-body motion approach on the structural side, without physically rotating the mesh.
I am currently using a custom FEM solver, but I would also consider using CalculiX if such a synchronization strategy were possible.