Topology modification based adapter. More...
#include <AAdapt_TopologyModification.hpp>
Public Member Functions | |
TopologyMod (const Teuchos::RCP< Teuchos::ParameterList > ¶ms_, const Teuchos::RCP< ParamLib > ¶mLib_, Albany::StateManager &StateMgr_, const Teuchos::RCP< const Epetra_Comm > &comm_) | |
Constructor. | |
~TopologyMod () | |
Destructor. | |
virtual bool | queryAdaptationCriteria () |
Check adaptation criteria to determine if the mesh needs adapting. | |
virtual bool | adaptMesh (const Epetra_Vector &solution, const Epetra_Vector &ovlp_solution) |
Apply adaptation method to mesh and problem. | |
virtual void | solutionTransfer (const Epetra_Vector &old_solution, Epetra_Vector &new_solution) |
Transfer solution between meshes. | |
Teuchos::RCP< const Teuchos::ParameterList > | getValidAdapterParameters () const |
Each adapter must generate it's list of valid parameters. | |
Private Member Functions | |
TopologyMod () | |
Disallow copy and assignment and default. | |
TopologyMod (const TopologyMod &) | |
TopologyMod & | operator= (const TopologyMod &) |
void | showElemToNodes () |
Connectivity display method. | |
void | showRelations () |
Relation display method. | |
int | accumulateFractured (int num_fractured) |
Parallel all-reduce function. | |
void | getGlobalOpenList (std::map< stk::mesh::EntityKey, bool > &local_entity_open, std::map< stk::mesh::EntityKey, bool > &global_entity_open) |
Parallel all-gatherv function. | |
Private Attributes | |
std::vector< std::vector < double > > | avg_stresses_ |
Average stress magnitude in the mesh elements, used for separation metric. | |
stk::mesh::BulkData * | bulk_data_ |
stk_mesh Bulk Data | |
Teuchos::RCP < Albany::AbstractSTKMeshStruct > | stk_mesh_struct_ |
Teuchos::RCP < Albany::AbstractDiscretization > | discretization_ |
Albany::STKDiscretization * | stk_discretization_ |
stk::mesh::fem::FEMMetaData * | meta_data_ |
stk::mesh::EntityRank | node_rank_ |
stk::mesh::EntityRank | edge_rank_ |
stk::mesh::EntityRank | face_rank_ |
stk::mesh::EntityRank | element_rank_ |
Teuchos::RCP < LCM::AbstractFractureCriterion > | fracture_criterion_ |
Teuchos::RCP< LCM::Topology > | topology_ |
std::vector< stk::mesh::Entity * > | fractured_faces_ |
Edges to fracture the mesh on. | |
std::vector< std::vector < stk::mesh::Entity * > > | old_elem_to_node_ |
Data structures used to transfer solution between meshes Element to node connectivity for old mesh. | |
std::vector< std::vector < stk::mesh::Entity * > > | new_elem_to_node_ |
Element to node connectivity for new mesh. | |
int | num_dim_ |
int | remesh_file_index_ |
std::string | base_exo_filename_ |
Topology modification based adapter.
Definition at line 30 of file AAdapt_TopologyModification.hpp.
AAdapt::TopologyMod::TopologyMod | ( | const Teuchos::RCP< Teuchos::ParameterList > & | params_, | |
const Teuchos::RCP< ParamLib > & | paramLib_, | |||
Albany::StateManager & | StateMgr_, | |||
const Teuchos::RCP< const Epetra_Comm > & | comm_ | |||
) |
Constructor.
Definition at line 21 of file AAdapt_TopologyModification.cpp.
AAdapt::TopologyMod::~TopologyMod | ( | ) |
Destructor.
Definition at line 65 of file AAdapt_TopologyModification.cpp.
AAdapt::TopologyMod::TopologyMod | ( | ) | [private] |
Disallow copy and assignment and default.
AAdapt::TopologyMod::TopologyMod | ( | const TopologyMod & | ) | [private] |
bool AAdapt::TopologyMod::queryAdaptationCriteria | ( | ) | [virtual] |
Check adaptation criteria to determine if the mesh needs adapting.
Definition at line 70 of file AAdapt_TopologyModification.cpp.
bool AAdapt::TopologyMod::adaptMesh | ( | const Epetra_Vector & | solution, | |
const Epetra_Vector & | ovlp_solution | |||
) | [virtual] |
Apply adaptation method to mesh and problem.
Returns true if adaptation is performed successfully.
Definition at line 125 of file AAdapt_TopologyModification.cpp.
void AAdapt::TopologyMod::solutionTransfer | ( | const Epetra_Vector & | old_solution, | |
Epetra_Vector & | new_solution | |||
) | [virtual] |
Transfer solution between meshes.
Definition at line 190 of file AAdapt_TopologyModification.cpp.
Teuchos::RCP< const Teuchos::ParameterList > AAdapt::TopologyMod::getValidAdapterParameters | ( | ) | const [virtual] |
Each adapter must generate it's list of valid parameters.
Reimplemented from AAdapt::AbstractAdapter.
Definition at line 195 of file AAdapt_TopologyModification.cpp.
TopologyMod& AAdapt::TopologyMod::operator= | ( | const TopologyMod & | ) | [private] |
void AAdapt::TopologyMod::showElemToNodes | ( | ) | [private] |
Connectivity display method.
void AAdapt::TopologyMod::showRelations | ( | ) | [private] |
Relation display method.
Definition at line 210 of file AAdapt_TopologyModification.cpp.
int AAdapt::TopologyMod::accumulateFractured | ( | int | num_fractured | ) | [private] |
Parallel all-reduce function.
Returns the argument in serial, returns the sum of the argument in parallel
Definition at line 336 of file AAdapt_TopologyModification.cpp.
void AAdapt::TopologyMod::getGlobalOpenList | ( | std::map< stk::mesh::EntityKey, bool > & | local_entity_open, | |
std::map< stk::mesh::EntityKey, bool > & | global_entity_open | |||
) | [private] |
Parallel all-gatherv function.
Communicates local open list to all processors to form global open list.
std::vector<std::vector<double> > AAdapt::TopologyMod::avg_stresses_ [private] |
Average stress magnitude in the mesh elements, used for separation metric.
Definition at line 103 of file AAdapt_TopologyModification.hpp.
stk::mesh::BulkData* AAdapt::TopologyMod::bulk_data_ [private] |
stk_mesh Bulk Data
Definition at line 113 of file AAdapt_TopologyModification.hpp.
Teuchos::RCP<Albany::AbstractSTKMeshStruct> AAdapt::TopologyMod::stk_mesh_struct_ [private] |
Definition at line 115 of file AAdapt_TopologyModification.hpp.
Teuchos::RCP<Albany::AbstractDiscretization> AAdapt::TopologyMod::discretization_ [private] |
Definition at line 117 of file AAdapt_TopologyModification.hpp.
Definition at line 119 of file AAdapt_TopologyModification.hpp.
stk::mesh::fem::FEMMetaData* AAdapt::TopologyMod::meta_data_ [private] |
Definition at line 121 of file AAdapt_TopologyModification.hpp.
stk::mesh::EntityRank AAdapt::TopologyMod::node_rank_ [private] |
Definition at line 123 of file AAdapt_TopologyModification.hpp.
stk::mesh::EntityRank AAdapt::TopologyMod::edge_rank_ [private] |
Definition at line 124 of file AAdapt_TopologyModification.hpp.
stk::mesh::EntityRank AAdapt::TopologyMod::face_rank_ [private] |
Definition at line 125 of file AAdapt_TopologyModification.hpp.
stk::mesh::EntityRank AAdapt::TopologyMod::element_rank_ [private] |
Definition at line 126 of file AAdapt_TopologyModification.hpp.
Teuchos::RCP<LCM::AbstractFractureCriterion> AAdapt::TopologyMod::fracture_criterion_ [private] |
Definition at line 128 of file AAdapt_TopologyModification.hpp.
Teuchos::RCP<LCM::Topology> AAdapt::TopologyMod::topology_ [private] |
Definition at line 129 of file AAdapt_TopologyModification.hpp.
std::vector<stk::mesh::Entity*> AAdapt::TopologyMod::fractured_faces_ [private] |
Edges to fracture the mesh on.
Definition at line 132 of file AAdapt_TopologyModification.hpp.
std::vector<std::vector<stk::mesh::Entity*> > AAdapt::TopologyMod::old_elem_to_node_ [private] |
Data structures used to transfer solution between meshes Element to node connectivity for old mesh.
Definition at line 137 of file AAdapt_TopologyModification.hpp.
std::vector<std::vector<stk::mesh::Entity*> > AAdapt::TopologyMod::new_elem_to_node_ [private] |
Element to node connectivity for new mesh.
Definition at line 140 of file AAdapt_TopologyModification.hpp.
int AAdapt::TopologyMod::num_dim_ [private] |
Definition at line 142 of file AAdapt_TopologyModification.hpp.
int AAdapt::TopologyMod::remesh_file_index_ [private] |
Definition at line 143 of file AAdapt_TopologyModification.hpp.
std::string AAdapt::TopologyMod::base_exo_filename_ [private] |
Definition at line 144 of file AAdapt_TopologyModification.hpp.