diff --git a/src/VirtualFluids_GPU/Output/FileWriter.cpp b/src/VirtualFluids_GPU/Output/FileWriter.cpp index 657f534f057b9e3e77f62595b2031b12909b47c2..e35a7aaf3d458c0ab4cb8ef2eb509399755722d8 100644 --- a/src/VirtualFluids_GPU/Output/FileWriter.cpp +++ b/src/VirtualFluids_GPU/Output/FileWriter.cpp @@ -14,6 +14,8 @@ #include <VirtualFluidsBasics/basics/writer/WbWriterVtkXmlBinary.h> +#include "UnstructuredGridWriter.hpp" + void FileWriter::writeInit(std::shared_ptr<Parameter> para) { unsigned int timestep = para->getTInit(); @@ -34,106 +36,19 @@ void FileWriter::writeTimestep(std::shared_ptr<Parameter> para, unsigned int tim for (unsigned int i = 1; i <= numberOfParts; i++) fname.push_back(para->getFName() + "_bin_lev_" + StringUtil::toString<int>(level) + "_ID_" + StringUtil::toString<int>(para->getMyID()) + "_Part_" + StringUtil::toString<int>(i) + "_t_" + StringUtil::toString<int>(timestep) + ".vtk"); - writeUnstrucuredGridLT(para, level, fname); + UnstructuredGridWriter::writeUnstrucuredGridLT(para.get(), level, fname); } -void FileWriter::writeUnstrucuredGridLT(std::shared_ptr<Parameter> para, int level, std::vector<std::string >& fname) +void FileWriter::writeParticle(Parameter* para, unsigned int t) { - std::vector< UbTupleFloat3 > nodes; - std::vector< UbTupleUInt8 > cells; - std::vector< std::string > nodedatanames; - nodedatanames.push_back("press"); - nodedatanames.push_back("rho"); - nodedatanames.push_back("vx1"); - nodedatanames.push_back("vx2"); - nodedatanames.push_back("vx3"); - nodedatanames.push_back("geo"); - unsigned int number1, number2, number3, number4, number5, number6, number7, number8; - uint dn1, dn2, dn3, dn4, dn5, dn6, dn7, dn8; - bool neighborsAreFluid; - double vxmax = 0; - unsigned int startpos = 0; - unsigned int endpos = 0; - unsigned int sizeOfNodes = 0; - std::vector< std::vector< double > > nodedata(nodedatanames.size()); - - for (unsigned int part = 0; part < fname.size(); part++) - { - if (((part + 1)*para->getlimitOfNodesForVTK()) > para->getParH(level)->size_Mat_SP) - sizeOfNodes = para->getParH(level)->size_Mat_SP - (part * para->getlimitOfNodesForVTK()); - else - sizeOfNodes = para->getlimitOfNodesForVTK(); - - ////////////////////////////////////////////////////////////////////////// - startpos = part * para->getlimitOfNodesForVTK(); - endpos = startpos + sizeOfNodes; - ////////////////////////////////////////////////////////////////////////// - cells.clear(); - nodes.resize(sizeOfNodes); - nodedata[0].resize(sizeOfNodes); - nodedata[1].resize(sizeOfNodes); - nodedata[2].resize(sizeOfNodes); - nodedata[3].resize(sizeOfNodes); - nodedata[4].resize(sizeOfNodes); - nodedata[5].resize(sizeOfNodes); - ////////////////////////////////////////////////////////////////////////// - for (unsigned int pos = startpos; pos < endpos; pos++) - { - if (para->getParH(level)->geoSP[pos] == GEO_FLUID) - { - ////////////////////////////////////////////////////////////////////////// - double x1 = para->getParH(level)->coordX_SP[pos]; - double x2 = para->getParH(level)->coordY_SP[pos]; - double x3 = para->getParH(level)->coordZ_SP[pos]; - ////////////////////////////////////////////////////////////////////////// - number1 = pos; - dn1 = pos - startpos; - neighborsAreFluid = true; - ////////////////////////////////////////////////////////////////////////// - nodes[dn1] = (makeUbTuple((float)(x1), (float)(x2), (float)(x3))); - nodedata[0][dn1] = (double)para->getParH(level)->press_SP[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio(); - nodedata[1][dn1] = (double)para->getParH(level)->rho_SP[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio(); - nodedata[2][dn1] = (double)para->getParH(level)->vx_SP[pos] * (double)para->getVelocityRatio(); - nodedata[3][dn1] = (double)para->getParH(level)->vy_SP[pos] * (double)para->getVelocityRatio(); - nodedata[4][dn1] = (double)para->getParH(level)->vz_SP[pos] * (double)para->getVelocityRatio(); - nodedata[5][dn1] = (double)para->getParH(level)->geoSP[pos]; - ////////////////////////////////////////////////////////////////////////// - number2 = para->getParH(level)->neighborX_SP[number1]; - number3 = para->getParH(level)->neighborY_SP[number2]; - number4 = para->getParH(level)->neighborY_SP[number1]; - number5 = para->getParH(level)->neighborZ_SP[number1]; - number6 = para->getParH(level)->neighborZ_SP[number2]; - number7 = para->getParH(level)->neighborZ_SP[number3]; - number8 = para->getParH(level)->neighborZ_SP[number4]; - ////////////////////////////////////////////////////////////////////////// - if (para->getParH(level)->geoSP[number2] != GEO_FLUID || - para->getParH(level)->geoSP[number3] != GEO_FLUID || - para->getParH(level)->geoSP[number4] != GEO_FLUID || - para->getParH(level)->geoSP[number5] != GEO_FLUID || - para->getParH(level)->geoSP[number6] != GEO_FLUID || - para->getParH(level)->geoSP[number7] != GEO_FLUID || - para->getParH(level)->geoSP[number8] != GEO_FLUID) neighborsAreFluid = false; - ////////////////////////////////////////////////////////////////////////// - if (number2 > endpos || - number3 > endpos || - number4 > endpos || - number5 > endpos || - number6 > endpos || - number7 > endpos || - number8 > endpos) neighborsAreFluid = false; - ////////////////////////////////////////////////////////////////////////// - dn2 = number2 - startpos; - dn3 = number3 - startpos; - dn4 = number4 - startpos; - dn5 = number5 - startpos; - dn6 = number6 - startpos; - dn7 = number7 - startpos; - dn8 = number8 - startpos; - ////////////////////////////////////////////////////////////////////////// - if (neighborsAreFluid) - cells.push_back(makeUbTuple(dn1, dn2, dn3, dn4, dn5, dn6, dn7, dn8)); - } - } - WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname[part], nodes, cells, nodedatanames, nodedata); - } + for (int lev = para->getParticleBasicLevel(); lev <= para->getFine(); lev++) + { + ////////////////////////////////////////////////////////////////////////// + //set filename + std::string fname = para->getFName()+StringUtil::toString<int>(lev)+StringUtil::toString<int>(para->getMyID())+"_t_"+StringUtil::toString<int>(t)+"_Particles.vtk"; + ////////////////////////////////////////////////////////////////////////// + //write particles + UnstructuredGridWriter::writeUnstrucuredParticles(para, lev, fname); + ////////////////////////////////////////////////////////////////////////// + } } \ No newline at end of file diff --git a/src/VirtualFluids_GPU/Output/FileWriter.h b/src/VirtualFluids_GPU/Output/FileWriter.h index 23d83096428359c6e59b75053c98bca07c7594ac..38b58a20c947896d72464cfb44158e3742dd1c26 100644 --- a/src/VirtualFluids_GPU/Output/FileWriter.h +++ b/src/VirtualFluids_GPU/Output/FileWriter.h @@ -16,10 +16,9 @@ public: void VF_PUBLIC writeInit(std::shared_ptr<Parameter> para) override; void VF_PUBLIC writeTimestep(std::shared_ptr<Parameter> para, unsigned int timestep) override; - + void VF_PUBLIC writeParticle(Parameter* para, unsigned int t); private: void writeTimestep(std::shared_ptr<Parameter> para, unsigned int timestep, int level); - void writeUnstrucuredGridLT(std::shared_ptr<Parameter> para, int level, std::vector<std::string>& fname); FileWriter(const FileWriter& fileWriter) {}; }; diff --git a/src/VirtualFluids_GPU/Output/UnstructuredGridWriter.hpp b/src/VirtualFluids_GPU/Output/UnstructuredGridWriter.hpp index 774430769b0b97d166077d2849b6a427cc6da9f4..ae07a20295bb22bde585157730ba549c8c8ef50d 100644 --- a/src/VirtualFluids_GPU/Output/UnstructuredGridWriter.hpp +++ b/src/VirtualFluids_GPU/Output/UnstructuredGridWriter.hpp @@ -16,11 +16,9 @@ using namespace std; -namespace UnstrucuredGridWriter +namespace UnstructuredGridWriter { - - - void writeUnstrucuredGrid(Parameter* para, int level, std::string& fname, std::string& filenameVec2) + void writeUnstructuredGrid(Parameter* para, int level, std::string& fname, std::string& filenameVec2) { vector< UbTupleFloat3 > nodes; vector< UbTupleUInt8 > cells; diff --git a/src/VirtualFluids_GPU/Output/WriteData.cpp b/src/VirtualFluids_GPU/Output/WriteData.cpp index 98e289cfbb7ed7dbf8a5dc3a97ee126db67af293..1bfe126f1975aca01a39bf2c7dcb7091d25de05f 100644 --- a/src/VirtualFluids_GPU/Output/WriteData.cpp +++ b/src/VirtualFluids_GPU/Output/WriteData.cpp @@ -1,378 +1,378 @@ -#include "Output/WriteData.h" -#include "Output/ClogWriter.h" -#include "Output/LogWriter.hpp" -#include "Output/VtkSGWriter.hpp" -#include "Output/InterfaceDebugWriter.hpp" -#include "Output/UnstructuredGridWriter.hpp" -#include "Output/kFullWriter.hpp" -#include "Output/PosWriter.hpp" -#include "Output/PosVecIntWriter.hpp" -#include "Output/interfaceWriter.hpp" -#include "Output/OffsetWriter.hpp" -#include "Output/MeasurePointWriter.hpp" - -#include "Parameter/Parameter.h" - - -//////////////////////////////////////////////////////////////////////////////// -void writeInit(SPtr<Parameter> para) -{ - for (int lev=para->getCoarse(); lev <= para->getFine(); lev++) - { - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //copy Data to host - para->cudaCopyPrint(lev); - if (para->getCalcMedian()) para->cudaCopyMedianPrint(lev); - if (para->getUseWale()) para->cudaCopyTurbulentViscosityDH(lev); - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - const unsigned int numberOfParts = para->getParH(lev)->size_Mat_SP / para->getlimitOfNodesForVTK() + 1; - std::vector<std::string> fname; - std::vector<std::string> fname_med; - ////2nd and 3rd Moments - //std::vector<std::string> fname2ndMoments; - //std::vector<std::string> fname3rdMoments; - //std::vector<std::string> fnameHigherMoments; - for (unsigned int i = 1; i <= numberOfParts; i++) - { - fname.push_back(para->getFName()+"_bin_lev_"+StringUtil::toString<int>(lev)+"_ID_"+StringUtil::toString<int>(para->getMyID())+"_Part_"+StringUtil::toString<int>(i)+"_t_"+StringUtil::toString<int>(para->getTInit())+".vtk"); - fname_med.push_back(para->getFName()+"_bin_median_lev_"+StringUtil::toString<int>(lev)+"_ID_"+StringUtil::toString<int>(para->getMyID())+"_Part_"+StringUtil::toString<int>(i)+"_t_"+StringUtil::toString<int>(para->getTInit())+".vtk"); - //fname2ndMoments.push_back(para->getFName()+"_2ndMoments_bin_lev_"+StringUtil::toString<int>(lev)+"_ID_"+StringUtil::toString<int>(para->getMyID())+"_Part_"+StringUtil::toString<int>(i)+"_t_"+StringUtil::toString<int>(para->getTInit())+".vtk"); - //fname3rdMoments.push_back(para->getFName()+"_3rdMoments_bin_lev_"+StringUtil::toString<int>(lev)+"_ID_"+StringUtil::toString<int>(para->getMyID())+"_Part_"+StringUtil::toString<int>(i)+"_t_"+StringUtil::toString<int>(para->getTInit())+".vtk"); - //fnameHigherMoments.push_back(para->getFName()+"_HigherMoments_bin_lev_"+StringUtil::toString<int>(lev)+"_ID_"+StringUtil::toString<int>(para->getMyID())+"_Part_"+StringUtil::toString<int>(i)+"_t_"+StringUtil::toString<int>(para->getTInit())+".vtk"); - } - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //std::string ffname_test = para->getFName()+"_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID()) + "_" +StringUtil::toString<int>(para->getTInit())+ ".vtk"; - //std::string ffname_bin = para->getFName()+"_bin_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID()) + "_" +StringUtil::toString<int>(para->getTInit())+ "PartI.vtk"; - //std::string ffname_bin2 = para->getFName()+"_bin_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID()) + "_" +StringUtil::toString<int>(para->getTInit())+ "PartII.vtk"; - //std::string ffname_bin_Points = para->getFName()+"_Points_"+"_bin_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID()) + "_" +StringUtil::toString<int>(para->getTInit())+ ".vtk"; - //std::string ffname_bin_med = para->getFName()+"_bin_med_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID()) + "_" +StringUtil::toString<int>(para->getTInit())+ ".vtk"; - //std::string ffname_bin_test = para->getFName()+"_bin_test_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID()) + "_" +StringUtil::toString<int>(para->getTInit())+ ".vtk"; - //std::string ffname_bin_eff = para->getFName()+"_bin_eff_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID())+"_"+StringUtil::toString<int>(para->getTInit())+".vtk"; - //std::string ffname_bin_Points_eff = para->getFName()+"_Points_"+"_bin_eff_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID())+"_"+StringUtil::toString<int>(para->getTInit())+".vtk"; - - //std::string ffname_bin = para->getFName()+"_bin_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID()) + "_" +StringUtil::toString<int>(para->getTInit()) + ".vtk"; - - std::string fname_qs = para->getFName()+"_Qs_Lev_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID()) + ".vtk"; - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //////2nd and 3rd Moments - ////std::string fname2ndMoments = para->getFName()+"_2ndMoments_bin_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID())+"_"+StringUtil::toString<int>(para->getTInit())+".vtk"; - ////std::string fname3rdMoments = para->getFName()+"_3rdMoments_bin_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID())+"_"+StringUtil::toString<int>(para->getTInit())+".vtk"; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - if (para->getDiffOn()==true) - { - //printf("vor writeUnstrucuredGridLTConc"); - UnstrucuredGridWriter::writeUnstrucuredGridLTConc(para.get(), lev, fname); - //printf("nach writeUnstrucuredGridLTConc"); - //VtkSGWriter::writeVTKsgThS(para->getParH(lev)->nx, para->getParH(lev)->ny, para->getParH(lev)->nz, STARTOFFX, STARTOFFY, STARTOFFZ, - // para->getParH(lev)->gridNX, para->getParH(lev)->gridNY, para->getParH(lev)->gridNZ, - // para->getParH(lev)->startz, para->getParH(lev)->endz, ffname_test, para->getParH(lev)->geoSP, - // para->getParH(lev)->vx_SP, para->getParH(lev)->vy_SP, para->getParH(lev)->vz_SP, para->getParH(lev)->rho_SP, - // para->getVelocityRatio(), para->getDensityRatio(), - // para->getParH(lev)->distX, para->getParH(lev)->distY, para->getParH(lev)->distZ, - // para->getParH(lev)->dx, para->getParH(lev)->k, para->getParH(lev)->Conc); - } - else - { - if (para->getUseWale()) - { - UnstrucuredGridWriter::writeUnstrucuredGridLTwithTurbulentViscosity(para.get(), lev, fname); - } - //else if (para->getSimulatePorousMedia()) - //{ - // UnstrucuredGridWriter::writeUnstrucuredGridPM(para, lev, fname); - //} - else - { - UnstrucuredGridWriter::writeUnstrucuredGridLT(para.get(), lev, fname); - } - - //Debug - InterfaceDebugWriter::writeInterfaceLinesDebugCF(para.get()); - InterfaceDebugWriter::writeInterfaceLinesDebugFC(para.get()); - InterfaceDebugWriter::writeInterfaceLinesDebugCFCneighbor(para.get()); - InterfaceDebugWriter::writeInterfaceLinesDebugCFFneighbor(para.get()); - InterfaceDebugWriter::writeInterfaceLinesDebugFCCneighbor(para.get()); - InterfaceDebugWriter::writeInterfaceLinesDebugFCFneighbor(para.get()); - InterfaceDebugWriter::writeNeighborXLinesDebug(para.get()); - InterfaceDebugWriter::writeNeighborYLinesDebug(para.get()); - InterfaceDebugWriter::writeNeighborZLinesDebug(para.get()); - - //if (para->getParH(lev)->QGeom.kQ > 0) - //{ - // UnstrucuredGridWriter::writeQs(para, lev, fname_qs); - //} - - ////2nd and 3rd Moments - //if (para->getCalc2ndOrderMoments()) UnstrucuredGridWriter::writeUnstrucuredGridEff2ndMomentsLT(para, lev, fname2ndMoments); - //if (para->getCalc3rdOrderMoments()) UnstrucuredGridWriter::writeUnstrucuredGridEff3rdMomentsLT(para, lev, fname3rdMoments); - //if (para->getCalcHighOrderMoments()) UnstrucuredGridWriter::writeUnstrucuredGridEffHigherMomentsLT(para, lev, fnameHigherMoments); - - - //UnstrucuredGridWriter::writeUnstrucuredGrid(para, lev, ffname_bin, ffname_bin_Points); - //UnstrucuredGridWriter::writeUnstrucuredGridEff(para, lev, ffname_bin_eff, ffname_bin_Points_eff); - - //UnstrucuredGridWriter::writeUnstrucuredGridAsciiEff(para, lev, ffname_bin, ffname_bin_Points); - - //VtkSGWriter::writeVTKsgSPbinTEST(ffname_bin_test); - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //2ndMoments - //UnstrucuredGridWriter::writeUnstrucuredGridEff2ndMoments(para, lev, fname2ndMoments); - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //VtkSGWriter::writeVTKsgSPbinAS( para->getParH(lev)->nx, para->getParH(lev)->ny, para->getParH(lev)->nz, STARTOFFX, STARTOFFY, STARTOFFZ, - // para->getParH(lev)->gridNX, para->getParH(lev)->gridNY, para->getParH(lev)->gridNZ, - // para->getParH(lev)->startz, para->getParH(lev)->endz, ffname_bin, para->getParH(lev)->geoSP, para->getParH(lev)->geo, - // para->getParH(lev)->vx_SP, para->getParH(lev)->vy_SP, para->getParH(lev)->vz_SP, para->getParH(lev)->rho_SP, - // para->getParH(lev)->press_SP, - // para->getVelocityRatio(), para->getDensityRatio(), - // para->getParH(lev)->distX, para->getParH(lev)->distY, para->getParH(lev)->distZ, - // para->getParH(lev)->dx, para->getParH(lev)->coordX_SP, para->getParH(lev)->coordY_SP, para->getParH(lev)->coordZ_SP); - ////median - //VtkSGWriter::writeVTKmedSPbinAS( para->getParH(lev)->nx, para->getParH(lev)->ny, para->getParH(lev)->nz, STARTOFFX, STARTOFFY, STARTOFFZ, - // para->getParH(lev)->gridNX, para->getParH(lev)->gridNY, para->getParH(lev)->gridNZ, - // para->getParH(lev)->startz, para->getParH(lev)->endz, ffname_bin_med, para->getParH(lev)->geoSP, para->getParH(lev)->geo, - // para->getParH(lev)->vx_SP_Med, para->getParH(lev)->vy_SP_Med, para->getParH(lev)->vz_SP_Med, para->getParH(lev)->rho_SP_Med, - // para->getParH(lev)->press_SP_Med, 1, - // para->getVelocityRatio(), para->getDensityRatio(), - // para->getParH(lev)->distX, para->getParH(lev)->distY, para->getParH(lev)->distZ, - // para->getParH(lev)->dx, para->getParH(lev)->coordX_SP, para->getParH(lev)->coordY_SP, para->getParH(lev)->coordZ_SP); - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //VtkSGWriter::writeVTKsgSPbin(para->getParH(lev)->nx, para->getParH(lev)->ny, para->getParH(lev)->nz, STARTOFFX, STARTOFFY, STARTOFFZ, - // para->getParH(lev)->gridNX, para->getParH(lev)->gridNY, para->getParH(lev)->gridNZ, - // para->getParH(lev)->startz, para->getParH(lev)->endz, ffname_bin, para->getParH(lev)->geoSP, para->getParH(lev)->geo, - // para->getParH(lev)->vx_SP, para->getParH(lev)->vy_SP, para->getParH(lev)->vz_SP, para->getParH(lev)->rho_SP, - // para->getParH(lev)->press_SP, - // para->getVelocityRatio(), para->getDensityRatio(), - // para->getParH(lev)->distX, para->getParH(lev)->distY, para->getParH(lev)->distZ, - // para->getParH(lev)->dx, para->getParH(lev)->k); - ////median - //VtkSGWriter::writeVTKmedSPbin( para->getParH(lev)->nx, para->getParH(lev)->ny, para->getParH(lev)->nz, STARTOFFX, STARTOFFY, STARTOFFZ, - // para->getParH(lev)->gridNX, para->getParH(lev)->gridNY, para->getParH(lev)->gridNZ, - // para->getParH(lev)->startz, para->getParH(lev)->endz, ffname_bin_med, para->getParH(lev)->geoSP, para->getParH(lev)->geo, - // para->getParH(lev)->vx_SP_Med, para->getParH(lev)->vy_SP_Med, para->getParH(lev)->vz_SP_Med, para->getParH(lev)->rho_SP_Med, - // para->getParH(lev)->press_SP_Med, 1, - // para->getVelocityRatio(), para->getDensityRatio(), - // para->getParH(lev)->distX, para->getParH(lev)->distY, para->getParH(lev)->distZ, - // para->getParH(lev)->dx, para->getParH(lev)->k); - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //VtkSGWriter::writeVTKsgSP( para->getParH(lev)->nx, para->getParH(lev)->ny, para->getParH(lev)->nz, STARTOFFX, STARTOFFY, STARTOFFZ, - // para->getParH(lev)->gridNX, para->getParH(lev)->gridNY, para->getParH(lev)->gridNZ, - // para->getParH(lev)->startz, para->getParH(lev)->endz, ffname_test, para->getParH(lev)->geoSP, - // para->getParH(lev)->vx_SP, para->getParH(lev)->vy_SP, para->getParH(lev)->vz_SP, para->getParH(lev)->rho_SP, - // para->getParH(lev)->press_SP, - // para->getVelocityRatio(), para->getDensityRatio(), - // para->getParH(lev)->distX, para->getParH(lev)->distY, para->getParH(lev)->distZ, - // para->getParH(lev)->dx, para->getParH(lev)->k); - } - } -} -//////////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - -//////////////////////////////////////////////////////////////////////////////// -void writeTimestep(Parameter* para, unsigned int t) -{ - //////////////////////////////////////////////////////////////////////////////// - for (int lev=para->getCoarse(); lev <= para->getFine(); lev++) - { - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - if (para->getUseWale()) para->cudaCopyTurbulentViscosityDH(lev); - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - const unsigned int numberOfParts = para->getParH(lev)->size_Mat_SP / para->getlimitOfNodesForVTK() + 1; - std::vector<std::string> fname; - std::vector<std::string> fname_med; - //2nd and 3rd Moments - std::vector<std::string> fname2ndMoments; - std::vector<std::string> fname3rdMoments; - std::vector<std::string> fnameHigherMoments; - for (unsigned int i = 1; i <= numberOfParts; i++) - { - fname.push_back(para->getFName()+"_bin_lev_"+StringUtil::toString<int>(lev)+"_ID_"+StringUtil::toString<int>(para->getMyID())+"_Part_"+StringUtil::toString<int>(i)+"_t_"+StringUtil::toString<int>(t)+".vtk"); - fname_med.push_back(para->getFName()+"_bin_median_lev_"+StringUtil::toString<int>(lev)+"_ID_"+StringUtil::toString<int>(para->getMyID())+"_Part_"+StringUtil::toString<int>(i)+"_t_"+StringUtil::toString<int>(t)+".vtk"); - fname2ndMoments.push_back(para->getFName()+"_2ndMoments_bin_lev_"+StringUtil::toString<int>(lev)+"_ID_"+StringUtil::toString<int>(para->getMyID())+"_Part_"+StringUtil::toString<int>(i)+"_t_"+StringUtil::toString<int>(t)+".vtk"); - fname3rdMoments.push_back(para->getFName()+"_3rdMoments_bin_lev_"+StringUtil::toString<int>(lev)+"_ID_"+StringUtil::toString<int>(para->getMyID())+"_Part_"+StringUtil::toString<int>(i)+"_t_"+StringUtil::toString<int>(t)+".vtk"); - fnameHigherMoments.push_back(para->getFName()+"_HigherMoments_bin_lev_"+StringUtil::toString<int>(lev)+"_ID_"+StringUtil::toString<int>(para->getMyID())+"_Part_"+StringUtil::toString<int>(i)+"_t_"+StringUtil::toString<int>(t)+".vtk"); - } - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //std::string ffname_test = para->getFName()+"_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID())+"_"+StringUtil::toString<int>(t)+".vtk"; - //std::string ffname_bin = para->getFName()+"_bin_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID()) + "_" +StringUtil::toString<int>(t)+ "PartI.vtk"; - //std::string ffname_bin2 = para->getFName()+"_bin_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID()) + "_" +StringUtil::toString<int>(t)+ "PartII.vtk"; - //std::string ffname_bin_Points = para->getFName()+"_Points_"+"_bin_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID())+"_"+StringUtil::toString<int>(t)+".vtk"; - //std::string ffname_bin_eff = para->getFName()+"_bin_eff_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID())+"_"+StringUtil::toString<int>(t)+".vtk"; - //std::string ffname_bin_Points_eff = para->getFName()+"_Points_"+"_bin_eff_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID())+"_"+StringUtil::toString<int>(t)+".vtk"; - //std::string ffname_bin_med = para->getFName()+"_bin_med_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID())+"_"+StringUtil::toString<int>(t)+".vtk"; - - //std::string ffname_bin = para->getFName()+"_bin_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID()) + "_" +StringUtil::toString<int>(t) + ".vtk"; - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - ////2nd and 3rd Moments - //std::string fname2ndMoments = para->getFName()+"_2ndMoments_bin_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID())+"_"+StringUtil::toString<int>(t)+".vtk"; - //std::string fname3rdMoments = para->getFName()+"_3rdMoments_bin_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID())+"_"+StringUtil::toString<int>(t)+".vtk"; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - if (para->getDiffOn()==true) - { - //printf("vor writeUnstrucuredGridLTConc"); - UnstrucuredGridWriter::writeUnstrucuredGridLTConc(para, lev, fname); - //printf("nach writeUnstrucuredGridLTConc"); - //VtkSGWriter::writeVTKsgThS(para->getParH(lev)->nx, para->getParH(lev)->ny, para->getParH(lev)->nz, STARTOFFX, STARTOFFY, STARTOFFZ, - // para->getParH(lev)->gridNX, para->getParH(lev)->gridNY, para->getParH(lev)->gridNZ, - // para->getParH(lev)->startz, para->getParH(lev)->endz, ffname_test, para->getParH(lev)->geoSP, - // para->getParH(lev)->vx_SP, para->getParH(lev)->vy_SP, para->getParH(lev)->vz_SP, para->getParH(lev)->rho_SP, - // para->getVelocityRatio(), para->getDensityRatio(), - // para->getParH(lev)->distX, para->getParH(lev)->distY, para->getParH(lev)->distZ, - // para->getParH(lev)->dx, para->getParH(lev)->k, para->getParH(lev)->Conc); - } - else - { - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //UnstrucuredGridWriter::writeUnstrucuredGrid(para, lev, ffname_bin, ffname_bin_Points); - //UnstrucuredGridWriter::writeUnstrucuredGridEff(para, lev, ffname_bin_eff, ffname_bin_Points_eff); - //UnstrucuredGridWriter::writeUnstrucuredGridBig(para, lev, ffname_bin, ffname_bin2); - - - if (para->getUseWale()) - { - //UnstrucuredGridWriter::writeUnstrucuredGridLTwithTurbulentViscosity(para, lev, fname); - UnstrucuredGridWriter::writeUnstrucuredGridLTwithTurbulentViscosityDebug(para, lev, fname); - } - //else if (para->getSimulatePorousMedia()) - //{ - // UnstrucuredGridWriter::writeUnstrucuredGridPM(para, lev, fname); - //} - else - { - UnstrucuredGridWriter::writeUnstrucuredGridLT(para, lev, fname); - } - - //2nd and 3rd Moments - if (para->getCalc2ndOrderMoments()) UnstrucuredGridWriter::writeUnstrucuredGridEff2ndMomentsLT(para, lev, fname2ndMoments); - if (para->getCalc3rdOrderMoments()) UnstrucuredGridWriter::writeUnstrucuredGridEff3rdMomentsLT(para, lev, fname3rdMoments); - if (para->getCalcHighOrderMoments()) UnstrucuredGridWriter::writeUnstrucuredGridEffHigherMomentsLT(para, lev, fnameHigherMoments); - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - if (para->getCalcMedian() && ((int)t > para->getTimeCalcMedStart()) && ((int)t <= para->getTimeCalcMedEnd()) && ((t%(unsigned int)para->getclockCycleForMP())==0)) - { - ////UnstrucuredGridWriter::writeUnstrucuredGridEffMedian(para, lev, ffname_bin_med); - //UnstrucuredGridWriter::writeUnstrucuredGridMedianLT(para, lev, fname_med); - UnstrucuredGridWriter::writeUnstrucuredGridMedianLTwithDerivationsAndSqaredVelos(para, lev, fname_med); - } - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //2ndMoments - //UnstrucuredGridWriter::writeUnstrucuredGridEff2ndMoments(para, lev, fname2ndMoments); - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //VtkSGWriter::writeVTKsgSPbinAS( para->getParH(lev)->nx, para->getParH(lev)->ny, para->getParH(lev)->nz, STARTOFFX, STARTOFFY, STARTOFFZ, - // para->getParH(lev)->gridNX, para->getParH(lev)->gridNY, para->getParH(lev)->gridNZ, - // para->getParH(lev)->startz, para->getParH(lev)->endz, ffname_bin, para->getParH(lev)->geoSP, para->getParH(lev)->geo, - // para->getParH(lev)->vx_SP, para->getParH(lev)->vy_SP, para->getParH(lev)->vz_SP, para->getParH(lev)->rho_SP, - // para->getParH(lev)->press_SP, - // para->getVelocityRatio(), para->getDensityRatio(), - // para->getParH(lev)->distX, para->getParH(lev)->distY, para->getParH(lev)->distZ, - // para->getParH(lev)->dx, para->getParH(lev)->coordX_SP, para->getParH(lev)->coordY_SP, para->getParH(lev)->coordZ_SP); - //median - //if (((int)t > para->getTimeCalcMedStart()) && ((int)t <= para->getTimeCalcMedEnd())) - //{ - //VtkSGWriter::writeVTKmedSPbinAS( para->getParH(lev)->nx, para->getParH(lev)->ny, para->getParH(lev)->nz, STARTOFFX, STARTOFFY, STARTOFFZ, - // para->getParH(lev)->gridNX, para->getParH(lev)->gridNY, para->getParH(lev)->gridNZ, - // para->getParH(lev)->startz, para->getParH(lev)->endz, ffname_bin_med, para->getParH(lev)->geoSP, para->getParH(lev)->geo, - // para->getParH(lev)->vx_SP_Med, para->getParH(lev)->vy_SP_Med, para->getParH(lev)->vz_SP_Med, para->getParH(lev)->rho_SP_Med, - // para->getParH(lev)->press_SP_Med, tdiff, - // para->getVelocityRatio(), para->getDensityRatio(), - // para->getParH(lev)->distX, para->getParH(lev)->distY, para->getParH(lev)->distZ, - // para->getParH(lev)->dx, para->getParH(lev)->coordX_SP, para->getParH(lev)->coordY_SP, para->getParH(lev)->coordZ_SP); - //} - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //VtkSGWriter::writeVTKsgSPbin(para->getParH(lev)->nx, para->getParH(lev)->ny, para->getParH(lev)->nz, STARTOFFX, STARTOFFY, STARTOFFZ, - // para->getParH(lev)->gridNX, para->getParH(lev)->gridNY, para->getParH(lev)->gridNZ, - // para->getParH(lev)->startz, para->getParH(lev)->endz, ffname_bin, para->getParH(lev)->geoSP, para->getParH(lev)->geo, - // para->getParH(lev)->vx_SP, para->getParH(lev)->vy_SP, para->getParH(lev)->vz_SP, para->getParH(lev)->rho_SP, - // para->getParH(lev)->press_SP, - // para->getVelocityRatio(), para->getDensityRatio(), - // para->getParH(lev)->distX, para->getParH(lev)->distY, para->getParH(lev)->distZ, - // para->getParH(lev)->dx, para->getParH(lev)->k); - //if (((int)t > para->getTimeCalcMedStart()) && ((int)t <= para->getTimeCalcMedEnd())) - //{ - // //Median - // real tdiff = (real)t - (real)t_prev; - // VtkSGWriter::writeVTKmedSPbin(para->getParH(lev)->nx, para->getParH(lev)->ny, para->getParH(lev)->nz, STARTOFFX, STARTOFFY, STARTOFFZ, - // para->getParH(lev)->gridNX, para->getParH(lev)->gridNY, para->getParH(lev)->gridNZ, - // para->getParH(lev)->startz, para->getParH(lev)->endz, ffname_bin_med, para->getParH(lev)->geoSP, para->getParH(lev)->geo, - // para->getParH(lev)->vx_SP_Med, para->getParH(lev)->vy_SP_Med, para->getParH(lev)->vz_SP_Med, para->getParH(lev)->rho_SP_Med, - // para->getParH(lev)->press_SP_Med, tdiff, - // para->getVelocityRatio(), para->getDensityRatio(), - // para->getParH(lev)->distX, para->getParH(lev)->distY, para->getParH(lev)->distZ, - // para->getParH(lev)->dx, para->getParH(lev)->k); - //} - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // //VtkSGWriter::writeVTKsgSP( para->getParH(lev)->nx, para->getParH(lev)->ny, para->getParH(lev)->nz, STARTOFFX, STARTOFFY, STARTOFFZ, - // // para->getParH(lev)->gridNX, para->getParH(lev)->gridNY, para->getParH(lev)->gridNZ, - // // para->getParH(lev)->startz, para->getParH(lev)->endz, ffname_test, para->getParH(lev)->geoSP, - // // para->getParH(lev)->vx_SP, para->getParH(lev)->vy_SP, para->getParH(lev)->vz_SP, para->getParH(lev)->rho_SP, - // // para->getParH(lev)->press_SP, - // // para->getVelocityRatio(), para->getDensityRatio(), - // // para->getParH(lev)->distX, para->getParH(lev)->distY, para->getParH(lev)->distZ, - // // para->getParH(lev)->dx, para->getParH(lev)->k); - //} - ////////////////////////////////////////////////////////////////////////// - //output << "\n Write MeasurePoints at t = " << t << " (level = " << lev <<")\n"; - ////for (int lev=para->getCoarse(); lev <= para->getFine(); lev++) - ////{ - //for(int j = 0; j < (int)para->getParH(lev)->MP.size(); j++) - //{ - // MeasurePointWriter::writeMeasurePoints(para, lev, j, (int)t); - //} - } - ////////////////////////////////////////////////////////////////////////// - } - -} -//////////////////////////////////////////////////////////////////////////////// - - - - - - - - - -//////////////////////////////////////////////////////////////////////////////// -void writeParticle(Parameter* para, unsigned int t) -{ - for (int lev = para->getParticleBasicLevel(); lev <= para->getFine(); lev++) - { - ////////////////////////////////////////////////////////////////////////// - //set filename - std::string fname = para->getFName()+StringUtil::toString<int>(lev)+StringUtil::toString<int>(para->getMyID())+"_t_"+StringUtil::toString<int>(t)+"_Particles.vtk"; - ////////////////////////////////////////////////////////////////////////// - //write particles - UnstrucuredGridWriter::writeUnstrucuredParticles(para, lev, fname); - ////////////////////////////////////////////////////////////////////////// - } -} -//////////////////////////////////////////////////////////////////////////////// +//#include "Output/WriteData.h" +//#include "Output/ClogWriter.h" +//#include "Output/LogWriter.hpp" +//#include "Output/VtkSGWriter.hpp" +//#include "Output/InterfaceDebugWriter.hpp" +//#include "Output/UnstructuredGridWriter.hpp" +//#include "Output/kFullWriter.hpp" +//#include "Output/PosWriter.hpp" +//#include "Output/PosVecIntWriter.hpp" +//#include "Output/interfaceWriter.hpp" +//#include "Output/OffsetWriter.hpp" +//#include "Output/MeasurePointWriter.hpp" +// +//#include "Parameter/Parameter.h" +// +// +////////////////////////////////////////////////////////////////////////////////// +//void writeInit(SPtr<Parameter> para) +//{ +// for (int lev=para->getCoarse(); lev <= para->getFine(); lev++) +// { +// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// //copy Data to host +// para->cudaCopyPrint(lev); +// if (para->getCalcMedian()) para->cudaCopyMedianPrint(lev); +// if (para->getUseWale()) para->cudaCopyTurbulentViscosityDH(lev); +// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// const unsigned int numberOfParts = para->getParH(lev)->size_Mat_SP / para->getlimitOfNodesForVTK() + 1; +// std::vector<std::string> fname; +// std::vector<std::string> fname_med; +// ////2nd and 3rd Moments +// //std::vector<std::string> fname2ndMoments; +// //std::vector<std::string> fname3rdMoments; +// //std::vector<std::string> fnameHigherMoments; +// for (unsigned int i = 1; i <= numberOfParts; i++) +// { +// fname.push_back(para->getFName()+"_bin_lev_"+StringUtil::toString<int>(lev)+"_ID_"+StringUtil::toString<int>(para->getMyID())+"_Part_"+StringUtil::toString<int>(i)+"_t_"+StringUtil::toString<int>(para->getTInit())+".vtk"); +// fname_med.push_back(para->getFName()+"_bin_median_lev_"+StringUtil::toString<int>(lev)+"_ID_"+StringUtil::toString<int>(para->getMyID())+"_Part_"+StringUtil::toString<int>(i)+"_t_"+StringUtil::toString<int>(para->getTInit())+".vtk"); +// //fname2ndMoments.push_back(para->getFName()+"_2ndMoments_bin_lev_"+StringUtil::toString<int>(lev)+"_ID_"+StringUtil::toString<int>(para->getMyID())+"_Part_"+StringUtil::toString<int>(i)+"_t_"+StringUtil::toString<int>(para->getTInit())+".vtk"); +// //fname3rdMoments.push_back(para->getFName()+"_3rdMoments_bin_lev_"+StringUtil::toString<int>(lev)+"_ID_"+StringUtil::toString<int>(para->getMyID())+"_Part_"+StringUtil::toString<int>(i)+"_t_"+StringUtil::toString<int>(para->getTInit())+".vtk"); +// //fnameHigherMoments.push_back(para->getFName()+"_HigherMoments_bin_lev_"+StringUtil::toString<int>(lev)+"_ID_"+StringUtil::toString<int>(para->getMyID())+"_Part_"+StringUtil::toString<int>(i)+"_t_"+StringUtil::toString<int>(para->getTInit())+".vtk"); +// } +// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// //std::string ffname_test = para->getFName()+"_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID()) + "_" +StringUtil::toString<int>(para->getTInit())+ ".vtk"; +// //std::string ffname_bin = para->getFName()+"_bin_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID()) + "_" +StringUtil::toString<int>(para->getTInit())+ "PartI.vtk"; +// //std::string ffname_bin2 = para->getFName()+"_bin_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID()) + "_" +StringUtil::toString<int>(para->getTInit())+ "PartII.vtk"; +// //std::string ffname_bin_Points = para->getFName()+"_Points_"+"_bin_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID()) + "_" +StringUtil::toString<int>(para->getTInit())+ ".vtk"; +// //std::string ffname_bin_med = para->getFName()+"_bin_med_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID()) + "_" +StringUtil::toString<int>(para->getTInit())+ ".vtk"; +// //std::string ffname_bin_test = para->getFName()+"_bin_test_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID()) + "_" +StringUtil::toString<int>(para->getTInit())+ ".vtk"; +// //std::string ffname_bin_eff = para->getFName()+"_bin_eff_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID())+"_"+StringUtil::toString<int>(para->getTInit())+".vtk"; +// //std::string ffname_bin_Points_eff = para->getFName()+"_Points_"+"_bin_eff_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID())+"_"+StringUtil::toString<int>(para->getTInit())+".vtk"; +// +// //std::string ffname_bin = para->getFName()+"_bin_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID()) + "_" +StringUtil::toString<int>(para->getTInit()) + ".vtk"; +// +// std::string fname_qs = para->getFName()+"_Qs_Lev_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID()) + ".vtk"; +// +// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// //////2nd and 3rd Moments +// ////std::string fname2ndMoments = para->getFName()+"_2ndMoments_bin_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID())+"_"+StringUtil::toString<int>(para->getTInit())+".vtk"; +// ////std::string fname3rdMoments = para->getFName()+"_3rdMoments_bin_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID())+"_"+StringUtil::toString<int>(para->getTInit())+".vtk"; +// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// +// if (para->getDiffOn()==true) +// { +// //printf("vor writeUnstrucuredGridLTConc"); +// UnstructuredGridWriter::writeUnstrucuredGridLTConc(para.get(), lev, fname); +// //printf("nach writeUnstrucuredGridLTConc"); +// //VtkSGWriter::writeVTKsgThS(para->getParH(lev)->nx, para->getParH(lev)->ny, para->getParH(lev)->nz, STARTOFFX, STARTOFFY, STARTOFFZ, +// // para->getParH(lev)->gridNX, para->getParH(lev)->gridNY, para->getParH(lev)->gridNZ, +// // para->getParH(lev)->startz, para->getParH(lev)->endz, ffname_test, para->getParH(lev)->geoSP, +// // para->getParH(lev)->vx_SP, para->getParH(lev)->vy_SP, para->getParH(lev)->vz_SP, para->getParH(lev)->rho_SP, +// // para->getVelocityRatio(), para->getDensityRatio(), +// // para->getParH(lev)->distX, para->getParH(lev)->distY, para->getParH(lev)->distZ, +// // para->getParH(lev)->dx, para->getParH(lev)->k, para->getParH(lev)->Conc); +// } +// else +// { +// if (para->getUseWale()) +// { +// UnstructuredGridWriter::writeUnstrucuredGridLTwithTurbulentViscosity(para.get(), lev, fname); +// } +// //else if (para->getSimulatePorousMedia()) +// //{ +// // UnstrucuredGridWriter::writeUnstrucuredGridPM(para, lev, fname); +// //} +// else +// { +// UnstructuredGridWriter::writeUnstrucuredGridLT(para.get(), lev, fname); +// } +// +// //Debug +// InterfaceDebugWriter::writeInterfaceLinesDebugCF(para.get()); +// InterfaceDebugWriter::writeInterfaceLinesDebugFC(para.get()); +// InterfaceDebugWriter::writeInterfaceLinesDebugCFCneighbor(para.get()); +// InterfaceDebugWriter::writeInterfaceLinesDebugCFFneighbor(para.get()); +// InterfaceDebugWriter::writeInterfaceLinesDebugFCCneighbor(para.get()); +// InterfaceDebugWriter::writeInterfaceLinesDebugFCFneighbor(para.get()); +// InterfaceDebugWriter::writeNeighborXLinesDebug(para.get()); +// InterfaceDebugWriter::writeNeighborYLinesDebug(para.get()); +// InterfaceDebugWriter::writeNeighborZLinesDebug(para.get()); +// +// //if (para->getParH(lev)->QGeom.kQ > 0) +// //{ +// // UnstrucuredGridWriter::writeQs(para, lev, fname_qs); +// //} +// +// ////2nd and 3rd Moments +// //if (para->getCalc2ndOrderMoments()) UnstrucuredGridWriter::writeUnstrucuredGridEff2ndMomentsLT(para, lev, fname2ndMoments); +// //if (para->getCalc3rdOrderMoments()) UnstrucuredGridWriter::writeUnstrucuredGridEff3rdMomentsLT(para, lev, fname3rdMoments); +// //if (para->getCalcHighOrderMoments()) UnstrucuredGridWriter::writeUnstrucuredGridEffHigherMomentsLT(para, lev, fnameHigherMoments); +// +// +// //UnstrucuredGridWriter::writeUnstrucuredGrid(para, lev, ffname_bin, ffname_bin_Points); +// //UnstrucuredGridWriter::writeUnstrucuredGridEff(para, lev, ffname_bin_eff, ffname_bin_Points_eff); +// +// //UnstrucuredGridWriter::writeUnstrucuredGridAsciiEff(para, lev, ffname_bin, ffname_bin_Points); +// +// //VtkSGWriter::writeVTKsgSPbinTEST(ffname_bin_test); +// +// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// //2ndMoments +// //UnstrucuredGridWriter::writeUnstrucuredGridEff2ndMoments(para, lev, fname2ndMoments); +// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// +// +// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// //VtkSGWriter::writeVTKsgSPbinAS( para->getParH(lev)->nx, para->getParH(lev)->ny, para->getParH(lev)->nz, STARTOFFX, STARTOFFY, STARTOFFZ, +// // para->getParH(lev)->gridNX, para->getParH(lev)->gridNY, para->getParH(lev)->gridNZ, +// // para->getParH(lev)->startz, para->getParH(lev)->endz, ffname_bin, para->getParH(lev)->geoSP, para->getParH(lev)->geo, +// // para->getParH(lev)->vx_SP, para->getParH(lev)->vy_SP, para->getParH(lev)->vz_SP, para->getParH(lev)->rho_SP, +// // para->getParH(lev)->press_SP, +// // para->getVelocityRatio(), para->getDensityRatio(), +// // para->getParH(lev)->distX, para->getParH(lev)->distY, para->getParH(lev)->distZ, +// // para->getParH(lev)->dx, para->getParH(lev)->coordX_SP, para->getParH(lev)->coordY_SP, para->getParH(lev)->coordZ_SP); +// ////median +// //VtkSGWriter::writeVTKmedSPbinAS( para->getParH(lev)->nx, para->getParH(lev)->ny, para->getParH(lev)->nz, STARTOFFX, STARTOFFY, STARTOFFZ, +// // para->getParH(lev)->gridNX, para->getParH(lev)->gridNY, para->getParH(lev)->gridNZ, +// // para->getParH(lev)->startz, para->getParH(lev)->endz, ffname_bin_med, para->getParH(lev)->geoSP, para->getParH(lev)->geo, +// // para->getParH(lev)->vx_SP_Med, para->getParH(lev)->vy_SP_Med, para->getParH(lev)->vz_SP_Med, para->getParH(lev)->rho_SP_Med, +// // para->getParH(lev)->press_SP_Med, 1, +// // para->getVelocityRatio(), para->getDensityRatio(), +// // para->getParH(lev)->distX, para->getParH(lev)->distY, para->getParH(lev)->distZ, +// // para->getParH(lev)->dx, para->getParH(lev)->coordX_SP, para->getParH(lev)->coordY_SP, para->getParH(lev)->coordZ_SP); +// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// //VtkSGWriter::writeVTKsgSPbin(para->getParH(lev)->nx, para->getParH(lev)->ny, para->getParH(lev)->nz, STARTOFFX, STARTOFFY, STARTOFFZ, +// // para->getParH(lev)->gridNX, para->getParH(lev)->gridNY, para->getParH(lev)->gridNZ, +// // para->getParH(lev)->startz, para->getParH(lev)->endz, ffname_bin, para->getParH(lev)->geoSP, para->getParH(lev)->geo, +// // para->getParH(lev)->vx_SP, para->getParH(lev)->vy_SP, para->getParH(lev)->vz_SP, para->getParH(lev)->rho_SP, +// // para->getParH(lev)->press_SP, +// // para->getVelocityRatio(), para->getDensityRatio(), +// // para->getParH(lev)->distX, para->getParH(lev)->distY, para->getParH(lev)->distZ, +// // para->getParH(lev)->dx, para->getParH(lev)->k); +// ////median +// //VtkSGWriter::writeVTKmedSPbin( para->getParH(lev)->nx, para->getParH(lev)->ny, para->getParH(lev)->nz, STARTOFFX, STARTOFFY, STARTOFFZ, +// // para->getParH(lev)->gridNX, para->getParH(lev)->gridNY, para->getParH(lev)->gridNZ, +// // para->getParH(lev)->startz, para->getParH(lev)->endz, ffname_bin_med, para->getParH(lev)->geoSP, para->getParH(lev)->geo, +// // para->getParH(lev)->vx_SP_Med, para->getParH(lev)->vy_SP_Med, para->getParH(lev)->vz_SP_Med, para->getParH(lev)->rho_SP_Med, +// // para->getParH(lev)->press_SP_Med, 1, +// // para->getVelocityRatio(), para->getDensityRatio(), +// // para->getParH(lev)->distX, para->getParH(lev)->distY, para->getParH(lev)->distZ, +// // para->getParH(lev)->dx, para->getParH(lev)->k); +// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// //VtkSGWriter::writeVTKsgSP( para->getParH(lev)->nx, para->getParH(lev)->ny, para->getParH(lev)->nz, STARTOFFX, STARTOFFY, STARTOFFZ, +// // para->getParH(lev)->gridNX, para->getParH(lev)->gridNY, para->getParH(lev)->gridNZ, +// // para->getParH(lev)->startz, para->getParH(lev)->endz, ffname_test, para->getParH(lev)->geoSP, +// // para->getParH(lev)->vx_SP, para->getParH(lev)->vy_SP, para->getParH(lev)->vz_SP, para->getParH(lev)->rho_SP, +// // para->getParH(lev)->press_SP, +// // para->getVelocityRatio(), para->getDensityRatio(), +// // para->getParH(lev)->distX, para->getParH(lev)->distY, para->getParH(lev)->distZ, +// // para->getParH(lev)->dx, para->getParH(lev)->k); +// } +// } +//} +////////////////////////////////////////////////////////////////////////////////// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +////////////////////////////////////////////////////////////////////////////////// +//void writeTimestep(Parameter* para, unsigned int t) +//{ +// //////////////////////////////////////////////////////////////////////////////// +// for (int lev=para->getCoarse(); lev <= para->getFine(); lev++) +// { +// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// if (para->getUseWale()) para->cudaCopyTurbulentViscosityDH(lev); +// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// const unsigned int numberOfParts = para->getParH(lev)->size_Mat_SP / para->getlimitOfNodesForVTK() + 1; +// std::vector<std::string> fname; +// std::vector<std::string> fname_med; +// //2nd and 3rd Moments +// std::vector<std::string> fname2ndMoments; +// std::vector<std::string> fname3rdMoments; +// std::vector<std::string> fnameHigherMoments; +// for (unsigned int i = 1; i <= numberOfParts; i++) +// { +// fname.push_back(para->getFName()+"_bin_lev_"+StringUtil::toString<int>(lev)+"_ID_"+StringUtil::toString<int>(para->getMyID())+"_Part_"+StringUtil::toString<int>(i)+"_t_"+StringUtil::toString<int>(t)+".vtk"); +// fname_med.push_back(para->getFName()+"_bin_median_lev_"+StringUtil::toString<int>(lev)+"_ID_"+StringUtil::toString<int>(para->getMyID())+"_Part_"+StringUtil::toString<int>(i)+"_t_"+StringUtil::toString<int>(t)+".vtk"); +// fname2ndMoments.push_back(para->getFName()+"_2ndMoments_bin_lev_"+StringUtil::toString<int>(lev)+"_ID_"+StringUtil::toString<int>(para->getMyID())+"_Part_"+StringUtil::toString<int>(i)+"_t_"+StringUtil::toString<int>(t)+".vtk"); +// fname3rdMoments.push_back(para->getFName()+"_3rdMoments_bin_lev_"+StringUtil::toString<int>(lev)+"_ID_"+StringUtil::toString<int>(para->getMyID())+"_Part_"+StringUtil::toString<int>(i)+"_t_"+StringUtil::toString<int>(t)+".vtk"); +// fnameHigherMoments.push_back(para->getFName()+"_HigherMoments_bin_lev_"+StringUtil::toString<int>(lev)+"_ID_"+StringUtil::toString<int>(para->getMyID())+"_Part_"+StringUtil::toString<int>(i)+"_t_"+StringUtil::toString<int>(t)+".vtk"); +// } +// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// //std::string ffname_test = para->getFName()+"_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID())+"_"+StringUtil::toString<int>(t)+".vtk"; +// //std::string ffname_bin = para->getFName()+"_bin_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID()) + "_" +StringUtil::toString<int>(t)+ "PartI.vtk"; +// //std::string ffname_bin2 = para->getFName()+"_bin_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID()) + "_" +StringUtil::toString<int>(t)+ "PartII.vtk"; +// //std::string ffname_bin_Points = para->getFName()+"_Points_"+"_bin_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID())+"_"+StringUtil::toString<int>(t)+".vtk"; +// //std::string ffname_bin_eff = para->getFName()+"_bin_eff_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID())+"_"+StringUtil::toString<int>(t)+".vtk"; +// //std::string ffname_bin_Points_eff = para->getFName()+"_Points_"+"_bin_eff_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID())+"_"+StringUtil::toString<int>(t)+".vtk"; +// //std::string ffname_bin_med = para->getFName()+"_bin_med_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID())+"_"+StringUtil::toString<int>(t)+".vtk"; +// +// //std::string ffname_bin = para->getFName()+"_bin_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID()) + "_" +StringUtil::toString<int>(t) + ".vtk"; +// +// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// ////2nd and 3rd Moments +// //std::string fname2ndMoments = para->getFName()+"_2ndMoments_bin_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID())+"_"+StringUtil::toString<int>(t)+".vtk"; +// //std::string fname3rdMoments = para->getFName()+"_3rdMoments_bin_"+StringUtil::toString<int>(lev)+"_"+StringUtil::toString<int>(para->getMyID())+"_"+StringUtil::toString<int>(t)+".vtk"; +// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// +// if (para->getDiffOn()==true) +// { +// //printf("vor writeUnstrucuredGridLTConc"); +// UnstructuredGridWriter::writeUnstrucuredGridLTConc(para, lev, fname); +// //printf("nach writeUnstrucuredGridLTConc"); +// //VtkSGWriter::writeVTKsgThS(para->getParH(lev)->nx, para->getParH(lev)->ny, para->getParH(lev)->nz, STARTOFFX, STARTOFFY, STARTOFFZ, +// // para->getParH(lev)->gridNX, para->getParH(lev)->gridNY, para->getParH(lev)->gridNZ, +// // para->getParH(lev)->startz, para->getParH(lev)->endz, ffname_test, para->getParH(lev)->geoSP, +// // para->getParH(lev)->vx_SP, para->getParH(lev)->vy_SP, para->getParH(lev)->vz_SP, para->getParH(lev)->rho_SP, +// // para->getVelocityRatio(), para->getDensityRatio(), +// // para->getParH(lev)->distX, para->getParH(lev)->distY, para->getParH(lev)->distZ, +// // para->getParH(lev)->dx, para->getParH(lev)->k, para->getParH(lev)->Conc); +// } +// else +// { +// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// //UnstrucuredGridWriter::writeUnstrucuredGrid(para, lev, ffname_bin, ffname_bin_Points); +// //UnstrucuredGridWriter::writeUnstrucuredGridEff(para, lev, ffname_bin_eff, ffname_bin_Points_eff); +// //UnstrucuredGridWriter::writeUnstrucuredGridBig(para, lev, ffname_bin, ffname_bin2); +// +// +// if (para->getUseWale()) +// { +// //UnstrucuredGridWriter::writeUnstrucuredGridLTwithTurbulentViscosity(para, lev, fname); +// UnstructuredGridWriter::writeUnstrucuredGridLTwithTurbulentViscosityDebug(para, lev, fname); +// } +// //else if (para->getSimulatePorousMedia()) +// //{ +// // UnstrucuredGridWriter::writeUnstrucuredGridPM(para, lev, fname); +// //} +// else +// { +// UnstructuredGridWriter::writeUnstrucuredGridLT(para, lev, fname); +// } +// +// //2nd and 3rd Moments +// if (para->getCalc2ndOrderMoments()) UnstructuredGridWriter::writeUnstrucuredGridEff2ndMomentsLT(para, lev, fname2ndMoments); +// if (para->getCalc3rdOrderMoments()) UnstructuredGridWriter::writeUnstrucuredGridEff3rdMomentsLT(para, lev, fname3rdMoments); +// if (para->getCalcHighOrderMoments()) UnstructuredGridWriter::writeUnstrucuredGridEffHigherMomentsLT(para, lev, fnameHigherMoments); +// +// +// +// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// if (para->getCalcMedian() && ((int)t > para->getTimeCalcMedStart()) && ((int)t <= para->getTimeCalcMedEnd()) && ((t%(unsigned int)para->getclockCycleForMP())==0)) +// { +// ////UnstrucuredGridWriter::writeUnstrucuredGridEffMedian(para, lev, ffname_bin_med); +// //UnstrucuredGridWriter::writeUnstrucuredGridMedianLT(para, lev, fname_med); +// UnstructuredGridWriter::writeUnstrucuredGridMedianLTwithDerivationsAndSqaredVelos(para, lev, fname_med); +// } +// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// +// +// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// //2ndMoments +// //UnstrucuredGridWriter::writeUnstrucuredGridEff2ndMoments(para, lev, fname2ndMoments); +// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// +// +// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// //VtkSGWriter::writeVTKsgSPbinAS( para->getParH(lev)->nx, para->getParH(lev)->ny, para->getParH(lev)->nz, STARTOFFX, STARTOFFY, STARTOFFZ, +// // para->getParH(lev)->gridNX, para->getParH(lev)->gridNY, para->getParH(lev)->gridNZ, +// // para->getParH(lev)->startz, para->getParH(lev)->endz, ffname_bin, para->getParH(lev)->geoSP, para->getParH(lev)->geo, +// // para->getParH(lev)->vx_SP, para->getParH(lev)->vy_SP, para->getParH(lev)->vz_SP, para->getParH(lev)->rho_SP, +// // para->getParH(lev)->press_SP, +// // para->getVelocityRatio(), para->getDensityRatio(), +// // para->getParH(lev)->distX, para->getParH(lev)->distY, para->getParH(lev)->distZ, +// // para->getParH(lev)->dx, para->getParH(lev)->coordX_SP, para->getParH(lev)->coordY_SP, para->getParH(lev)->coordZ_SP); +// //median +// //if (((int)t > para->getTimeCalcMedStart()) && ((int)t <= para->getTimeCalcMedEnd())) +// //{ +// //VtkSGWriter::writeVTKmedSPbinAS( para->getParH(lev)->nx, para->getParH(lev)->ny, para->getParH(lev)->nz, STARTOFFX, STARTOFFY, STARTOFFZ, +// // para->getParH(lev)->gridNX, para->getParH(lev)->gridNY, para->getParH(lev)->gridNZ, +// // para->getParH(lev)->startz, para->getParH(lev)->endz, ffname_bin_med, para->getParH(lev)->geoSP, para->getParH(lev)->geo, +// // para->getParH(lev)->vx_SP_Med, para->getParH(lev)->vy_SP_Med, para->getParH(lev)->vz_SP_Med, para->getParH(lev)->rho_SP_Med, +// // para->getParH(lev)->press_SP_Med, tdiff, +// // para->getVelocityRatio(), para->getDensityRatio(), +// // para->getParH(lev)->distX, para->getParH(lev)->distY, para->getParH(lev)->distZ, +// // para->getParH(lev)->dx, para->getParH(lev)->coordX_SP, para->getParH(lev)->coordY_SP, para->getParH(lev)->coordZ_SP); +// //} +// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// //VtkSGWriter::writeVTKsgSPbin(para->getParH(lev)->nx, para->getParH(lev)->ny, para->getParH(lev)->nz, STARTOFFX, STARTOFFY, STARTOFFZ, +// // para->getParH(lev)->gridNX, para->getParH(lev)->gridNY, para->getParH(lev)->gridNZ, +// // para->getParH(lev)->startz, para->getParH(lev)->endz, ffname_bin, para->getParH(lev)->geoSP, para->getParH(lev)->geo, +// // para->getParH(lev)->vx_SP, para->getParH(lev)->vy_SP, para->getParH(lev)->vz_SP, para->getParH(lev)->rho_SP, +// // para->getParH(lev)->press_SP, +// // para->getVelocityRatio(), para->getDensityRatio(), +// // para->getParH(lev)->distX, para->getParH(lev)->distY, para->getParH(lev)->distZ, +// // para->getParH(lev)->dx, para->getParH(lev)->k); +// //if (((int)t > para->getTimeCalcMedStart()) && ((int)t <= para->getTimeCalcMedEnd())) +// //{ +// // //Median +// // real tdiff = (real)t - (real)t_prev; +// // VtkSGWriter::writeVTKmedSPbin(para->getParH(lev)->nx, para->getParH(lev)->ny, para->getParH(lev)->nz, STARTOFFX, STARTOFFY, STARTOFFZ, +// // para->getParH(lev)->gridNX, para->getParH(lev)->gridNY, para->getParH(lev)->gridNZ, +// // para->getParH(lev)->startz, para->getParH(lev)->endz, ffname_bin_med, para->getParH(lev)->geoSP, para->getParH(lev)->geo, +// // para->getParH(lev)->vx_SP_Med, para->getParH(lev)->vy_SP_Med, para->getParH(lev)->vz_SP_Med, para->getParH(lev)->rho_SP_Med, +// // para->getParH(lev)->press_SP_Med, tdiff, +// // para->getVelocityRatio(), para->getDensityRatio(), +// // para->getParH(lev)->distX, para->getParH(lev)->distY, para->getParH(lev)->distZ, +// // para->getParH(lev)->dx, para->getParH(lev)->k); +// //} +// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// // //VtkSGWriter::writeVTKsgSP( para->getParH(lev)->nx, para->getParH(lev)->ny, para->getParH(lev)->nz, STARTOFFX, STARTOFFY, STARTOFFZ, +// // // para->getParH(lev)->gridNX, para->getParH(lev)->gridNY, para->getParH(lev)->gridNZ, +// // // para->getParH(lev)->startz, para->getParH(lev)->endz, ffname_test, para->getParH(lev)->geoSP, +// // // para->getParH(lev)->vx_SP, para->getParH(lev)->vy_SP, para->getParH(lev)->vz_SP, para->getParH(lev)->rho_SP, +// // // para->getParH(lev)->press_SP, +// // // para->getVelocityRatio(), para->getDensityRatio(), +// // // para->getParH(lev)->distX, para->getParH(lev)->distY, para->getParH(lev)->distZ, +// // // para->getParH(lev)->dx, para->getParH(lev)->k); +// //} +// ////////////////////////////////////////////////////////////////////////// +// //output << "\n Write MeasurePoints at t = " << t << " (level = " << lev <<")\n"; +// ////for (int lev=para->getCoarse(); lev <= para->getFine(); lev++) +// ////{ +// //for(int j = 0; j < (int)para->getParH(lev)->MP.size(); j++) +// //{ +// // MeasurePointWriter::writeMeasurePoints(para, lev, j, (int)t); +// //} +// } +// ////////////////////////////////////////////////////////////////////////// +// } +// +//} +////////////////////////////////////////////////////////////////////////////////// +// +// +// +// +// +// +// +// +// +////////////////////////////////////////////////////////////////////////////////// +//void writeParticle(Parameter* para, unsigned int t) +//{ +// for (int lev = para->getParticleBasicLevel(); lev <= para->getFine(); lev++) +// { +// ////////////////////////////////////////////////////////////////////////// +// //set filename +// std::string fname = para->getFName()+StringUtil::toString<int>(lev)+StringUtil::toString<int>(para->getMyID())+"_t_"+StringUtil::toString<int>(t)+"_Particles.vtk"; +// ////////////////////////////////////////////////////////////////////////// +// //write particles +// UnstructuredGridWriter::writeUnstrucuredParticles(para, lev, fname); +// ////////////////////////////////////////////////////////////////////////// +// } +//} +////////////////////////////////////////////////////////////////////////////////// diff --git a/src/VirtualFluids_GPU/Output/WriteData.h b/src/VirtualFluids_GPU/Output/WriteData.h index d0b29e46fc933e6bbd500ee940c3cb6d462e5e44..58251a20c9c6a290dbcf98c509d1bab13f36dd24 100644 --- a/src/VirtualFluids_GPU/Output/WriteData.h +++ b/src/VirtualFluids_GPU/Output/WriteData.h @@ -1,12 +1,12 @@ -#ifndef WRITE_DATA_H -#define WRITE_DATA_H - -#include <core/PointerDefinitions.h> - -class Parameter; - -void writeInit(SPtr<Parameter> para); -void writeTimestep(Parameter* para, unsigned int t); -void writeParticle(Parameter* para, unsigned int t); - -#endif +//#ifndef WRITE_DATA_H +//#define WRITE_DATA_H +// +//#include <core/PointerDefinitions.h> +// +//class Parameter; +// +//void writeInit(SPtr<Parameter> para); +//void writeTimestep(Parameter* para, unsigned int t); +//void writeParticle(Parameter* para, unsigned int t); +// +//#endif diff --git a/src/VirtualFluids_GPU/Particles/Particles.cpp b/src/VirtualFluids_GPU/Particles/Particles.cpp index 8e82b52583b93575fb92a3367af1d8c21dba000d..2092165306982c26d56b4294e5ab8d416f4f9446 100644 --- a/src/VirtualFluids_GPU/Particles/Particles.cpp +++ b/src/VirtualFluids_GPU/Particles/Particles.cpp @@ -1,6 +1,6 @@ #include "Particles/Particles.h" //#include "Output/UnstructuredGridWriter.hpp" -#include "Output/WriteData.h" +#include "Output/FileWriter.h" #include <cuda_runtime.h> #include <helper_cuda.h> @@ -384,7 +384,7 @@ void copyAndPrintParticles(Parameter* para, unsigned int t, bool isInit) ////////////////////////////////////////////////////////////////////////// //write particles - writeParticle(para, t); + FileWriter().writeParticle(para, t); ////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////