Basics : Wave Generation
This LS-DYNA simulation shows how to set up a simple wave generation problem using Stokes waves. This wave modelling is suitable in cases where the wave amplitude is small compared to the total depth of the problem. Otherwise, piston-type waves are preferred. A hydrostatic pressure condition has been set at the outlet in order to allow for some fluid to leave the domain. In addition, a damping layer close to the outlet has been defined in order to increase the problem's stability and to avoid reflection of the waves.
https://www.dynaexamples.com/icfd/basics-examples/wave_gen
https://www.dynaexamples.com/@@site-logo/LS-DYNA-Examples-Logo480x80.png
Basics : Wave Generation
This LS-DYNA simulation shows how to set up a simple wave generation problem using Stokes waves. This wave modelling is suitable in cases where the wave amplitude is small compared to the total depth of the problem. Otherwise, piston-type waves are preferred. A hydrostatic pressure condition has been set at the outlet in order to allow for some fluid to leave the domain. In addition, a damping layer close to the outlet has been defined in order to increase the problem's stability and to avoid reflection of the waves.
Fluid pressure fringes
*KEYWORD *TITLE *DATABASE_BINARY_D3PLOT *DEFINE_CURVE_TITLE *DEFINE_FUNCTION *ICFD_BOUNDARY_FREESLIP *ICFD_BOUNDARY_FSWAVE *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 Wave generation *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 $---+----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_PRE $# pid lcid sf death birth 3 3 *ICFD_BOUNDARY_PRESCRIBED_PRE $# pid lcid sf death birth 4 3 *DEFINE_FUNCTION $# lcid 3 $# function f(y)=(1-y)*&grav*&rho_fluid *ICFD_BOUNDARY_FSWAVE $# pid wtype h0 ampl lambda beta 1 2 1 0.2 2. 0. *ICFD_BOUNDARY_FSWAVE $# pid wtype h0 ampl lambda beta 2 2 1 0.2 2. 0. *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
This LS-DYNA simulation shows how to set up a simple wave generation problem using Stokes waves. This wave modelling is suitable in cases where the wave amplitude is small compared to the total depth of the problem. Otherwise, piston-type waves are preferred. A hydrostatic pressure condition has been set at the outlet in order to allow for some fluid to leave the domain. In addition, a damping layer close to the outlet has been defined in order to increase the problem's stability and to avoid reflection of the waves.