$FOAM_TUTORIALS/multiphase/potentialFreeSurfaceDyMFoam/oscillatingBox
We calculate hydrostatic pressure to analyze the waves generated by object floating on the liquid surface. The region "floatingObject" and "floatingObjectBottom" are the oscillating objects, the region "freeSurface" is the liquid surface, and the regions "leftWall", "bottomWall", and "rightWall" are the no-slip walls. The calculation is performed as 2-dimensional problem with single mesh in Z-direction.
The oscillation of the object is simulated by time-dependent changing of the mesh geometry. The settings are specified in the file "0.orig/pointDisplacement" by defining the boundary condition of the region "floatingObjectBottom" as follows. To make the nodes on the "leftWall" and "floatingObject" follow the oscillation, we specify "fixedNormalSlip" for both regions in the same file.
floatingObjectBottom { type oscillatingDisplacement; amplitude (0 -0.05 0); omega 6.2831853; value uniform (0 0 0); }
By setting the following in the file "system/controlDict", the force that applied to the region "floatingObject" and the average water level of the liquid surface in the region "f0" will be output to the files during the calculation. The calculation results will be saved in the folder "postProcessing".
functions { forces { type forces; libs ("libforces.so"); writeControl writeTime; patches (floatingObject); rho rhoInf; log yes; rhoInf 1000; CofR (0 0 0); } poolHeight { type surfaceRegion; libs ("libfieldFunctionObjects.so"); writeControl timeStep; writeInterval 1; log yes; writeTotalArea no; writeFields no; regionType faceZone; name f0; operation areaAverage; fields ( zeta ); } };
The meshes are as follows, and the number of mesh is 3829.
The calculation result is as follows.
3分15.5 seconds *Single, Inter(R) Core(TM) i7-2600 CPU @ 3.40GHz 3.40GHz