Memosa-FVM
0.2
|
#include <MeshMetricsCalculator.h>
Public Types | |
typedef Vector< T, 3 > | VectorT3 |
typedef Array< T > | TArray |
typedef Array< int > | IntArray |
typedef Array< VectorT3 > | VectorT3Array |
Public Member Functions | |
MeshMetricsCalculator (GeomFields &geomFields, const MeshList &meshes, bool transient=false) | |
virtual | ~MeshMetricsCalculator () |
virtual void | init () |
void | createNodeDisplacement () |
void | calculateBoundaryNodeNormal () |
void | recalculate () |
void | recalculate_deform () |
void | computeIBInterpolationMatrices (const StorageSite &particles, const int option=0) |
void | computeIBInterpolationMatricesCells () |
void | eraseIBInterpolationMatrices (const StorageSite &particles) |
void | computeSolidInterpolationMatrices (const StorageSite &particles) |
void | computeIBandSolidInterpolationMatrices (const StorageSite &particles) |
void | computeGridInterpolationMatrices (const StorageSite &grids, const StorageSite &faces) |
void | updateTime () |
![]() | |
Model (const MeshList &meshes) | |
virtual | ~Model () |
DEFINE_TYPENAME ("Model") | |
virtual map< string, shared_ptr< ArrayBase > > & | getPersistenceData () |
virtual void | restart () |
Private Member Functions | |
virtual void | calculateNodeCoordinates (const Mesh &mesh) |
virtual void | calculateFaceCentroids (const Mesh &mesh) |
virtual void | calculateCellCentroids (const Mesh &mesh) |
virtual void | calculateFaceAreas (const Mesh &mesh) |
virtual void | calculateFaceAreaMag (const Mesh &mesh) |
virtual void | calculateCellVolumes (const Mesh &mesh) |
void | computeIBInterpolationMatrices (const Mesh &mesh, const StorageSite &particles, const int option) |
void | computeIBInterpolationMatricesCells (const Mesh &mesh) |
void | computeSolidInterpolationMatrices (const Mesh &mesh, const StorageSite &particles) |
void | computeIBandSolidInterpolationMatrices (const Mesh &mesh, const StorageSite &particles) |
void | computeGridInterpolationMatrices (const Mesh &mesh, const StorageSite &grids, const StorageSite &faces) |
Private Attributes | |
GeomFields & | _geomFields |
Field & | _coordField |
Field & | _areaField |
Field & | _areaMagField |
Field & | _volumeField |
Field & | _nodeDisplacement |
Field & | _boundaryNodeNormal |
bool | _transient |
Additional Inherited Members | |
![]() | |
const MeshList | _meshes |
StorageSiteList | _varSites |
StorageSiteList | _fluxSites |
map< string, shared_ptr < ArrayBase > > | _persistenceData |
Definition at line 22 of file MeshMetricsCalculator.h.
typedef Array<int> MeshMetricsCalculator< T >::IntArray |
Definition at line 28 of file MeshMetricsCalculator.h.
typedef Array<T> MeshMetricsCalculator< T >::TArray |
Definition at line 27 of file MeshMetricsCalculator.h.
typedef Vector<T,3> MeshMetricsCalculator< T >::VectorT3 |
Definition at line 26 of file MeshMetricsCalculator.h.
typedef Array<VectorT3> MeshMetricsCalculator< T >::VectorT3Array |
Definition at line 29 of file MeshMetricsCalculator.h.
MeshMetricsCalculator< T >::MeshMetricsCalculator | ( | GeomFields & | geomFields, |
const MeshList & | meshes, | ||
bool | transient = false |
||
) |
Definition at line 1928 of file MeshMetricsCalculator_impl.h.
References logCtor.
|
virtual |
Definition at line 2454 of file MeshMetricsCalculator_impl.h.
References logDtor.
void MeshMetricsCalculator< T >::calculateBoundaryNodeNormal | ( | ) |
Definition at line 308 of file MeshMetricsCalculator_impl.h.
References Mesh::createAndGetBNglobalToLocal(), Mesh::getAllFaceGroups(), Mesh::getBoundaryNodes(), StorageSite::getCount(), CRConnectivity::getCount(), Mesh::getFaceNodes(), FaceGroup::groupType, FaceGroup::site, and Array< T >::zero().
|
privatevirtual |
calculate cell centroids. Needs to have the face centroid and areas computed already.
Definition at line 130 of file MeshMetricsCalculator_impl.h.
References dot(), Mesh::getAllFaceCells(), Mesh::getAllFaceGroups(), Mesh::getCells(), StorageSite::getCount(), CRConnectivity::getCount(), StorageSite::getCountLevel1(), Mesh::getFaceCells(), Mesh::getFaces(), Mesh::getParentFaceGroupSite(), StorageSite::getSelfCount(), FaceGroup::groupType, Mesh::isDoubleShell(), Mesh::isShell(), FaceGroup::site, and Array< T >::zero().
|
privatevirtual |
Definition at line 394 of file MeshMetricsCalculator_impl.h.
References dot(), Mesh::getAllFaceCells(), Mesh::getAllFaceGroups(), Mesh::getCells(), StorageSite::getCount(), StorageSite::getCountLevel1(), Mesh::getDimension(), Mesh::getFaceCells(), Mesh::getFaces(), StorageSite::getSelfCount(), FaceGroup::groupType, Mesh::isShell(), FaceGroup::site, and Array< T >::zero().
|
privatevirtual |
Definition at line 373 of file MeshMetricsCalculator_impl.h.
References StorageSite::getCount(), Mesh::getFaces(), and mag().
|
privatevirtual |
Definition at line 240 of file MeshMetricsCalculator_impl.h.
References cross(), Mesh::getAllFaceNodes(), StorageSite::getCount(), CRConnectivity::getCount(), Mesh::getFaces(), Mesh::getNodes(), and Array< T >::zero().
|
privatevirtual |
calculates the face centroids. Needs face area and magnitude for non-planar corrections.
Definition at line 60 of file MeshMetricsCalculator_impl.h.
References cross(), dot(), Mesh::getAllFaceNodes(), StorageSite::getCount(), CRConnectivity::getCount(), Mesh::getFaces(), and Mesh::getNodes().
|
privatevirtual |
The mesh always has coordinates in double. The coordField that the rest of the code uses to get the coordinates needs to have them in the current AType so this function just creates a copy in that AType.
Definition at line 36 of file MeshMetricsCalculator_impl.h.
References StorageSite::getCount(), Mesh::getNodeCoordinates(), and Mesh::getNodes().
void MeshMetricsCalculator< T >::computeGridInterpolationMatrices | ( | const StorageSite & | grids, |
const StorageSite & | faces | ||
) |
Definition at line 2442 of file MeshMetricsCalculator_impl.h.
|
private |
Definition at line 2136 of file MeshMetricsCalculator_impl.h.
References dot(), fabs(), and Mesh::getConnectivity().
void MeshMetricsCalculator< T >::computeIBandSolidInterpolationMatrices | ( | const StorageSite & | particles | ) |
Definition at line 2430 of file MeshMetricsCalculator_impl.h.
|
private |
Definition at line 2276 of file MeshMetricsCalculator_impl.h.
References Mesh::getCells(), and Mesh::getConnectivity().
void MeshMetricsCalculator< T >::computeIBInterpolationMatrices | ( | const StorageSite & | particles, |
const int | option = 0 |
||
) |
Definition at line 2371 of file MeshMetricsCalculator_impl.h.
|
private |
Definition at line 466 of file MeshMetricsCalculator_impl.h.
References determinant(), dot(), Mesh::getAllFaceCells(), Mesh::getCells(), CRConnectivity::getCol(), Mesh::getConnectivity(), StorageSite::getCount(), Mesh::getDimension(), Mesh::getFaces(), Mesh::getIBFaceList(), Mesh::getIBFaces(), Mesh::getLocalToGlobal(), CRConnectivity::getRow(), inverse(), Mesh::isShell(), max(), and min().
void MeshMetricsCalculator< T >::computeIBInterpolationMatricesCells | ( | ) |
Definition at line 2382 of file MeshMetricsCalculator_impl.h.
|
private |
Definition at line 1134 of file MeshMetricsCalculator_impl.h.
References determinant(), dot(), fabs(), Mesh::getAllFaceCells(), Mesh::getCells(), CRConnectivity::getCol(), Mesh::getConnectivity(), StorageSite::getCount(), Mesh::getDimension(), Mesh::getFaces(), Mesh::getIBFaceList(), Mesh::getIBFaces(), Mesh::getLocalToGlobal(), CRConnectivity::getRow(), inverse(), and Mesh::isShell().
void MeshMetricsCalculator< T >::computeSolidInterpolationMatrices | ( | const StorageSite & | particles | ) |
Definition at line 2418 of file MeshMetricsCalculator_impl.h.
|
private |
Definition at line 1565 of file MeshMetricsCalculator_impl.h.
References determinant(), dot(), fabs(), Mesh::getCells(), CRConnectivity::getCol(), Mesh::getConnectivity(), StorageSite::getCount(), Mesh::getDimension(), CRConnectivity::getRow(), inverse(), and Mesh::isShell().
void MeshMetricsCalculator< T >::createNodeDisplacement | ( | ) |
void MeshMetricsCalculator< T >::eraseIBInterpolationMatrices | ( | const StorageSite & | particles | ) |
Definition at line 2393 of file MeshMetricsCalculator_impl.h.
References Mesh::eraseConnectivity(), Mesh::getCells(), and Mesh::getIBFaces().
|
virtual |
Implements Model.
Definition at line 1946 of file MeshMetricsCalculator_impl.h.
References Mesh::getAllFaceCells(), Mesh::getCells(), StorageSite::getCount(), StorageSite::getCountLevel1(), Mesh::getFaces(), Mesh::getPeriodicFacePairs(), Mesh::IBTYPE_FLUID, and Mesh::isShell().
void MeshMetricsCalculator< T >::recalculate | ( | ) |
Definition at line 2046 of file MeshMetricsCalculator_impl.h.
References Mesh::isShell().
void MeshMetricsCalculator< T >::recalculate_deform | ( | ) |
Definition at line 2098 of file MeshMetricsCalculator_impl.h.
References Mesh::isShell().
void MeshMetricsCalculator< T >::updateTime | ( | ) |
Definition at line 2067 of file MeshMetricsCalculator_impl.h.
References Mesh::getCells(), and StorageSite::getCountLevel1().
|
private |
Definition at line 64 of file MeshMetricsCalculator.h.
|
private |
Definition at line 65 of file MeshMetricsCalculator.h.
|
private |
Definition at line 68 of file MeshMetricsCalculator.h.
|
private |
Definition at line 63 of file MeshMetricsCalculator.h.
|
private |
Definition at line 62 of file MeshMetricsCalculator.h.
|
private |
Definition at line 67 of file MeshMetricsCalculator.h.
|
private |
Definition at line 69 of file MeshMetricsCalculator.h.
|
private |
Definition at line 66 of file MeshMetricsCalculator.h.