1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
|
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v1912 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object dynamicMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dynamicFvMesh dynamicOversetFvMesh;
solvers
{
VF
{
motionSolverLibs (fvMotionSolvers);
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;
}
}
}
}
// ************************************************************************* //
|