Memosa-FVM  0.2
IBManager.cpp File Reference
#include "IBManager.h"
#include "AABB.h"
#include "KSearchTree.h"
#include "Mesh.h"
#include "GradientModel.h"
#include <stack>
#include <iostream>
#include <fstream>
Include dependency graph for IBManager.cpp:

Go to the source code of this file.

Functions

void addFluidNeighbors (set< int > &neighbors, const CRConnectivity &cellCells, const Array< int > &ibType)
 

Function Documentation

void addFluidNeighbors ( set< int > &  neighbors,
const CRConnectivity cellCells,
const Array< int > &  ibType 
)

given a set of cells, add all their fluid ibtype neighbors to the list if they aren't already in it.

Definition at line 575 of file IBManager.cpp.

References CRConnectivity::getCount(), and Mesh::IBTYPE_FLUID.

Referenced by IBManager::createIBInterpolationStencil(), and IBManager::createSolidInterpolationStencil().

578 {
579  set<int> newNeighbors;
580  foreach(int c, neighbors)
581  {
582  const int neighborCount = cellCells.getCount(c);
583  for(int nnb=0; nnb<neighborCount; nnb++)
584  {
585  const int c_nb = cellCells(c,nnb);
586  if (ibType[c_nb] == Mesh::IBTYPE_FLUID)
587  newNeighbors.insert(c_nb);
588  }
589  }
590  neighbors.insert(newNeighbors.begin(),newNeighbors.end());
591 }
int getCount(const int i) const