Nalu
Nalu: a generalized unstructured massively parallel low Mach flow code designed to support a variety of energy applications of interest (most notably Wind ECP) built on the Sierra Toolkit and Trilinos solver Tpetra/Epetra stack. The open source BSD, clause 3 license model has been chosen for the code base. See LICENSE for more information. http://NaluCFD.org
Namespaces | Functions
PromoteElement.C File Reference
#include <element_promotion/PromoteElement.h>
#include <element_promotion/PromotedPartHelper.h>
#include <element_promotion/ElementDescription.h>
#include <master_element/Hex8CVFEM.h>
#include <master_element/MasterElement.h>
#include <NaluEnv.h>
#include <BucketLoop.h>
#include <stk_mesh/base/BulkData.hpp>
#include <stk_mesh/base/MetaData.hpp>
#include <stk_mesh/base/Field.hpp>
#include <stk_mesh/base/FieldParallel.hpp>
#include <stk_mesh/base/GetBuckets.hpp>
#include <stk_mesh/base/GetEntities.hpp>
#include <stk_mesh/base/Part.hpp>
#include <stk_mesh/base/Selector.hpp>
#include <stk_mesh/base/FEMHelpers.hpp>
#include <stk_mesh/base/HashEntityAndEntityKey.hpp>
#include <stk_mesh/base/CreateEdges.hpp>
#include <stk_mesh/base/CreateFaces.hpp>
#include <stk_search/CoarseSearch.hpp>
#include <stk_search/IdentProc.hpp>
#include <stk_io/StkMeshIoBroker.hpp>
#include <stk_topology/topology.hpp>
#include <stk_util/parallel/ParallelReduce.hpp>
#include <stk_util/parallel/CommSparse.hpp>
#include <stk_util/parallel/ParallelComm.hpp>
#include <stk_util/environment/ReportHandler.hpp>
#include <boost/functional/hash/hash.hpp>
#include <algorithm>
#include <vector>
#include <stdexcept>
#include <tuple>
#include <limits>

Namespaces

 sierra
 
 sierra::nalu
 
 sierra::nalu::promotion
 
 sierra::nalu::promotion::internal
 

Functions

std::pair< stk::mesh::PartVector, stk::mesh::PartVectorsierra::nalu::promotion::promote_elements (stk::mesh::BulkData &bulk, const ElementDescription &desc, const VectorFieldType &coordField, const stk::mesh::PartVector &partsToBePromoted, stk::mesh::Part *edgePart, stk::mesh::Part *facePart)
 
stk::mesh::PartVector sierra::nalu::promotion::create_boundary_elements (stk::mesh::BulkData &bulk, const ElementDescription &desc, const stk::mesh::PartVector &parts)
 
std::pair< stk::mesh::PartVector, stk::mesh::PartVectorsierra::nalu::promotion::internal::promote_elements_quad (stk::mesh::BulkData &bulk, const ElementDescription &desc, const VectorFieldType &coordField, const stk::mesh::PartVector &partsToBePromoted, stk::mesh::Part &edgePart)
 
std::pair< stk::mesh::PartVector, stk::mesh::PartVectorsierra::nalu::promotion::internal::promote_elements_hex (stk::mesh::BulkData &bulk, const ElementDescription &desc, const VectorFieldType &coordField, const stk::mesh::PartVector &partsToBePromoted, stk::mesh::Part &edgePart, stk::mesh::Part &facePart)
 
template<class LOOP_BODY >
void sierra::nalu::promotion::internal::bucket_loop (const stk::mesh::BucketVector &buckets, LOOP_BODY inner_loop_body)
 
stk::mesh::PartVector sierra::nalu::promotion::internal::create_super_elements (stk::mesh::BulkData &bulk, const ElementDescription &desc, const stk::mesh::PartVector &elemPartsToBePromoted, const ConnectivityMap &edgeConnectivity, const ConnectivityMap &volumeConnectivity)
 
