Basics : Piston wave maker
Piston wavemakers are used where the water is shallow compared to the wavelength of the waves. It is possible to generate such waves by imposing a periodic Lagrangian movement to one end of the domain. The waves are then damped on the other side.
https://www.dynaexamples.com/icfd/basics-examples/piston_wave
https://www.dynaexamples.com/@@site-logo/LS-DYNA-Examples-Logo480x80.png
Basics : Piston wave maker
Piston wavemakers are used where the water is shallow compared to the wavelength of the waves. It is possible to generate such waves by imposing a periodic Lagrangian movement to one end of the domain. The waves are then damped on the other side.
Fluid pressure fringes
*KEYWORD *TITLE *DATABASE_BINARY_D3PLOT *DEFINE_CURVE_FUNCTION_TITLE *DEFINE_CURVE_TITLE *DEFINE_FUNCTION *ICFD_BOUNDARY_FREESLIP *ICFD_BOUNDARY_NONSLIP *ICFD_BOUNDARY_PRESCRIBED_MOVEMESH *ICFD_CONTROL_IMPOSED_MOVE *ICFD_CONTROL_OUTPUT *ICFD_CONTROL_TIME *ICFD_DATABASE_FLUX *ICFD_DEFINE_POINT *ICFD_DEFINE_WAVE_DAMPING *ICFD_MAT *ICFD_PART *ICFD_PART_VOL *ICFD_SECTION *INCLUDE *LOAD_BODY_Y *MESH_INTERF *MESH_SURFACE_ELEMENT *MESH_SURFACE_NODE *MESH_VOLUME *PARAMETER *END
$----------------------------------------------------------------------------- $ $ 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 Dev svn 112028 (or higher) with double precision $X $X------------------------------------------------------------------------------ $# UNITS: (kg/m/s) $X------------------------------------------------------------------------------ $X *KEYWORD *TITLE ICFD Piston type wave maker *INCLUDE mesh.k $---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8 $ $ $ PARAMETERS $ $ $ $---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8 *PARAMETER R T_end 15.0 R dt_plot 0.10 $ $--- Fluid $ Rrho_fluid 1000 R mu_fluid 0.001 R dt_fluid 0.025 R grav 9.81 $ $---+----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_OUTPUT $# mslv 3 *ICFD_CONTROL_IMPOSED_MOVE $# pid lcvx lcvy lcvz 1 3 2 2 *ICFD_CONTROL_IMPOSED_MOVE $# pid lcvx lcvy lcvz 2 3 2 2 *DEFINE_CURVE $# lcid sidr sfa sfo offa offo dattyp 2 $# a1 o1 0.0 0.0 10000.0 0.0 *DEFINE_CURVE_FUNCTION_TITLE Piston velocity $# lcid 3 $# function 0.1*2*3.1416*sin(2*3.1416*time) $---+----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_MAT $# mid flg 2 0 *ICFD_PART $# pid secid mid 1 1 1 *ICFD_PART $# pid secid mid 2 1 2 *ICFD_PART $# pid secid mid 3 1 1 *ICFD_PART $# pid secid mid 4 1 2 *ICFD_PART $# pid secid mid 5 1 2 *ICFD_PART $# pid secid mid 6 1 1 *ICFD_PART $# pid secid mid 7 1 1 *ICFD_PART_VOL_TITLE water $# pid secid mid 10 1 1 $# spid1 spid2 spid3 spid4 1 3 6 7 *ICFD_PART_VOL_TITLE vacuum $# pid secid mid 20 1 2 $# spid1 spid2 spid3 spid4 2 4 5 7 $---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8 $ $ $ ICFD BOUNDARY/INITIAL/LOAD CONDITIONS $ $ $ $---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8 *ICFD_BOUNDARY_FREESLIP $# pid 5 *ICFD_BOUNDARY_FREESLIP $# pid 6 *ICFD_BOUNDARY_PRESCRIBED_MOVEMESH $# pid dofx dofy dofz 5 0 1 1 *ICFD_BOUNDARY_PRESCRIBED_MOVEMESH $# pid dofx dofy dofz 6 0 1 1 *ICFD_BOUNDARY_NONSLIP $# pid 1 *ICFD_BOUNDARY_NONSLIP $# pid 2 *ICFD_BOUNDARY_NONSLIP $# pid 3 *ICFD_BOUNDARY_NONSLIP $# pid 4 *ICFD_DEFINE_WAVE_DAMPING $ pid nid l 1 2 2 *ICFD_DEFINE_POINT $# poid x y z 1 8 1 0 *ICFD_DEFINE_POINT $# poid x y z 2 1 0 0 *LOAD_BODY_Y $# lcid sf 1 1 *DEFINE_CURVE_TITLE Gravity force $# lcid sidr sfa sfo offa offo dattyp 1 &grav $# a1 o1 0.0 1.0 10000.0 1.0 $---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8 $ $ $ ICFD MESH KEYWORDS $ $ $ $---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8 *MESH_VOLUME $# volid 10 $# pid1 pid2 pid3 pid4 pid5 pid6 1 2 3 4 5 6 *MESH_INTERF $# vpid 10 $# spid 7 $---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8 $ $ $ DATABASE (OUTPUT) $ $ $ $---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8 *ICFD_DATABASE_FLUX $# pid 1 *ICFD_DATABASE_FLUX $# pid 2 *ICFD_DATABASE_FLUX $# pid 3 *ICFD_DATABASE_FLUX $# pid 4 *ICFD_DATABASE_FLUX $# pid 5 *ICFD_DATABASE_FLUX $# pid 6 *DATABASE_BINARY_D3PLOT $# dt &dt_plot *END
Piston wavemakers are used where the water is shallow compared to the wavelength of the waves. It is possible to generate such waves by imposing a periodic Lagrangian movement to one end of the domain. The waves are then damped on the other side.