
Go to the source code of this file.
ParFUM-Iterators provides iterators for ParFUM meshes that work on a variety of platforms.
Definition in file ParFUM_Iterators.h.
| void allocateModelForCUDADevice | ( | MeshModel * | model | ) |
| void deallocateModelForCUDADevice | ( | MeshModel * | model | ) |
| void mesh_set_device | ( | MeshModel * | m, | |
| MeshDevice | d | |||
| ) |
Select the device kernels should be run on.
| MeshDevice mesh_target_device | ( | MeshModel * | m | ) |
Return the device kernels should be run on.
| MeshModel* meshModel_Create_Init | ( | ) |
Create and access a mesh model.
Only call from Init Currently only one model can be created. To extend, each model must just reference a different FEM_Mesh object
| void meshModel_Create_Driver | ( | MeshDevice | target_device, | |
| int | elem_attr_sz, | |||
| int | node_attr_sz, | |||
| int | model_attr_sz, | |||
| void * | mAtt, | |||
| MeshModel & | model | |||
| ) |
Create and access a mesh model.
Only call from Driver
| void meshModel_Destroy | ( | MeshModel * | m | ) |
Cleanup a model.
Currently does nothing
| void meshModel_SuggestInitialSize | ( | MeshModel * | m, | |
| unsigned | numNodes, | |||
| unsigned | numElements | |||
| ) |
| MeshElement meshModel_InsertElem | ( | MeshModel * | , | |
| MeshElementType | , | |||
| MeshNode * | ||||
| ) |
Insert an element.
| void meshElement_SetId | ( | MeshModel * | , | |
| MeshElement | , | |||
| EntityID | id | |||
| ) |
| int meshElement_GetId | ( | MeshModel * | m, | |
| MeshElement | e | |||
| ) |
Get id of an element.
| void meshElement_SetAttrib | ( | MeshModel * | , | |
| MeshElement | , | |||
| void * | ||||
| ) |
| void* meshElement_GetAttrib | ( | MeshModel * | , | |
| MeshElement | ||||
| ) |
Get element attribute.
| MeshNode meshElement_GetNode | ( | MeshModel * | , | |
| MeshElement | , | |||
| int | idx | |||
| ) |
Get node via id.
| MeshElement meshModel_GetElemAtId | ( | MeshModel * | m, | |
| EntityID | id | |||
| ) | [inline] |
Get element via id.
Definition at line 236 of file ParFUM_Iterators.h.
References elem, MeshModel::elemIDHash, CkHashtableT< KEY, OBJ >::get(), ElemID::id, MeshModel::mesh, MESH_ELEMENT_TET4, BasicTable2d< T >::size(), and ElemID::type.

| int meshElement_GetNNodes | ( | MeshModel * | model, | |
| MeshElement | elem | |||
| ) |
| bool meshElement_IsCohesive | ( | MeshModel * | m, | |
| MeshElement | e | |||
| ) |
| void mesh_retrieve_elem_data | ( | MeshModel * | m | ) |
| void mesh_retrieve_node_data | ( | MeshModel * | m | ) |
| void mesh_put_elem_data | ( | MeshModel * | m | ) |
| void mesh_put_node_data | ( | MeshModel * | m | ) |
| void mesh_retrieve_data | ( | MeshModel * | m | ) |
| void mesh_put_data | ( | MeshModel * | m | ) |
| MeshElement meshFacet_GetElem | ( | MeshModel * | m, | |
| MeshFacet | f, | |||
| int | i | |||
| ) |
| bool meshElement_IsValid | ( | MeshModel * | m, | |
| MeshElement | e | |||
| ) |
| bool meshVertex_IsBoundary | ( | MeshModel * | m, | |
| MeshVertex | v | |||
| ) |
| MeshVertex meshNode_GetVertex | ( | MeshModel * | m, | |
| MeshNode | n | |||
| ) |
| MeshElement meshModel_InsertCohesiveAtFacet | ( | MeshModel * | m, | |
| int | ElemType, | |||
| MeshFacet | f | |||
| ) |
| bool haveConfigurableCPUGPUMap | ( | ) |
| int configurableCPUGPUMapNumNodes | ( | ) |
| MeshNodeItr * meshModel_CreateNodeItr | ( | MeshModel * | model | ) | [inline] |
Create Iterator for nodes.
Definition at line 382 of file ParFUM_Iterators.h.
References MeshNodeItr::model.
| void meshNodeItr_Destroy | ( | MeshNodeItr * | itr | ) | [inline] |
| void meshNodeItr_Begin | ( | MeshNodeItr * | itr | ) | [inline] |
Initialize Iterator.
Definition at line 392 of file ParFUM_Iterators.h.
References FEM_Entity::ghost, FEM_Entity::is_valid_any_idx(), MeshModel::mesh, MeshNodeItr::model, FEM_Mesh::node, MeshNodeItr::parfum_index, and FEM_Entity::size().