stk::mesh::PartVector sierra::nalu::promotion::internal::create_super_elements (stk::mesh::BulkData &bulk, const ElementDescription &desc, const stk::mesh::PartVector &elemPartsToBePromoted, const ConnectivityMap &edgeConnectivity, const ConnectivityMap &faceConnectivity, const ConnectivityMap &volumeConnectivity)
 
stk::mesh::PartVector sierra::nalu::promotion::internal::create_boundary_elements (stk::mesh::BulkData &bulk, const ElementDescription &desc, const stk::mesh::PartVector &parts)
 
stk::mesh::EntityId sierra::nalu::promotion::internal::choose_consistent_node_id (stk::mesh::EntityId myId, stk::mesh::EntityId theirId)
 
void sierra::nalu::promotion::internal::perform_parallel_consolidation_of_node_ids (const stk::mesh::BulkData &bulk, ConnectivityMap &connectivityMap)
 
void sierra::nalu::promotion::internal::create_nodes_for_connectivity_map (stk::mesh::BulkData &bulk, const ConnectivityMap &map)
 
ConnectivityMap sierra::nalu::promotion::internal::connectivity_map_for_parent_rank (stk::mesh::BulkData &bulk, const int numNewNodesOnTopo, const stk::mesh::Selector &selector, stk::topology::rank_t parent_rank)
 
void sierra::nalu::promotion::internal::add_base_nodes_to_elem_connectivity (const stk::mesh::BulkData &bulk, const ElementDescription &desc, const stk::mesh::Entity elem, stk::mesh::EntityIdVector &allNodes)
 
int sierra::nalu::promotion::internal::index_edge_nodes (int i, int len, stk::mesh::Permutation perm)
 
int sierra::nalu::promotion::internal::index_face_nodes (int i, int j, int len1D, stk::mesh::Permutation perm)
 
void sierra::nalu::promotion::internal::add_edge_nodes_to_elem_connectivity (const stk::mesh::BulkData &bulk, const ElementDescription &desc, const ConnectivityMap &edgeConnectivity, const stk::mesh::Entity elem, stk::mesh::EntityIdVector &allNodes)
 
void sierra::nalu::promotion::internal::add_face_nodes_to_elem_connectivity (const stk::mesh::BulkData &bulk, const ElementDescription &desc, const ConnectivityMap &faceConnectivity, const stk::mesh::Entity elem, stk::mesh::EntityIdVector &allNodes)
 
void sierra::nalu::promotion::internal::add_volume_nodes_to_elem_connectivity (const stk::mesh::BulkData &bulk, const ElementDescription &desc, const ConnectivityMap &volumeConnectivity, const stk::mesh::Entity elem, stk::mesh::EntityIdVector &allNodes)
 
bool sierra::nalu::promotion::internal::destroy_entity (stk::mesh::BulkData &bulk, stk::mesh::Entity entity)
 
void sierra::nalu::promotion::internal::destroy_entities (stk::mesh::BulkData &bulk, const stk::mesh::Selector &selector, stk::topology::rank_t rank)
 
void sierra::nalu::promotion::internal::set_coordinates_quad (const stk::mesh::BulkData &bulk, const ElementDescription &desc, const stk::mesh::PartVector &promotedPartVector, const VectorFieldType &coordField)
 
void sierra::nalu::promotion::internal::set_coordinates_hex (const stk::mesh::BulkData &bulk, const ElementDescription &desc, const stk::mesh::PartVector &promotedPartVector, const VectorFieldType &coordField)
 
NodesElemMap sierra::nalu::promotion::internal::make_base_nodes_to_elem_map_at_boundary (const ElementDescription &desc, const stk::mesh::BulkData &mesh, const stk::mesh::PartVector &meshParts)
 
std::unordered_map< stk::mesh::Entity, stk::mesh::Entity > sierra::nalu::promotion::internal::exposed_side_to_super_elem_map (const ElementDescription &desc, const stk::mesh::BulkData &bulk, const stk::mesh::PartVector &base_elem_mesh_parts)