|
[Sponsors] |
October 23, 2007, 04:43 |
Hi All,
I am using the time
|
#1 |
Senior Member
Senthil Kabilan
Join Date: Mar 2009
Posts: 113
Rep Power: 17 |
Hi All,
I am using the timeVaryingUniformFixedValue class to vary the inlet pressure with respect to time. The data file is ( 0 1.547987616 0.1 1.716125532 0.2 1.880123578 0.3 1.9 0.4 1.98 ) I am using a timestep of 0.1 (this is just a test case, so not worried about the co number!) I have print statements in the interpolateXY.C to check for the values of lo and hi that is computed. Does anyone have an ideas as to why for the time 0.3 it goes to " if (lo<n && hi<n && lo != hi)" loop in the interpolateXY.c though the data table does have a value for time = 0.3? At every other time t it goes to the right loop with is "else if (lo == hi)". Is this a bug? [skabilan@brahma openFoam_Radau]$ icoFoam . weibel_icofoam_trans_modified /*---------------------------------------------------------------------------*\ | ========= | | | \ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \ / O peration | Version: 1.4.1 | | \ / A nd | Web: http://www.openfoam.org | | \/ M anipulation | | \*---------------------------------------------------------------------------*/ Exec : icoFoam . weibel_icofoam_trans_modified Date : Oct 23 2007 Time : 01:33:42 Host : brahma PID : 16382 Root : /home/skabilan/workdir/openfoam/openFoam_Radau Case : weibel_icofoam_trans_modified Nprocs : 1 Create time Create mesh for time = 0 Reading transportProperties Reading field p Loop: else if (lo == hi) hi =0 lo=0 Reading field U Reading/calculating face flux field phi Starting time loop Time = 0.1 Courant Number mean: 0 max: 0 DILUPBiCG: Solving for Ux, Initial residual = 0.999504, Final residual = 0.00809314, No Iterations 6 DILUPBiCG: Solving for Uy, Initial residual = 0.999507, Final residual = 0.00820286, No Iterations 6 DILUPBiCG: Solving for Uz, Initial residual = 0.999504, Final residual = 0.00845304, No Iterations 6 Loop: else if (lo == hi) hi =1 lo=1 GAMG: Solving for p, Initial residual = 1, Final residual = 0.0350794, No Iterations 2 time step continuity errors : sum local = 0.0324785, global = -0.00358765, cumulative = -0.00358765 Loop: else if (lo == hi) hi =1 lo=1 GAMG: Solving for p, Initial residual = 0.260792, Final residual = 0.00856939, No Iterations 2 time step continuity errors : sum local = 0.0138521, global = -0.000358116, cumulative = -0.00394577 ExecutionTime = 30.04 s ClockTime = 33 s Time = 0.2 Courant Number mean: 0.315566 max: 49.5862 DILUPBiCG: Solving for Ux, Initial residual = 0.561483, Final residual = 0.00506271, No Iterations 10 DILUPBiCG: Solving for Uy, Initial residual = 0.763739, Final residual = 0.00641278, No Iterations 10 DILUPBiCG: Solving for Uz, Initial residual = 0.480907, Final residual = 0.00450018, No Iterations 10 Loop: else if (lo == hi) hi =2 lo=2 GAMG: Solving for p, Initial residual = 0.573999, Final residual = 0.0499719, No Iterations 3 time step continuity errors : sum local = 0.113697, global = -0.000186662, cumulative = -0.00413243 Loop: else if (lo == hi) hi =2 lo=2 GAMG: Solving for p, Initial residual = 0.249277, Final residual = 0.017112, No Iterations 2 time step continuity errors : sum local = 0.175116, global = -0.000150884, cumulative = -0.00428331 ExecutionTime = 56.6 s ClockTime = 63 s Time = 0.3 Courant Number mean: 6.81871 max: 178.491 DILUPBiCG: Solving for Ux, Initial residual = 0.571084, Final residual = 2.95901, No Iterations 11 DILUPBiCG: Solving for Uy, Initial residual = 0.499858, Final residual = 0.179136, No Iterations 11 DILUPBiCG: Solving for Uz, Initial residual = 0.562771, Final residual = 0.0983058, No Iterations 11 Loop: if (lo<n && hi<n && lo != hi) hi =4 lo=3 GAMG: Solving for p, Initial residual = 0.6104, Final residual = 0.0294098, No Iterations 5 time step continuity errors : sum local = 0.278484, global = -0.000241645, cumulative = -0.00452496 Loop: if (lo<n && hi<n && lo != hi) hi =4 lo=3 GAMG: Solving for p, Initial residual = 0.229443, Final residual = 0.0170605, No Iterations 2 time step continuity errors : sum local = 2.55355, global = 0.00089873, cumulative = -0.00362623 ExecutionTime = 86.89 s ClockTime = 97 s Time = 0.4 Courant Number mean: 28.7215 max: 536.595 DILUPBiCG: Solving for Ux, Initial residual = 0.687021, Final residual = 0.0960124, No Iterations 11 DILUPBiCG: Solving for Uy, Initial residual = 0.638056, Final residual = 1.99633, No Iterations 11 DILUPBiCG: Solving for Uz, Initial residual = 0.676249, Final residual = 0.573936, No Iterations 11 Loop: else if (lo == hi) hi =4 lo=4 GAMG: Solving for p, Initial residual = 0.731519, Final residual = 0.0346012, No Iterations 4 time step continuity errors : sum local = 3.55919, global = 0.0101174, cumulative = 0.00649117 Loop: else if (lo == hi) hi =4 lo=4 GAMG: Solving for p, Initial residual = 0.236202, Final residual = 0.0173779, No Iterations 2 time step continuity errors : sum local = 16.2332, global = -0.0699737, cumulative = -0.0634826 ExecutionTime = 118.38 s ClockTime = 132 s |
|
October 24, 2007, 12:27 |
I hope 'hi' and 'lo' are integ
|
#2 |
Senior Member
Srinath Madhavan (a.k.a pUl|)
Join Date: Mar 2009
Location: Edmonton, AB, Canada
Posts: 703
Rep Power: 21 |
I hope 'hi' and 'lo' are integers. If they are floating point, then even if 'hi' is equal to 'lo' the C/C++ will not accept it, as 'hi' could be stored as 3.9999999 and 'lo' could be stored as 4.000001 and therefore according to the code, hi != lo. I faced this problem a while ago. See [1].
[1] http://gcc.gnu.org/ml/gcc-help/2005-03/msg00292.html |
|
October 24, 2007, 14:03 |
Thanks for the explanation!
|
#3 |
Senior Member
Senthil Kabilan
Join Date: Mar 2009
Posts: 113
Rep Power: 17 |
Thanks for the explanation!
Senthil |
|
October 24, 2007, 14:26 |
hi and lo are integers (labels
|
#4 |
Senior Member
Mattijs Janssens
Join Date: Mar 2009
Posts: 1,419
Rep Power: 26 |
hi and lo are integers (labels).
Is there a problem? Does the interpolateXY routine return the wrong answer? |
|
October 24, 2007, 14:59 |
Hi Mattijs,
I guess there i
|
#5 |
Senior Member
Senthil Kabilan
Join Date: Mar 2009
Posts: 113
Rep Power: 17 |
Hi Mattijs,
I guess there is a bit of a problem with the interpolateXY. Though there is an entry (pressure) for the time 0.3 in the data table. The interpolateXY.C is interpolating the values of pressure i.e, goes to "if (lo<n && hi<n && lo != hi) " instead of " else if (lo == hi)" loop because hi and lo are different as can been seen in the output that i have posted. Thanks Senthil |
|
October 26, 2007, 15:19 |
Hi,
Good day to all! I have
|
#6 |
Senior Member
Senthil Kabilan
Join Date: Mar 2009
Posts: 113
Rep Power: 17 |
Hi,
Good day to all! I have a mesh with eight outlets and every outlet is specified with a timeVaryingUniformFixedValue boundary condition. There are eight data files from which the outlets get their pressure values for every timestep. My question is... in case this problem is solved in parallel, does a single processor read from all the eight datafiles and send the p value to other processors to which the outlet has been alloted by the decomposePar or does the individual processors read the data file directly corresponding to the outlets they handle? I am working on a new boundary condition or patch in OpenFOAM that would allow a 1D system to supply the boundary condition to the 3D system. The answer to the aforementioned question would tremendously help me with my research. Thanks in advance! Senthil |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
TimeVaryingUniformFixedValueFvPathField | skabilan | OpenFOAM Running, Solving & CFD | 2 | November 9, 2007 00:34 |