|
Panzer Version of the Day
|
Namespaces | |
| namespace | periodic_helpers |
| namespace | workset_utils |
Classes | |
| class | CoordMatcher |
| class | CubeHexMeshFactory |
| class | CubeTetMeshFactory |
| class | CustomMeshFactory |
| class | ElementDescriptor |
| class | GatherExodusCellDataToIP |
| class | GatherFields |
| class | GatherRefCoords |
| class | IOClosureModelFactory |
| A panzer::ClosureModelFactory decorator that provides evaluators for writing fields to exodus files. Wraps a user closure model factory. buildClosureModels() delegates to the wrapped factory for every evaluation type; the panzer::Traits::Residual specialization additionally builds the scatter evaluators needed to write selected nodal/cell fields out to the STK mesh for visualization/output, since output only needs to happen once per workset regardless of evaluation type. More... | |
| class | IOClosureModelFactory_TemplateBuilder |
| Builder functor used with Sacado::mpl::TemplateManager to construct one panzer_stk::IOClosureModelFactory<EvalT> per evaluation type, each wrapping the same underlying closure model factory template manager, mesh, and output field selection. More... | |
| class | LineMeshFactory |
| class | ModelEvaluatorFactory |
| class | MultiBlockMeshFactory |
| class | NOXObserverFactory |
| Abstract factory for building a NOX::Observer that has access to the STK mesh, DOF manager, and linear object factory, e.g. for writing solution snapshots to disk between nonlinear iterations. More... | |
| class | PeriodicBC_Matcher |
| class | PeriodicBC_MatcherBase |
| class | PeriodicBC_Parser |
| class | PlaneMatcher |
| class | ProjectField |
| Given a field, perform a local L2 projection onto the desired basis. More... | |
| class | Quad8ToQuad4MeshFactory |
| class | QuadraticToLinearMeshFactory |
| class | QuarterPlaneMatcher |
| struct | RespFactorySolnWriter_Builder |
| class | ResponseEvaluatorFactory_SolutionWriter |
| class | ScatterCellAvgQuantity |
| class | ScatterCellAvgVector |
| class | ScatterCellQuantity |
| class | ScatterFields |
| class | ScatterVectorFields |
| class | SculptMeshFactory |
| struct | SetMeshFunctor |
| class | SquareQuadMeshFactory |
| class | SquareTriMeshFactory |
| class | STK_Interface |
| class | STK_MeshFactory |
| class | STKConnManager |
| A panzer::ConnManager implementation backed by an STK mesh, mapping local element IDs to global mesh-entity (node/edge/face/cell) IDs according to a given field pattern. More... | |
| class | STKMeshAccessor |
| class | TempusObserverFactory |
| Abstract factory for building a Tempus integrator observer that has access to the STK mesh, DOF manager, and linear object factory, e.g. for writing solution snapshots to disk between time steps. More... | |
| class | WedgeMatcher |
| class | WorksetFactory |
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. | |
| 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. | |
| 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=false, bool writeTopo=false, const Teuchos::RCP< const panzer::GlobalIndexer > &auxGlobalIndexer=Teuchos::null, bool useCoordinates=true) |
| Builds a Thyra LOWS (linear-op-with-solve) factory from a Stratimikos parameter list, configured for the given global indexer and STK connection manager. | |
| 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=false, bool writeTopo=false, const Teuchos::RCP< const panzer::GlobalIndexer > &auxGlobalIndexer=Teuchos::null, bool useCoordinates=true) |
| Convenience overload accepting a generic panzer::ConnManager, which must actually be a panzer_stk::STKConnManager; dynamic-casts conn_manager and delegates to the panzer_stk::STKConnManager overload of buildLOWSFactory() below. | |
| 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 &eblock_a, const panzer::WorksetNeeds &needs_b, const std::string &eblock_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. | |
| 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. | |
| std::string | transformBCNameForIOSS (std::string &bc_name, const bool make_lower_case=false) |
| std::string | version () |
| Returns a human-readable string identifying the panzer_stk (STK mesh adapter) version being used. | |
| 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.
Checks whether two sidesets share any nodes.
| [in] | side_a_name | the name of the first sideset. |
| [in] | side_b_name | the name of the second sideset. |
| [in] | mesh | the mesh containing both sidesets. |
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 |
||
| ) |
Builds a Thyra LOWS (linear-op-with-solve) factory from a Stratimikos parameter list, configured for the given global indexer and STK connection manager.
| [in] | blockedAssembly | true if the linear system is assembled in blocked form (one block per physics/DOF group). |
| [in] | globalIndexer | the DOF manager describing the linear system's unknowns. |
| [in] | stkConn_manager | the mesh connection manager. |
| [in] | spatialDim | the spatial dimension of the mesh. |
| [in] | mpi_comm | the MPI communicator to build the solver on. |
| [in] | strat_params | the Stratimikos parameter list describing the requested solver/preconditioner. |
| [in] | req_handler | (only if PANZER_HAVE_TEKO) an optional Teko request handler; a default one is created if null. |
| [in] | writeCoordinates | if true, writes mesh coordinates to file (e.g. for preconditioner setup diagnostics). |
| [in] | writeTopo | if true, writes the mesh topology to file. |
| [in] | auxGlobalIndexer | an optional auxiliary DOF manager, e.g. for preconditioners needing extra unknowns. |
| [in] | useCoordinates | if true, supplies mesh coordinates to the solver/preconditioner (e.g. for algebraic multigrid). |
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, | ||
| bool | writeTopo, | ||
| const Teuchos::RCP< const panzer::GlobalIndexer > & | auxGlobalIndexer, | ||
| bool | useCoordinates | ||
| ) |
Convenience overload accepting a generic panzer::ConnManager, which must actually be a panzer_stk::STKConnManager; dynamic-casts conn_manager and delegates to the panzer_stk::STKConnManager overload of buildLOWSFactory() below.
Definition at line 448 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 |
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 34 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 208 of file Panzer_STK_SurfaceNodeNormals.cpp.
| std::string panzer_stk::transformBCNameForIOSS | ( | std::string & | bc_name, |
| const bool | make_lower_case = false |
||
| ) |
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.
| bc_name | String to be converted - this object is transformed in-place |
| make_lower_case | If set to true, convert to lower case. |
NOTE: On 2026.05.30, IOSS was changed to allow for upper case in sideset names. We now only have to account for the spaces being changed to underscores. This behavior can be reversed with IOSS properties.
Definition at line 16 of file Panzer_STK_TransformBCNameForIOSS.cpp.
| std::string panzer_stk::version | ( | ) |
Returns a human-readable string identifying the panzer_stk (STK mesh adapter) version being used.
Definition at line 16 of file Panzer_STK_Version.cpp.
|
inline |
Definition at line 435 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 65 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 378 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.