From a9d0a6d02b35e183116f91cf05cf0c31d8a7b58b Mon Sep 17 00:00:00 2001 From: graham Date: Fri, 4 Mar 2011 13:45:25 +0000 Subject: [PATCH] ENH: Non-inertial reference frame particle force. --- .../createFields.H | 44 +--- .../createNonInertialFrameFields.H | 110 ++++++++ .../UniformDimensionedField.C | 2 +- .../Templates/KinematicCloud/KinematicCloud.H | 2 + .../KinematicCloud/KinematicCloudI.H | 7 + .../parcels/include/makeParcelForces.H | 2 + .../parcels/include/makeThermoParcelForces.H | 2 + .../ParticleForces/Gravity/GravityForce.H | 2 +- .../NonInertialFrame/NonInertialFrameForce.C | 243 ++++++++++++++++++ .../NonInertialFrame/NonInertialFrameForce.H | 186 ++++++++++++++ .../NonInertialFrame/NonInertialFrameForceI.H | 73 ++++++ .../Kinematic/ParticleForces/SRF/SRFForce.H | 1 - 12 files changed, 637 insertions(+), 37 deletions(-) create mode 100644 applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/createNonInertialFrameFields.H create mode 100644 src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/NonInertialFrame/NonInertialFrameForce.C create mode 100644 src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/NonInertialFrame/NonInertialFrameForce.H create mode 100644 src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/NonInertialFrame/NonInertialFrameForceI.H diff --git a/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/createFields.H b/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/createFields.H index 169bf78172..9ef9d6a1a0 100644 --- a/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/createFields.H +++ b/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/createFields.H @@ -89,30 +89,17 @@ "H", runTime.timeName(), mesh, - IOobject::NO_READ + IOobject::MUST_READ, + IOobject::AUTO_WRITE ); - autoPtr HPtr_; + autoPtr HPtr; if (Hheader.headerOk()) { Info<< "\nReading field H\n" << endl; - HPtr_.reset - ( - new volVectorField - ( - IOobject - ( - "H", - runTime.timeName(), - mesh, - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - mesh - ) - ); + HPtr.reset(new volVectorField (Hheader, mesh)); } IOobject HdotGradHheader @@ -120,28 +107,17 @@ "HdotGradH", runTime.timeName(), mesh, - IOobject::NO_READ + IOobject::MUST_READ, + IOobject::AUTO_WRITE ); - autoPtr HdotGradHPtr_; + autoPtr HdotGradHPtr; if (HdotGradHheader.headerOk()) { Info<< "Reading field HdotGradH" << endl; - HdotGradHPtr_.reset - ( - new volVectorField - ( - IOobject - ( - "HdotGradH", - runTime.timeName(), - mesh, - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - mesh - ) - ); + HdotGradHPtr.reset(new volVectorField(HdotGradHheader, mesh)); } + + #include "createNonInertialFrameFields.H" diff --git a/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/createNonInertialFrameFields.H b/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/createNonInertialFrameFields.H new file mode 100644 index 0000000000..42304ddcb8 --- /dev/null +++ b/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/createNonInertialFrameFields.H @@ -0,0 +1,110 @@ + Info<< "Reading non-inertial frame fields" << endl; + + IOobject linearAccelerationHeader + ( + "linearAcceleration", + runTime.timeName(), + mesh, + IOobject::MUST_READ, + IOobject::AUTO_WRITE + ); + + autoPtr linearAccelerationPtr; + + if (linearAccelerationHeader.headerOk()) + { + Info<< " Reading " << linearAccelerationHeader.name() << endl; + + linearAccelerationPtr.reset + ( + new uniformDimensionedVectorField(linearAccelerationHeader) + ); + } + + + IOobject angularVelocityMagHeader + ( + "angularVelocityMag", + runTime.timeName(), + mesh, + IOobject::MUST_READ, + IOobject::AUTO_WRITE + ); + + autoPtr angularVelocityMagPtr; + + if (angularVelocityMagHeader.headerOk()) + { + Info<< " Reading " << angularVelocityMagHeader.name() << endl; + + angularVelocityMagPtr.reset + ( + new uniformDimensionedScalarField(angularVelocityMagHeader) + ); + } + + + IOobject angularAccelerationHeader + ( + "angularAcceleration", + runTime.timeName(), + mesh, + IOobject::MUST_READ, + IOobject::AUTO_WRITE + ); + + autoPtr angularAccelerationPtr; + + if (angularAccelerationHeader.headerOk()) + { + Info<< " Reading " << angularAccelerationHeader.name() << endl; + + angularAccelerationPtr.reset + ( + new uniformDimensionedVectorField(angularAccelerationHeader) + ); + } + + + IOobject axisHeader + ( + "axis", + runTime.timeName(), + mesh, + IOobject::MUST_READ, + IOobject::AUTO_WRITE + ); + + autoPtr axisPtr; + + if (axisHeader.headerOk()) + { + Info<< " Reading " << axisHeader.name() << endl; + + axisPtr.reset + ( + new uniformDimensionedVectorField(axisHeader) + ); + } + + + IOobject axisRefPointHeader + ( + "axisRefPoint", + runTime.timeName(), + mesh, + IOobject::MUST_READ, + IOobject::AUTO_WRITE + ); + + autoPtr axisRefPointPtr; + + if (axisRefPointHeader.headerOk()) + { + Info<< " Reading " << axisRefPointHeader.name() << endl; + + axisRefPointPtr.reset + ( + new uniformDimensionedVectorField(axisRefPointHeader) + ); + } diff --git a/src/OpenFOAM/fields/UniformDimensionedFields/UniformDimensionedField.C b/src/OpenFOAM/fields/UniformDimensionedFields/UniformDimensionedField.C index 14ecb4bc3f..921a5976c3 100644 --- a/src/OpenFOAM/fields/UniformDimensionedFields/UniformDimensionedField.C +++ b/src/OpenFOAM/fields/UniformDimensionedFields/UniformDimensionedField.C @@ -61,7 +61,7 @@ Foam::UniformDimensionedField::UniformDimensionedField { dictionary dict(readStream(typeName)); this->dimensions().reset(dict.lookup("dimensions")); - this->value() = dict.lookup("value"); + dict.lookup("value") >> this->value(); } diff --git a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.H b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.H index 5a124609f6..1ab7054e77 100644 --- a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.H +++ b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.H @@ -304,6 +304,8 @@ public: //- Return a reference to the cloud copy inline const KinematicCloud& cloudCopy() const; + inline bool hasWallImpactDistance() const; + // References to the mesh and databases diff --git a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloudI.H b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloudI.H index 681712f6e4..2360b4ceab 100644 --- a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloudI.H +++ b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloudI.H @@ -35,6 +35,13 @@ Foam::KinematicCloud::cloudCopy() const } +template +inline bool Foam::KinematicCloud::hasWallImpactDistance() const +{ + return true; +} + + template inline const Foam::fvMesh& Foam::KinematicCloud::mesh() const { diff --git a/src/lagrangian/intermediate/parcels/include/makeParcelForces.H b/src/lagrangian/intermediate/parcels/include/makeParcelForces.H index 9ae02038aa..cc824fd038 100644 --- a/src/lagrangian/intermediate/parcels/include/makeParcelForces.H +++ b/src/lagrangian/intermediate/parcels/include/makeParcelForces.H @@ -32,6 +32,7 @@ License #include "NonSphereDragForce.H" #include "GravityForce.H" +#include "NonInertialFrameForce.H" #include "ParamagneticForce.H" #include "PressureGradientForce.H" #include "SRFForce.H" @@ -44,6 +45,7 @@ License makeParticleForceModelType(SphereDragForce, CloudType); \ makeParticleForceModelType(NonSphereDragForce, CloudType); \ makeParticleForceModelType(GravityForce, CloudType); \ + makeParticleForceModelType(NonInertialFrameForce, CloudType); \ makeParticleForceModelType(ParamagneticForce, CloudType); \ makeParticleForceModelType(PressureGradientForce, CloudType); \ makeParticleForceModelType(SRFForce, CloudType); diff --git a/src/lagrangian/intermediate/parcels/include/makeThermoParcelForces.H b/src/lagrangian/intermediate/parcels/include/makeThermoParcelForces.H index 45b4a86215..fd20d0191d 100644 --- a/src/lagrangian/intermediate/parcels/include/makeThermoParcelForces.H +++ b/src/lagrangian/intermediate/parcels/include/makeThermoParcelForces.H @@ -33,6 +33,7 @@ License #include "BrownianMotionForce.H" #include "GravityForce.H" +#include "NonInertialFrameForce.H" #include "ParamagneticForce.H" #include "PressureGradientForce.H" #include "SRFForce.H" @@ -46,6 +47,7 @@ License makeParticleForceModelType(NonSphereDragForce, CloudType); \ makeParticleForceModelType(BrownianMotionForce, CloudType); \ makeParticleForceModelType(GravityForce, CloudType); \ + makeParticleForceModelType(NonInertialFrameForce, CloudType); \ makeParticleForceModelType(ParamagneticForce, CloudType); \ makeParticleForceModelType(PressureGradientForce, CloudType); \ makeParticleForceModelType(SRFForce, CloudType); diff --git a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/Gravity/GravityForce.H b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/Gravity/GravityForce.H index a215d0ef66..1bc573df04 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/Gravity/GravityForce.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/Gravity/GravityForce.H @@ -98,7 +98,7 @@ public: // Access - //- Return the the acceleration due to gravity + //- Return the acceleration due to gravity inline const vector& g() const; diff --git a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/NonInertialFrame/NonInertialFrameForce.C b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/NonInertialFrame/NonInertialFrameForce.C new file mode 100644 index 0000000000..807a07aa16 --- /dev/null +++ b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/NonInertialFrame/NonInertialFrameForce.C @@ -0,0 +1,243 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2011-2011 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +\*---------------------------------------------------------------------------*/ + +#include "NonInertialFrameForce.H" +#include "uniformDimensionedFields.H" + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +template +Foam::NonInertialFrameForce::NonInertialFrameForce +( + CloudType& owner, + const fvMesh& mesh, + const dictionary& dict, + const word& forceType +) +: + ParticleForce(owner, mesh, dict), + WName_ + ( + this->coeffs().template lookupOrDefault + ( + "linearAccelerationName", + "linearAcceleration" + ) + ), + W_(vector::zero), + omegaMagName_ + ( + this->coeffs().template lookupOrDefault + ( + "angularVelocityMagName", + "angularVelocityMag" + ) + ), + omegaMag_(0.0), + omegaDotName_ + ( + this->coeffs().template lookupOrDefault + ( + "angularAccelerationName", + "angularAcceleration" + ) + ), + omegaDot_(vector::zero), + axisName_ + ( + this->coeffs().template lookupOrDefault + ( + "axisName", + "axis" + ) + ), + axis_(vector::zero), + hasAxis_(false), + axisRefPointName_ + ( + this->coeffs().template lookupOrDefault + ( + "axisRefPointName", + "axisRefPoint" + ) + ), + axisRefPoint_(vector::zero) +{} + + +template +Foam::NonInertialFrameForce::NonInertialFrameForce +( + const NonInertialFrameForce& niff +) +: + ParticleForce(niff), + WName_(niff.WName_), + W_(niff.W_), + omegaMagName_(niff.omegaMagName_), + omegaMag_(niff.omegaMag_), + omegaDotName_(niff.omegaDotName_), + omegaDot_(niff.omegaDot_), + axisName_(niff.axisName_), + axis_(niff.axis_), + hasAxis_(niff.hasAxis_), + axisRefPointName_(niff.axisRefPointName_), + axisRefPoint_(niff.axisRefPoint_) +{} + + +// * * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * // + +template +Foam::NonInertialFrameForce::~NonInertialFrameForce() +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template +void Foam::NonInertialFrameForce::cacheFields(const bool store) +{ + W_ = vector::zero; + omegaMag_ = 0.0; + omegaDot_ = vector::zero; + axis_ = vector::zero; + hasAxis_ = false; + axisRefPoint_ = vector::zero; + + if (store) + { + if + ( + this->mesh().template + foundObject(omegaMagName_) + ) + { + uniformDimensionedScalarField omegaMag = this->mesh().template + lookupObject(omegaMagName_); + + omegaMag_ = omegaMag.value(); + + // If omegaMag is found, require that the axis and axisRefPoint is + // found. + uniformDimensionedVectorField a = this->mesh().template + lookupObject(axisName_); + + axis_ = a.value(); + + hasAxis_ = true; + + scalar axisMag = mag(axis_); + + if (mag(axis_) < SMALL) + { + FatalErrorIn + ( + "void Foam::NonInertialFrameForce::" + "cacheFields(const bool store)" + ) << axisName_ << " " << axis_ << " too small." + << abort(FatalError); + } + + axis_ /= axisMag; + + uniformDimensionedVectorField axisRefPoint = this->mesh().template + lookupObject(axisRefPointName_); + + axisRefPoint_ = axisRefPoint.value(); + + // Only look for omegaDot is omegaMag is found, optional. + if + ( + this->mesh().template + foundObject(omegaDotName_) + ) + { + uniformDimensionedVectorField omegaDot = this->mesh().template + lookupObject(omegaDotName_); + + omegaDot_ = omegaDot.value(); + } + } + + if + ( + this->mesh().template + foundObject(WName_) + ) + { + uniformDimensionedVectorField W = this->mesh().template + lookupObject(WName_); + + W_ = W.value(); + } + else if (!hasAxis_) + { + WarningIn + ( + "void Foam::NonInertialFrameForce::" + "cacheFields(const bool store)" + ) << "No " << typeName << " variables found." << endl; + } + } +} + + +template +Foam::forceSuSp Foam::NonInertialFrameForce::calcNonCoupled +( + const typename CloudType::parcelType& p, + const scalar dt, + const scalar mass, + const scalar Re, + const scalar muc +) const +{ + forceSuSp value(vector::zero, 0.0); + + value.Su() += -mass*W_; + + if (hasAxis_) + { + const vector pRel = p.position() - axisRefPoint_; + + const vector r = pRel - axis_*(axis_ & pRel); + + vector omega = axis_*omegaMag_; + + value.Su() += + mass + *( + (r ^ omegaDot_) + + 2.0*(p.U() ^ omega) + + (omega ^ (r ^ omega)) + ); + } + + return value; +} + + +// ************************************************************************* // diff --git a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/NonInertialFrame/NonInertialFrameForce.H b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/NonInertialFrame/NonInertialFrameForce.H new file mode 100644 index 0000000000..093be4520d --- /dev/null +++ b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/NonInertialFrame/NonInertialFrameForce.H @@ -0,0 +1,186 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2011-2011 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +Class + Foam::NonInertialFrameForce + +Description + Calculates particle non-inertial reference frame force. Variable names as + from Landau and Lifshitz, Mechanics, 3rd Ed, p126-129. + +SourceFiles + NonInertialFrameForce.C + +\*---------------------------------------------------------------------------*/ + +#ifndef NonInertialFrameForce_H +#define NonInertialFrameForce_H + +#include "ParticleForce.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +class fvMesh; + +/*---------------------------------------------------------------------------*\ + Class NonInertialFrameForce Declaration +\*---------------------------------------------------------------------------*/ + +template +class NonInertialFrameForce +: + public ParticleForce +{ + // Private data + + //- Name of the linear acceleration field + word WName_; + + //- The linear acceleration of the reference frame + vector W_; + + //- Name of the angular velocity magnitude field + word omegaMagName_; + + //- The magnitude of the angular velocity of the reference frame, + // combines with axis to give omega + scalar omegaMag_; + + //- Name of the angular acceleration field + word omegaDotName_; + + //- Pointer to the angular acceleration of the reference frame + vector omegaDot_; + + //- Name of the axis field + word axisName_; + + //- Pointer to the axis of rotation - assumed to be a unit vector. + // duplication of omega to allow situations where omega = 0 and + // omegaDot != 0. + vector axis_; + + // Boolean flag for whether rotational motion is active + bool hasAxis_; + + //- Name of the axisRefPoint field + word axisRefPointName_; + + //- Pointer to a point in non-inertial space on the axis of rotation + // (omega), used to calculate r. + vector axisRefPoint_; + + +public: + + //- Runtime type information + TypeName("nonInertialFrame"); + + + // Constructors + + //- Construct from mesh + NonInertialFrameForce + ( + CloudType& owner, + const fvMesh& mesh, + const dictionary& dict, + const word& forceType + ); + + //- Construct copy + NonInertialFrameForce(const NonInertialFrameForce& niff); + + //- Construct and return a clone + virtual autoPtr > clone() const + { + return autoPtr > + ( + new ParticleForce(*this) + ); + } + + + //- Destructor + virtual ~NonInertialFrameForce(); + + + // Member Functions + + // Access + + //- Return the linear acceleration of the reference frame + inline const vector& W() const; + + //- Return the angular velocity of the reference frame + inline const vector& omega() const; + + //- Return the angular acceleration of the reference frame + inline const vector& omegaDot() const; + + //- Return the axis of rotation + inline const vector& axis() const; + + //- Return bool stating if the frame is rotating + inline bool hasAxis() const; + + //- Return the point in non-inertial space on the axis of rotation + inline const vector& axisRefPoint() const; + + // Evaluation + + //- Cache fields + virtual void cacheFields(const bool store); + + //- Calculate the non-coupled force + virtual forceSuSp calcNonCoupled + ( + const typename CloudType::parcelType& p, + const scalar dt, + const scalar mass, + const scalar Re, + const scalar muc + ) const; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "NonInertialFrameForceI.H" + +#ifdef NoRepository + #include "NonInertialFrameForce.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/NonInertialFrame/NonInertialFrameForceI.H b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/NonInertialFrame/NonInertialFrameForceI.H new file mode 100644 index 0000000000..ae4ffc13a7 --- /dev/null +++ b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/NonInertialFrame/NonInertialFrameForceI.H @@ -0,0 +1,73 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2011-2011 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +\*---------------------------------------------------------------------------*/ + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +template +inline const Foam::vector& Foam::NonInertialFrameForce::W() const +{ + return W_; +} + + +template +inline const Foam::vector& Foam::NonInertialFrameForce::omega() const +{ + return omegaMag_*axis_; +} + + +template +inline const Foam::vector& +Foam::NonInertialFrameForce::omegaDot() const +{ + return omegaDot_; +} + + +template +inline const Foam::vector& +Foam::NonInertialFrameForce::axis() const +{ + return axis_; +} + + +template +inline bool Foam::NonInertialFrameForce::hasAxis() const +{ + return hasAxis_; +} + + +template +inline const Foam::vector& +Foam::NonInertialFrameForce::axisRefPoint() const +{ + return axisRefPoint_; +} + + +// ************************************************************************* // diff --git a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/SRF/SRFForce.H b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/SRF/SRFForce.H index 2e646a37d7..b8f10d0ea9 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/SRF/SRFForce.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/SRF/SRFForce.H @@ -28,7 +28,6 @@ Description Calculates particle SRF reference frame force SourceFiles - SRFForceI.H SRFForce.C \*---------------------------------------------------------------------------*/