The "<type>Coeffs" sub-dictionary is now optional for most model parameters

except turbulence and lagrangian which will also be updated shortly.

For example in the nonNewtonianIcoFoam offsetCylinder tutorial the viscosity
model coefficients may be specified in the corresponding "<type>Coeffs"
sub-dictionary:

transportModel  CrossPowerLaw;

CrossPowerLawCoeffs
{
    nu0         [0 2 -1 0 0 0 0]  0.01;
    nuInf       [0 2 -1 0 0 0 0]  10;
    m           [0 0 1 0 0 0 0]   0.4;
    n           [0 0 0 0 0 0 0]   3;
}

BirdCarreauCoeffs
{
    nu0         [0 2 -1 0 0 0 0]  1e-06;
    nuInf       [0 2 -1 0 0 0 0]  1e-06;
    k           [0 0 1 0 0 0 0]   0;
    n           [0 0 0 0 0 0 0]   1;
}

which allows a quick change between models, or using the simpler

transportModel  CrossPowerLaw;

nu0         [0 2 -1 0 0 0 0]  0.01;
nuInf       [0 2 -1 0 0 0 0]  10;
m           [0 0 1 0 0 0 0]   0.4;
n           [0 0 0 0 0 0 0]   3;

if quick switching between models is not required.

To support this more convenient parameter specification the inconsistent
specification of seedSampleSet in the streamLine and wallBoundedStreamLine
functionObjects had to be corrected from

    // Seeding method.
    seedSampleSet   uniform;  //cloud; //triSurfaceMeshPointSet;

    uniformCoeffs
    {
        type        uniform;
        axis        x;  //distance;

        // Note: tracks slightly offset so as not to be on a face
        start       (-1.001 -0.05 0.0011);
        end         (-1.001 -0.05 1.0011);
        nPoints     20;
    }

to the simpler

    // Seeding method.
    seedSampleSet
    {
        type        uniform;
        axis        x;  //distance;

        // Note: tracks slightly offset so as not to be on a face
        start       (-1.001 -0.05 0.0011);
        end         (-1.001 -0.05 1.0011);
        nPoints     20;
    }

which also support the "<type>Coeffs" form

    // Seeding method.
    seedSampleSet
    {
        type        uniform;

        uniformCoeffs
        {
            axis        x;  //distance;

            // Note: tracks slightly offset so as not to be on a face
            start       (-1.001 -0.05 0.0011);
            end         (-1.001 -0.05 1.0011);
            nPoints     20;
        }
    }
This commit is contained in:
Henry Weller
2017-04-20 09:14:48 +01:00
parent e2ccbbbbe5
commit 9801c25788
127 changed files with 713 additions and 847 deletions

View File

@ -17,19 +17,14 @@ FoamFile
dynamicFvMesh dynamicMotionSolverFvMesh;
solver solidBody;
motionSolver solidBody;
solidBodyCoeffs
{
cellZone rotor;
cellZone rotor;
solidBodyMotionFunction rotatingMotion;
rotatingMotionCoeffs
{
origin (0 0 0);
axis (0 0 1);
omega 6.2832; // rad/s
}
}
solidBodyMotionFunction rotatingMotion;
origin (0 0 0);
axis (0 0 1);
omega 6.2832; // rad/s
// ************************************************************************* //

View File

@ -17,15 +17,12 @@ FoamFile
dynamicFvMesh dynamicMotionSolverFvMesh;
motionSolverLibs ( "libfvMotionSolvers.so" );
motionSolverLibs ("libfvMotionSolvers.so");
solver velocityComponentLaplacian;
motionSolver velocityComponentLaplacian;
velocityComponentLaplacianCoeffs
{
component x;
diffusivity directional (1 200 0);
}
component x;
diffusivity directional (1 200 0);
// ************************************************************************* //

View File

@ -17,22 +17,16 @@ FoamFile
dynamicFvMesh dynamicMotionSolverFvMesh;
motionSolverLibs ( "libfvMotionSolvers.so" );
motionSolverLibs ("libfvMotionSolvers.so");
solver solidBody;
motionSolver solidBody;
solidBodyCoeffs
{
cellZone inletChannel;
cellZone inletChannel;
solidBodyMotionFunction oscillatingLinearMotion;
solidBodyMotionFunction oscillatingLinearMotion;
oscillatingLinearMotionCoeffs
{
amplitude (0 0.5 0);
omega 3.14; // rad/s (.5 rps)
}
}
amplitude (0 0.5 0);
omega 3.14; // rad/s (.5 rps)
// ************************************************************************* //

View File

@ -17,22 +17,16 @@ FoamFile
dynamicFvMesh dynamicMotionSolverFvMesh;
motionSolverLibs ( "libfvMotionSolvers.so" );
motionSolverLibs ("libfvMotionSolvers.so");
solver solidBody;
motionSolver solidBody;
solidBodyCoeffs
{
cellZone innerCylinderSmall;
cellZone innerCylinderSmall;
solidBodyMotionFunction rotatingMotion;
rotatingMotionCoeffs
{
origin (0 0 0);
axis (0 1 0);
omega 158; // rad/s
}
}
solidBodyMotionFunction rotatingMotion;
origin (0 0 0);
axis (0 1 0);
omega 158; // rad/s
// ************************************************************************* //

