COOLFluiD  Release kernel
COOLFluiD is a Collaborative Simulation Environment (CSE) focused on complex MultiPhysics simulations.
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
BlockArrays::Implementation Struct Reference

Classes

struct  Block
 Encapsulate a single block, providing all data needed to produce the mesh connectivity. More...
 
struct  BlockLayer
 Represents a single layer across the mesh. More...
 
struct  Patch
 

Public Types

typedef std::map< std::string, boost::ptr_vector< Patch > > PatchMapT
 
typedef std::map< Uint, UintIndexMapT
 

Public Member Functions

void trigger_block_distribution ()
 
void trigger_block_regions ()
 
void create_blocks ()
 Create a list of blocks, initialized based on the blockmesh structure. More...
 
void create_nodes_distribution (const Uint nb_procs, const Uint rank)
 Distribution of nodes among the CPUs. More...
 
Uint to_local (const Uint gid)
 Convert a global index to a local one, creating a ghost node if needed. More...
 
template<typename T >
void check_handle (const Handle< T > &h, const std::string &signal_name, const std::string &description)
 
void add_block (const Table< Uint >::ConstRow &segments, const Uint block_idx, Connectivity &volume_connectivity, Uint &element_idx)
 
template<typename ET >
void fill_block_coordinates_3d (Table< Real > &mesh_coords, const Uint block_idx)
 Create the block coordinates. More...
 
template<typename ET >
void fill_block_coordinates_2d (Table< Real > &mesh_coords, const Uint block_idx)
 Create the block coordinates. More...
 
void add_patch (const std::string &name, Elements &patch_elems)
 
BlocksPartitioning create_partitioning_data ()
 Create the data structure used to partition blocks. More...
 
void update_blocks (const BlocksPartitioning &blocks_partitioning)
 Copy back data from a partitioning structure. More...
 
bool build_block_layer (const Uint block_idx, const Uint direction, const std::vector< Uint > &transverse_directions, const std::vector< Uint > &output_block_layer, const std::vector< Uint > &added_blocks, std::set< Uint > &recursed_blocks)
 Recursive function to build a list of block indices that constitutes a single layer. More...
 
void build_block_layer (const Uint direction, const Uint start_direction, const std::vector< Uint > &transverse_directions, const Uint partition, BlockLayer &layer)
 
void partition_blocks (const Uint nb_partitions, const Uint direction)
 

Public Attributes

Handle< common::Table< Real > > points
 
Handle< common::Table< Uint > > blocks
 
Handle< common::Table< Uint > > block_subdivisions
 
Handle< common::Table< Real > > block_gradings
 
Handle< common::Grouppatches
 
Handle< Meshblock_mesh
 
Handle< Connectivitydefault_shell_connectivity
 
Handle< FaceConnectivityface_connectivity
 
std::vector< Blockblock_list
 Helper data to construct the mesh connectivity. More...
 
PatchMapT patch_map
 
std::vector< Uintnodes_dist
 Distribution of nodes across the CPUs. More...
 
Uint local_nodes_begin
 
Uint local_nodes_end
 
Uint ghost_counter
 
IndexMapT global_to_local
 
std::vector< Uintblock_distribution
 
std::vector< std::string > block_regions
 

Detailed Description

Definition at line 144 of file BlockData.cpp.

Member Typedef Documentation

Definition at line 1198 of file BlockData.cpp.

typedef std::map<std::string, boost::ptr_vector<Patch> > PatchMapT

Definition at line 1191 of file BlockData.cpp.

Member Function Documentation

void add_block ( const Table< Uint >::ConstRow &  segments,
const Uint  block_idx,
Connectivity volume_connectivity,
Uint element_idx 
)
inline

Definition at line 472 of file BlockData.cpp.

void add_patch ( const std::string &  name,
Elements patch_elems 
)
inline

Definition at line 624 of file BlockData.cpp.

