ESYS13
Revision_
|
#include "Finley.h"
#include "NodeFile.h"
#include "ElementFile.h"
#include "TagMap.h"
#include "Util.h"
#include "paso/SystemMatrixPattern.h"
#include "escript/DataC.h"
Go to the source code of this file.
typedef struct Finley_Mesh Finley_Mesh |
Paso_SystemMatrixPattern* Finley_getPattern | ( | Finley_Mesh * | mesh, |
bool_t | reduce_row_order, | ||
bool_t | reduce_col_order | ||
) |
References Finley_makePattern(), Finley_noError(), Finley_resetError(), Finley_Mesh::FullFullPattern, Finley_Mesh::FullReducedPattern, Paso_SystemMatrixPattern_getReference(), Finley_Mesh::ReducedFullPattern, and Finley_Mesh::ReducedReducedPattern.
Referenced by finley::MeshAdapter::newSystemMatrix(), and finley::MeshAdapter::newTransportProblem().
Paso_SystemMatrixPattern* Finley_makePattern | ( | Finley_Mesh * | mesh, |
bool_t | reduce_row_order, | ||
bool_t | reduce_col_order | ||
) |
References col_connector, Finley_Mesh::ContactElements, Finley_NodeFile::degreesOfFreedomConnector, Finley_NodeFile::degreesOfFreedomDistribution, Finley_NodeFile::degreesOfFreedomMapping, Finley_Mesh::Elements, Esys_MPIInfo_noError(), Finley_IndexList::extension, Finley_Mesh::FaceElements, Finley_checkPtr(), Finley_IndexList_createPattern(), Finley_IndexList_free(), Finley_IndexList_insertElements(), Finley_noError(), Finley_resetError(), MATRIX_FORMAT_DEFAULT, Finley_Mesh::MPIInfo, Finley_IndexList::n, Finley_Mesh::Nodes, Finley_NodeMapping::numTargets, Paso_Distribution_getMyNumComponents(), Paso_Pattern_free(), Paso_SystemMatrixPattern_alloc(), Finley_Mesh::Points, Finley_NodeFile::reducedDegreesOfFreedomConnector, Finley_NodeFile::reducedDegreesOfFreedomDistribution, Finley_NodeFile::reducedDegreesOfFreedomMapping, Finley_NodeMapping::target, TMPMEMALLOC, and TMPMEMFREE.
Referenced by Finley_getPattern().
void Finley_Mesh_addPoints | ( | Finley_Mesh * | mesh, |
const dim_t | numPoints, | ||
const double * | points_ptr, | ||
const index_t * | tags_ptr | ||
) |
References Esys_MPIInfo::comm, Finley_NodeFile::degreesOfFreedomDistribution, Esys_MPIInfo_free(), Esys_MPIInfo_getReference(), FALSE, Finley_ElementFile_alloc(), Finley_ElementFile_allocTable(), Finley_ElementFile_free(), Finley_noError(), Finley_Point1, Finley_ReferenceElementSet_alloc(), Finley_ReferenceElementSet_dealloc(), Finley_ReferenceElementSet_reference(), Finley_NodeFile::globalDegreesOfFreedom, Finley_ElementFile::Id, INDEX2, Finley_Mesh::integrationOrder, LARGE_POSITIVE_FLOAT, MPI_DOUBLE, Finley_Mesh::MPIInfo, Finley_ElementFile::Nodes, Finley_Mesh::Nodes, Finley_NodeFile::numDim, Finley_ElementFile::numElements, Finley_ElementFile::Owner, Paso_Distribution_getFirstComponent(), Paso_Distribution_getLastComponent(), Finley_Mesh::Points, Esys_MPIInfo::rank, Finley_Mesh::reducedIntegrationOrder, Finley_ElementFile::referenceElementSet, Finley_ElementFile::Tag, TMPMEMALLOC, TMPMEMFREE, and TRUE.
Referenced by finley::MeshAdapter::addDiracPoints().
void Finley_Mesh_addTagMap | ( | Finley_Mesh * | mesh_p, |
const char * | name, | ||
index_t | tag_key | ||
) |
References Finley_TagMap_insert(), and Finley_Mesh::TagMap.
Referenced by finley::brick(), Finley_Mesh_read(), Finley_Mesh_readGmsh(), Finley_RectangularMesh_Hex20(), Finley_RectangularMesh_Hex8(), Finley_RectangularMesh_Rec4(), Finley_RectangularMesh_Rec8(), finley::loadMesh(), finley::rectangle(), and finley::MeshAdapter::setTagMap().
Finley_Mesh* Finley_Mesh_alloc | ( | char * | name, |
dim_t | numDim, | ||
Esys_MPIInfo * | mpi_info | ||
) |
References Finley_Mesh::approximationOrder, Finley_Mesh::ContactElements, Finley_Mesh::Elements, Esys_MPIInfo_getReference(), Finley_Mesh::FaceElements, Finley_checkPtr(), Finley_Mesh_free(), Finley_NodeFile_alloc(), Finley_noError(), Finley_Mesh::FullFullPattern, Finley_Mesh::FullReducedPattern, Finley_Mesh::integrationOrder, MEMALLOC, Finley_Mesh::MPIInfo, Finley_Mesh::Name, Finley_Mesh::Nodes, Finley_Mesh::Points, Finley_Mesh::reducedApproximationOrder, Finley_Mesh::ReducedFullPattern, Finley_Mesh::reducedIntegrationOrder, Finley_Mesh::ReducedReducedPattern, Finley_Mesh::reference_counter, and Finley_Mesh::TagMap.
Referenced by Finley_Mesh_merge(), Finley_Mesh_read(), Finley_Mesh_readGmsh(), Finley_RectangularMesh_Hex20(), Finley_RectangularMesh_Hex8(), Finley_RectangularMesh_Rec4(), Finley_RectangularMesh_Rec8(), and finley::loadMesh().
void Finley_Mesh_createColoring | ( | Finley_Mesh * | in, |
index_t * | node_localDOF_map | ||
) |
void Finley_Mesh_createMappings | ( | Finley_Mesh * | in, |
index_t * | dof_distribution, | ||
index_t * | node_distribution | ||
) |
References Finley_checkPtr(), Finley_Mesh_createNodeFileMappings(), Finley_Mesh_markNodes(), Finley_noError(), Finley_Util_packMask(), Finley_Mesh::Nodes, Finley_NodeFile::numNodes, TMPMEMALLOC, TMPMEMFREE, and TRUE.
Referenced by finley::loadMesh().
void Finley_Mesh_createNodeFileMappings | ( | Finley_Mesh * | in, |
dim_t | numReducedNodes, | ||
index_t * | indexReducedNodes, | ||
index_t * | dof_first_component, | ||
index_t * | nodes_first_component | ||
) |
References Esys_MPIInfo::comm, Finley_NodeFile::degreesOfFreedomConnector, Finley_NodeFile::degreesOfFreedomDistribution, Finley_NodeFile::degreesOfFreedomId, Finley_NodeFile::degreesOfFreedomMapping, FALSE, Finley_checkPtr(), Finley_Mesh_createDOFMappingAndCoupling(), Finley_NodeMapping_alloc(), Finley_NodeMapping_free(), Finley_noError(), Finley_Util_packMask(), Finley_NodeFile::globalDegreesOfFreedom, Finley_NodeFile::globalNodesIndex, Finley_NodeFile::Id, Finley_NodeMapping::map, MPI_INT, Finley_NodeFile::MPIInfo, Finley_Mesh::Nodes, Finley_NodeFile::nodesDistribution, Finley_NodeFile::nodesMapping, Finley_NodeFile::numNodes, Finley_NodeMapping::numTargets, Paso_Connector_free(), Paso_Distribution_alloc(), Paso_Distribution_free(), Esys_MPIInfo::rank, Finley_NodeFile::reducedDegreesOfFreedomConnector, Finley_NodeFile::reducedDegreesOfFreedomDistribution, Finley_NodeFile::reducedDegreesOfFreedomId, Finley_NodeFile::reducedDegreesOfFreedomMapping, Finley_NodeFile::reducedNodesDistribution, Finley_NodeFile::reducedNodesId, Finley_NodeFile::reducedNodesMapping, Esys_MPIInfo::size, TMPMEMALLOC, TMPMEMFREE, TRUE, and UNUSED.
Referenced by Finley_Mesh_createMappings(), and Finley_Mesh_prepare().
void Finley_Mesh_distributeByRankOfDOF | ( | Finley_Mesh * | in, |
dim_t * | distribution | ||
) |
void Finley_Mesh_dump | ( | Finley_Mesh * | in, |
char * | fname | ||
) |
void Finley_Mesh_findMatchingFaces | ( | Finley_NodeFile * | , |
Finley_ElementFile * | , | ||
double | , | ||
double | , | ||
int * | , | ||
int * | , | ||
int * | , | ||
int * | |||
) |
References ABS, Finley_NodeFile::Coordinates, DBLE, Finley_ReferenceElementInfo::faceNodes, FALSE, Finley_checkPtr(), Finley_Mesh_findMatchingFaces_compar(), Finley_Mesh_lockingGridSize, Finley_noError(), Finley_ReferenceElementSet_borrowReferenceElement(), Finley_setError(), Finley_Util_Gather_double(), getDist, INDEX2, INDEX3, LenErrorMsg_MAX, MAX, MAX_numDim, MIN, Finley_ReferenceElementInfo::Name, Finley_ElementFile::Nodes, Finley_NodeFile::numDim, Finley_ElementFile::numElements, Finley_ElementFile::numNodes, Finley_ReferenceElementInfo::numNodesOnFace, Finley_ElementFile::referenceElementSet, Finley_Mesh_findMatchingFaces_center::refId, Finley_ReferenceElementInfo::reverseNodes, Finley_ReferenceElementInfo::shiftNodes, TMPMEMALLOC, TMPMEMFREE, Finley_ReferenceElement::Type, TYPE_ERROR, VALUE_ERROR, and Finley_Mesh_findMatchingFaces_center::x.
Referenced by Finley_Mesh_glueFaces(), and Finley_Mesh_joinFaces().
int Finley_Mesh_findMatchingFaces_compar | ( | const void * | , |
const void * | |||
) |
References FALSE, Finley_Mesh_lockingGridSize, MAX_numDim, Finley_Mesh_findMatchingFaces_center::refId, TRUE, and Finley_Mesh_findMatchingFaces_center::x.
Referenced by Finley_Mesh_findMatchingFaces().
dim_t Finley_Mesh_FindMinDegreeNode | ( | Paso_SystemMatrixPattern * | pattern_p, |
index_t * | available, | ||
index_t | indicator | ||
) |
void Finley_Mesh_free | ( | Finley_Mesh * | ) |
References Finley_Mesh::ContactElements, Finley_Mesh::Elements, Esys_MPIInfo_free(), Finley_Mesh::FaceElements, Finley_ElementFile_free(), Finley_NodeFile_free(), Finley_TagMap_free(), Finley_Mesh::FullFullPattern, Finley_Mesh::FullReducedPattern, MEMFREE, Finley_Mesh::MPIInfo, Finley_Mesh::Name, Finley_Mesh::Nodes, Paso_SystemMatrixPattern_free(), Finley_Mesh::Points, Finley_Mesh::ReducedFullPattern, Finley_Mesh::ReducedReducedPattern, Finley_Mesh::reference_counter, and Finley_Mesh::TagMap.
Referenced by finley::cleanupAndThrow(), Finley_Mesh_alloc(), Finley_Mesh_merge(), Finley_Mesh_read(), Finley_Mesh_readGmsh(), Finley_RectangularMesh_Hex20(), Finley_RectangularMesh_Hex8(), Finley_RectangularMesh_Rec8(), finley::loadMesh(), and finley::MeshAdapter::~MeshAdapter().
index_t Finley_Mesh_getDegree | ( | Paso_SystemMatrixPattern * | pattern_p, |
index_t * | label | ||
) |
References Finley_Mesh::Nodes, and Finley_NodeFile::numDim.
Referenced by Finley_Mesh_resolveNodeIds(), Finley_Mesh_write(), Finley_PrintMesh_Info(), and finley::MeshAdapter::getDim().
int Finley_Mesh_getStatus | ( | Finley_Mesh * | in | ) |
References Finley_Mesh::Nodes, and Finley_NodeFile::status.
Referenced by finley::MeshAdapter::getStatus().
index_t Finley_Mesh_getTag | ( | Finley_Mesh * | mesh_p, |
const char * | name | ||
) |
References Finley_TagMap_getTag(), and Finley_Mesh::TagMap.
Referenced by finley::MeshAdapter::getTag().
void Finley_Mesh_glueFaces | ( | Finley_Mesh * | self, |
double | safety_factor, | ||
double | tolerance, | ||
bool_t | |||
) |
References Finley_ReferenceElementInfo::faceNodes, FALSE, Finley_checkPtr(), Finley_ElementFile_alloc(), Finley_ElementFile_allocTable(), Finley_ElementFile_free(), Finley_ElementFile_gather(), Finley_Mesh_findMatchingFaces(), Finley_Mesh_prepare(), Finley_Mesh_relableElementNodes(), Finley_NodeFile_alloc(), Finley_NodeFile_allocTable(), Finley_NodeFile_free(), Finley_NodeFile_gather(), Finley_noError(), Finley_ReferenceElementSet_borrowReferenceElement(), Finley_setError(), INDEX2, LenErrorMsg_MAX, Finley_ReferenceElementInfo::Name, Finley_ReferenceElementInfo::numNodesOnFace, TMPMEMALLOC, TMPMEMFREE, Finley_ReferenceElement::Type, and TYPE_ERROR.
Referenced by finley::glueFaces().
bool_t Finley_Mesh_isValidTagName | ( | Finley_Mesh * | mesh_p, |
const char * | name | ||
) |
References Finley_TagMap_isValidTagName(), and Finley_Mesh::TagMap.
Referenced by finley::MeshAdapter::isValidTagName().
void Finley_Mesh_joinFaces | ( | Finley_Mesh * | self, |
double | safety_factor, | ||
double | tolerance, | ||
bool_t | |||
) |
References FALSE, Finley_checkPtr(), Finley_ElementFile_alloc(), Finley_ElementFile_allocTable(), Finley_ElementFile_copyTable(), Finley_ElementFile_free(), Finley_ElementFile_gather(), Finley_Mesh_findMatchingFaces(), Finley_Mesh_prepare(), Finley_noError(), Finley_ReferenceElementSet_borrowReferenceElement(), Finley_setError(), INDEX2, LenErrorMsg_MAX, MIN, Finley_ReferenceElementInfo::Name, Finley_ReferenceElementInfo::numNodes, Finley_ReferenceElementInfo::numNodesOnFace, TMPMEMALLOC, TMPMEMFREE, Finley_ReferenceElement::Type, and TYPE_ERROR.
Referenced by finley::joinFaces().
Finley_Mesh* Finley_Mesh_load | ( | char * | fname | ) |
void Finley_Mesh_markDOFsConnectedToRange | ( | index_t * | mask, |
index_t | offset, | ||
index_t | marker, | ||
index_t | firstDOF, | ||
index_t | lastDOF, | ||
Finley_Mesh * | in, | ||
bool_t | useLinear | ||
) |
void Finley_Mesh_markNodes | ( | int * | , |
int | , | ||
Finley_Mesh * | , | ||
int | |||
) |
Finley_Mesh* Finley_Mesh_merge | ( | dim_t | , |
Finley_Mesh ** | |||
) |
References Esys_MPIInfo::comm, Finley_Mesh::ContactElements, Finley_Mesh::Elements, Finley_Mesh::FaceElements, FALSE, Finley_ElementFile_alloc(), Finley_ElementFile_allocTable(), Finley_ElementFile_copyTable(), Finley_Mesh_alloc(), Finley_Mesh_free(), Finley_Mesh_prepare(), Finley_NodeFile_allocTable(), Finley_NodeFile_copyTable(), Finley_noError(), Finley_NoRef, Finley_ReferenceElementSet_alloc(), Finley_ReferenceElementSet_dealloc(), Finley_setError(), Finley_Util_getMaxInt(), Finley_NodeFile::globalDegreesOfFreedom, Finley_NodeFile::Id, Finley_ElementFile::Id, Finley_Mesh::integrationOrder, LenString_MAX, MAX, MIN, Finley_Mesh::MPIInfo, Finley_Mesh::Nodes, Finley_NodeFile::numDim, Finley_ElementFile::numElements, Finley_NodeFile::numNodes, Finley_Mesh::Points, Finley_Mesh::reducedIntegrationOrder, Finley_ReferenceElementSet::referenceElement, Finley_ElementFile::referenceElementSet, Esys_MPIInfo::size, Finley_ReferenceElement::Type, TYPE_ERROR, Finley_ReferenceElementInfo::TypeId, and VALUE_ERROR.
Referenced by finley::meshMerge().
void Finley_Mesh_optimizeDOFDistribution | ( | Finley_Mesh * | in, |
dim_t * | distribution | ||
) |
References Esys_MPIInfo::comm, Finley_Mesh::ContactElements, Finley_NodeFile::Coordinates, Finley_Mesh::Elements, Esys_MPIInfo_mod(), Finley_IndexList::extension, Finley_Mesh::FaceElements, FALSE, Finley_checkPtr(), Finley_IndexList_createPattern(), Finley_IndexList_free(), Finley_IndexList_insertElementsWithRowRangeNoMainDiagonal(), Finley_noError(), Finley_NodeFile::globalDegreesOfFreedom, Paso_Pattern::index, INDEX2, MAX, MPI_INT, Finley_Mesh::MPIInfo, Esys_MPIInfo::msg_tag_counter, Finley_IndexList::n, Finley_Mesh::Nodes, Finley_NodeFile::numDim, Finley_NodeFile::numNodes, Paso_Pattern_free(), Finley_Mesh::Points, Paso_Pattern::ptr, Esys_MPIInfo::rank, Esys_MPIInfo::size, THREAD_MEMALLOC, THREAD_MEMFREE, TMPMEMALLOC, TMPMEMFREE, and TRUE.
Referenced by Finley_Mesh_prepare().
void Finley_Mesh_optimizeDOFLabeling | ( | Finley_Mesh * | , |
dim_t * | |||
) |
References Esys_MPIInfo::comm, Finley_Mesh::ContactElements, Finley_Mesh::Elements, Esys_MPIInfo_mod(), Esys_MPIInfo_noError(), Finley_IndexList::extension, Finley_Mesh::FaceElements, Finley_checkPtr(), Finley_IndexList_createPattern(), Finley_IndexList_free(), Finley_IndexList_insertElementsWithRowRangeNoMainDiagonal(), Finley_noError(), Finley_NodeFile::globalDegreesOfFreedom, MAX, MPI_INT, Finley_Mesh::MPIInfo, Esys_MPIInfo::msg_tag_counter, Finley_IndexList::n, Finley_Mesh::Nodes, Finley_NodeFile::numNodes, Paso_Pattern_free(), Paso_Pattern_reduceBandwidth(), Finley_Mesh::Points, Esys_MPIInfo::rank, Esys_MPIInfo::size, TMPMEMALLOC, and TMPMEMFREE.
Referenced by Finley_Mesh_prepare().
void Finley_Mesh_optimizeElementOrdering | ( | Finley_Mesh * | in | ) |
References Finley_Mesh::ContactElements, Finley_Mesh::Elements, Finley_Mesh::FaceElements, Finley_ElementFile_optimizeOrdering(), Finley_noError(), and Finley_Mesh::Points.
Referenced by Finley_Mesh_prepare().
void Finley_Mesh_optimizeNodeLabeling | ( | Finley_Mesh * | mesh_p | ) |
void Finley_Mesh_prepare | ( | Finley_Mesh * | in, |
bool_t | optimize | ||
) |
References Esys_MPIInfo_setDistribution(), Finley_checkPtr(), Finley_Mesh_createNodeFileMappings(), Finley_Mesh_distributeByRankOfDOF(), Finley_Mesh_markNodes(), Finley_Mesh_optimizeDOFDistribution(), Finley_Mesh_optimizeDOFLabeling(), Finley_Mesh_optimizeElementOrdering(), Finley_Mesh_setOrders(), Finley_Mesh_setTagsInUse(), Finley_NodeFile_createDenseDOFLabeling(), Finley_NodeFile_createDenseNodeLabeling(), Finley_NodeFile_createDenseReducedDOFLabeling(), Finley_NodeFile_createDenseReducedNodeLabeling(), Finley_noError(), Finley_Util_packMask(), Finley_Mesh::MPIInfo, Finley_Mesh::Nodes, Finley_NodeFile::numNodes, Esys_MPIInfo::size, TMPMEMALLOC, TMPMEMFREE, and TRUE.
Referenced by Finley_Mesh_glueFaces(), Finley_Mesh_joinFaces(), Finley_Mesh_merge(), Finley_Mesh_read(), Finley_Mesh_readGmsh(), Finley_RectangularMesh_Hex20(), Finley_RectangularMesh_Hex8(), Finley_RectangularMesh_Rec4(), and Finley_RectangularMesh_Rec8().
void Finley_Mesh_print | ( | Finley_Mesh * | in | ) |
References Finley_ElementFile::Color, Finley_Mesh::ContactElements, Finley_NodeFile::Coordinates, Finley_NodeFile::degreesOfFreedomMapping, Finley_Mesh::Elements, Finley_Mesh::FaceElements, Finley_NodeFile::globalDegreesOfFreedom, Finley_NodeFile::Id, Finley_ElementFile::Id, INDEX2, Finley_ElementFile::maxColor, Finley_ElementFile::minColor, Finley_Mesh::Name, Finley_ReferenceElementInfo::Name, Finley_ElementFile::Nodes, Finley_Mesh::Nodes, Finley_NodeFile::nodesMapping, Finley_NodeFile::numDim, Finley_ElementFile::numElements, Finley_NodeFile::numNodes, Finley_ElementFile::numNodes, Finley_ReferenceElementInfo::numNodes, Finley_ElementFile::Owner, Finley_Mesh::Points, Finley_NodeFile::reducedDegreesOfFreedomMapping, Finley_NodeFile::reducedNodesMapping, Finley_ReferenceElementSet::referenceElement, Finley_ElementFile::referenceElementSet, Finley_NodeFile::Tag, Finley_ElementFile::Tag, Finley_NodeMapping::target, and Finley_ReferenceElement::Type.
Finley_Mesh* Finley_Mesh_read | ( | char * | , |
index_t | , | ||
index_t | , | ||
bool_t | |||
) |
References Finley_ElementFile::Color, Esys_MPIInfo::comm, Finley_Mesh::ContactElements, Finley_NodeFile::Coordinates, Finley_Mesh::Elements, ESYS_MPI_ERROR, Esys_MPIInfo_alloc(), Esys_MPIInfo_free(), Finley_Mesh::FaceElements, Finley_ElementFile_alloc(), Finley_ElementFile_allocTable(), Finley_Mesh_addTagMap(), Finley_Mesh_alloc(), Finley_Mesh_free(), Finley_Mesh_prepare(), Finley_Mesh_resolveNodeIds(), Finley_NodeFile_allocTable(), Finley_noError(), Finley_NoRef, Finley_ReferenceElement_getTypeId(), Finley_ReferenceElementSet_alloc(), Finley_ReferenceElementSet_dealloc(), Finley_resetError(), Finley_setError(), FSCANF_CHECK, Finley_NodeFile::globalDegreesOfFreedom, Finley_NodeFile::Id, Finley_ElementFile::Id, INDEX2, IO_ERROR, LenErrorMsg_MAX, LenString_MAX, Finley_ElementFile::maxColor, Finley_ElementFile::minColor, MPI_COMM_WORLD, MPI_DOUBLE, MPI_INT, Finley_ElementFile::Nodes, Finley_Mesh::Nodes, Finley_ReferenceElementSet::numNodes, Finley_ElementFile::Owner, Finley_Mesh::Points, Esys_MPIInfo::rank, Finley_ElementFile::referenceElementSet, Esys_MPIInfo::size, Finley_NodeFile::Tag, Finley_ElementFile::Tag, TMPMEMALLOC, TMPMEMFREE, TMPMEMREALLOC, and VALUE_ERROR.
Referenced by finley::readMesh().
Finley_Mesh* Finley_Mesh_readGmsh | ( | char * | , |
index_t | , | ||
index_t | , | ||
index_t | , | ||
bool_t | , | ||
bool_t | |||
) |
References Finley_ElementFile::Color, Finley_Mesh::ContactElements, Finley_NodeFile::Coordinates, Finley_Mesh::Elements, Esys_MPIInfo_alloc(), Esys_MPIInfo_free(), Finley_Mesh::FaceElements, Finley_checkPtr(), Finley_ElementFile_alloc(), Finley_ElementFile_allocTable(), Finley_Hex20, Finley_Hex8, Finley_Line2, Finley_Line2_Contact, Finley_Line3, Finley_Line3_Contact, Finley_Line3Macro, Finley_Mesh_addTagMap(), Finley_Mesh_alloc(), Finley_Mesh_free(), Finley_Mesh_prepare(), Finley_Mesh_resolveNodeIds(), Finley_NodeFile_allocTable(), Finley_noError(), Finley_NoRef, Finley_Point1, Finley_Point1_Contact, Finley_Rec4, Finley_Rec8, Finley_Rec9, Finley_Rec9Macro, Finley_ReferenceElementSet_alloc(), Finley_ReferenceElementSet_dealloc(), Finley_resetError(), Finley_setError(), Finley_Tet10, Finley_Tet10Macro, Finley_Tet4, Finley_timer(), Finley_Tri3, Finley_Tri3_Contact, Finley_Tri6, Finley_Tri6_Contact, Finley_Tri6Macro, FSCANF_CHECK, Finley_NodeFile::globalDegreesOfFreedom, Finley_NodeFile::Id, Finley_ElementFile::Id, INDEX2, IO_ERROR, LenErrorMsg_MAX, LenString_MAX, MAX_numNodes_gmsh, Finley_ElementFile::maxColor, Finley_ElementFile::minColor, MPI_COMM_WORLD, Finley_ElementFile::Nodes, Finley_Mesh::Nodes, Finley_ReferenceElementSet::numNodes, Finley_ElementFile::Owner, Finley_Mesh::Points, Finley_ElementFile::referenceElementSet, Esys_MPIInfo::size, Finley_NodeFile::Tag, Finley_ElementFile::Tag, TMPMEMALLOC, and TMPMEMFREE.
Referenced by finley::readGmsh().
References Finley_Mesh::reference_counter.
void Finley_Mesh_relableElementNodes | ( | int * | , |
int | , | ||
Finley_Mesh * | |||
) |
References Finley_Mesh::ContactElements, Finley_Mesh::Elements, Finley_Mesh::FaceElements, Finley_ElementFile_relableNodes(), and Finley_Mesh::Points.
Referenced by Finley_Mesh_glueFaces(), and Finley_Mesh_resolveNodeIds().
void Finley_Mesh_resolveNodeIds | ( | Finley_Mesh * | ) |
References Esys_MPIInfo::comm, Finley_Mesh::ContactElements, Finley_Mesh::Elements, Finley_Mesh::FaceElements, FALSE, Finley_checkPtr(), Finley_ElementFile_setNodeRange(), Finley_Mesh_getDim(), Finley_Mesh_markNodes(), Finley_Mesh_relableElementNodes(), Finley_NodeFile_alloc(), Finley_NodeFile_allocTable(), Finley_NodeFile_free(), Finley_NodeFile_gather_global(), Finley_noError(), Finley_Util_packMask(), INDEX_T_MAX, MAX, MIN, MPI_INT, Finley_Mesh::MPIInfo, Finley_Mesh::Nodes, Finley_Mesh::Points, TMPMEMALLOC, and TMPMEMFREE.
Referenced by Finley_Mesh_distributeByRankOfDOF(), Finley_Mesh_read(), Finley_Mesh_readGmsh(), Finley_RectangularMesh_Hex20(), Finley_RectangularMesh_Hex8(), Finley_RectangularMesh_Rec4(), and Finley_RectangularMesh_Rec8().
void Finley_Mesh_saveDX | ( | const char * | filename_p, |
Finley_Mesh * | mesh_p, | ||
const dim_t | num_data, | ||
char ** | names_p, | ||
escriptDataC ** | data_pp | ||
) |
References Finley_Mesh::ContactElements, Finley_NodeFile::Coordinates, Finley_Mesh::Elements, Finley_Mesh::FaceElements, FALSE, Finley_Assemble_reducedIntegrationOrder, Finley_checkPtr(), FINLEY_CONTACT_ELEMENTS_1, FINLEY_CONTACT_ELEMENTS_2, FINLEY_ELEMENTS, FINLEY_FACE_ELEMENTS, Finley_Hex20, Finley_Hex32, Finley_Hex8, Finley_Line2, Finley_Line3, Finley_Line3Macro, Finley_Line4, FINLEY_POINTS, Finley_Rec12, Finley_Rec16, Finley_Rec4, Finley_Rec8, Finley_Rec9, Finley_Rec9Macro, FINLEY_REDUCED_CONTACT_ELEMENTS_1, FINLEY_REDUCED_CONTACT_ELEMENTS_2, FINLEY_REDUCED_ELEMENTS, FINLEY_REDUCED_FACE_ELEMENTS, FINLEY_REDUCED_NODES, Finley_setError(), Finley_Tet10, Finley_Tet10Macro, Finley_Tet16, Finley_Tet4, Finley_Tri10, Finley_Tri3, Finley_Tri6, Finley_Tri9, FINLEY_UNKNOWN, getDataPointRank(), getDataPointShape(), getDataPointSize(), getFunctionSpaceType(), getSampleDataRO(), INDEX2, IO_ERROR, isEmpty(), isExpanded(), LenErrorMsg_MAX, Finley_NodeMapping::map, MEMALLOC, MEMFREE, Finley_ReferenceElementInfo::Name, Finley_ElementFile::Nodes, Finley_Mesh::Nodes, Finley_NodeFile::numDim, Finley_ElementFile::numElements, Finley_ElementFile::numNodes, Finley_ShapeFunction::numQuadNodes, Finley_NodeMapping::numTargets, Finley_ReferenceElement::Parametrization, Finley_Mesh::Points, Finley_NodeFile::reducedNodesMapping, Finley_ReferenceElementSet::referenceElement, Finley_ReferenceElementSet::referenceElementReducedQuadrature, Finley_ElementFile::referenceElementSet, SYSTEM_ERROR, Finley_NodeMapping::target, TRUE, Finley_ReferenceElement::Type, TYPE_ERROR, Finley_ReferenceElementInfo::TypeId, and VALUE_ERROR.
Referenced by finley::MeshAdapter::saveDX().
void Finley_Mesh_saveVTK | ( | const char * | filename_p, |
Finley_Mesh * | mesh_p, | ||
const dim_t | num_data, | ||
char ** | names_p, | ||
escriptDataC ** | data_pp, | ||
const char * | metadata, | ||
const char * | metadata_schema | ||
) |
References __STRCAT, Esys_MPIInfo::comm, Finley_Mesh::ContactElements, Finley_NodeFile::Coordinates, Finley_Mesh::Elements, Esys_MPIInfo_noError(), Finley_Mesh::FaceElements, FALSE, Finley_checkPtr(), FINLEY_CONTACT_ELEMENTS_1, FINLEY_CONTACT_ELEMENTS_2, Finley_ElementFile_getFirstElement(), Finley_ElementFile_getGlobalNumElements(), Finley_ElementFile_getMyNumElements(), FINLEY_ELEMENTS, FINLEY_FACE_ELEMENTS, Finley_Hex20, Finley_Hex20Face, Finley_Hex20Face_Contact, Finley_Hex27, Finley_Hex27Macro, Finley_Hex8, Finley_Hex8Face, Finley_Hex8Face_Contact, Finley_Line2, Finley_Line2_Contact, Finley_Line2Face, Finley_Line2Face_Contact, Finley_Line3, Finley_Line3_Contact, Finley_Line3Face, Finley_Line3Face_Contact, Finley_Line3Macro, Finley_NodeFile_borrowGlobalNodesIndex(), Finley_NodeFile_borrowGlobalReducedNodesIndex(), Finley_NodeFile_getFirstNode(), Finley_NodeFile_getFirstReducedNode(), Finley_NodeFile_getGlobalNumNodes(), Finley_NodeFile_getGlobalNumReducedNodes(), Finley_NodeFile_getLastNode(), Finley_NodeFile_getLastReducedNode(), FINLEY_NODES, Finley_noError(), Finley_NoRef, Finley_Point1, Finley_Point1_Contact, FINLEY_POINTS, Finley_Rec4, Finley_Rec4_Contact, Finley_Rec4Face, Finley_Rec4Face_Contact, Finley_Rec8, Finley_Rec8_Contact, Finley_Rec8Face, Finley_Rec8Face_Contact, Finley_Rec9, Finley_Rec9Macro, FINLEY_REDUCED_CONTACT_ELEMENTS_1, FINLEY_REDUCED_CONTACT_ELEMENTS_2, FINLEY_REDUCED_ELEMENTS, FINLEY_REDUCED_FACE_ELEMENTS, FINLEY_REDUCED_NODES, Finley_setError(), Finley_Tet10, Finley_Tet10Face, Finley_Tet10Face_Contact, Finley_Tet10Macro, Finley_Tet4, Finley_Tet4Face, Finley_Tet4Face_Contact, Finley_Tri3, Finley_Tri3_Contact, Finley_Tri3Face, Finley_Tri3Face_Contact, Finley_Tri6, Finley_Tri6_Contact, Finley_Tri6Face, Finley_Tri6Face_Contact, Finley_Tri6Macro, FINLEY_UNKNOWN, getDataPointRank(), getDataPointShape(), getDataPointSize(), getFunctionSpaceType(), getNumDataPointsPerSample(), getSampleDataRO(), INDEX2, INT_FORMAT, INT_NEWLINE_FORMAT, IO_ERROR, isEmpty(), isExpanded(), LEN_INT_FORMAT, LEN_TENSOR_FORMAT, LEN_TMP_BUFFER, LenErrorMsg_MAX, Finley_ReferenceElementInfo::linearNodes, Finley_ReferenceElement::LinearType, MAX, MIN, MPI_RANK0_WRITE_SHARED, MPI_WRITE_ORDERED, Finley_NodeFile::MPIInfo, Finley_ReferenceElementInfo::Name, NCOMP_MAX, NEWLINE, nodeInQuadrant(), Finley_ElementFile::Nodes, Finley_Mesh::Nodes, Finley_NodeFile::nodesMapping, Finley_NodeFile::numDim, Finley_ElementFile::numElements, Finley_NodeFile::numNodes, Finley_ElementFile::numNodes, Finley_ReferenceElementInfo::numNodes, Finley_ElementFile::Owner, Finley_ReferenceElement::Parametrization, Paso_fileExists(), Finley_Mesh::Points, Finley_ShapeFunction::QuadNodes, Esys_MPIInfo::rank, Finley_NodeFile::reducedNodesMapping, Finley_ReferenceElementSet::referenceElement, Finley_ReferenceElementSet::referenceElementReducedQuadrature, Finley_ElementFile::referenceElementSet, Finley_ReferenceElementInfo::relevantGeoNodes, SCALAR_FORMAT, Esys_MPIInfo::size, SYSTEM_ERROR, Finley_NodeMapping::target, TENSOR_FORMAT, TMPMEMALLOC, TMPMEMFREE, TRUE, Finley_ReferenceElement::Type, TYPE_ERROR, Finley_ReferenceElementInfo::TypeId, VALUE_ERROR, VECTOR_FORMAT, VTK_HEXAHEDRON, VTK_LINE, VTK_QUAD, VTK_QUADRATIC_EDGE, VTK_QUADRATIC_HEXAHEDRON, VTK_QUADRATIC_QUAD, VTK_QUADRATIC_TETRA, VTK_QUADRATIC_TRIANGLE, VTK_TETRA, VTK_TRIANGLE, and VTK_VERTEX.
void Finley_Mesh_setContactElements | ( | Finley_Mesh * | self, |
Finley_ElementFile * | elements | ||
) |
References Finley_ElementFile_free().
Referenced by Finley_RectangularMesh_Hex20(), Finley_RectangularMesh_Hex8(), Finley_RectangularMesh_Rec4(), and Finley_RectangularMesh_Rec8().
void Finley_Mesh_setCoordinates | ( | Finley_Mesh * | , |
escriptDataC * | |||
) |
References Finley_NodeFile_setCoordinates().
Referenced by finley::MeshAdapter::setNewX().
void Finley_Mesh_setElements | ( | Finley_Mesh * | self, |
Finley_ElementFile * | elements | ||
) |
References Finley_ElementFile_free().
Referenced by Finley_RectangularMesh_Hex20(), Finley_RectangularMesh_Hex8(), Finley_RectangularMesh_Rec4(), and Finley_RectangularMesh_Rec8().
void Finley_Mesh_setFaceElements | ( | Finley_Mesh * | self, |
Finley_ElementFile * | elements | ||
) |
References Finley_ElementFile_free().
Referenced by Finley_RectangularMesh_Hex20(), Finley_RectangularMesh_Hex8(), Finley_RectangularMesh_Rec4(), and Finley_RectangularMesh_Rec8().
void Finley_Mesh_setOrders | ( | Finley_Mesh * | in | ) |
References Finley_Mesh::approximationOrder, Finley_ReferenceElement::BasisFunctions, Esys_MPIInfo::comm, Finley_Mesh::ContactElements, Finley_Mesh::Elements, Finley_Mesh::FaceElements, Finley_Mesh::integrationOrder, Finley_ReferenceElement::integrationOrder, Finley_ReferenceElement::LinearBasisFunctions, MIN, MPI_INT, Finley_Mesh::MPIInfo, Finley_ElementFile::numElements, Finley_ShapeFunctionInfo::numOrder, Finley_Mesh::reducedApproximationOrder, Finley_Mesh::reducedIntegrationOrder, Finley_ReferenceElementSet::referenceElement, Finley_ReferenceElementSet::referenceElementReducedQuadrature, Finley_ElementFile::referenceElementSet, and Finley_ShapeFunction::Type.
Referenced by Finley_Mesh_prepare().
void Finley_Mesh_setPoints | ( | Finley_Mesh * | self, |
Finley_ElementFile * | elements | ||
) |
References Finley_ElementFile_free().
Referenced by Finley_RectangularMesh_Hex20(), Finley_RectangularMesh_Hex8(), Finley_RectangularMesh_Rec4(), and Finley_RectangularMesh_Rec8().
void Finley_Mesh_setTagsInUse | ( | Finley_Mesh * | in | ) |
void Finley_Mesh_write | ( | Finley_Mesh * | , |
char * | |||
) |
References Finley_Mesh::ContactElements, Finley_NodeFile::Coordinates, Finley_Mesh::Elements, Finley_Mesh::FaceElements, Finley_Mesh_getDim(), Finley_setError(), Finley_NodeFile::globalDegreesOfFreedom, Finley_NodeFile::Id, Finley_ElementFile::Id, INDEX2, IO_ERROR, LenErrorMsg_MAX, Finley_Mesh::MPIInfo, Finley_TagMap::name, Finley_Mesh::Name, Finley_ReferenceElementInfo::Name, Finley_TagMap::next, Finley_ElementFile::Nodes, Finley_Mesh::Nodes, Finley_ElementFile::numElements, Finley_NodeFile::numNodes, Finley_ElementFile::numNodes, Finley_Mesh::Points, Finley_ReferenceElementSet::referenceElement, Finley_ElementFile::referenceElementSet, Esys_MPIInfo::size, Finley_NodeFile::Tag, Finley_ElementFile::Tag, Finley_TagMap::tag_key, Finley_Mesh::TagMap, and Finley_ReferenceElement::Type.
Referenced by finley::MeshAdapter::write().
void Finley_PrintMesh_Info | ( | Finley_Mesh * | , |
bool_t | |||
) |
References Finley_Mesh::approximationOrder, Finley_ElementFile::Color, Finley_Mesh::ContactElements, Finley_NodeFile::Coordinates, Finley_Mesh::Elements, Finley_Mesh::FaceElements, Finley_Mesh_getDim(), Finley_NodeFile::globalDegreesOfFreedom, Finley_NodeFile::globalNodesIndex, Finley_NodeFile::globalReducedDOFIndex, Finley_NodeFile::globalReducedNodesIndex, Finley_NodeFile::Id, Finley_ElementFile::Id, INDEX2, Finley_Mesh::integrationOrder, Finley_Mesh::MPIInfo, Finley_TagMap::name, Finley_Mesh::Name, Finley_ReferenceElementInfo::Name, Finley_TagMap::next, Finley_ElementFile::Nodes, Finley_Mesh::Nodes, Finley_ElementFile::numElements, Finley_NodeFile::numNodes, Finley_ElementFile::numNodes, Finley_ElementFile::Owner, Finley_Mesh::Points, Esys_MPIInfo::rank, Finley_Mesh::reducedApproximationOrder, Finley_Mesh::reducedIntegrationOrder, Finley_ReferenceElementSet::referenceElement, Finley_ElementFile::referenceElementSet, Esys_MPIInfo::size, Finley_NodeFile::Tag, Finley_ElementFile::Tag, Finley_TagMap::tag_key, Finley_Mesh::TagMap, Finley_ReferenceElement::Type, and Finley_ReferenceElementInfo::TypeId.
Referenced by finley::MeshAdapter::Print_Mesh_Info().