Public Member Functions | Private Member Functions | Private Attributes

AAdapt::TopologyMod Class Reference

Topology modification based adapter. More...

#include <AAdapt_TopologyModification.hpp>

Inheritance diagram for AAdapt::TopologyMod:
Inheritance graph
[legend]
Collaboration diagram for AAdapt::TopologyMod:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 TopologyMod (const Teuchos::RCP< Teuchos::ParameterList > &params_, const Teuchos::RCP< ParamLib > &paramLib_, 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 &)
TopologyModoperator= (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::STKDiscretizationstk_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::Topologytopology_
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_

Detailed Description

Topology modification based adapter.

Definition at line 30 of file AAdapt_TopologyModification.hpp.


Constructor & Destructor Documentation

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]

Member Function Documentation

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.


Member Data Documentation

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.

Definition at line 115 of file AAdapt_TopologyModification.hpp.

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.

Definition at line 128 of file AAdapt_TopologyModification.hpp.

Definition at line 129 of file AAdapt_TopologyModification.hpp.

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.

Definition at line 142 of file AAdapt_TopologyModification.hpp.

Definition at line 143 of file AAdapt_TopologyModification.hpp.

Definition at line 144 of file AAdapt_TopologyModification.hpp.


The documentation for this class was generated from the following files: