#include "Finley.h"
#include "NodeFile.h"
#include "ReferenceElements.h"
#include "escript/DataC.h"
Go to the source code of this file.
typedef struct Finley_ElementFile Finley_ElementFile |
typedef struct Finley_ElementFile_Jacobeans Finley_ElementFile_Jacobeans |
Finley_ElementFile* Finley_ElementFile_alloc | ( | ElementTypeId | , | |
index_t | , | |||
index_t | , | |||
Paso_MPIInfo * | ||||
) |
References Finley_ElementFile::Color, Finley_checkPtr(), Finley_ElementFile_free(), Finley_ElementFile_Jacobeans_alloc(), Finley_noError(), Finley_RefElement_alloc(), Finley_RefElement_InfoList, Finley_RefElementInfo::getNumQuadNodes, Finley_ElementFile::Id, Finley_ElementFile::jacobeans, Finley_ElementFile::jacobeans_reducedQ, Finley_ElementFile::jacobeans_reducedS, Finley_ElementFile::jacobeans_reducedS_reducedQ, Finley_ElementFile::LinearReferenceElement, Finley_ElementFile::LinearReferenceElementReducedOrder, MAX, Finley_ElementFile::maxColor, MEMALLOC, Finley_ElementFile::minColor, Finley_ElementFile::MPIInfo, Finley_ElementFile::Nodes, Finley_ElementFile::numElements, Finley_RefElementInfo::numNodes, Finley_ElementFile::numNodes, Finley_ElementFile::numTagsInUse, Finley_ElementFile::order, Finley_ElementFile::Owner, Paso_MPIInfo_getReference(), Finley_ElementFile::reduced_order, Finley_ElementFile::ReferenceElement, Finley_ElementFile::ReferenceElementReducedOrder, Finley_ElementFile::Tag, Finley_ElementFile::tagsInUse, and Finley_RefElement::Type.
Referenced by Finley_ElementFile_optimizeOrdering(), Finley_Mesh_glueFaces(), Finley_Mesh_joinFaces(), Finley_Mesh_merge(), Finley_Mesh_read(), Finley_Mesh_read_MPI(), Finley_Mesh_readGmsh(), Finley_RectangularMesh_Hex20(), Finley_RectangularMesh_Hex8(), Finley_RectangularMesh_Rec4(), Finley_RectangularMesh_Rec8(), and finley::loadMesh().
void Finley_ElementFile_allocTable | ( | Finley_ElementFile * | , | |
dim_t | ||||
) |
References Finley_ElementFile::Color, Finley_checkPtr(), Finley_ElementFile_freeTable(), Finley_resetError(), Finley_ElementFile::Id, INDEX2, Finley_ElementFile::maxColor, MEMALLOC, MEMFREE, Finley_ElementFile::minColor, Finley_ElementFile::Nodes, Finley_ElementFile::numElements, Finley_ElementFile::numNodes, Finley_ElementFile::Owner, and Finley_ElementFile::Tag.
Referenced by Finley_ElementFile_distributeByRankOfDOF(), Finley_ElementFile_optimizeOrdering(), Finley_Mesh_glueFaces(), Finley_Mesh_joinFaces(), Finley_Mesh_merge(), Finley_Mesh_read(), Finley_Mesh_read_MPI(), Finley_Mesh_readGmsh(), Finley_RectangularMesh_Hex20(), Finley_RectangularMesh_Hex8(), Finley_RectangularMesh_Rec4(), Finley_RectangularMesh_Rec8(), and finley::loadMesh().
Finley_ElementFile_Jacobeans* Finley_ElementFile_borrowJacobeans | ( | Finley_ElementFile * | , | |
Finley_NodeFile * | , | |||
bool_t | , | |||
bool_t | ||||
) |
References Assemble_jacobeans_1D(), Assemble_jacobeans_2D(), Assemble_jacobeans_2D_M1D_E1D(), Assemble_jacobeans_2D_M1D_E1D_C(), Assemble_jacobeans_2D_M1D_E2D(), Assemble_jacobeans_2D_M1D_E2D_C(), Assemble_jacobeans_3D(), Assemble_jacobeans_3D_M2D_E2D(), Assemble_jacobeans_3D_M2D_E2D_C(), Assemble_jacobeans_3D_M2D_E3D(), Assemble_jacobeans_3D_M2D_E3D_C(), Finley_NodeFile::Coordinates, Finley_RefElement::dSdv, Finley_ElementFile_Jacobeans::DSDX, Finley_checkPtr(), Finley_noError(), Finley_setError(), MEMALLOC, Finley_RefElementInfo::numDim, Finley_NodeFile::numDim, Finley_ElementFile_Jacobeans::numDim, Finley_RefElementInfo::numLocalDim, Finley_RefElementInfo::numNodes, Finley_ElementFile::numNodes, Finley_RefElement::numQuadNodes, Finley_RefElementInfo::numShapes, Finley_RefElement::QuadWeights, Finley_ElementFile_Jacobeans::ReferenceElement, Finley_NodeFile::status, Finley_ElementFile_Jacobeans::status, SYSTEM_ERROR, Finley_RefElement::Type, and Finley_ElementFile_Jacobeans::volume.
Referenced by Assemble_getAssembleParameters(), Finley_Assemble_gradient(), and Finley_Assemble_integrate().
void Finley_ElementFile_copyTable | ( | dim_t | , | |
Finley_ElementFile * | , | |||
dim_t | , | |||
dim_t | , | |||
Finley_ElementFile * | ||||
) |
References Paso_MPIInfo::comm, Finley_noError(), Finley_setError(), Finley_ElementFile::Id, INDEX2, Finley_ElementFile::MPIInfo, Finley_ElementFile::Nodes, Finley_ElementFile::numElements, Finley_RefElementInfo::numNodes, Finley_ElementFile::numNodes, Finley_ElementFile::Owner, Finley_ElementFile::ReferenceElement, Finley_ElementFile::Tag, Finley_RefElement::Type, TYPE_ERROR, and Finley_RefElementInfo::TypeId.
Referenced by Finley_Mesh_joinFaces(), and Finley_Mesh_merge().
void Finley_ElementFile_createColoring | ( | Finley_ElementFile * | in, | |
dim_t | numNodes, | |||
dim_t * | degreeOfFreedom | |||
) |
References Finley_ElementFile::Color, FALSE, Finley_checkPtr(), Finley_Util_getMaxInt(), Finley_Util_getMinInt(), INDEX2, Finley_ElementFile::maxColor, Finley_ElementFile::minColor, Finley_ElementFile::Nodes, Finley_ElementFile::numElements, Finley_ElementFile::numNodes, TMPMEMALLOC, TMPMEMFREE, and TRUE.
Referenced by Finley_Mesh_createColoring().
void Finley_ElementFile_distributeByRankOfDOF | ( | Finley_ElementFile * | self, | |
Paso_MPI_rank * | mpiRankOfDOF, | |||
index_t * | Id | |||
) |
References FALSE, Finley_checkPtr(), Finley_ElementFile_allocTable(), INDEX2, MPI_INT, Finley_ElementFile::numNodes, THREAD_MEMALLOC, THREAD_MEMFREE, TMPMEMALLOC, TMPMEMFREE, and TRUE.
Referenced by Finley_Mesh_distributeByRankOfDOF().
void Finley_ElementFile_free | ( | Finley_ElementFile * | ) |
References Finley_ElementFile_freeTable(), Finley_ElementFile_Jacobeans_dealloc(), Finley_RefElement_dealloc(), Finley_ElementFile::jacobeans, Finley_ElementFile::jacobeans_reducedQ, Finley_ElementFile::jacobeans_reducedS, Finley_ElementFile::jacobeans_reducedS_reducedQ, Finley_ElementFile::LinearReferenceElement, Finley_ElementFile::LinearReferenceElementReducedOrder, MEMFREE, Finley_ElementFile::MPIInfo, Finley_RefElementInfo::Name, Paso_MPIInfo_free(), Finley_ElementFile::ReferenceElement, Finley_ElementFile::ReferenceElementReducedOrder, and Finley_RefElement::Type.
Referenced by Finley_ElementFile_alloc(), Finley_ElementFile_optimizeOrdering(), Finley_Mesh_free(), Finley_Mesh_glueFaces(), Finley_Mesh_joinFaces(), Finley_Mesh_setContactElements(), Finley_Mesh_setElements(), Finley_Mesh_setFaceElements(), and Finley_Mesh_setPoints().
void Finley_ElementFile_freeTable | ( | Finley_ElementFile * | ) |
References Finley_ElementFile::Color, Finley_ElementFile::Id, Finley_ElementFile::maxColor, MEMFREE, Finley_ElementFile::minColor, Finley_ElementFile::Nodes, Finley_ElementFile::numElements, Finley_ElementFile::numTagsInUse, Finley_ElementFile::Owner, Finley_ElementFile::Tag, and Finley_ElementFile::tagsInUse.
Referenced by Finley_ElementFile_allocTable(), and Finley_ElementFile_free().
void Finley_ElementFile_gather | ( | dim_t * | , | |
Finley_ElementFile * | , | |||
Finley_ElementFile * | ||||
) |
References Finley_ElementFile::Color, Finley_ElementFile::Id, INDEX2, MAX, Finley_ElementFile::maxColor, MIN, Finley_ElementFile::minColor, Finley_ElementFile::Nodes, Finley_ElementFile::numElements, Finley_ElementFile::numNodes, Finley_ElementFile::Owner, and Finley_ElementFile::Tag.
Referenced by Finley_ElementFile_optimizeOrdering(), Finley_Mesh_glueFaces(), and Finley_Mesh_joinFaces().
index_t Finley_ElementFile_getFirstElement | ( | Finley_ElementFile * | in | ) |
References Finley_ElementFile_setElementDistribution(), Finley_ElementFile::MPIInfo, Paso_MPIInfo::rank, Paso_MPIInfo::size, TMPMEMALLOC, and TMPMEMFREE.
Referenced by Finley_Mesh_saveVTK().
dim_t Finley_ElementFile_getGlobalNumElements | ( | Finley_ElementFile * | in | ) |
References Finley_ElementFile_setElementDistribution(), Finley_ElementFile::MPIInfo, Paso_MPIInfo::size, TMPMEMALLOC, and TMPMEMFREE.
Referenced by Finley_Mesh_saveVTK().
dim_t Finley_ElementFile_getMyNumElements | ( | Finley_ElementFile * | in | ) |
References Finley_ElementFile_setElementDistribution(), Finley_ElementFile::MPIInfo, Paso_MPIInfo::rank, Paso_MPIInfo::size, TMPMEMALLOC, and TMPMEMFREE.
Referenced by Finley_Mesh_saveVTK().
Finley_ElementFile_Jacobeans* Finley_ElementFile_Jacobeans_alloc | ( | Finley_RefElement * | ) |
void Finley_ElementFile_Jacobeans_dealloc | ( | Finley_ElementFile_Jacobeans * | ) |
References Finley_ElementFile_Jacobeans::DSDX, MEMFREE, and Finley_ElementFile_Jacobeans::volume.
Referenced by Finley_ElementFile_free().
void Finley_ElementFile_markDOFsConnectedToRange | ( | index_t * | mask, | |
index_t | offset, | |||
index_t | marker, | |||
index_t | firstDOF, | |||
index_t | lastDOF, | |||
index_t * | dofIndex, | |||
Finley_ElementFile * | in, | |||
bool_t | useLinear | |||
) |
References Finley_ElementFile::Color, Finley_checkPtr(), INDEX2, Finley_RefElementInfo::linearNodes, Finley_ElementFile::LinearReferenceElement, Finley_ElementFile::maxColor, Finley_ElementFile::minColor, Finley_ElementFile::Nodes, Finley_ElementFile::numElements, Finley_ElementFile::numNodes, Finley_RefElementInfo::numNodes, Finley_ElementFile::ReferenceElement, TMPMEMALLOC, TMPMEMFREE, and Finley_RefElement::Type.
Referenced by Finley_Mesh_markDOFsConnectedToRange().
void Finley_ElementFile_markNodes | ( | dim_t * | , | |
dim_t | , | |||
dim_t | , | |||
Finley_ElementFile * | , | |||
dim_t | ||||
) |
References Finley_checkPtr(), INDEX2, Finley_RefElementInfo::linearNodes, Finley_ElementFile::LinearReferenceElement, Finley_ElementFile::Nodes, Finley_ElementFile::numElements, Finley_ElementFile::numNodes, Finley_RefElementInfo::numNodes, Finley_ElementFile::ReferenceElement, TMPMEMALLOC, TMPMEMFREE, and Finley_RefElement::Type.
Referenced by Finley_Mesh_markNodes().
void Finley_ElementFile_optimizeOrdering | ( | Finley_ElementFile ** | in | ) |
References Finley_checkPtr(), Finley_ElementFile_alloc(), Finley_ElementFile_allocTable(), Finley_ElementFile_free(), Finley_ElementFile_gather(), Finley_noError(), Finley_Util_sortValueAndIndex(), Finley_Util_ValueAndIndex::index, INDEX2, MIN, Finley_ElementFile::numElements, TMPMEMALLOC, TMPMEMFREE, and Finley_Util_ValueAndIndex::value.
Referenced by Finley_Mesh_optimizeElementOrdering().
void Finley_ElementFile_relableNodes | ( | dim_t * | , | |
dim_t | , | |||
Finley_ElementFile * | ||||
) |
void Finley_ElementFile_scatter | ( | dim_t * | , | |
Finley_ElementFile * | , | |||
Finley_ElementFile * | ||||
) |
References Finley_ElementFile::Color, Finley_ElementFile::Id, INDEX2, MAX, Finley_ElementFile::maxColor, MIN, Finley_ElementFile::minColor, Finley_ElementFile::Nodes, Finley_ElementFile::numElements, Finley_RefElementInfo::numNodes, Finley_ElementFile::Owner, Finley_ElementFile::ReferenceElement, Finley_ElementFile::Tag, and Finley_RefElement::Type.
void Finley_ElementFile_setElementDistribution | ( | Finley_ElementFile * | in, | |
dim_t * | distribution | |||
) |
References Paso_MPIInfo::comm, MPI_INT, Finley_ElementFile::MPIInfo, Finley_ElementFile::numElements, Finley_ElementFile::Owner, Paso_MPIInfo::rank, and Paso_MPIInfo::size.
Referenced by Finley_ElementFile_getFirstElement(), Finley_ElementFile_getGlobalNumElements(), and Finley_ElementFile_getMyNumElements().
void Finley_ElementFile_setNodeRange | ( | dim_t * | , | |
dim_t * | , | |||
Finley_ElementFile * | ||||
) |
void Finley_ElementFile_setTags | ( | Finley_ElementFile * | , | |
const | int, | |||
escriptDataC * | ||||
) |
References __const, allocSampleBuffer(), FALSE, Finley_Assemble_reducedIntegrationOrder, Finley_ElementFile_setTagsInUse(), Finley_noError(), Finley_resetError(), Finley_setError(), freeSampleBuffer(), getDataPointSize(), getSampleDataRO(), isExpanded(), Finley_ElementFile::numElements, numSamplesEqual(), and TYPE_ERROR.
Referenced by finley::MeshAdapter::setTags().
void Finley_ElementFile_setTagsInUse | ( | Finley_ElementFile * | in | ) |