Skip to content
Snippets Groups Projects
Commit db0a07f4 authored by Konstantin Kutscher's avatar Konstantin Kutscher
Browse files

make G() inline

parent 1a017e6c
No related branches found
No related tags found
No related merge requests found
......@@ -456,7 +456,7 @@ void Averaging::volumeAveragingWithMPI(double l_real)
if (yy < 0) yy = dimensions[1] + yy;
if (yy >= dimensions[1]) yy = yy - dimensions[1];
if (zz < 0) zz = dimensions[2] + zz;
if (zz < 0) zz = 0;
if (zz >= dimensions[2]) zz = dimensions[2] - 1;
double mm = (G((double)x, l)*G((double)y, l)*G((double)z, l)) / lNorm;
......@@ -966,7 +966,7 @@ void Averaging::meanOfStresses(int numberOfTimeSteps)
}
}
void Averaging::planarAveragingMQ(std::array<int, 3> dimensions)
void Averaging::planarAveragingMQ()
{
double numberof_XY_points = (double)dimensions[0] * (double)dimensions[1];
......@@ -1047,12 +1047,3 @@ void Averaging::readVolumeAveragingValuesFromBinaryFiles(std::string fname, int
readMatrixFromBinaryFiles<double>(fname + "Vz" + UbSystem::toString(timeStep) + ".bin", vaVzMatrix);
readMatrixFromBinaryFiles<double>(fname + "Pr" + UbSystem::toString(timeStep) + ".bin", vaPrMatrix);
}
//////////////////////////////////////////////////////////////////////////
double Averaging::G(double x, double l)
{
if (fabs(x) <= l)
return l - fabs(x);
else
return 0.0;
}
//////////////////////////////////////////////////////////////////////////
\ No newline at end of file
......@@ -43,7 +43,7 @@ public:
void meanOfFluctuations(int numberOfTimeSteps);
void sumOfStresses();
void meanOfStresses(int numberOfTimeSteps);
void planarAveragingMQ(std::array<int, 3> dimensions);
void planarAveragingMQ();
void writeToCSV(std::string path, double origin, double deltax);
void readVolumeAveragingValuesFromBinaryFiles(std::string fname, int timeStep);
......@@ -216,4 +216,12 @@ template<class T> void Averaging::readMatrixFromBinaryFiles(std::string fname, C
timer_write->StopTimer();
UBLOG(logINFO,"read matrix time: " + UbSystem::toString(timer_write->GetElapsedTime()) + " s");
}
//////////////////////////////////////////////////////////////////////////
inline double Averaging::G(double x, double l)
{
if (fabs(x) <= l)
return l - fabs(x);
else
return 0.0;
}
//////////////////////////////////////////////////////////////////////////
\ No newline at end of file
#include <iostream>
#include <string>
#include "VirtualFluids.h"
#include "Averaging.h"
using namespace std;
//////////////////////////////////////////////////////////////////////////
int main(int argc, char* argv[])
{
try
{
SPtr<Communicator> comm = MPICommunicator::getInstance();
int myid = comm->getProcessID();
//Pheonix //double deltaX = 1; //double halfDeltaX = deltaX / 2.0; //std::array<int, 3> dimensions = { 600 / (int)deltaX, 400 / (int)deltaX, 400 / (int)deltaX }; //std::array<double, 3> geo_origin = { halfDeltaX, halfDeltaX, halfDeltaX }; //std::array<double, 3> geo_spacing = { 1,1,1 }; //std::array<int, 6> geo_extent = { 0, dimensions[0] - 1, 0, dimensions[1] - 1, 0, dimensions[2] - 1 }; //double real_l = 40; //double l = 40;
//int startTimeStep = 600000; //int timeStep = 10000; //int numberOfTimeSteps = 610000; //1200000; //int numberOfSamples = numberOfTimeSteps / startTimeStep; //int numberOfGridPoints = dimensions[0] * dimensions[1] * dimensions[2];
//Bombadil
string pathIn = "d:/temp/BreugemChannelAnisotrop2";
string pathOut = "d:/temp/BreugemChannelAnisotrop2";
double deltaX = 10;
double halfDeltaX = deltaX / 2.0;
std::array<int, 3> dimensions = { 600/(int)deltaX, 400/(int)deltaX, 400/(int)deltaX };
std::array<double, 3> geo_origin = { halfDeltaX, halfDeltaX, halfDeltaX };
std::array<double, 3> geo_spacing = { 10,10,10 };
std::array<int, 6> geo_extent = { 0, dimensions[0] - 1, 0, dimensions[1] - 1, 0, dimensions[2] - 1 };
double real_l = 40;
double l = 40;
int startTimeStep = 60000;
int timeStep = 1000;
int numberOfTimeSteps = 61000;
int numberOfSamples = (numberOfTimeSteps - startTimeStep)/timeStep + 1;
int numberOfGridPoints = dimensions[0] * dimensions[1] * dimensions[2];
Averaging av;
av.setDimensions(dimensions);
av.setExtent(geo_extent);
av.setOrigin(geo_origin);
av.setSpacing(geo_spacing);
av.setDeltaX(deltaX);
//av.createGeoMatrix(pathIn + "/bc/bc0.pvtu");
//if (myid == 0) av.writeGeoMatrixToBinaryFiles(pathOut + "/va/geomatrix.bin");
av.readGeoMatrixFromBinaryFiles(pathOut + "/va/geomatrix.bin");
av.initVolumeAveragingValues();
for (int t = startTimeStep; t <= numberOfTimeSteps; t += timeStep)
{
av.createMQMatrix(pathIn + "/mq/mq" + UbSystem::toString(t) + ".pvtu");
if (myid == 0) av.writeMqMatrixToBinaryFiles(pathOut + "/va/mq/mq" + UbSystem::toString(t) + "/mq", t);
//av.volumeAveragingWithMPI(real_l);
//if (myid == 0)
//{
// //av.sumOfVolumeAveragingValues();
// av.writeVolumeAveragingValuesToBinaryFiles(pathOut + "/va/vav/vav", t);
//}
}
//av.writeMqMatrixToImageFile(pathOut + "/va/vav/mq");
//if (myid == 0) av.readVolumeAveragingValuesFromBinaryFiles(pathOut + "/va/vav/vav", 60000);
//if (myid == 0) av.writeVaMatrixToImageFile(pathOut + "/va/vav/vav");
//if (myid == 0)
//{
// av.initMeanVolumeAveragingValues();
// av.meanOfVolumeAveragingValues(numberOfSamples);
// av.writeMeanVolumeAveragingValuesToBinaryFiles(pathOut + "/va/mean/mean");
// av.writeMeanMatrixToImageFile(pathOut + "/va/vav/vavMean");
//}
//for (int t = startTimeStep; t <= numberOfTimeSteps; t += timeStep)
//{
// av.readVolumeAveragingValuesFromBinaryFiles(pathOut + "/va/vav/vav", t);
// av.sumOfVolumeAveragingValues();
//}
//av.initMeanVolumeAveragingValues();
//av.meanOfVolumeAveragingValues(numberOfSamples);
//av.writeMeanVolumeAveragingValuesToBinaryFiles(pathOut + "/va/mean/mean");
//av.writeMeanMatrixToImageFile(pathOut + "/va/vav/vavMean");
//av.initFluctuationsofVolumeAveragingValues();
//av.initSumOfFluctuations();
//av.initMeanOfFluctuations();
//av.initStresses();
//av.initSumOfStresses();
//av.initMeanOfStresses();
//av.initPlanarAveragingMQ();
//for (int t = startTimeStep; t <= numberOfTimeSteps; t += timeStep)
//{
// av.readVolumeAveragingValuesFromBinaryFiles(pathOut + "/va/vav/vav", t);
// av.fluctuationsOfVolumeAveragingValue();
// av.writeFluctuationsToBinaryFiles(pathOut + "/va/av/Fluc", t);
// av.writeStressesToBinaryFiles(pathOut + "/va/av/Stresses", t);
// av.sumOfFluctuations();
// av.sumOfStresses();
//}
//av.meanOfFluctuations(numberOfSamples);
//av.meanOfStresses(numberOfSamples);
//av.planarAveragingMQ(dimensions);
//av.writeToCSV(pathOut + "/va/av", geo_origin[2], deltaX);
}
catch (const std::exception& e)
{
cerr << e.what() << endl << flush;
}
catch (std::string& s)
{
cerr << s << endl;
}
catch (...)
{
cerr << "unknown exception" << endl;
}
#include <iostream>
#include <string>
#include "VirtualFluids.h"
#include "Averaging.h"
using namespace std;
//////////////////////////////////////////////////////////////////////////
int main(int argc, char* argv[])
{
try
{
SPtr<Communicator> comm = MPICommunicator::getInstance();
int myid = comm->getProcessID();
//Pheonix
//double deltaX = 1;
//double halfDeltaX = deltaX / 2.0;
//std::array<int, 3> dimensions = { 600 / (int)deltaX, 400 / (int)deltaX, 400 / (int)deltaX };
//std::array<double, 3> geo_origin = { halfDeltaX, halfDeltaX, halfDeltaX };
//std::array<double, 3> geo_spacing = { 1,1,1 };
//std::array<int, 6> geo_extent = { 0, dimensions[0] - 1, 0, dimensions[1] - 1, 0, dimensions[2] - 1 };
//double real_l = 40;
//double l = 40;
//int startTimeStep = 600000;
//int timeStep = 10000;
//int numberOfTimeSteps = 610000; //1200000;
//int numberOfSamples = numberOfTimeSteps / startTimeStep;
//int numberOfGridPoints = dimensions[0] * dimensions[1] * dimensions[2];
//Bombadil
string pathIn = "d:/temp/BreugemChannelAnisotrop2";
string pathOut = "d:/temp/BreugemChannelAnisotrop2";
double deltaX = 10;
double halfDeltaX = deltaX / 2.0;
std::array<int, 3> dimensions = { 600/(int)deltaX, 400/(int)deltaX, 400/(int)deltaX };
std::array<double, 3> geo_origin = { halfDeltaX, halfDeltaX, halfDeltaX };
std::array<double, 3> geo_spacing = { 10,10,10 };
std::array<int, 6> geo_extent = { 0, dimensions[0] - 1, 0, dimensions[1] - 1, 0, dimensions[2] - 1 };
double real_l = 40;
double l = 40;
int startTimeStep = 60000;
int timeStep = 1000;
int numberOfTimeSteps = 61000;
int numberOfSamples = (numberOfTimeSteps - startTimeStep)/timeStep + 1;
int numberOfGridPoints = dimensions[0] * dimensions[1] * dimensions[2];
Averaging av;
av.setDimensions(dimensions);
av.setExtent(geo_extent);
av.setOrigin(geo_origin);
av.setSpacing(geo_spacing);
av.setDeltaX(deltaX);
//av.createGeoMatrix(pathIn + "/bc/bc0.pvtu");
//if (myid == 0) av.writeGeoMatrixToBinaryFiles(pathOut + "/va/geomatrix.bin");
av.readGeoMatrixFromBinaryFiles(pathOut + "/va/geomatrix.bin");
av.initVolumeAveragingValues();
for (int t = startTimeStep; t <= numberOfTimeSteps; t += timeStep)
{
av.createMQMatrix(pathIn + "/mq/mq" + UbSystem::toString(t) + ".pvtu");
if (myid == 0) av.writeMqMatrixToBinaryFiles(pathOut + "/va/mq/mq" + UbSystem::toString(t) + "/mq", t);
//av.volumeAveragingWithMPI(real_l);
//if (myid == 0)
//{
// //av.sumOfVolumeAveragingValues();
// av.writeVolumeAveragingValuesToBinaryFiles(pathOut + "/va/vav/vav", t);
//}
}
//av.writeMqMatrixToImageFile(pathOut + "/va/vav/mq");
//if (myid == 0) av.readVolumeAveragingValuesFromBinaryFiles(pathOut + "/va/vav/vav", 60000);
//if (myid == 0) av.writeVaMatrixToImageFile(pathOut + "/va/vav/vav");
//if (myid == 0)
//{
// av.initMeanVolumeAveragingValues();
// av.meanOfVolumeAveragingValues(numberOfSamples);
// av.writeMeanVolumeAveragingValuesToBinaryFiles(pathOut + "/va/mean/mean");
// av.writeMeanMatrixToImageFile(pathOut + "/va/vav/vavMean");
//}
//for (int t = startTimeStep; t <= numberOfTimeSteps; t += timeStep)
//{
// av.readVolumeAveragingValuesFromBinaryFiles(pathOut + "/va/vav/vav", t);
// av.sumOfVolumeAveragingValues();
//}
//av.initMeanVolumeAveragingValues();
//av.meanOfVolumeAveragingValues(numberOfSamples);
//av.writeMeanVolumeAveragingValuesToBinaryFiles(pathOut + "/va/mean/mean");
//av.writeMeanMatrixToImageFile(pathOut + "/va/vav/vavMean");
//av.initFluctuationsofVolumeAveragingValues();
//av.initSumOfFluctuations();
//av.initMeanOfFluctuations();
//av.initStresses();
//av.initSumOfStresses();
//av.initMeanOfStresses();
//av.initPlanarAveragingMQ();
//for (int t = startTimeStep; t <= numberOfTimeSteps; t += timeStep)
//{
// av.readVolumeAveragingValuesFromBinaryFiles(pathOut + "/va/vav/vav", t);
// av.fluctuationsOfVolumeAveragingValue();
// av.writeFluctuationsToBinaryFiles(pathOut + "/va/av/Fluc", t);
// av.writeStressesToBinaryFiles(pathOut + "/va/av/Stresses", t);
// av.sumOfFluctuations();
// av.sumOfStresses();
//}
//av.meanOfFluctuations(numberOfSamples);
//av.meanOfStresses(numberOfSamples);
//av.planarAveragingMQ(dimensions);
//av.writeToCSV(pathOut + "/va/av", geo_origin[2], deltaX);
}
catch (const std::exception& e)
{
cerr << e.what() << endl << flush;
}
catch (std::string& s)
{
cerr << s << endl;
}
catch (...)
{
cerr << "unknown exception" << endl;
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment