MOOSE - Multiscale Object Oriented Simulation Environment
|
#include "header.h"
#include "SparseMatrix.h"
#include "ElementValueFinfo.h"
#include "Boundary.h"
#include "MeshEntry.h"
#include "VoxelJunction.h"
#include "ChemCompt.h"
#include "MeshCompt.h"
#include "CubeMesh.h"
#include "EndoMesh.h"
Go to the source code of this file.
Typedefs | |
typedef pair< unsigned int, unsigned int > | PII |
Functions | |
void | checkAbut (const vector< PII > &intersect, unsigned int ix, unsigned int iy, unsigned int iz, unsigned int nx, unsigned int ny, unsigned int nz, unsigned int meshIndex, vector< VoxelJunction > &ret) |
void | setAbut (PII &voxel, unsigned int meshIndex, unsigned int axis) |
void | setIntersectVoxel (vector< PII > &intersect, unsigned int ix, unsigned int iy, unsigned int iz, unsigned int nx, unsigned int ny, unsigned int nz, unsigned int meshIndex) |
void | swapIfBackward (double &x0, double &x1) |
Variables | |
static const Cinfo * | cubeMeshCinfo = CubeMesh::initCinfo() |
typedef pair< unsigned int, unsigned int > PII |
Definition at line 29 of file CubeMesh.cpp.
void checkAbut | ( | const vector< PII > & | intersect, |
unsigned int | ix, | ||
unsigned int | iy, | ||
unsigned int | iz, | ||
unsigned int | nx, | ||
unsigned int | ny, | ||
unsigned int | nz, | ||
unsigned int | meshIndex, | ||
vector< VoxelJunction > & | ret | ||
) |
checkAbut checks the intersect vector for the current position ix, iy, iz, to determine how many diffusion terms to extract. It then puts each of the extracted terms into the ret vector. There is a minor efficiency for one and two diffusion terms as they are encoded within the intersect vector. Higher-order surface alignments require an in-line scan of neighboring voxels. In all casesl the function inserts a flag indicating surface direction into the diffScale field of the VoxelJunction. 0 = x; 1 = y; 2 = z.
Definition at line 1348 of file CubeMesh.cpp.
References CubeMesh::ABUTX, CubeMesh::ABUTY, CubeMesh::ABUTZ, CubeMesh::EMPTY, CubeMesh::MULTI, and CubeMesh::SURFACE.
Referenced by CubeMesh::matchCubeMeshEntries(), and testIntersectVoxel().
void setAbut | ( | PII & | voxel, |
unsigned int | meshIndex, | ||
unsigned int | axis | ||
) |
The intersect pairs are always meshIndex in first, and a flag in the second. The flag can be: EMPTY: empty SURFACE: on the surface ABUT[X,Y,Z]: One place removed from the surface, only one entry MULTI: Multiple surface voxels are only one place removed from here. a number: Special case where 2 surface voxels abut. The number is the meshIndex of the second surface voxel. setAbut assigns the voxel flags based on what was already there
Definition at line 1294 of file CubeMesh.cpp.
References CubeMesh::EMPTY, CubeMesh::MULTI, and CubeMesh::SURFACE.
Referenced by setIntersectVoxel().
void setIntersectVoxel | ( | vector< PII > & | intersect, |
unsigned int | ix, | ||
unsigned int | iy, | ||
unsigned int | iz, | ||
unsigned int | nx, | ||
unsigned int | ny, | ||
unsigned int | nz, | ||
unsigned int | meshIndex | ||
) |
Definition at line 1304 of file CubeMesh.cpp.
References CubeMesh::ABUTX, CubeMesh::ABUTY, CubeMesh::ABUTZ, setAbut(), and CubeMesh::SURFACE.
Referenced by CubeMesh::assignVoxels(), and testIntersectVoxel().
void swapIfBackward | ( | double & | x0, |
double & | x1 | ||
) |
Definition at line 294 of file CubeMesh.cpp.
Referenced by CubeMesh::defineIntersection(), and CubeMesh::updateCoords().
|
static |
Definition at line 256 of file CubeMesh.cpp.
Referenced by CubeMesh::initCinfo().