View File

@ -18,72 +18,69 @@ dynamicFvMesh dynamicMotionSolverFvMesh;
motionSolverLibs ("libsixDoFRigidBodyMotion.so");
solver sixDoFRigidBodyMotion;
motionSolver sixDoFRigidBodyMotion;
sixDoFRigidBodyMotionCoeffs
patches (wing);
innerDistance 0.3;
outerDistance 1;
mass 22.9;
centreOfMass (0.4974612746 -0.01671895744 0.125);
momentOfInertia (1.958864357 3.920839234 2.057121362);
orientation
(
0.9953705935 0.09611129781 0
-0.09611129781 0.9953705935 0
0 0 1
);
angularMomentum (0 0 -2);
g (0 -9.81 0);
rho rhoInf;
rhoInf 1;
report on;
solver
{
patches (wing);
innerDistance 0.3;
outerDistance 1;
type symplectic;
}
mass 22.9;
centreOfMass (0.4974612746 -0.01671895744 0.125);
momentOfInertia (1.958864357 3.920839234 2.057121362);
orientation
(
0.9953705935 0.09611129781 0
-0.09611129781 0.9953705935 0
0 0 1
);
angularMomentum (0 0 -2);
g (0 -9.81 0);
rho rhoInf;
rhoInf 1;
report on;
solver
constraints
{
yLine
{
type symplectic;
sixDoFRigidBodyMotionConstraint line;
centreOfRotation (0.25 0.007 0.125);
direction (0 1 0);
}
constraints
zAxis
{
yLine
{
sixDoFRigidBodyMotionConstraint line;
centreOfRotation (0.25 0.007 0.125);
direction (0 1 0);
}
sixDoFRigidBodyMotionConstraint axis;
axis (0 0 1);
}
}
zAxis
{
sixDoFRigidBodyMotionConstraint axis;
axis (0 0 1);
}
restraints
{
verticalSpring
{
sixDoFRigidBodyMotionRestraint linearSpring;
anchor (0.25 0.007 0.125);
refAttachmentPt (0.25 0.007 0.125);
stiffness 4000;
damping 2;
restLength 0;
}
restraints
axialSpring
{
verticalSpring
{
sixDoFRigidBodyMotionRestraint linearSpring;
sixDoFRigidBodyMotionRestraint linearAxialAngularSpring;
anchor (0.25 0.007 0.125);
refAttachmentPt (0.25 0.007 0.125);
stiffness 4000;
damping 2;
restLength 0;
}
axialSpring
{
sixDoFRigidBodyMotionRestraint linearAxialAngularSpring;
axis (0 0 1);
stiffness 700;
damping 0.5;
referenceOrientation $orientation;
}
axis (0 0 1);
stiffness 700;
damping 0.5;
referenceOrientation $orientation;
}
}

View File

@ -59,8 +59,7 @@ functions
lifeTime 10000;
nSubCycle 5;
cloudName particleTracks;
seedSampleSet uniform;
uniformCoeffs
seedSampleSet
{
type uniform;
axis x;

View File

@ -32,9 +32,7 @@ streamLines
cloudName particleTracks;
// Seeding method.
seedSampleSet uniform; //cloud; //triSurfaceMeshPointSet;
uniformCoeffs
seedSampleSet
{
type uniform;
axis x; //distance;

View File

@ -42,9 +42,7 @@ streamLines
cloudName particleTracks;
// Seeding method.
seedSampleSet uniform; //cloud; //triSurfaceMeshPointSet;
uniformCoeffs
seedSampleSet
{
type uniform;
axis x; //distance;

View File

@ -68,29 +68,31 @@ wallBoundedStreamLines
cloudName wallBoundedParticleTracks;
// Seeding method.
seedSampleSet patchSeed; //cloud; //triSurfaceMeshPointSet;
uniformCoeffs
{
type uniform;
axis x; //distance;
start (0.0035 0.0999 0.0001);
end (0.0035 0.0999 0.0099);
nPoints 20;
}
cloudCoeffs
{
type cloud;
axis x; //distance;
points ((0.351516548679288 -0.0116085375585099 1.24));
}
patchSeedCoeffs
seedSampleSet
{
type patchSeed;
patches (motorBikeGroup);
axis x; //distance;
maxPoints 20000;
uniformCoeffs
{
axis x; //distance;
start (0.0035 0.0999 0.0001);
end (0.0035 0.0999 0.0099);
nPoints 20;
}
cloudCoeffs
{
axis x; //distance;
points ((0.351516548679288 -0.0116085375585099 1.24));
}
patchSeedCoeffs
{
patches (motorBikeGroup);
axis x; //distance;
maxPoints 20000;
}
}
}

View File

@ -76,13 +76,11 @@ functions
cloudName particleTracks;
// Seeding method.
seedSampleSet uniform; //cloud; //triSurfaceMeshPointSet;
uniformCoeffs
seedSampleSet
{
type uniform;
axis x; //distance;
axis x; //distance;
start (-0.0205 0.001 0.00001);
end (-0.0205 0.0251 0.00001);
nPoints 10;