chrono::fsi::sph::ChFsiSplashsurfSPH Class Reference

Description

Surface reconstruction for SPH particle data.

Uses the splashsurf tool from https://github.com/InteractiveComputerGraphics/splashsurf.

#include <ChFsiSplashsurfSPH.h>

Public Member Functions

 ChFsiSplashsurfSPH (const ChFsiFluidSystemSPH &sysSPH)
 
void SetParticleRadius (double radius)
 Set the particle radius.
 
void SetSmoothingLength (double length)
 Set the smoothing length used for the SPH kernel (in multiplies of the particle radius). More...
 
void SetCubeSize (double size)
 Set the cube edge length used for marching cubes (in multiplies of the particle radius). More...
 
void SetSurfaceThreshold (double threshold)
 Set the iso-surface threshold for the density (in multiplies of the rest density). More...
 
void AddArguments (const std::string &args)
 Add arbitrary splashsurf arguments to the command.
 
void WriteParticleFileJSON (const std::string &filename)
 Save the current SPH particles to a JSON data file.
 
void WriteReconstructedSurface (const std::string &in_filename, const std::string &out_filename, bool quiet=false)
 Run splashsurf for the specified input file. More...
 

Member Function Documentation

◆ SetCubeSize()

void chrono::fsi::sph::ChFsiSplashsurfSPH::SetCubeSize ( double  size)
inline

Set the cube edge length used for marching cubes (in multiplies of the particle radius).

This corresponds to the cell size of the implicit background grid.

◆ SetSmoothingLength()

void chrono::fsi::sph::ChFsiSplashsurfSPH::SetSmoothingLength ( double  length)
inline

Set the smoothing length used for the SPH kernel (in multiplies of the particle radius).

The kernel compact support radius will be twice the smoothing length.

◆ SetSurfaceThreshold()

void chrono::fsi::sph::ChFsiSplashsurfSPH::SetSurfaceThreshold ( double  threshold)
inline

Set the iso-surface threshold for the density (in multiplies of the rest density).

This is the normalized value of the reconstructed density level that indicates the fluid surface.

◆ WriteReconstructedSurface()

void chrono::fsi::sph::ChFsiSplashsurfSPH::WriteReconstructedSurface ( const std::string &  in_filename,
const std::string &  out_filename,
bool  quiet = false 
)

Run splashsurf for the specified input file.

The input file (in_filename) must be a JSON file containing particle position information (as generated by WriteParticleFileJSON). The reconstructed surface will be written in the output file (out_filename). Supported output formats are: VTK, PLY, OBJ. If quiet=true, splashsurf console output is supressed.


The documentation for this class was generated from the following files:
  • /builds/uwsbel/chrono/src/chrono_fsi/sph/ChFsiSplashsurfSPH.h
  • /builds/uwsbel/chrono/src/chrono_fsi/sph/ChFsiSplashsurfSPH.cpp