| bool meshNodeItr_IsValid | ( | MeshNodeItr * | itr | ) | [inline] |
Determine if Iterator is valid or if it has iterated past last Node.
Definition at line 414 of file ParFUM_Iterators.h.
References FEM_Entity::is_valid_any_idx(), MeshModel::mesh, MeshNodeItr::model, FEM_Mesh::node, and MeshNodeItr::parfum_index.
Referenced by meshNodeItr_GetCurr(), and meshNodeItr_Next().


| void meshNodeItr_Next | ( | MeshNodeItr * | itr | ) | [inline] |
Increment iterator.
Definition at line 418 of file ParFUM_Iterators.h.
References FEM_Entity::is_valid_any_idx(), MeshModel::mesh, meshNodeItr_IsValid(), MeshNodeItr::model, FEM_Mesh::node, MeshNodeItr::parfum_index, and FEM_Entity::size().

| MeshNode meshNodeItr_GetCurr | ( | MeshNodeItr * | itr | ) | [inline] |
Get MeshNode associated with the iterator.
Definition at line 438 of file ParFUM_Iterators.h.
References meshNodeItr_IsValid(), and MeshNodeItr::parfum_index.

| MeshElemItr * meshModel_CreateElemItr | ( | MeshModel * | model | ) | [inline] |
Create Iterator for elements.
Definition at line 451 of file ParFUM_Iterators.h.
References MESH_ELEMENT_TET4, MeshElemItr::model, and MeshElemItr::type.
Referenced by meshFacetItr_Begin().

| void meshElemItr_Destroy | ( | MeshElemItr * | itr | ) | [inline] |
| void meshElemItr_Begin | ( | MeshElemItr * | itr | ) | [inline] |
Initialize Iterator.
Definition at line 462 of file ParFUM_Iterators.h.
References MeshElemItr::done, FEM_Mesh::elem, MeshModel::mesh, MeshElemItr::model, MeshElemItr::parfum_index, FEM_Entity_Types< T >::size(), and MeshElemItr::type.
Referenced by meshFacetItr_Begin().


| bool meshElemItr_IsValid | ( | MeshElemItr * | itr | ) | [inline] |
Determine if Iterator is valid or if it has iterated past last Element.
Definition at line 487 of file ParFUM_Iterators.h.
References MeshElemItr::done.
Referenced by meshElemItr_GetCurr(), meshElemItr_Next(), meshFacetItr_IsValid(), and meshFacetItr_Next().

| void meshElemItr_Next | ( | MeshElemItr * | itr | ) | [inline] |
Increment iterator.
Definition at line 491 of file ParFUM_Iterators.h.
References MeshElemItr::done, FEM_Mesh::elem, MeshModel::mesh, MESH_ELEMENT_TET4, meshElemItr_IsValid(), MeshElemItr::model, MeshElemItr::parfum_index, and FEM_Entity_Types< T >::size().
Referenced by meshFacetItr_Next().


| MeshElement meshElemItr_GetCurr | ( | MeshElemItr * | itr | ) | [inline] |
Get MeshElement associated with the iterator.
Definition at line 513 of file ParFUM_Iterators.h.
References ElemID::id, meshElemItr_IsValid(), MeshElemItr::parfum_index, MeshElemItr::type, and ElemID::type.
Referenced by meshFacetItr_Begin(), meshFacetItr_GetCurr(), and meshFacetItr_Next().


