Panzer
Version of the Day
|
Namespaces | |
workset_utils | |
periodic_helpers | |
Functions | |
bool | checkSidesetOverlap (const std::string &side_a_name, const std::string &side_b_name, const panzer_stk::STK_Interface &mesh) |
Returns true if the sidesets overlap. More... | |
Teuchos::RCP < panzer::LocalMeshInfo > | generateLocalMeshInfo (const panzer_stk::STK_Interface &mesh) |
Create a structure containing information about the local portion of a given element block. More... | |
Teuchos::RCP < Thyra::LinearOpWithSolveFactoryBase < double > > | buildLOWSFactory (bool blockedAssembly, const Teuchos::RCP< const panzer::GlobalIndexer > &globalIndexer, const Teuchos::RCP< panzer_stk::STKConnManager > &stkConn_manager, int spatialDim, const Teuchos::RCP< const Teuchos::MpiComm< int > > &mpi_comm, const Teuchos::RCP< Teuchos::ParameterList > &strat_params, bool writeCoordinates, bool writeTopo, const Teuchos::RCP< const panzer::GlobalIndexer > &auxGlobalIndexer, bool useCoordinates) |
Teuchos::RCP < Thyra::LinearOpWithSolveFactoryBase < double > > | buildLOWSFactory (bool blockedAssembly, const Teuchos::RCP< const panzer::GlobalIndexer > &globalIndexer, const Teuchos::RCP< panzer::ConnManager > &conn_manager, int spatialDim, const Teuchos::RCP< const Teuchos::MpiComm< int > > &mpi_comm, const Teuchos::RCP< Teuchos::ParameterList > &strat_params, bool writeCoordinates, bool writeTopo, const Teuchos::RCP< const panzer::GlobalIndexer > &auxGlobalIndexer, bool useCoordinates) |
Teuchos::RCP< std::vector < panzer::Workset > > | buildWorksets (const panzer_stk::STK_Interface &mesh, const std::string &eBlock, const panzer::WorksetNeeds &needs) |
Teuchos::RCP< std::vector < panzer::Workset > > | buildWorksets (const panzer_stk::STK_Interface &mesh, const panzer::WorksetNeeds &needs, const std::string &sideset, const std::string &eBlock, bool useCascade) |
Teuchos::RCP< std::map < unsigned, panzer::Workset > > | buildBCWorksets (const panzer_stk::STK_Interface &mesh, const panzer::WorksetNeeds &needs_a, const std::string &blockid_a, const panzer::WorksetNeeds &needs_b, const std::string &blockid_b, const std::string &sideset) |
Teuchos::RCP< std::map < unsigned, panzer::Workset > > | buildBCWorksets (const panzer_stk::STK_Interface &mesh, const panzer::WorksetNeeds &needs, const std::string &eblockID, const std::string &sidesetID) |
void | computeSidesetNodeNormals (std::unordered_map< unsigned, std::vector< double > > &normals, const Teuchos::RCP< const panzer_stk::STK_Interface > &mesh, const std::string &sidesetName, const std::string &elementBlockName, std::ostream *out=NULL, std::ostream *pout=NULL) |
Computes the normals for all nodes associated with a sideset surface. More... | |
void | computeSidesetNodeNormals (std::unordered_map< std::size_t, Kokkos::DynRankView< double, PHX::Device > > &elementToNormalMap, const Teuchos::RCP< const panzer_stk::STK_Interface > &mesh, const std::string &sidesetName, const std::string &elementBlockName, std::ostream *out=NULL, std::ostream *pout=NULL) |
Computes the normals for all nodes associated with a sideset surface. More... | |
std::string | transformBCNameForIOSS (std::string &bc_name) |
std::string | version () |
std::size_t | getElementIdx (const std::vector< stk::mesh::Entity > &elements, stk::mesh::Entity const e) |
Teuchos::RCP< ElementDescriptor > | buildElementDescriptor (stk::mesh::EntityId elmtId, std::vector< stk::mesh::EntityId > &nodes) |
template<typename Matcher > | |
Teuchos::RCP < PeriodicBC_MatcherBase > | buildPeriodicBC_Matcher (const std::string &left, const std::string &right, const Matcher &matcher, const std::string type="coord") |
static std::string | trim_left (const std::string &s) |
static std::string | trim_right (const std::string &s) |
static std::string | trim (const std::string &s) |
bool panzer_stk::checkSidesetOverlap | ( | const std::string & | side_a_name, |
const std::string & | side_b_name, | ||
const panzer_stk::STK_Interface & | mesh | ||
) |
Returns true if the sidesets overlap.
Definition at line 18 of file Panzer_STK_CheckSidesetOverlap.cpp.
Teuchos::RCP< panzer::LocalMeshInfo > panzer_stk::generateLocalMeshInfo | ( | const panzer_stk::STK_Interface & | mesh | ) |
Create a structure containing information about the local portion of a given element block.
[in] | mesh | Reference to STK mesh interface |
Definition at line 422 of file Panzer_STK_LocalMeshUtilities.cpp.
Teuchos::RCP< Thyra::LinearOpWithSolveFactoryBase< double > > panzer_stk::buildLOWSFactory | ( | bool | blockedAssembly, |
const Teuchos::RCP< const panzer::GlobalIndexer > & | globalIndexer, | ||
const Teuchos::RCP< panzer_stk::STKConnManager > & | stkConn_manager, | ||
int | spatialDim, | ||
const Teuchos::RCP< const Teuchos::MpiComm< int > > & | mpi_comm, | ||
const Teuchos::RCP< Teuchos::ParameterList > & | strat_params, | ||
bool | writeCoordinates = false , |
||
bool | writeTopo = false , |
||
const Teuchos::RCP< const panzer::GlobalIndexer > & | auxGlobalIndexer = Teuchos::null , |
||
bool | useCoordinates = true |
||
) |
Build LOWS factory.
Definition at line 116 of file Panzer_STK_SetupLOWSFactory.cpp.
Teuchos::RCP< Thyra::LinearOpWithSolveFactoryBase< double > > panzer_stk::buildLOWSFactory | ( | bool | blockedAssembly, |
const Teuchos::RCP< const panzer::GlobalIndexer > & | globalIndexer, | ||
const Teuchos::RCP< panzer::ConnManager > & | conn_manager, | ||
int | spatialDim, | ||
const Teuchos::RCP< const Teuchos::MpiComm< int > > & | mpi_comm, | ||
const Teuchos::RCP< Teuchos::ParameterList > & | strat_params, | ||
bool | writeCoordinates = false , |
||
bool | writeTopo = false , |
||
const Teuchos::RCP< const panzer::GlobalIndexer > & | auxGlobalIndexer = Teuchos::null , |
||
bool | useCoordinates = true |
||
) |
Build LOWS factory.
Definition at line 453 of file Panzer_STK_SetupLOWSFactory.cpp.
Teuchos::RCP< std::vector< panzer::Workset > > panzer_stk::buildWorksets | ( | const panzer_stk::STK_Interface & | mesh, |
const std::string & | eBlock, | ||
const panzer::WorksetNeeds & | needs | ||
) |
Build volumetric worksets for a STK mesh
[in] | mesh | A pointer to the STK_Interface used to construct the worksets |
[in] | needs | Physics block associated with a particular element block |
[in] | eBlock | Element block to build worksets over (the descriptor information) |
Definition at line 21 of file Panzer_STK_SetupUtilities.cpp.
Teuchos::RCP< std::vector< panzer::Workset > > panzer_stk::buildWorksets | ( | const panzer_stk::STK_Interface & | mesh, |
const panzer::WorksetNeeds & | needs, | ||
const std::string & | sideset, | ||
const std::string & | eBlock, | ||
bool | useCascade = false |
||
) |
Build volumetric worksets for a STK mesh with elements that touch a particular sideset.
[in] | mesh | A pointer to the STK_Interface used to construct the worksets |
[in] | needs | Needs associated with the element block |
[in] | workset_size | The size of each workset measured in the number of elements |
[in] | sideset | The sideset id used to locate volume elements associated with the sideset |
[in] | eBlock | Element block to build worksets over (the descriptor information) |
[in] | useCascade | If true, worksets will be built for every local node, edge and face that touches the side set. Note that this implies that the workset will have repeated elements. This is useful for higher-order surface flux calculations. |
Definition at line 42 of file Panzer_STK_SetupUtilities.cpp.
Teuchos::RCP< std::map< unsigned, panzer::Workset > > panzer_stk::buildBCWorksets | ( | const panzer_stk::STK_Interface & | mesh, |
const panzer::WorksetNeeds & | needs_a, | ||
const std::string & | blockid_a, | ||
const panzer::WorksetNeeds & | needs_b, | ||
const std::string & | blockid_b, | ||
const std::string & | sideset | ||
) |
Build side worksets with elements on both sides (this is for DG)
[in] | mesh | A pointer to the STK_Interface used to construct the worksets |
[in] | needs_a | Needs of these worksets |
[in] | blockid_a | Element block id |
[in] | needs_b | Needs of these worksets |
[in] | blockid_b | Element block id |
[in] | workset_size | The size of each workset measured in the number of elements |
[in] | sideset | The sideset id used to locate volume elements associated with the sideset |
Definition at line 161 of file Panzer_STK_SetupUtilities.cpp.
Teuchos::RCP< std::map< unsigned, panzer::Workset > > panzer_stk::buildBCWorksets | ( | const panzer_stk::STK_Interface & | mesh, |
const panzer::WorksetNeeds & | needs, | ||
const std::string & | eblockID, | ||
const std::string & | sidesetID | ||
) |
Build boundary condition worksets for a STK mesh
[in] | mesh | A pointer to the STK_Interface used to construct the worksets |
[in] | needs | Physics block associated with the element block |
[in] | eblockID | Name of sideset |
[in] | sidesetID | Name of sideset |
Definition at line 250 of file Panzer_STK_SetupUtilities.cpp.
void panzer_stk::computeSidesetNodeNormals | ( | std::unordered_map< unsigned, std::vector< double > > & | normals, |
const Teuchos::RCP< const panzer_stk::STK_Interface > & | mesh, | ||
const std::string & | sidesetName, | ||
const std::string & | elementBlockName, | ||
std::ostream * | out = NULL , |
||
std::ostream * | pout = NULL |
||
) |
Computes the normals for all nodes associated with a sideset surface.
Computes the node normals for a given side set. This computation will use ghosted element contributions for all surfaces associated with the node, but will only use elements associated with the sideset. So if two sidesets adjoin at the seam, the nodes on the seam will NOT have the same node normal. A simple future addition would be to allow for a list of sidesets to be provided to allow for the union computation.
[out] | normals | Map of the node normals (including ghosted nodes). Key is the global id from the stk mesh node entity id and value is vector of the size of the parent element dimension containing the normal vector components. Vector components will be resized on calling this method. |
[in] | mesh | (Required) Panzer stk mesh |
[in] | sidesetName | (Required) Name of the sideset that the normals will be computed on |
[in] | elementBlockName | (Required) Name of the element block that the outward facing normals will be computed on |
[in] | out | (Optional) The ostream used for serial debug output on print process only. If non-null this will print debug info. |
[in] | pout | (Optional) The ostream used for parallel debug output by all processes. If non-null this will print debug info. |
Definition at line 35 of file Panzer_STK_SurfaceNodeNormals.cpp.
void panzer_stk::computeSidesetNodeNormals | ( | std::unordered_map< std::size_t, Kokkos::DynRankView< double, PHX::Device > > & | elementToNormalMap, |
const Teuchos::RCP< const panzer_stk::STK_Interface > & | mesh, | ||
const std::string & | sidesetName, | ||
const std::string & | elementBlockName, | ||
std::ostream * | out = NULL , |
||
std::ostream * | pout = NULL |
||
) |
Computes the normals for all nodes associated with a sideset surface.
Computes the node normals for a given side set. This computation will use ghosted element contributions for all surfaces associated with the node, but will only use elements associated with the sideset. So if two sidesets adjoin at the seam, the nodes on the seam will NOT have the same node normal. A simple future addition would be to allow for a list of sidesets to be provided to allow for the union computation.
[out] | normals | Map of the node normals (including ghosted nodes). Key is the panzer_stk::STK_Interface local element id and value is a multidimensional array of the size of the number of nodes times the parent element dimension containing the normal vector components. Vector components will be resized on calling this method. |
[in] | mesh | (Required) Panzer stk mesh |
[in] | sidesetName | (Required) Name of the sideset that the normals will be computed on |
[in] | elementBlockName | (Required) Name of the element block that the outward facing normals will be computed on |
[in] | out | (Optional) The ostream used for serial debug output on print process only. If non-null this will print debug info. |
[in] | pout | (Optional) The ostream used for parallel debug output by all processes. If non-null this will print debug info. |
Definition at line 209 of file Panzer_STK_SurfaceNodeNormals.cpp.
std::string panzer_stk::transformBCNameForIOSS | ( | std::string & | bc_name | ) |
Takes a sideset or nodeset name and transforms it for IOSS restrictions. Cubit replaces whitespace in sideset and nodeset names with underscores when writing to exodus. When IOSS reads exodus files into STK, it replaces all capital letters with lowercase letters. This function allows you to use the name labels used in Cubit and tie them to the correct nodeset or sideset in a STK mesh database.
Definition at line 16 of file Panzer_STK_TransformBCNameForIOSS.cpp.
std::string panzer_stk::version | ( | ) |
Definition at line 16 of file Panzer_STK_Version.cpp.
|
inline |
Definition at line 383 of file Panzer_STKConnManager.cpp.
Teuchos::RCP< ElementDescriptor > panzer_stk::buildElementDescriptor | ( | stk::mesh::EntityId | elmtId, |
std::vector< stk::mesh::EntityId > & | nodes | ||
) |
Constructor function for building the element descriptors.
Definition at line 64 of file Panzer_STK_Interface.cpp.
Teuchos::RCP<PeriodicBC_MatcherBase> panzer_stk::buildPeriodicBC_Matcher | ( | const std::string & | left, |
const std::string & | right, | ||
const Matcher & | matcher, | ||
const std::string | type = "coord" |
||
) |
A simple constructor function for building a matcher object. This prevents the need to directly instantiate the templated derived class. It is a convenience.
Definition at line 374 of file Panzer_STK_PeriodicBC_Matcher.hpp.
|
static |
Definition at line 144 of file Panzer_STK_PeriodicBC_Parser.cpp.
|
static |
Definition at line 151 of file Panzer_STK_PeriodicBC_Parser.cpp.
|
static |
Definition at line 158 of file Panzer_STK_PeriodicBC_Parser.cpp.