|
[Sponsors] |
March 21, 2021, 20:19 |
about double numbers' Precision
|
#1 |
New Member
tom tony
Join Date: Oct 2018
Posts: 2
Rep Power: 0 |
I want to some events happen in sometime at some places.So I generate random time and points,and put them in an vector.
As the runTime++,I use an If in the loop that act on the vector,to find whether there is a time equal the runTime.value().However,I can't get the output which I expected. following is the code. Code:
//about time and coordinate struct coordinateTime { scalar breakTime; scalar xCoordinate; scalar yCoordinate; }; //vector store time and points std::vector<coordinateTime> timeCoordinateVector {}; // get area of 'top' boundary label patchID = mesh.boundaryMesh().findPatchID("top"); const polyPatch& cPatch = mesh.boundaryMesh()[patchID]; const surfaceScalarField& magSf = mesh.magSf(); scalar patchArea = 0.0; forAll(cPatch,faceI) { patchArea += magSf.boundaryField()[patchID][faceI]; } Info << "Patch Area " << patchArea << endl; //get the total time scalar totalTime = runTime.controlDict().lookupOrDefault<scalar>("endTime", 50.); Info << "total Time = " << nl << totalTime << endl; //get the deltaT scalar deltatime = runTime.controlDict().lookupOrDefault<scalar>("deltaT", 0.1); //get the total number of events happen label totalBreaker = ceil(0.00001*totalTime*patchArea); Info << "total Number of breaker = " << nl << totalBreaker << endl; //generate the random time and points Random ranGen(clock::getTime()+pid()); scalar xIntial,yIntial; scalar a=0., b=14.08; scalar g = 0.,h = 7.04; scalar e = 0.,f = totalTime; scalar scale = 0.1; struct coordinateTime coordinateTime1; for(label i = 0;i<totalBreaker;i++) { coordinateTime1.xCoordinate = a+b*(random()/(RAND_MAX+1.)); coordinateTime1.yCoordinate = g+h*(random()/(RAND_MAX+1.)); coordinateTime1.breakTime = f*random()/(RAND_MAX+1.); coordinateTime1.breakTime = floor(coordinateTime1.breakTime/scale+0.5)*scale; timeCoordinateVector.push_back(coordinateTime1); } Info<<"the size of timeCoordinateVector vector :"<<timeCoordinateVector.size()<<endl; for(auto x: timeCoordinateVector) { Info<<x.breakTime<<" "<<x.xCoordinate<<" "<<x.yCoordinate<<endl; } while (runTime.run()) { Info << "Running... " << "Time = " << runTime.value() << endl; for(auto x:timeCoordinateVector) { if(abs(runTime.value()-x.breakTime)<1e-6) { Info<<"break happen"<<endl; } } runTime++; } Code:
the size of timeCoordinateVector vector :18 15.7 11.8298 2.77646 4 11.242 6.418 5.6 4.71994 5.40834 12.6 7.7999 3.36088 19 5.13617 3.61434 14.3 12.9 4.47541 0.3 1.99376 4.27306 16.1 3.41985 0.96611 2.6 2.20604 2.82265 4.4 1.53203 7.03243 12.3 7.22209 5.90735 10.5 4.16813 4.48837 5.9 6.94965 6.84834 15.4 10.8607 3.70828 5.7 5.63522 6.27637 18.4 4.96261 5.68638 10.5 0.982154 6.68326 13.3 1.21167 1.35319 Running... Time = 0 break happen Running... Time = 0.1 break happen Running... Time = 0.2 break happen Running... Time = 0.3 break happen Running... Time = 0.4 break happen Running... Time = 0.5 break happen Running... Time = 0.6 break happen Running... Time = 0.7 break happen Running... Time = 0.8 break happen Running... Time = 0.9 break happen Running... Time = 1 break happen Running... Time = 1.1 break happen Running... Time = 1.2 break happen Running... Time = 1.3 Running... Time = 1.4 Running... Time = 1.5 Running... Time = 1.6 break happen Running... Time = 1.7 break happen Running... Time = 1.8 break happen Running... Time = 1.9 break happen Running... Time = 2 break happen Running... Time = 2.1 break happen Running... Time = 2.2 break happen Running... Time = 2.3 break happen Running... Time = 2.4 break happen Running... Time = 2.5 break happen Running... Time = 2.6 break happen Running... Time = 2.7 break happen Running... Time = 2.8 break happen Running... Time = 2.9 break happen Running... Time = 3 break happen break happen Running... Time = 3.1 break happen break happen Running... Time = 3.2 break happen break happen Running... Time = 3.3 break happen break happen Running... Time = 3.4 break happen break happen break happen Running... Time = 3.5 break happen break happen break happen Running... Time = 3.6 break happen break happen Running... Time = 3.7 break happen break happen Running... Time = 3.8 break happen break happen Running... Time = 3.9 break happen break happen Running... Time = 4 break happen break happen Running... Time = 4.1 break happen break happen Running... Time = 4.2 break happen break happen Running... Time = 4.3 break happen break happen Running... Time = 4.4 break happen break happen Running... Time = 4.5 break happen break happen Running... Time = 4.6 break happen break happen Running... Time = 4.7 break happen break happen break happen Running... Time = 4.8 break happen break happen break happen break happen Running... Time = 4.9 break happen break happen break happen break happen Running... Time = 5 break happen break happen break happen break happen break happen Running... Time = 5.1 break happen break happen break happen break happen Running... Time = 5.2 break happen break happen break happen break happen Running... Time = 5.3 break happen break happen break happen break happen Running... Time = 5.4 break happen break happen break happen break happen Running... Time = 5.5 break happen break happen break happen Running... Time = 5.6 break happen break happen break happen Running... Time = 5.7 break happen break happen break happen Running... Time = 5.8 break happen break happen break happen Running... Time = 5.9 break happen break happen break happen Running... Time = 6 break happen break happen break happen Running... Time = 6.1 break happen break happen break happen Running... Time = 6.2 break happen break happen break happen Running... Time = 6.3 break happen break happen break happen Running... Time = 6.4 break happen break happen break happen Running... Time = 6.5 break happen break happen break happen Running... Time = 6.6 break happen break happen break happen Running... Time = 6.7 break happen break happen Running... Time = 6.8 break happen Running... Time = 6.9 break happen Running... Time = 7 Running... Time = 7.1 Running... Time = 7.2 Running... Time = 7.3 Running... Time = 7.4 Running... Time = 7.5 Running... Time = 7.6 Running... Time = 7.7 Running... Time = 7.8 Running... Time = 7.9 Running... Time = 8 Running... Time = 8.1 Running... Time = 8.2 Running... Time = 8.3 Running... Time = 8.4 Running... Time = 8.5 Running... Time = 8.6 Running... Time = 8.7 Running... Time = 8.8 Running... Time = 8.9 Running... Time = 9 Running... Time = 9.1 Running... Time = 9.2 Running... Time = 9.3 Running... Time = 9.4 Running... Time = 9.5 Running... Time = 9.6 break happen break happen Running... Time = 9.7 break happen break happen Running... Time = 9.8 break happen break happen Running... Time = 9.9 break happen break happen Running... Time = 10 break happen break happen Running... Time = 10.1 break happen break happen Running... Time = 10.2 break happen break happen Running... Time = 10.3 break happen break happen Running... Time = 10.4 break happen break happen Running... Time = 10.5 break happen break happen Running... Time = 10.6 break happen break happen Running... Time = 10.7 break happen break happen Running... Time = 10.8 break happen break happen Running... Time = 10.9 break happen break happen Running... Time = 11 break happen break happen Running... Time = 11.1 break happen break happen Running... Time = 11.2 break happen break happen Running... Time = 11.3 break happen break happen Running... Time = 11.4 break happen break happen break happen Running... Time = 11.5 break happen break happen break happen Running... Time = 11.6 break happen Running... Time = 11.7 break happen break happen Running... Time = 11.8 break happen break happen Running... Time = 11.9 break happen break happen Running... Time = 12 break happen break happen Running... Time = 12.1 break happen break happen Running... Time = 12.2 break happen break happen Running... Time = 12.3 break happen break happen Running... Time = 12.4 break happen break happen break happen Running... Time = 12.5 break happen break happen break happen Running... Time = 12.6 break happen break happen break happen Running... Time = 12.7 break happen break happen break happen Running... Time = 12.8 break happen break happen break happen Running... Time = 12.9 break happen break happen break happen Running... Time = 13 break happen break happen break happen Running... Time = 13.1 break happen break happen break happen Running... Time = 13.2 break happen break happen break happen Running... Time = 13.3 break happen break happen break happen Running... Time = 13.4 break happen break happen break happen Running... Time = 13.5 break happen break happen break happen Running... Time = 13.6 break happen break happen break happen Running... Time = 13.7 break happen break happen Running... Time = 13.8 break happen break happen Running... Time = 13.9 break happen break happen Running... Time = 14 break happen break happen Running... Time = 14.1 break happen break happen Running... Time = 14.2 break happen break happen Running... Time = 14.3 break happen break happen Running... Time = 14.4 break happen Running... Time = 14.5 break happen break happen Running... Time = 14.6 break happen break happen Running... Time = 14.7 break happen break happen Running... Time = 14.8 break happen break happen break happen Running... Time = 14.9 break happen break happen break happen Running... Time = 15 break happen break happen break happen Running... Time = 15.1 break happen break happen break happen Running... Time = 15.2 break happen break happen break happen break happen Running... Time = 15.3 break happen break happen break happen break happen Running... Time = 15.4 break happen break happen break happen Running... Time = 15.5 break happen break happen break happen Running... Time = 15.6 break happen break happen break happen Running... Time = 15.7 break happen break happen break happen Running... Time = 15.8 break happen break happen break happen Running... Time = 15.9 break happen break happen break happen Running... Time = 16 break happen break happen break happen Running... Time = 16.1 break happen break happen break happen Running... Time = 16.2 break happen break happen break happen Running... Time = 16.3 break happen break happen break happen Running... Time = 16.4 break happen break happen break happen Running... Time = 16.5 break happen break happen Running... Time = 16.6 break happen break happen Running... Time = 16.7 break happen break happen Running... Time = 16.8 break happen Running... Time = 16.9 break happen Running... Time = 17 break happen Running... Time = 17.1 break happen Running... Time = 17.2 Running... Time = 17.3 Running... Time = 17.4 Running... Time = 17.5 break happen Running... Time = 17.6 break happen Running... Time = 17.7 break happen Running... Time = 17.8 break happen Running... Time = 17.9 break happen Running... Time = 18 break happen Running... Time = 18.1 break happen break happen Running... Time = 18.2 break happen break happen Running... Time = 18.3 break happen break happen Running... Time = 18.4 break happen break happen Running... Time = 18.5 break happen break happen Running... Time = 18.6 break happen break happen Running... Time = 18.7 break happen break happen Running... Time = 18.8 break happen break happen Running... Time = 18.9 break happen break happen Running... Time = 19 break happen break happen Running... Time = 19.1 break happen break happen Running... Time = 19.2 break happen break happen Running... Time = 19.3 break happen break happen Running... Time = 19.4 break happen Running... Time = 19.5 break happen Running... Time = 19.6 break happen Running... Time = 19.7 break happen Running... Time = 19.8 break happen Running... Time = 19.9 break happen Last edited by tomtony; March 21, 2021 at 20:40. Reason: code style |
|
Tags |
double scalar precision |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
CFD by anderson, chp 10.... supersonic flow over flat plate | varunjain89 | Main CFD Forum | 18 | May 11, 2018 07:31 |
Missing math.h header | Travis | FLUENT | 4 | January 15, 2009 11:48 |
what's wrong about my code for 2d burgers equation | morxio | Main CFD Forum | 3 | April 27, 2007 10:38 |
REAL GAS UDF | brian | FLUENT | 6 | September 11, 2006 08:23 |
Could anybody help me see this error and give help | liugx212 | OpenFOAM Running, Solving & CFD | 3 | January 4, 2006 18:07 |