https://github.com/xiaoxiaoyu1872/PostMPS
Revision 147a71d0d201fa15580f9950fbf2e194d92bb6dd authored by xiaoxiaoyu1872 on 27 October 2021, 17:56:14 UTC, committed by GitHub on 27 October 2021, 17:56:14 UTC
1 parent 4e241bc
Tip revision: 147a71d0d201fa15580f9950fbf2e194d92bb6dd authored by xiaoxiaoyu1872 on 27 October 2021, 17:56:14 UTC
Add files via upload
Add files via upload
Tip revision: 147a71d
GPUPOST.cpp
#include <string>
#include <iostream>
#include "GPUPOST.h"
GPUPOST::GPUPOST()
{
params = new Params();
gMemory = new GPUmemory();
}
GPUPOST::~GPUPOST()
{
delete params;
delete gMemory;
delete fileData;
}
void GPUPOST::initialize()
{
// checkMemUsed();
params->setFilname();
params->setParams();
params->printInfo();
params->setGPUId();
params->printGPUInfo();
gMemory->initGPUmemory(params);
}
void GPUPOST::runSimulation()
{
fileData = new FileData(params,gMemory);
NeighborSearch neighborSearch(gMemory, params);
SurfaceReconstruction surfaceReconstruction;
if (params->mConfigParams.isSurface){
surfaceReconstruction.Init(gMemory, params, fileData);
}
DiffuseGeneration diffuseGeneration;
if (params->mConfigParams.isDiffuse)
{
diffuseGeneration.Init(gMemory, params, fileData);
}
for (uint frameIndex = params->mConfigParams.frameStart;
frameIndex <= params->mConfigParams.frameEnd;
frameIndex += params->mConfigParams.frameStep)
{
// gMemory->Memreset();
float3 motion = {0,0,0};
// fileData->loadMotionFile(frameIndex, motion);
fileData->loadFluidFile(frameIndex, motion);
//fileData->loadMotionDatFile(frameIndex, motion);
// fileData->loadFluidDatFile(frameIndex, motion);
// checkMemUsed();
neighborSearch.SpatialGridBuilding();
if (params->mConfigParams.isSurface){
surfaceReconstruction.runsimulation();
}
if (params->mConfigParams.isDiffuse){
diffuseGeneration.runsimulation();
}
if(params->mConfigParams.isSurface){
gMemory->MethodYuMemFree();
gMemory->MCMemFree();
}
if (params->mConfigParams.isDiffuse){
gMemory->DiffuseMemFree();
}
gMemory->Memfree();
}
if(params->mConfigParams.isSurface){
surfaceReconstruction.Destory();
}
if(params->mConfigParams.isDiffuse){
diffuseGeneration.Destory();
}
}
void GPUPOST::finalize()
{
gMemory->finaGPUmemory();
}

Computing file changes ...