| void meshModel_TestIterators | ( | MeshModel * | m | ) |
Perform sanity check on iterators.
This checks to make sure that the count of the itereated elements and nodes matches that returned by ParFUM's countValid()
| MeshNodeElemItr * meshModel_CreateNodeElemItr | ( | MeshModel * | m, | |
| MeshNode | n | |||
| ) | [inline] |
Definition at line 530 of file ParFUM_Iterators.h.
References MeshNodeElemItr::current_index, FEM_Entity::is_valid_any_idx(), MeshModel::mesh, MeshNodeElemItr::model, FEM_Mesh::n2e_getLength(), FEM_Mesh::node, MeshNodeElemItr::node, and MeshNodeElemItr::numAdjElem.

| bool meshNodeElemItr_IsValid | ( | MeshNodeElemItr * | neitr | ) | [inline] |
Definition at line 547 of file ParFUM_Iterators.h.
References MeshNodeElemItr::current_index, and MeshNodeElemItr::numAdjElem.
Referenced by meshNodeElemItr_GetCurr().

| void meshNodeElemItr_Next | ( | MeshNodeElemItr * | neitr | ) | [inline] |
| MeshElement meshNodeElemItr_GetCurr | ( | MeshNodeElemItr * | neitr | ) | [inline] |
Definition at line 556 of file ParFUM_Iterators.h.
References MeshNodeElemItr::current_index, elem, ElemID::getSignedId(), ElemID::getUnsignedType(), ElemID::id, MeshModel::mesh, meshNodeElemItr_IsValid(), MeshNodeElemItr::model, FEM_Mesh::n2e_getElem(), MeshNodeElemItr::node, and ElemID::type.

| void meshNodeElemItr_Destroy | ( | MeshNodeElemItr * | neitr | ) | [inline] |
Definition at line 567 of file ParFUM_Iterators.h.
| MeshFacetItr * meshModel_CreateFacetItr | ( | MeshModel * | m | ) | [inline] |
| void meshFacetItr_Begin | ( | MeshFacetItr * | itr | ) | [inline] |
Definition at line 618 of file ParFUM_Iterators.h.
References FEM_Mesh::e2e_getElem(), MeshFacetItr::elemItr, ElemID::id, MeshModel::mesh, meshElemItr_Begin(), meshElemItr_GetCurr(), meshFacetItr_Next(), meshModel_CreateElemItr(), MeshFacetItr::model, ElemID::type, and MeshFacetItr::whichFacet.

| bool meshFacetItr_IsValid | ( | MeshFacetItr * | itr | ) | [inline] |
Definition at line 637 of file ParFUM_Iterators.h.
References MeshFacetItr::elemItr, and meshElemItr_IsValid().

| void meshFacetItr_Next | ( | MeshFacetItr * | itr | ) | [inline] |
Iterate to the next facet.
Definition at line 589 of file ParFUM_Iterators.h.
References FEM_Mesh::e2e_getElem(), MeshFacetItr::elemItr, ElemID::id, MeshModel::mesh, meshElemItr_GetCurr(), meshElemItr_IsValid(), meshElemItr_Next(), MeshFacetItr::model, ElemID::type, and MeshFacetItr::whichFacet.
Referenced by meshFacetItr_Begin().


| MeshFacet meshFacetItr_GetCurr | ( | MeshFacetItr * | itr | ) | [inline] |
Definition at line 641 of file ParFUM_Iterators.h.
References FEM_Mesh::e2e_getElem(), FEM_Mesh::elem, MeshFacet::elem, MeshFacetItr::elemItr, ElemID::id, MeshModel::mesh, meshElemItr_GetCurr(), MeshFacetItr::model, MeshFacet::node, ElemID::type, and MeshFacetItr::whichFacet.

| void meshFacetItr_Destroy | ( | MeshFacetItr * | itr | ) | [inline] |
Definition at line 686 of file ParFUM_Iterators.h.
1.5.5