|
[Sponsors] |
![]() |
![]() |
#101 |
New Member
Marc Wainwright
Join Date: Mar 2009
Posts: 3
Rep Power: 17 ![]() |
Dear Patricio,
I have now implemented the changes you suggested and they have proven to solve the problem I described in my first post. Thank you very much for your help Yours sincerely Marc |
|
![]() |
![]() |
![]() |
![]() |
#102 |
Member
Patricio Bohorquez
Join Date: Mar 2009
Location: Jaén, Spain
Posts: 95
Rep Power: 17 ![]() |
Dear Marc
I am glad it is working for you. Yours Patricio |
|
![]() |
![]() |
![]() |
![]() |
#103 |
Guest
Posts: n/a
|
Dear all.
I'm modeling a drop of the water drop. First calculations were done using ACE program. Now I have recalculate this problem using OpenFoam/interFoam. Results between ACE and interFoam are different, despite fact that both configurations are similar. All physical units are in mm, ms, g. Configuration of my project: ## /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \ / O peration | Version: 1.4.1 | | \ / A nd | Web: http://www.openfoam.org | | \/ M anipulation | | \*---------------------------------------------------------------------------*/ // FoamX Case Dictionary. FoamFile { version 2.0; format ascii; root "/opt/OpenFOAM/caelinux-1.4.1/run"; case "3d"; instance "constant/polyMesh"; local ""; class dictionary; object blockMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // arguments "/opt/OpenFOAM/caelinux-1.4.1/run/3d" off; convertToMeters 1; vertices ( (-7e-2 0 0) ( 0 0 0) ( 0 4e-2 0) (-7e-2 4e-2 0) (-7e-2 0 4e-2) ( 0 0 4e-2) ( 0 4e-2 4e-2) (-7e-2 4e-2 4e-2) ); blocks ( hex (0 1 2 3 4 5 6 7) (35 20 20) simpleGrading (1 1 1) ); edges ( ); patches ( symmetryPlane front ( (0 1 2 3) ) symmetryPlane bottom ( (0 1 5 4) ) wall sciana ( (1 2 6 5) ) patch atm ( (4 5 6 7) (3 7 6 2) (0 3 7 4) ) ); mergePatchPairs ( ); // ************************************************** *********************** // ## ## /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \ / O peration | Version: 1.4.1 | | \ / A nd | Web: http://www.openfoam.org | | \/ M anipulation | | \*---------------------------------------------------------------------------*/ // FoamX Case Dictionary. FoamFile { version 2.0; format ascii; root "/opt/OpenFOAM/caelinux-1.4.1/run"; case "3d"; instance "constant"; local ""; class dictionary; object environmentalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // g g [0 1 -2 0 0 0 0] (9.81e-3 0 0); // ************************************************** *********************** // ## ## /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \ / O peration | Version: 1.4.1 | | \ / A nd | Web: http://www.openfoam.org | | \/ M anipulation | | \*---------------------------------------------------------------------------*/ // FoamX Case Dictionary. FoamFile { version 2.0; format ascii; root "/opt/OpenFOAM/caelinux-1.4.1/run"; case "3d"; instance "constant"; local ""; class dictionary; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // phase1 { transportModel Newtonian; rho rho [1 -3 0 0 0 0 0] 0.000997; nu nu [0 2 -1 0 0 0 0] 1e-03; } phase2 { transportModel Newtonian; rho rho [1 -3 0 0 0 0 0] 1.1614e-6; nu nu [0 2 -1 0 0 0 0] 1.589e-02; } sigma sigma [1 0 -2 0 0 0 0] 3e-4; // ************************************************** *********************** // ## ## Initial gamma configuration: ## x0=-3e-2 y0=0.0 z0=0.0 r=2e-2 xmin=$x0-$r xmax=$x0+$r ymin=$y0-$r ymax=$y0+$r zmin=$z0-$r zmax=$z0+$r funkySetFields -time 0 -field gamma -keepPatches -expression "(sqr(pos().x-$x0)+sqr(pos().y-$y0) +sqr(pos().z-$z0)) <sqr($r)>= $y0 && pos().z >= $z0 ? 1 : 0" funkySetFields -time 0 -field U -keepPatches -expression "(sqr(pos().x-$x0)+sqr(pos().y-$y0) +sqr(pos().z-$z0)) <sqr($r)>= $y0 && pos().z >= $z0 ? vector(6,0,0) : vector(0,0,0)" ## Boundary conditions: gamma ## front { type symmetryPlane; } bottom { type symmetryPlane; } sciana { type constantGammaContactAngle; theta0 90; value uniform 0; } atm { type zeroGradient; } ## U ## front { type symmetryPlane; } bottom { type symmetryPlane; } sciana { type fixedValue; value uniform (0 0 0); } atm { type zeroGradient; } ## pd ## front { type symmetryPlane; } bottom { type symmetryPlane; } sciana { type zeroGradient; } atm { type fixedValue; value uniform 0; } ## When I introduce ConvertToMeters 0.1, and rescale the radius of sphere by factor 10 I obtain correct physical behaviour. Maybe some physical parameters is missing ? Thank You. Jarek |
|
![]() |
![]() |
![]() |
#104 |
Senior Member
musaddeque hossein
Join Date: Mar 2009
Posts: 309
Rep Power: 18 ![]() |
Gentlemen:
I am running the dambreak example using the interfoam solver and have the following question.I have a 160 x 100 mesh. I need to extract the gamma value along the bottom of the "tank" or along the x axis (horizontal axis) and the pressure values along the "left" and "right" walls. To do this the relevant cell or point coordinates will have to be identified and then correlated with the corresponding pressure or gamma. However when I look thru the pressure and gamma flies that OpenFoam generates during the program run, all I see are the values list in a column fashion with no reference to the cell in which a particular pressure or gamma value occurs. How can one determine which values are at the wall? Does OpenFoam have a utility for doing this? |
|
![]() |
![]() |
![]() |
![]() |
#105 |
Senior Member
Mark Couwenberg
Join Date: Mar 2009
Location: Netherlands
Posts: 130
Rep Power: 17 ![]() |
Mussaddeque,
You can probably use sampleDict. However more simple would be to define separate names for the separate patches (e.g. bottom, leftWall, rightWall instead of walls). Having done so, you can extract the values fairly simple, you can integrate them (patchIntegrate), make xyz plot etc). Brgds, Mark |
|
![]() |
![]() |
![]() |
![]() |
#106 |
Member
hamdi
Join Date: Mar 2009
Posts: 75
Rep Power: 17 ![]() |
hi foamers!
I m looking for an axisymetrique case with a RANS turbulence model; I've already investigated the Lesinetrfoam, and Rasinterfoam cases, but they are not helpfull for me. some advices will be welcom. Thanks for all |
|
![]() |
![]() |
![]() |
![]() |
#107 |
Senior Member
musaddeque hossein
Join Date: Mar 2009
Posts: 309
Rep Power: 18 ![]() |
Mark:
Thanks for your response to my post: http://www.cfd-online.com/cgi-bin/Op...2291#POST32291 Where is the sampleDict file as you suggest, located? I will need to copy it into the "system" folder for the specific problem, correct? Musa |
|
![]() |
![]() |
![]() |
![]() |
#108 |
Senior Member
musaddeque hossein
Join Date: Mar 2009
Posts: 309
Rep Power: 18 ![]() |
Gentlemen:
This is a follow up to my post on this thread earlier: http://www.cfd-online.com/cgi-bin/Op...2481#POST32481 How do I get sampleDict to run? I inserted sampledict in the system folder for the Dam Break case that I am trying to run, but sampleDict does no appear to be doing anything. So my question is, is the mere act of including a file in the system folder sufficient to ensure that it will be picked up and run by the solver or something has to be done somewhere? I look forward to your comments / suggestions. Musa |
|
![]() |
![]() |
![]() |
![]() |
#109 |
Senior Member
Michael Jaworski
Join Date: Mar 2009
Location: Champaign, IL, USA
Posts: 126
Rep Power: 17 ![]() |
Musa,
In the OpenFOAM user guide there is a tutorial which includes the use of the sample utility which is associated with the sampleDict files. You can read about it here: http://www.opencfd.co.uk/openfoam/do...ml#x6-370002.2 There are also numerous posts on the forum dealing with "sample" which could also be of assistance. Regards, Mike J. |
|
![]() |
![]() |
![]() |
![]() |
#110 |
Senior Member
Michael Jaworski
Join Date: Mar 2009
Location: Champaign, IL, USA
Posts: 126
Rep Power: 17 ![]() |
Musa,
I am unable to get the "surface" portion of sample to work as well (no files created). Perhaps someone out there has an example dictionary. Otherwise, you'll have to dig into the source code to determine the error. There used to be a surfaceSample utility in 1.4.1. It's been removed from 1.5, apparently. Looking for it in the old release might give you a temporary fix. Regards, Mike J. |
|
![]() |
![]() |
![]() |
![]() |
#111 |
Senior Member
musaddeque hossein
Join Date: Mar 2009
Posts: 309
Rep Power: 18 ![]() |
Gentlemen:
If I want to record the pressures on the sloped walls in the sloshing tank problem, can anyone suggest how I can do that? In the sloshing tank blockMeshDict, the walls are referred to by the vertex numbers, but sampleDict needs to refer to names - such as lowerWall etc (unless I am mistaken ). I tried to name each wall in blockmesh, so that I could refer to them in sampleDict, but got errors when I run blockMesh. Is there any process in sampleDict that will permit me to insert the vertices of any of the sloped or vertical walls of the tank and obtain the pressure at those faces? Thanks Musa |
|
![]() |
![]() |
![]() |
![]() |
#112 |
Senior Member
Daniel P. Combest
Join Date: Mar 2009
Location: St. Louis, USA
Posts: 621
Rep Power: 0 ![]() ![]() |
Patricio,
in your previous post "You just need to re-write the PISO-Loop as a function of p instead of pd. This means that the flux prediction in pEqn.H is to be modified, as well as the momentum predictor in UEqn.H, replacing -ghf*fvc::snGrad(rho) by the discretisation of rho*g." Is it correct to just pull out the (+ ghf*fvc::snGrad(rho)) term from the UEqn.c momentum predictor and the same term out of the phi calculation from PEqn.c, then applying (rho*g) to the right side of the UEqn? I have done this and the final solution to dambreak is slightly different than the original interfoam solver (so is the result of rasInterFoam for that matter). I'm just double checking, as I want to make sure this is correct before moving on. Dan |
|
![]() |
![]() |
![]() |
![]() |
#113 | |
Senior Member
Santiago Marquez Damian
Join Date: Aug 2009
Location: Santa Fe, Santa Fe, Argentina
Posts: 452
Rep Power: 24 ![]() |
Hello all, I'm running interFoam under a OpenFoam-1.5 distro. Actually I'm facing problems described by Henry in #27
Quote:
This spikes causes spurious deformations in the free surface that ought to be sinusoidal (is a mass pendulum, sloshing problem). Any clues in solving?, I've been working in this for several weeks, without success... Thanks in advance.
__________________
Santiago MÁRQUEZ DAMIÁN, Ph.D. Research Scientist Research Center for Computational Methods (CIMEC) - CONICET/UNL Tel: 54-342-4511594 Int. 7032 Colectora Ruta Nac. 168 / Paraje El Pozo (3000) Santa Fe - Argentina. http://www.cimec.org.ar |
||
![]() |
![]() |
![]() |
![]() |
#114 |
Senior Member
J. Cai
Join Date: Apr 2009
Posts: 180
Rep Power: 17 ![]() |
There are so many people working in the multi-phase flow. I am also struggling in it.
Best regards, Chiven |
|
![]() |
![]() |
![]() |
![]() |
#115 |
Senior Member
J. Cai
Join Date: Apr 2009
Posts: 180
Rep Power: 17 ![]() |
Any comments are appreciated.
I am meeting this problem. I want to update rho1 according to its temperature, thus I have to revise rho1 from dimensionedScalar into volScalarField. I do it like alpha1 or nu, but fail. For example, I revise // nuModel1_->viscosityProperties().lookup("rho") >> rho1_; rho1_(nuModel1_->U_.db().lookupObject<const volScalarField> ("rho")), bool twoPhaseMixture::read() { if (transportModel::read()) { if ( nuModel1_().read(subDict(phase1Name_)) && nuModel2_().read(subDict(phase2Name_)) ) { // nuModel1_->viscosityProperties().lookup("rho") >> rho1_; nuModel1_->U_.db().lookupObject<const volScalarField> ("rho") >> rho1_; nuModel2_->viscosityProperties().lookup("rho") >> rho2_; ... } The errors occur when compile the codes. ----------------------------------------------------------------------------------------------- ../incompressible/viscosityModels/viscosityModel/viscosityModel.H:74: error: 'const Foam::volVectorField& Foam::viscosityModel::U_' is protected incompressibleTwoPhaseMixture/twoPhaseMixture.C:110: error: within this context incompressibleTwoPhaseMixture/twoPhaseMixture.H:84: warning: 'Foam::twoPhaseMixture::alpha1_' will be initialized after incompressibleTwoPhaseMixture/twoPhaseMixture.H:69: warning: 'const Foam::volScalarField& Foam::twoPhaseMixture::rho1_' incompressibleTwoPhaseMixture/twoPhaseMixture.C:63: warning: when initialized here incompressibleTwoPhaseMixture/twoPhaseMixture.C: In member function 'Foam::tmp<Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> > Foam::twoPhaseMixture::muf() const': incompressibleTwoPhaseMixture/twoPhaseMixture.C:159: error: no match for 'operator+' in 'Foam: ![]() ![]() ![]() ![]() ...... |
|
![]() |
![]() |
![]() |
![]() |
#116 |
Senior Member
Kathrin Kissling
Join Date: Mar 2009
Location: Besigheim, Germany
Posts: 134
Rep Power: 17 ![]() |
Chiven,
I don't know whether you should go that way. rho1_ is just a value, which is used to calculate the mixture density. So I would go and leave rho1_ defined the way it is. This line nuModel1_->U_.db().lookupObject<const volScalarField> ("rho") >> rho1_; Just does not work, because you want to use the nuModel function to access the memberfunction of a private object. Thats not possible in C++, and that's what gives you your error message ./incompressible/viscosityModels/viscosityModel/viscosityModel.H:74: error: 'const Foam::volVectorField& Foam::viscosityModel::U_' is protected you also seem to define variables in the header after other variables, which want to acces the first (here alpha1) incompressibleTwoPhaseMixture/twoPhaseMixture.H:84: warning: 'Foam::twoPhaseMixture::alpha1_' will be initialized after Check on that to avoid access violations, which are always hard to figure out. To solve your problem: Try to include an additional member function which calculates the volScalarField rho1TempDependend_ for instance in dependency of the volScalarField T_ and a dimensionedScalar rho1_ you could go like that for the member function(I havn't compiled it so there might be typos) volScalarField twoPhaseMixture::rhoTemp() const ( return rho1_ + a*T ; //just for instance ) and then you can use this field... You will have to adapt the other member functions to this new structure, but take it easy and do one step at a time. Start with the new member function and if it works then adapt the other routines you might need to add T in your constructors and you might need to add it in the header to call twoPhaseMixture I hope this to be some help. Kathi |
|
![]() |
![]() |
![]() |
![]() |
#117 |
Senior Member
Kathrin Kissling
Join Date: Mar 2009
Location: Besigheim, Germany
Posts: 134
Rep Power: 17 ![]() |
... and please don't crosspost!
|
|
![]() |
![]() |
![]() |
![]() |
#118 |
Senior Member
Nima Samkhaniani
Join Date: Sep 2009
Location: Tehran, Iran
Posts: 1,268
Blog Entries: 1
Rep Power: 25 ![]() |
hi dear foamer
as i know there is no PLIC solver in openFoam, and openFoam just shows us a distribution of phase not the exact location of interface in cell!!!!!!! now i want to implement voset method , whats ur hints? |
|
![]() |
![]() |
![]() |
![]() |
#119 |
New Member
sasan
Join Date: Feb 2010
Posts: 5
Rep Power: 16 ![]() |
Hi,
I have difficulty running DamBreak case in parallel. On my laptop, it run perfectly fine. However, it crashes when I start running it in parallel. I am running this case on a node with 4 processors. I decomposed my mesh using decomposePar without any problem. After running it on a parallel machine, it askes for p_rgh file. I have no idea what p_rgh is. Here is the error: PBS has allocated the following nodes: tezpur203 A total of 4 processors on 1 nodes allocated --------------------------------------------- Check nodes and clean them of stray processes --------------------------------------------- Checking node tezpur203 14:07:48 Done clearing all the allocated nodes ------------------------------------------------------ Concluding PBS prologue script - 25-Jul-2010 14:07:48 ------------------------------------------------------ /*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.7.0 | | \\ / A nd | Web: www.OpenFOAM.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ Build : 1.7.0-21131bcbd876 Exec : /home/me/packages/OpenFOAM-1.7.0/applications/bin/linux64GccDPOpt/interFoam Date : Jul 25 2010 Time : 14:07:49 Host : tezpur203 PID : 30430 | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.7.0 | | \\ / A nd | Web: www.OpenFOAM.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ Build : 1.7.0-21131bcbd876 Exec : /home/ali/packages/OpenFOAM-1.7.0/applications/bin/linux64GccDPOpt/interFoam Date : Jul 25 2010 Time : 14:07:49 Host : tezpur203 PID : 30427 Case : /work/ali/damBreak nProcs : 1 SigFpe : Enabling floating point exception trapping (FOAM_SIGFPE). // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Case : /work/ali/damBreak nProcs : 1 SigFpe : Enabling floating point exception trapping (FOAM_SIGFPE). . . . . // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create mesh for time = 0 // using new solver syntax: pcorr { solver PCG; preconditioner DIC; --> FOAM FATAL IO ERROR: cannot open file file: /work/ali/damBreak/0/p_rgh at line 0. From function regIOobject::readStream() in file db/regIOobject/regIOobjectRead.C at line 61. FOAM exiting // using new solver syntax: pcorr { solver PCG; preconditioner DIC; tolerance 1e-10; relTol 0; } // using new solver syntax: pd { solver PCG; preconditioner DIC; tolerance 1e-07; relTol 0.05; } // using new solver syntax: pdFinal { solver PCG; preconditioner DIC; tolerance 1e-07; relTol 0; } // using new solver syntax: U { solver PBiCG; preconditioner DILU; tolerance 1e-06; relTol 0; } Reading field p_rgh Any help is appreciated. |
|
![]() |
![]() |
![]() |
![]() |
#120 |
Senior Member
Niels Gjoel Jacobsen
Join Date: Mar 2009
Location: Copenhagen, Denmark
Posts: 1,903
Rep Power: 37 ![]() ![]() |
Hi
p_rgh is the new name for the pressure in OF17. Are you sure that you are using a tutorial from OF17? Can you run the problem on the parallel computer in a serial manner? Best regards, Niels |
|
![]() |
![]() |
![]() |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
InterFoam MULES solver | jaswi | OpenFOAM Running, Solving & CFD | 6 | June 21, 2022 09:46 |
Wmake problem interFoam solver | feijooos | OpenFOAM Running, Solving & CFD | 4 | December 8, 2008 12:01 |
DICPCG solver in interFoam | m9819348 | OpenFOAM Running, Solving & CFD | 1 | September 20, 2007 14:10 |
About interfoam solver | qiu | OpenFOAM Running, Solving & CFD | 0 | May 6, 2007 23:48 |
Need documentation for interFOAM solver | mer | OpenFOAM Running, Solving & CFD | 5 | May 31, 2006 13:22 |