openfoam/tutorials/incompressible/lumpedPointMotion/bridge
2024-12-24 11:17:31 +00:00
..
code ENH: add single-time handling to timeSelector 2024-05-06 22:22:42 +02:00
files TUT: bridge using external lumped point motion (#1341) 2020-06-17 15:16:27 +02:00
steady RELEASE: Updated headers to v2412 2024-12-24 11:17:31 +00:00
Allclean TUT: bridge using external lumped point motion (#1341) 2020-06-17 15:16:27 +02:00
Allrun BUG: simpleFoam: side-effect of reading dynamicMeshDict. Fixes #3269 2024-12-04 09:40:31 +00:00
Allrun.move TUT: bridge using external lumped point motion (#1341) 2020-06-17 15:16:27 +02:00
README.md TUT: bridge using external lumped point motion (#1341) 2020-06-17 15:16:27 +02:00

Setting up the FSI linear controllers can be easy or difficult, depending on the complexity of the structure and the source of the input data.

If you already have an FEA model with nodes and beam elements, it will be fairly straightforward to instrument your structure. If you just have the control points but need to define the connectivity yourself, it will obviously be more work.

In this case it can help to import your raw points as a csv table in paraview and use the TableToPoints filter to visualize their locations and overlay this with the surface geometry. With this you can piece together the connectivity, which specifies the motion controllors.

To debug the setup, within steady/

Copy the geometry

./Allrun.init

Verify connectivity

lumpedPointZones -dry-run

This will generate a state.vtp file with the lumped points, connected as per the controller description.

Next generate the mesh (eg, with snappyHexMesh). For example,

./Allrun.pre

Test the mapping

lumpedPointZones   # serial or parallel

paraview lumpedPointZones.vtp

Inspect the nearest/next nearest and weighting. Adjust the controllers definitions if required.

For setup, it is often helpful if you have some predefined structural response data that can be used for testing.

Check the quality of response data by visualizing how it affects the movement of the points:

lumpedPointMovement {options} -dry-run response.txt

paraview state.vtk.series

You can add visualization options such as -scale or -visual-length. If the there are many time points in the response data, use -span to skip over some of them.

The lumpedPointMovement command can be used as above, but without the -dry-run option. This will extract the patch surface associated with the controllers and generate corresponding surface files in VTK format.

lumpedPointMovement {options} response.txt

paraview geom.vtp.series

Using a larger scale factor (eg, -scale 10) can help highlight potential interpolation problems.

Additional Notes

The files/polynomials.dict represent a vague approximation of measurement data, but are only intended as a compacter means of representing the movement. They can be used with the accompanying code/polynomial-motion.C to act as a response slave, or to pre-generate a response file. For example,

code/polynomial-motion -output response.txt -deltaT 0.001 -nTimes 5001 files/polynomials.dict

To query the values at an individual time:

code/polynomial-motion -query -time 0.5 files/polynomials.dict