117 lines
2.9 KiB
C++
117 lines
2.9 KiB
C++
/*--------------------------------*- C++ -*----------------------------------*\
|
|
| ========= | |
|
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
|
| \\ / O peration | Version: v1812 |
|
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
|
| \\/ M anipulation | |
|
|
\*---------------------------------------------------------------------------*/
|
|
FoamFile
|
|
{
|
|
version 2.0;
|
|
format ascii;
|
|
class dictionary;
|
|
object dynamicMeshDict;
|
|
}
|
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
|
|
dynamicFvMesh dynamicOversetFvMesh;
|
|
|
|
solvers
|
|
{
|
|
VF
|
|
{
|
|
motionSolverLibs ("libfvMotionSolvers.so" );
|
|
|
|
motionSolver solidBody;
|
|
solidBodyMotionFunction drivenLinearMotion;
|
|
|
|
cellSet c0;
|
|
CofGvelocity CofG;
|
|
normal (0 0 1);
|
|
}
|
|
|
|
cube
|
|
{
|
|
motionSolverLibs ("sixDoFRigidBodyMotion");
|
|
motionSolver sixDoFRigidBodyMotion;
|
|
|
|
cellSet c1;
|
|
|
|
patches (floatingObject);
|
|
innerDistance 1000.0;
|
|
outerDistance 1001.0;
|
|
|
|
centreOfMass (0.5 0.5 0.4);
|
|
CofGvelocity CofG;
|
|
|
|
// Cuboid dimensions
|
|
Lx 0.24;
|
|
Ly 0.24;
|
|
Lz 0.4;
|
|
|
|
// Density of the solid
|
|
rhoSolid 500;
|
|
|
|
// Cuboid mass
|
|
mass #eval{ $rhoSolid*$Lx*$Ly*$Lz };
|
|
|
|
// Cuboid moment of inertia about the centre of mass
|
|
momentOfInertia #codeStream
|
|
{
|
|
codeInclude
|
|
#{
|
|
#include "diagTensor.H"
|
|
#};
|
|
|
|
code
|
|
#{
|
|
scalar sqrLx = sqr($Lx);
|
|
scalar sqrLy = sqr($Ly);
|
|
scalar sqrLz = sqr($Lz);
|
|
os <<
|
|
$mass
|
|
*diagTensor(sqrLy + sqrLz, sqrLx + sqrLz, sqrLx + sqrLy)/12.0;
|
|
#};
|
|
};
|
|
|
|
report on;
|
|
accelerationRelaxation 0.6;
|
|
accelerationDamping 1;
|
|
|
|
solver
|
|
{
|
|
type Newmark;
|
|
}
|
|
|
|
constraints
|
|
{
|
|
|
|
fixedAxis
|
|
{
|
|
sixDoFRigidBodyMotionConstraint plane;
|
|
normal (0 0 1);
|
|
}
|
|
}
|
|
|
|
restraints
|
|
{
|
|
|
|
linearSpring
|
|
{
|
|
sixDoFRigidBodyMotionRestraint linearSpring;
|
|
anchor (0 0.5 0.4);
|
|
refAttachmentPt (0.5 0.5 0.4);
|
|
stiffness 100;
|
|
damping 0;
|
|
restLength 0;
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
// ************************************************************************* //
|