update rapid filling
This commit is contained in:
parent
29d922e3c5
commit
ae251598a4
|
@ -1,3 +1,3 @@
|
||||||
2
|
|
||||||
0.049302 0.00425012 -0.0068537
|
0.049302 0.00425012 -0.0068537
|
||||||
0.0456989 -0.0209381 -0.00786771
|
0.0456989 -0.0209381 -0.00786771
|
||||||
|
|
||||||
|
|
|
@ -39,11 +39,7 @@ positionParticles // positions particles
|
||||||
{
|
{
|
||||||
name dataFile; // the name of the file that contains position and particle data, the data format is ASCII. The file is located at the root case folder
|
name dataFile; // the name of the file that contains position and particle data, the data format is ASCII. The file is located at the root case folder
|
||||||
|
|
||||||
numPoints 10000;
|
commaSeparated No; // optional (default is No). if Yes, then fields are separated by a comma
|
||||||
|
|
||||||
fields ( (velocity realx3) (shapeName word) ); // (optional, it could be an empty list or omitted) list of other fields/data that should be read from the file
|
|
||||||
|
|
||||||
commaSeparated No; // optional (default is No). if Yes, then fields are separated by a comma
|
|
||||||
}
|
}
|
||||||
|
|
||||||
regionType box; // other options: cylinder and sphere
|
regionType box; // other options: cylinder and sphere
|
||||||
|
|
|
@ -21,29 +21,63 @@ Licence:
|
||||||
#include "error.hpp"
|
#include "error.hpp"
|
||||||
#include "dictionary.hpp"
|
#include "dictionary.hpp"
|
||||||
#include "positionFile.hpp"
|
#include "positionFile.hpp"
|
||||||
|
|
||||||
|
|
||||||
|
#include "streams.hpp"
|
||||||
|
// #include "token.hpp"
|
||||||
|
#include "fileSystem.hpp"
|
||||||
#include "iFstream.hpp"
|
#include "iFstream.hpp"
|
||||||
|
#include "oFstream.hpp"
|
||||||
|
|
||||||
bool pFlow::positionFile::positionPointsFile()
|
bool pFlow::positionFile::positionPointsFile()
|
||||||
{
|
{
|
||||||
std::cout << "Reading user defined position file....";
|
REPORT(0) << "Reading user defined position file....";
|
||||||
|
|
||||||
position_.clear();
|
position_.clear();
|
||||||
|
|
||||||
// ToDo: read position data from file.
|
// Read position data from file.
|
||||||
|
iFstream is(fileName_);
|
||||||
std::ifstream inFile(fileName_);
|
|
||||||
|
|
||||||
inFile >> numPoints_;
|
|
||||||
|
|
||||||
realx3 tempPoint;
|
realx3 tempPoint;
|
||||||
|
|
||||||
for(int i = 0; i < numPoints_; i++)
|
token tok;
|
||||||
|
|
||||||
|
while (!is.eof() || !is.bad())
|
||||||
{
|
{
|
||||||
inFile >> tempPoint.x_ >> tempPoint.y_ >> tempPoint.z_;
|
// read position x
|
||||||
|
is >> tempPoint.x_;
|
||||||
|
|
||||||
|
if(commaSeparated_)
|
||||||
|
{
|
||||||
|
is >> tok;
|
||||||
|
if(tok.type() != token::COMMA)
|
||||||
|
{
|
||||||
|
fatalErrorInFunction << "Error datafile format, the data not comma separated!";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// read position y
|
||||||
|
is >> tempPoint.y_;
|
||||||
|
|
||||||
|
if(commaSeparated_)
|
||||||
|
{
|
||||||
|
is >> tok;
|
||||||
|
if(tok.type() != token::COMMA)
|
||||||
|
{
|
||||||
|
fatalErrorInFunction << "Error datafile format, the data not comma separated!";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// read position z
|
||||||
|
is >> tempPoint.z_;
|
||||||
|
|
||||||
|
// insert position data to vector
|
||||||
position_.push_back(tempPoint);
|
position_.push_back(tempPoint);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::cout << "Done!" << std::endl;
|
REPORT(0) << "Done!" << END_REPORT;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -63,15 +97,15 @@ pFlow::positionFile::positionFile
|
||||||
(
|
(
|
||||||
poDict_.getVal<word>("name")
|
poDict_.getVal<word>("name")
|
||||||
),
|
),
|
||||||
numPoints_
|
commaSeparated_
|
||||||
(
|
(
|
||||||
poDict_.getVal<uint64>("numPoints")
|
poDict_.getValOrSet("commaSeparated", Logical("Yes"))
|
||||||
),
|
),
|
||||||
position_
|
position_
|
||||||
(
|
(
|
||||||
"position",
|
"position",
|
||||||
max(maxNumberOfParticles(), numPoints_),
|
max(maxNumberOfParticles(), position_.size()),
|
||||||
numPoints_ ,
|
0,
|
||||||
RESERVE()
|
RESERVE()
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
|
|
@ -35,12 +35,14 @@ private:
|
||||||
|
|
||||||
dictionary poDict_;
|
dictionary poDict_;
|
||||||
|
|
||||||
word fileName_;
|
// word fileName_;
|
||||||
|
|
||||||
uint32 numPoints_;
|
fileSystem fileName_;
|
||||||
|
|
||||||
realx3Vector position_;
|
realx3Vector position_;
|
||||||
|
|
||||||
|
Logical commaSeparated_;
|
||||||
|
|
||||||
bool positionPointsFile();
|
bool positionPointsFile();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
@ -77,6 +79,11 @@ public:
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// bool commaSeparated()const
|
||||||
|
// {
|
||||||
|
// return commaSeparated_();
|
||||||
|
// }
|
||||||
|
|
||||||
// - const access to position
|
// - const access to position
|
||||||
const realx3Vector& position()const final
|
const realx3Vector& position()const final
|
||||||
{
|
{
|
||||||
|
@ -88,8 +95,6 @@ public:
|
||||||
{
|
{
|
||||||
return position_;
|
return position_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue