Basics : Mesh Adaptivity
This LS-DYNA simulation shows a simple FSI coupling problem using weak/loose/explicit FSI. A rigid cylinder has a prescribed displacement in the Y direction. After five seconds, the inlet velocity boundary condition is triggered pushing the cylinder to the right. Since the coupling is loose, the two solvers retain their own independent timesteps and the solid mechanics solver runs in explicit. The FSI uses a boundary fitted approach. The fluid mesh must have a boundary with the structure. The meshes do not have to coincide but the geometries must remain close. When FSI is triggered, the fluid mesh moves in a Lagrangian way while the fluid flow evolves in a Eulerian way.
https://www.dynaexamples.com/icfd/basics-examples/adapt
https://www.dynaexamples.com/@@site-logo/LS-DYNA-Examples-Logo480x80.png
Basics : Mesh Adaptivity
This LS-DYNA simulation shows a simple FSI coupling problem using weak/loose/explicit FSI. A rigid cylinder has a prescribed displacement in the Y direction. After five seconds, the inlet velocity boundary condition is triggered pushing the cylinder to the right. Since the coupling is loose, the two solvers retain their own independent timesteps and the solid mechanics solver runs in explicit. The FSI uses a boundary fitted approach. The fluid mesh must have a boundary with the structure. The meshes do not have to coincide but the geometries must remain close. When FSI is triggered, the fluid mesh moves in a Lagrangian way while the fluid flow evolves in a Eulerian way.
Fluid vorticity fringes
*DATABASE_BINARY_D3PLOT *DEFINE_CURVE_TITLE *END *ICFD_BOUNDARY_FREESLIP *ICFD_BOUNDARY_PRESCRIBED_VEL *ICFD_BOUNDARY_PRESCRIBED_PRE *ICFD_BOUNDARY_NONSLIP *ICFD_CONTROL_ADAPT *ICFD_CONTROL_TIME *ICFD_DATABASE_DRAG *ICFD_MAT *ICFD_PART *ICFD_PART_VOL *ICFD_SECTION *INCLUDE *KEYWORD *MESH_BL *MESH_SURFACE_ELEMENT *MESH_SURFACE_NODE *MESH_VOLUME *PARAMETER *TITLE
$----------------------------------------------------------------------------- $ $ Example provided by Iñaki (LSTC) $ $ E-Mail: info@dynamore.de $ Web: http://www.dynamore.de $ $ Copyright, 2015 DYNAmore GmbH $ Copying for non-commercial usage allowed if $ copy bears this notice completely. $ $X------------------------------------------------------------------------------ $X $X 1. Run file as is. $X Requires LS-DYNA MPP R8.0.0 (or higher) with double precision $X $X------------------------------------------------------------------------------ $# UNITS: Dimensionless. $X------------------------------------------------------------------------------ $X *KEYWORD *TITLE ICFD Cylinder flow with adaptivity *INCLUDE mesh.k $---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8 $ $ $ PARAMETERS $ $ $ $---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8 *PARAMETER R T_end 40.0 R dt_plot 0.50 $ $--- Fluid $ R v_inlet 1.0 Rrho_fluid 1.0 R mu_fluid 0.005 R dt_fluid 0.000 $ $---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8 $ $ $ ICFD CONTROL CARDS $ $ $ $---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8 *ICFD_CONTROL_TIME $# ttm dt &T_end &dt_fluid *ICFD_CONTROL_ADAPT $# minh maxh err mth nit 0.020 0.2 2 10 $---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8 $ $ $ ICFD PARTS/ SECTION/ MATERIAL $ $ $ $---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8 *ICFD_SECTION $# sid 1 *ICFD_MAT $# mid flg ro vis 1 1&rho_fluid &mu_fluid *ICFD_PART $# pid secid mid 1 1 1 *ICFD_PART $# pid secid mid 2 1 1 *ICFD_PART $# pid secid mid 3 1 1 *ICFD_PART $# pid secid mid 4 1 1 *ICFD_PART_VOL $# pid secid mid 10 1 1 $# spid1 spid2 spid3 spid4 1 2 3 4 $---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8 $ $ $ ICFD BOUNDARY/INITIAL CONDITIONS $ $ $ $---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8 *ICFD_BOUNDARY_PRESCRIBED_VEL $# pid dof vad lcid 1 1 1 1 *ICFD_BOUNDARY_PRESCRIBED_VEL $# pid dof vad lcid 1 2 1 2 *ICFD_BOUNDARY_PRESCRIBED_PRE $# pid lcid sf death birth 2 2 *ICFD_BOUNDARY_FREESLIP $# pid 3 *ICFD_BOUNDARY_NONSLIP $# pid 4 *DEFINE_CURVE_TITLE Velocity inlet $# lcid sidr sfa sfo offa offo dattyp 1 &v_inlet $# a1 o1 0.0 1.0 10000.0 1.0 *DEFINE_CURVE_TITLE Pressure outlet $# lcid sidr sfa sfo offa offo dattyp 2 $# a1 o1 0.0 0.0 10000.0 0.0 $---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8 $ $ $ ICFD MESH KEYWORDS $ $ $ $---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8 *MESH_VOLUME $# volid 1 $# pid1 pid2 pid3 pid4 1 2 3 4 *MESH_BL $# pid nelth 4 1 $---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8 $ $ $ DATABASE (OUTPUT) $ $ $ $---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8 *ICFD_DATABASE_DRAG $# pid 4 *DATABASE_BINARY_D3PLOT $# dt &dt_plot *END
This LS-DYNA simulation shows a simple ICFD problem with adaptivity. A new fluid volume mesh is generated every few fluid timesteps focusing on the regions where vortexes occur by adding more elements while using a coarser mesh in regions where the flow is smooth. This powerful tool must however be handled with care. Remeshing is a costly process which can not be scaled on multiple CPUs. Furthermore, every time a remesh occurs, the topology of the mesh is changed which can yield inaccuracies.