|
[Sponsors] |
June 4, 2012, 11:10 |
ActuatorDiskExplicitForce in OF2.1. Help
|
#1 |
Senior Member
M. Montero
Join Date: Mar 2009
Location: Madrid
Posts: 153
Rep Power: 17 |
Hi all,
Resume: Are there a guide to now how to change a solver code prepared for OF1.5dev to a newer OF versions(OF2.1)? Long version: I have been checking the solver windSimpleFoam of the version 2.0.1 and due to the fact than it also takes into account the thrust to modify the momentum equation. I investigate and I found the following report: http://www.tfd.chalmers.se/~hani/kur...ningReport.pdf It seems very interesting because it can be modelled the trust and the swirl with a radial distribution based on a analytical approach. It can be fixed the thrust and the torque of your wind turbine. Although it was done based on OF 1.5dev, I have been trying to implement the same approach for OF 2.1 but I am not able to do it. Are there a guide to now how to change a solver between 1.5dev a newer OF versions? When I try to compile, I receive the following error: Code:
[beinspired@srvhpcmaster actuatorDiskExplicitForce]$ wmake Making dependency list for source file actuatorDiskExplicitForceSimpleFoam.C Making dependency list for source file actuatorDiskExplicitForce.cpp could not open file actuatorDiskExplicitForce for source file actuatorDiskExplicitForce.cpp SOURCE=actuatorDiskExplicitForceSimpleFoam.C ; g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-100 -I/share/apps/OpenFOAM/OpenFOAM-2.1.0/src/turbulenceModels -I/share/apps/OpenFOAM/OpenFOAM-2.1.0/src/turbulenceModels/incompressible/RAS/RASModel -I/share/apps/OpenFOAM/OpenFOAM-2.1.0/src/transportModels -I/share/apps/OpenFOAM/OpenFOAM-2.1.0/src/transportModels/incompressible/singlePhaseTransportModel -I/share/apps/OpenFOAM/OpenFOAM-2.1.0/src/finiteVolume/lnInclude -IlnInclude -I. -I/share/apps/OpenFOAM/OpenFOAM-2.1.0/src/OpenFOAM/lnInclude -I/share/apps/OpenFOAM/OpenFOAM-2.1.0/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linux64Gcc45DPOpt/actuatorDiskExplicitForceSimpleFoam.o In file included from actuatorDiskExplicitForceSimpleFoam.C:74:0: UEqn.H: In function 'int main(int, char**)': UEqn.H:19:38: error: no match for 'operator+' in 'Foam::solve(const Foam::tmp<Foam::fvMatrix<Type> >&) [with Type = Foam::Vector<double>]() + VolumeForce' /share/apps/OpenFOAM/OpenFOAM-2.1.0/src/OpenFOAM/lnInclude/dictionary.H:519:12: note: candidates are: Foam::dictionary Foam::operator+(const Foam::dictionary&, const Foam::dictionary&) /share/apps/OpenFOAM/OpenFOAM-2.1.0/src/OpenFOAM/lnInclude/dimensionSet.H:257:29: note: Foam::dimensionSet Foam::operator+(const Foam::dimensionSet&, const Foam::dimensionSet&) /share/apps/OpenFOAM/OpenFOAM-2.1.0/src/OpenFOAM/lnInclude/dimensionedScalar.H:49:19: note: Foam::dimensionedScalar Foam::operator+(const Foam::dimensionedScalar&, Foam::scalar) /share/apps/OpenFOAM/OpenFOAM-2.1.0/src/OpenFOAM/lnInclude/dimensionedScalar.H:50:19: note: Foam::dimensionedScalar Foam::operator+(Foam::scalar, const Foam::dimensionedScalar&) /share/apps/OpenFOAM/OpenFOAM-2.1.0/src/OpenFOAM/lnInclude/scalarField.H:77:1: note: Foam::tmp<Foam::Field<double> > Foam::operator+(const Foam::scalar&, const Foam::UList<double>&) /share/apps/OpenFOAM/OpenFOAM-2.1.0/src/OpenFOAM/lnInclude/scalarField.H:77:1: note: Foam::tmp<Foam::Field<double> > Foam::operator+(const Foam::scalar&, const Foam::tmp<Foam::Field<double> >&) /share/apps/OpenFOAM/OpenFOAM-2.1.0/src/OpenFOAM/lnInclude/scalarField.H:77:1: note: Foam::tmp<Foam::Field<double> > Foam::operator+(const Foam::UList<double>&, const Foam::scalar&) /share/apps/OpenFOAM/OpenFOAM-2.1.0/src/OpenFOAM/lnInclude/scalarField.H:77:1: note: Foam::tmp<Foam::Field<double> > Foam::operator+(const Foam::tmp<Foam::Field<double> >&, const Foam::scalar&) /share/apps/OpenFOAM/OpenFOAM-2.1.0/src/OpenFOAM/lnInclude/labelField.H:53:1: note: Foam::tmp<Foam::Field<int> > Foam::operator+(const Foam::label&, const Foam::UList<int>&) /share/apps/OpenFOAM/OpenFOAM-2.1.0/src/OpenFOAM/lnInclude/labelField.H:53:1: note: Foam::tmp<Foam::Field<int> > Foam::operator+(const Foam::label&, const Foam::tmp<Foam::Field<int> >&) /share/apps/OpenFOAM/OpenFOAM-2.1.0/src/OpenFOAM/lnInclude/labelField.H:53:1: note: Foam::tmp<Foam::Field<int> > Foam::operator+(const Foam::UList<int>&, const Foam::label&) /share/apps/OpenFOAM/OpenFOAM-2.1.0/src/OpenFOAM/lnInclude/labelField.H:53:1: note: Foam::tmp<Foam::Field<int> > Foam::operator+(const Foam::tmp<Foam::Field<int> >&, const Foam::label&) /share/apps/OpenFOAM/OpenFOAM-2.1.0/src/OpenFOAM/lnInclude/diagTensorField.H:60:1: note: Foam::tmp<Foam::Field<Foam::Tensor<double> > > Foam::operator+(const Foam::UList<Foam::DiagTensor<double> >&, const Foam::UList<Foam::Tensor<double> >&) /share/apps/OpenFOAM/OpenFOAM-2.1.0/src/OpenFOAM/lnInclude/diagTensorField.H:60:1: note: Foam::tmp<Foam::Field<Foam::Tensor<double> > > Foam::operator+(const Foam::UList<Foam::DiagTensor<double> >&, const Foam::tmp<Foam::Field<Foam::Tensor<double> > >&) /share/apps/OpenFOAM/OpenFOAM-2.1.0/src/OpenFOAM/lnInclude/diagTensorField.H:60:1: note: Foam::tmp<Foam::Field<Foam::Tensor<double> > > Foam::operator+(const Foam::tmp<Foam::Field<Foam::DiagTensor<double> > >&, const Foam::UList<Foam::Tensor<double> >&) /share/apps/OpenFOAM/OpenFOAM-2.1.0/src/OpenFOAM/lnInclude/diagTensorField.H:60:1: note: Foam::tmp<Foam::Field<Foam::Tensor<double> > > Foam::operator+(const Foam::tmp<Foam::Field<Foam::DiagTensor<double> > >&, const Foam::tmp<Foam::Field<Foam::Tensor<double> > >&) /share/apps/OpenFOAM/OpenFOAM-2.1.0/src/OpenFOAM/lnInclude/diagTensorField.H:63:1: note: Foam::tmp<Foam::Field<Foam::Tensor<double> > > Foam::operator+(const Foam::diagTensor&, const Foam::UList<Foam::Tensor<double> >&) /share/apps/OpenFOAM/OpenFOAM-2.1.0/src/OpenFOAM/lnInclude/diagTensorField.H:63:1: note: Foam::tmp<Foam::Field<Foam::Tensor<double> > > Foam::operator+(const Foam::diagTensor&, const Foam::tmp<Foam::Field<Foam::Tensor<double> > >&) /share/apps/OpenFOAM/OpenFOAM-2.1.0/src/OpenFOAM/lnInclude/diagTensorField.H:63:1: note: Foam::tmp<Foam::Field<Foam::Tensor<double> > > Foam::operator+(const Foam::UList<Foam::DiagTensor<double> >&, const Foam::tensor&) /share/apps/OpenFOAM/OpenFOAM-2.1.0/src/OpenFOAM/lnInclude/diagTensorField.H:63:1: note: Foam::tmp<Foam::Field<Foam::Tensor<double> > > Foam::operator+(const Foam::tmp<Foam::Field<Foam::DiagTensor<double> > >&, const Foam::tensor&) /share/apps/OpenFOAM/OpenFOAM-2.1.0/src/OpenFOAM/lnInclude/vectorTensorTransformI.H:263:36: note: Foam::vectorTensorTransform Foam::operator+(const Foam::vectorTensorTransform&, const Foam::vector&) /share/apps/OpenFOAM/OpenFOAM-2.1.0/src/OpenFOAM/lnInclude/vectorTensorTransformI.H:273:36: note: Foam::vectorTensorTransform Foam::operator+(const Foam::vector&, const Foam::vectorTensorTransform&) /share/apps/OpenFOAM/OpenFOAM-2.1.0/src/OpenFOAM/lnInclude/quaternionI.H:263:25: note: Foam::quaternion Foam::operator+(const Foam::quaternion&, const Foam::quaternion&) /share/apps/OpenFOAM/OpenFOAM-2.1.0/src/OpenFOAM/lnInclude/septernionI.H:170:25: note: Foam::septernion Foam::operator+(const Foam::septernion&, const Foam::vector&) /share/apps/OpenFOAM/OpenFOAM-2.1.0/src/OpenFOAM/lnInclude/septernionI.H:180:25: note: Foam::septernion Foam::operator+(const Foam::vector&, const Foam::septernion&) In file included from actuatorDiskExplicitForceSimpleFoam.C:75:0: pEqn.H:1:1: error: expected ';' before '{' token actuatorDiskExplicitForceSimpleFoam.C:92:1: error: expected '}' at end of input actuatorDiskExplicitForceSimpleFoam.C:92:1: error: expected '}' at end of input /share/apps/OpenFOAM/OpenFOAM-2.1.0/src/finiteVolume/lnInclude/initContinuityErrs.H:37:8: warning: unused variable 'cumulativeContErr' actuatorDiskExplicitForceSimpleFoam.C:92:1: error: expected '}' at end of input make: *** [Make/linux64Gcc45DPOpt/actuatorDiskExplicitForceSimpleFoam.o] Error 1 Code:
// Momentum predictor tmp<fvVectorMatrix> UEqn ( fvm::div(phi, U) + turbulence->divDevReff(U) ); UEqn().relax(); // Clear old values in ioVolumeForce for ( label k = 0; k < VolumeForce . size () ; k ++) { VolumeForce [k ] = vector :: zero ; } // Calculate volume force from actuator disk actuatorDisk.CalcActuatorDiskVolForce ( mesh , VolumeForce ) ; solve(UEqn() == -fvc::grad(p)) + VolumeForce //eqnResidual = solve //( //UEqn () == - fvc :: grad (p ) + VolumeForce // ). initialResidual () ; // maxResidual = max ( eqnResidual , maxResidual ); "readSIMPLEControls.H","initConvergenceCheck.H " and "convergenceCheck.H" This is my first/second approach to the code of OF, so I will try to continue with the problem and If a find the mistake, I will post the solution. Best Regards Last edited by be_inspired; June 5, 2012 at 05:03. |
|
June 4, 2012, 11:27 |
|
#2 |
Senior Member
M. Montero
Join Date: Mar 2009
Location: Madrid
Posts: 153
Rep Power: 17 |
With this new Ueqn.H code, I have received the next error:
Code:
// Momentum predictor tmp<fvVectorMatrix> UEqn ( fvm::div(phi, U) + turbulence->divDevReff(U) ); UEqn().relax(); // Clear old values in ioVolumeForce for ( label k = 0; k < VolumeForce . size () ; k ++) { VolumeForce [k ] = vector :: zero ; } // Calculate volume force from actuator disk actuatorDisk.CalcActuatorDiskVolForce ( mesh , VolumeForce ) ; solve(UEqn() == -fvc::grad(p) + (VolumeForce) //eqnResidual = solve //( //UEqn () == - fvc :: grad (p ) + VolumeForce // ). initialResidual () ; // maxResidual = max ( eqnResidual , maxResidual ); Code:
[beinspired@srvhpcmaster actuatorDiskExplicitForce]$ wmake Making dependency list for source file actuatorDiskExplicitForceSimpleFoam.C Making dependency list for source file actuatorDiskExplicitForce.cpp could not open file actuatorDiskExplicitForce for source file actuatorDiskExplicitForce.cpp SOURCE=actuatorDiskExplicitForceSimpleFoam.C ; g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-100 -I/share/apps/OpenFOAM/OpenFOAM-2.1.0/src/turbulenceModels -I/share/apps/OpenFOAM/OpenFOAM-2.1.0/src/turbulenceModels/incompressible/RAS/RASModel -I/share/apps/OpenFOAM/OpenFOAM-2.1.0/src/transportModels -I/share/apps/OpenFOAM/OpenFOAM-2.1.0/src/transportModels/incompressible/singlePhaseTransportModel -I/share/apps/OpenFOAM/OpenFOAM-2.1.0/src/finiteVolume/lnInclude -IlnInclude -I. -I/share/apps/OpenFOAM/OpenFOAM-2.1.0/src/OpenFOAM/lnInclude -I/share/apps/OpenFOAM/OpenFOAM-2.1.0/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linux64Gcc45DPOpt/actuatorDiskExplicitForceSimpleFoam.o In file included from actuatorDiskExplicitForceSimpleFoam.C:75:0: pEqn.H: In function 'int main(int, char**)': pEqn.H:1:1: error: expected ')' before '{' token actuatorDiskExplicitForceSimpleFoam.C:76:9: error: expected ';' before '}' token /share/apps/OpenFOAM/OpenFOAM-2.1.0/src/finiteVolume/lnInclude/initContinuityErrs.H:37:8: warning: unused variable 'cumulativeContErr' make: *** [Make/linux64Gcc45DPOpt/actuatorDiskExplicitForceSimpleFoam.o] Error 1 actuatorDiskExplicitForceSimpleFoam.C Code:
/*---------------------------------------------------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2004-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 <http://www.gnu.org/licenses/>. Application simpleFoam Description Steady-state solver for incompressible, turbulent flow \*---------------------------------------------------------------------------*/ #include "fvCFD.H" #include "singlePhaseTransportModel.H" #include "RASModel.H" #include "simpleControl.H" //#include "IObasicSourceList.H" #include "actuatorDiskExplicitForce.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // int main(int argc, char *argv[]) { #include "setRootCase.H" #include "createTime.H" #include "createMesh.H" #include "createFields.H" #include "initContinuityErrs.H" #include "simpleControl.H" simpleControl simple(mesh); // ************************************************************************* // Info<< "\nStarting time loop\n" << endl; actuatorDiskExplicitForce actuatorDisk; //Read actuator disk geometry actuatorDisk.ReadGeometry(mesh); //Write geometry to vtk actuatorDisk.WriteVTK(); while (simple.loop()) { Info<< "Time = " << runTime.timeName() << nl << endl; //# include "readSIMPLEControls.H" //#include "initConvergenceCheck.H" p.storePrevIter(); // --- Pressure-velocity SIMPLE corrector { #include "UEqn.H" #include "pEqn.H" } turbulence->correct(); runTime.write(); Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s" << " ClockTime = " << runTime.elapsedClockTime() << " s" << nl << endl; //# include "convergenceCheck.H" } Info<< "End\n" << endl; return 0; } // ************************************************************************* // |
|
June 5, 2012, 10:47 |
I have compiled the new code, but....
|
#3 |
Senior Member
M. Montero
Join Date: Mar 2009
Location: Madrid
Posts: 153
Rep Power: 17 |
But it seems that it does not work properly.
It computes the forces (axial and tangential), but the volumeForce is always zero. There is not a source. Please, I think that I am near to solve the problem but I do not find where it is. Thank you Code:
Starting time loop Reading actuator disk geometry . Actuator disk values loaded from fvSolution : mIntRadius : 2 mExtRadius : 45 mThrust : 319907 mTorque : 1112984 mRho : 1.225 mPointStartCenterLine : (-1 0 200) mPointEndCenterLine : (6 0 200) Time = 1 Calculating volume force from actuator disk . Reading actuator disk geometry . Actuator disk values loaded from fvSolution : mIntRadius : 2 mExtRadius : 45 mThrust : 319907 mTorque : 1112984 mRho : 1.225 mPointStartCenterLine : (-1 0 200) mPointEndCenterLine : (6 0 200) Point : 1568650 is in the actuator disk .Coordinates : (2 -13 157) Axial force : 1.01388393998 Tangential force : 0.102133860429 Tangential force : 0.102133860429 Point : 1568651 is in the actuator disk .Coordinates : (6 -13 157) Axial force : 1.01388393998 Tangential force : 0.102133860429 Tangential force : 0.102133860429 Point : 1568850 is in the actuator disk .Coordinates : (2 -11 157) Axial force : 2.81481452742 Tangential force : 0.286984707626 Tangential force : 0.286984707626 Point : 1568851 is in the actuator disk .Coordinates : (6 -11 157) Axial force : 2.81481452742 Tangential force : 0.286984707626 Tangential force : 0.286984707626 Point : 1569050 is in the actuator disk .Coordinates : (2 -9 157) Axial force : 3.66916761312 Tangential force : 0.377947068908 Tangential force : 0.377947068908 Point : 1569051 is in the actuator disk .Coordinates : (6 -9 157) Axial force : 3.66916761312 Tangential force : 0.377947068908 Tangential force : 0.377947068908 Point : 1569250 is in the actuator disk .Coordinates : (2 -7 157) Axial force : 4.21403338735 Tangential force : 0.437715527254 Tangential force : 0.437715527254 Point : 1569251 is in the actuator disk .Coordinates : (6 -7 157) Axial force : 4.21403338735 Tangential force : 0.437715527254 Tangential force : 0.437715527254 Point : 1569450 is in the actuator disk .Coordinates : (2 -5 157) Axial force : 4.57158094882 Tangential force : 0.477885337417 Tangential force : 0.477885337417 Point : 1569451 is in the actuator disk .Coordinates : (6 -5 157) Axial force : 4.57158094882 Tangential force : 0.477885337417 Tangential force : 0.477885337417 Point : 1569650 is in the actuator disk .Coordinates : (2 -3 157) Axial force : 4.79115051603 Tangential force : 0.502989645109 Tangential force : 0.502989645109 Point : 1569651 is in the actuator disk .Coordinates : (6 -3 157) Axial force : 4.79115051603 Tangential force : 0.502989645109 Tangential force : 0.502989645109 Point : 1569850 is in the actuator disk .Coordinates : (2 -1 157) Axial force : 4.89606361827 Tangential force : 0.515113904249 Tangential force : 0.515113904249 Point : 1569851 is in the actuator disk .Coordinates : (6 -1 157) Axial force : 4.89606361827 Tangential force : 0.515113904249 Tangential force : 0.515113904249 Point : 1570050 is in the actuator disk .Coordinates : (2 1 157) Axial force : 4.89606361827 Tangential force : 0.515113904249 Tangential force : 0.515113904249 Point : 1570051 is in the actuator disk .Coordinates : (6 1 157) Axial force : 4.89606361827 Tangential force : 0.515113904249 Tangential force : 0.515113904249 Point : 1570250 is in the actuator disk .Coordinates : (2 3 157) Axial force : 4.79115051603 Tangential force : 0.502989645109 Tangential force : 0.502989645109 Point : 1570251 is in the actuator disk .Coordinates : (6 3 157) Axial force : 4.79115051603 Tangential force : 0.502989645109 Tangential force : 0.502989645109 Point : 1570450 is in the actuator disk .Coordinates : (2 5 157) Axial force : 4.57158094882 Tangential force : 0.477885337417 Tangential force : 0.477885337417 Code:
// Momentum predictor tmp<fvVectorMatrix> UEqn ( fvm::div(phi, U) + turbulence->divDevReff(U) ); UEqn().relax(); // Clear old values in ioVolumeForce for (label k = 0; k < VolumeForce.size();k ++) {VolumeForce[k] = vector::zero;} // Calculate volume force from actuator disk actuatorDisk.CalcActuatorDiskVolForce (mesh,VolumeForce); solve(UEqn() == -fvc::grad(p) + VolumeForce); //eqnResidual = solve //( //UEqn () == - fvc :: grad (p ) + VolumeForce // ). initialResidual () ; // maxResidual = max ( eqnResidual , maxResidual ); |
|
August 12, 2012, 06:58 |
hello
|
#4 |
New Member
sattar
Join Date: Dec 2011
Posts: 18
Rep Power: 14 |
hi all
i am very interested in this case of actuator dis of Erik Svenning but i found the same problem of you ??? are you solved?? please contact me |
|
August 17, 2012, 11:32 |
|
#5 |
New Member
Oscar Urbina
Join Date: Nov 2011
Location: Montréal
Posts: 16
Rep Power: 14 |
hello drsattar and be_inspired,
about the Erik Svenning code there's a couple of things you ahve to take into account, first that code was made for OpenFoam 1.5 dev, and the coding the solvers has changed from that version to 2.1.x. so that's why the simplefoam solver that comes with the code won't compile in more recent versions of openfoam. if you insist on using it you would have to cut and paste the parts of the code into the newer version of simplefoam (it can be a bit tricky - it took me a while) second, that code was made on a openfoam workshop, and not for a phd or masters thesis, i've personally updated the code and made it run in the new version of openfoam and i've encounter a couple of mistakes in the code: - first in the code he sets the axial and tangential force to be in the same direction, which is not true, even though openfoam works in cartesian coordiantes you have to decompose the tagential force in Z and Y. -also the way the code selects the cells to insert the bodyforce form points and faces leads to a erratic distribution of the force. i finally gave up on that code :s i would refer you to this thread: http://www.cfd-online.com/Forums/ope...rce-model.html here they show a very simple and practical way to generate and insert a bodyforce into a solver , and depending on you C++ it turns out to be very flexible to insert mathematical expresions to calculate the force. i hope this helps and good luck! Oscar |
|
August 17, 2012, 13:50 |
bodyForce
|
#6 |
New Member
sattar
Join Date: Dec 2011
Posts: 18
Rep Power: 14 |
dear oscar_urri
i am very thanful for your reply, if you like send me your email to send you the final case which i created it of actuator disk model. i wish if you able to check it... also the case of Fan (body force mode) is not work with me??? my email (hdrsattar@yahoo.com) thank again |
|
August 19, 2012, 19:05 |
|
#7 |
New Member
Oscar Urbina
Join Date: Nov 2011
Location: Montréal
Posts: 16
Rep Power: 14 |
dear drsattar,
it's not necessary for you to send me an e-mail , my recomendation is not to use the actuador disk model form Erik Svenning, as i told you it has mistakes that i was not able to correct, you should go with the bodyforce model, i'm going to attach a sample solver and a sample case, (it's only set to add an axial force, you're gonna have to modify it to include the tangential force), to make a good case, the first thing you should do is to validate your code against the analytical solution, here's and article that talks about that, and gives the formulas for the anlytical solution, http://orbit.dtu.dk/fedora/objects/o...190785/content after you can set up an actual real case and compare it against experimental data, or against other already validated model. i wish i could help you more, but i also have do my own simulations, i have 2 semesters before i finish my masters and i have to concentrate on that. if you have any other questions ask, but it might take me a while to answer, the best of luck on your research, i know it's not easy Oscar |
|
August 20, 2012, 08:00 |
actuator disk (bodyForce)
|
#8 |
New Member
sattar
Join Date: Dec 2011
Posts: 18
Rep Power: 14 |
Dear oscar_urri
I am very grateful to you about your answer on my problem, now i will try to use and modify the attachment files ...... i wish to be contact with me in the future..... thanks again |
|
July 3, 2014, 10:54 |
|
#9 |
Senior Member
M. Montero
Join Date: Mar 2009
Location: Madrid
Posts: 153
Rep Power: 17 |
Dear oscar_urri,
With your solver, pressure wiggles are not fixed: http://www.cfd-online.com/Forums/ope...l-wiggles.html This is quite quite important for me. The report that you have linked is my reference point but I do not know how to modify simpleFoam and rotorDiskSource to manage body forces without pressure wiggles. The problem happens when body force is directly applied over the UEqn and velocity and pressure are not coupled. It seems like you have not implemented the correction proposed by your link Do you have a modified version of your simpleFoamForce to solve that? |
|
September 12, 2018, 06:45 |
|
#10 |
New Member
Join Date: Sep 2018
Posts: 2
Rep Power: 0 |
Hello everybody,
i tried to use the case and the solver from oscar_urr. When I try to compile the solver simple Foam Force, there comes an error: simpleFoamForce.C:34:22: fatal error: RASModel.H: No such file or directory #include "RASModel.H" ^ compilation terminated. make: *** [/mnt/apps_linux/home/abz860/OpenFOAM-in-Box/OpenFOAM-in-Box-18.06v1/OpenFOAM-dev/platforms/linux64Gcc62DPInt32Opt/applications/solvers/incompressible/simpleFoamForce/simpleFoamForce.o] Error 1 does anybody has an idea how to handle this? kind Regards Dirk |
|
September 14, 2018, 11:12 |
|
#11 |
Senior Member
Michael Alletto
Join Date: Jun 2018
Location: Bremen
Posts: 616
Rep Power: 16 |
do you have
-I$(LIB_SRC)/turbulenceModels/incompressible/RAS/lnInclude \ in Make/options ? This error pops up if the linker does not find the header files. |
|
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
OF2.1: turbulentInlet for LES, description of how the fluctuations are generated | Jan.Östh | OpenFOAM Running, Solving & CFD | 14 | November 26, 2019 16:57 |
kOmegaSST OF2.1 Help needed! | wiedangel | OpenFOAM Running, Solving & CFD | 0 | May 9, 2012 10:01 |