bool build_block_layer ( const Uint  block_idx,
const Uint  direction,
const std::vector< Uint > &  transverse_directions,
const std::vector< Uint > &  output_block_layer,
const std::vector< Uint > &  added_blocks,
std::set< Uint > &  recursed_blocks 
)
inline

Recursive function to build a list of block indices that constitutes a single layer.

Definition at line 806 of file BlockData.cpp.

void build_block_layer ( const Uint  direction,
const Uint  start_direction,
const std::vector< Uint > &  transverse_directions,
const Uint  partition,
BlockLayer layer 
)
inline

Definition at line 837 of file BlockData.cpp.

void check_handle ( const Handle< T > &  h,
const std::string &  signal_name,
const std::string &  description 
)
inline

Definition at line 466 of file BlockData.cpp.

void create_blocks ( )
inline

Create a list of blocks, initialized based on the blockmesh structure.

Definition at line 313 of file BlockData.cpp.

void create_nodes_distribution ( const Uint  nb_procs,
const Uint  rank 
)
inline

Distribution of nodes among the CPUs.

Definition at line 424 of file BlockData.cpp.

BlocksPartitioning create_partitioning_data ( )
inline

Create the data structure used to partition blocks.

Definition at line 689 of file BlockData.cpp.

void fill_block_coordinates_2d ( Table< Real > &  mesh_coords,
const Uint  block_idx 
)
inline

Create the block coordinates.

Definition at line 578 of file BlockData.cpp.

void fill_block_coordinates_3d ( Table< Real > &  mesh_coords,
const Uint  block_idx 
)
inline

Create the block coordinates.

Definition at line 514 of file BlockData.cpp.

void partition_blocks ( const Uint  nb_partitions,
const Uint  direction 
)
inline

Definition at line 889 of file BlockData.cpp.

Uint to_local ( const Uint  gid)
inline

Convert a global index to a local one, creating a ghost node if needed.

Definition at line 450 of file BlockData.cpp.

void trigger_block_distribution ( )
inline

Definition at line 289 of file BlockData.cpp.

void trigger_block_regions ( )
inline

Definition at line 299 of file BlockData.cpp.

void update_blocks ( const BlocksPartitioning blocks_partitioning)
inline

Copy back data from a partitioning structure.

Definition at line 738 of file BlockData.cpp.

Member Data Documentation

std::vector<Uint> block_distribution

Definition at line 1200 of file BlockData.cpp.

Handle< common::Table<Real> > block_gradings

Definition at line 149 of file BlockData.cpp.

std::vector<Block> block_list

Helper data to construct the mesh connectivity.

Definition at line 1190 of file BlockData.cpp.

Handle<Mesh> block_mesh

Definition at line 153 of file BlockData.cpp.

std::vector<std::string> block_regions

Definition at line 1201 of file BlockData.cpp.

Handle< common::Table<Uint> > block_subdivisions

Definition at line 148 of file BlockData.cpp.

Definition at line 147 of file BlockData.cpp.

Handle<Connectivity> default_shell_connectivity

Definition at line 154 of file BlockData.cpp.

Handle<FaceConnectivity> face_connectivity

Definition at line 155 of file BlockData.cpp.

Uint ghost_counter

Definition at line 1197 of file BlockData.cpp.

IndexMapT global_to_local

Definition at line 1199 of file BlockData.cpp.

Uint local_nodes_begin

Definition at line 1195 of file BlockData.cpp.

Uint local_nodes_end

Definition at line 1196 of file BlockData.cpp.

std::vector<Uint> nodes_dist

Distribution of nodes across the CPUs.

Definition at line 1194 of file BlockData.cpp.

PatchMapT patch_map

Definition at line 1192 of file BlockData.cpp.

Handle< common::Group > patches

Definition at line 151 of file BlockData.cpp.

Handle< common::Table<Real> > points

Definition at line 146 of file BlockData.cpp.


The documentation for this struct was generated from the following file:
Send comments to:
COOLFluiD Web Admin