|
VirtualFluids 0.2.0
Parallel CFD LBM Solver
|
Simplifies the creation of the grids for a multi-gpu simulation. More...
#include <MultipleGridBuilderFacade.h>
Protected Member Functions | |
| std::array< uint, 3 > | convertToIndices3D (uint index1D) const |
| uint | getX3D (uint index1D) const |
| uint | getY3D (uint index1D) const |
| uint | getZ3D (uint index1D) const |
| uint | getIndex1D (uint xIndex, uint yIndex, uint zIndex) const |
| uint | getIndex1D (const std::array< uint, 3 > &index3D) const |
Protected Attributes | |
| std::array< uint, 3 > | numberOfSubdomains |
| total number of subdomains in each coordinate direction (computed) | |
Simplifies the creation of the grids for a multi-gpu simulation.
Using this class is optional.
Steps to set up the grids:
Definition at line 85 of file MultipleGridBuilderFacade.h.
| vf::gpu::MultipleGridBuilderFacade::MultipleGridBuilderFacade | ( | SPtr< MultipleGridBuilder > | gridBuilder, |
| SPtr< GridDimensions > | gridDimensions, | ||
| std::optional< real > | overlapOfSubdomains = std::nullopt |
||
| ) |
Definition at line 54 of file MultipleGridBuilderFacade.cpp.
| vf::gpu::MultipleGridBuilderFacade::MultipleGridBuilderFacade | ( | SPtr< GridDimensions > | gridDimensions, |
| std::optional< real > | overlapOfSubdomains = std::nullopt |
||
| ) |
Definition at line 62 of file MultipleGridBuilderFacade.cpp.
split the domain in the passed direction at the passed coordinate
multiple splits can be added to a domain
Definition at line 286 of file MultipleGridBuilderFacade.cpp.
| void vf::gpu::MultipleGridBuilderFacade::addFineGrid | ( | std::shared_ptr< Object > | gridShape, |
| uint | levelFine | ||
| ) |
adds a fine grid
multiple fine grids can be added
Definition at line 304 of file MultipleGridBuilderFacade.cpp.
adds a geometry to the fluid domain
add a primitive or an stl to the fluid domain
Definition at line 312 of file MultipleGridBuilderFacade.cpp.
|
protected |
Definition at line 341 of file MultipleGridBuilderFacade.cpp.
generate the subdomain which is specified by generatePart
has to be called before the boundary conditions
Definition at line 68 of file MultipleGridBuilderFacade.cpp.
| SPtr< MultipleGridBuilder > vf::gpu::MultipleGridBuilderFacade::getGridBuilder | ( | ) | const |
Definition at line 536 of file MultipleGridBuilderFacade.cpp.
|
protected |
Definition at line 354 of file MultipleGridBuilderFacade.cpp.
|
protected |
Definition at line 349 of file MultipleGridBuilderFacade.cpp.
Definition at line 326 of file MultipleGridBuilderFacade.cpp.
Definition at line 331 of file MultipleGridBuilderFacade.cpp.
Definition at line 336 of file MultipleGridBuilderFacade.cpp.
| void vf::gpu::MultipleGridBuilderFacade::setADDirichletBoundaryCondition | ( | SideType | sideType, |
| real | value, | ||
| real | vx, | ||
| real | vy, | ||
| real | vz | ||
| ) |
Definition at line 415 of file MultipleGridBuilderFacade.cpp.
| void vf::gpu::MultipleGridBuilderFacade::setADFluxBoundaryCondition | ( | SideType | sideType, |
| real | normalX, | ||
| real | normalY, | ||
| real | normalZ, | ||
| real | gradient, | ||
| real | deltaX | ||
| ) |
Definition at line 411 of file MultipleGridBuilderFacade.cpp.
| void vf::gpu::MultipleGridBuilderFacade::setADNeumannBoundaryCondition | ( | SideType | sideType, |
| real | gradient, | ||
| real | vx, | ||
| real | vy, | ||
| real | vz, | ||
| real | dx | ||
| ) |
Definition at line 419 of file MultipleGridBuilderFacade.cpp.
Definition at line 407 of file MultipleGridBuilderFacade.cpp.
Definition at line 423 of file MultipleGridBuilderFacade.cpp.
Definition at line 402 of file MultipleGridBuilderFacade.cpp.
| void vf::gpu::MultipleGridBuilderFacade::setNumberOfLayersForRefinement | ( | uint | numberOfLayersFine, |
| uint | numberOfLayersBetweenLevels | ||
| ) | const |
add number of layers for refinements
calls gridBuilder->setNumberOfLayers()
Definition at line 320 of file MultipleGridBuilderFacade.cpp.
set the overlap of the subdomains
Definition at line 281 of file MultipleGridBuilderFacade.cpp.
| void vf::gpu::MultipleGridBuilderFacade::setPeriodicBoundaryCondition | ( | bool | periodic_X, |
| bool | periodic_Y, | ||
| bool | periodic_Z | ||
| ) |
Definition at line 448 of file MultipleGridBuilderFacade.cpp.
| void vf::gpu::MultipleGridBuilderFacade::setPeriodicBoundaryCondition | ( | const std::array< bool, 3 > & | periodicity | ) |
Definition at line 453 of file MultipleGridBuilderFacade.cpp.
Definition at line 460 of file MultipleGridBuilderFacade.cpp.
Definition at line 466 of file MultipleGridBuilderFacade.cpp.
Definition at line 472 of file MultipleGridBuilderFacade.cpp.
Definition at line 478 of file MultipleGridBuilderFacade.cpp.
Definition at line 484 of file MultipleGridBuilderFacade.cpp.
Definition at line 490 of file MultipleGridBuilderFacade.cpp.
| void vf::gpu::MultipleGridBuilderFacade::setPrecursorBoundaryCondition | ( | SideType | sideType, |
| SPtr< FileCollection > | fileCollection, | ||
| int | timeStepsBetweenReads, | ||
| bool | cycleFiles, | ||
| real | velocityX = vf::basics::constant::c0o1, |
||
| real | velocityY = vf::basics::constant::c0o1, |
||
| real | velocityZ = vf::basics::constant::c0o1, |
||
| std::vector< uint > | fileLevelToGridLevelMap = {} |
||
| ) | const |
Definition at line 381 of file MultipleGridBuilderFacade.cpp.
| void vf::gpu::MultipleGridBuilderFacade::setPressureBoundaryCondition | ( | SideType | sideType, |
| real | rho | ||
| ) | const |
Definition at line 397 of file MultipleGridBuilderFacade.cpp.
| void vf::gpu::MultipleGridBuilderFacade::setSlipBoundaryCondition | ( | SideType | sideType, |
| real | normalX, | ||
| real | normalY, | ||
| real | normalZ | ||
| ) | const |
Definition at line 359 of file MultipleGridBuilderFacade.cpp.
| void vf::gpu::MultipleGridBuilderFacade::setStressBoundaryCondition | ( | SideType | sideType, |
| real | normalX, | ||
| real | normalY, | ||
| real | normalZ, | ||
| uint | samplingOffset, | ||
| real | vonKarmanConstant, | ||
| real | roughnessLength, | ||
| real | deltaX, | ||
| std::shared_ptr< GbSpatialData3D< real > > | roughnessMap = nullptr |
||
| ) | const |
Definition at line 364 of file MultipleGridBuilderFacade.cpp.
| void vf::gpu::MultipleGridBuilderFacade::setSurfaceLayerBoundaryCondition | ( | SideType | sideType, |
| real | normalX, | ||
| real | normalY, | ||
| real | normalZ, | ||
| uint | samplingOffset, | ||
| real | vonKarmanConstant, | ||
| real | roughnessLength, | ||
| real | roughnessLengthTemperature, | ||
| real | surfaceHeatFlux, | ||
| real | surfaceTemperature, | ||
| real | heatingRate, | ||
| real | deltaX, | ||
| real | deltaT, | ||
| std::shared_ptr< GbSpatialData3D< real > > | roughnessMap = nullptr |
||
| ) | const |
Definition at line 371 of file MultipleGridBuilderFacade.cpp.
| void vf::gpu::MultipleGridBuilderFacade::setVelocityBoundaryCondition | ( | SideType | sideType, |
| real | vx, | ||
| real | vy, | ||
| real | vz, | ||
| std::optional< std::function< void(real x, real y, real z, real &vx, real &vy, real &vz)> > | velocityProfile = std::nullopt |
||
| ) | const |
Definition at line 392 of file MultipleGridBuilderFacade.cpp.
|
protected |
total number of subdomains in each coordinate direction (computed)
Definition at line 207 of file MultipleGridBuilderFacade.h.