WaveBEM: Unsteady Nonlinear Potential Flow Solver for Ship-Wave Interaction.
ComputationalDomain< dim > Class Template Reference

#include <computational_domain.h>

Public Types

typedef DoFHandler< dim-1, dim >::active_cell_iterator cell_it
 
typedef Triangulation< dim-1, dim >::active_cell_iterator tria_it
 

Public Member Functions

 ComputationalDomain (const unsigned int fe_degree=1, const unsigned int mapping_degree=1)
 
virtual ~ComputationalDomain ()
 
virtual void declare_parameters (ParameterHandler &prm)
 
virtual void parse_parameters (ParameterHandler &prm)
 
virtual void read_domain ()
 
virtual void refine_and_resize ()
 
bool mesh_check_and_update ()
 
void compute_min_diameter ()
 
void generate_double_nodes_set ()
 
void generate_octree_blocking ()
 
void boat_mesh_smoothing ()
 
void inflow_mesh_smoothing ()
 
void dump_tria (std::string fname) const
 
void restore_tria (std::string fname)
 
void compute_normals ()
 
void update_support_points ()
 

Public Attributes

const unsigned int mapping_degree
 
Triangulation< dim-1, dim > coarse_tria
 
PersistentTriangulation< dim-1, dim > tria
 
FE_Q< dim-1, dim > fe
 
DoFHandler< dim-1, dim > dh
 
FESystem< dim-1, dim > vector_fe
 
DoFHandler< dim-1, dim > vector_dh
 
std::vector< std::set< unsigned int > > double_nodes_set
 
std::vector< std::set< unsigned int > > vector_double_nodes_set
 
Vector< double > map_points
 
Mapping< dim-1, dim > * mapping
 
Vector< double > surface_nodes
 
Vector< double > other_nodes
 
unsigned int n_cycles
 
std_cxx1x::shared_ptr< Quadrature< dim-1 > > quadrature
 
unsigned int singular_quadrature_order
 
unsigned int free_sur_ID1
 
unsigned int free_sur_ID2
 
unsigned int free_sur_ID3
 
unsigned int wall_sur_ID1
 
unsigned int wall_sur_ID2
 
unsigned int wall_sur_ID3
 
unsigned int inflow_sur_ID1
 
unsigned int inflow_sur_ID2
 
unsigned int inflow_sur_ID3
 
unsigned int pressure_sur_ID
 
unsigned int free_sur_edge_on_boat_ID
 
unsigned int num_octree_levels
 
std::map< unsigned int, std::vector< cell_it > > dof_to_elems
 
std::map< unsigned int, std::vector< cell_it > > vector_dof_to_elems
 
std::vector< unsigned int > vector_dof_components
 
std::map< unsigned int, std::vector< unsigned int > > dof_to_block
 
std::map< cell_it, std::vector< std::vector< unsigned int > > > quad_point_to_block
 
std::map< cell_it, std::set< cell_it > > elem_to_surr_elems
 
std::vector< OctreeBlock< dim > * > blocks
 
unsigned int num_blocks
 
std::vector< unsigned int > endLevel
 
std::vector< unsigned int > startLevel
 
std::vector< unsigned int > childlessList
 
std::vector< unsigned int > numParent
 
std::vector< std::vector< unsigned int > > parentList
 
std::map< cell_it, std::vector< Point< dim > > > quadPoints
 
std::map< cell_it, std::vector< Point< dim > > > quadNormals
 
std::map< cell_it, std::vector< std::vector< double > > > quadShapeFunValues
 
std::map< cell_it, std::vector< double > > quadJxW
 
std::vector< std::vector< unsigned int > > dofs_filled_blocks
 
std::vector< std::vector< unsigned int > > quad_points_filled_blocks
 
std::set< unsigned int > free_surf_and_boat_nodes
 
std::set< unsigned int > boat_nodes
 
std::map< unsigned int, std::map< cell_it, unsigned int > > integralCheck
 
double min_diameter
 
std::vector< Point< dim > > vector_support_points
 
std::vector< Point< dim > > support_points
 
std::vector< GeometryFlagsflags
 
std::vector< GeometryFlagsvector_flags
 
std::vector< GeometryFlagscell_flags
 
std::vector< Point< 3 > > ref_points
 
std::vector< Point< dim > > nodes_normals
 

Detailed Description

template<int dim>
class ComputationalDomain< dim >

Definition at line 83 of file computational_domain.h.

Member Typedef Documentation

template<int dim>
typedef DoFHandler<dim-1,dim>::active_cell_iterator ComputationalDomain< dim >::cell_it

Definition at line 227 of file computational_domain.h.

template<int dim>
typedef Triangulation<dim-1,dim>::active_cell_iterator ComputationalDomain< dim >::tria_it

Definition at line 228 of file computational_domain.h.

Constructor & Destructor Documentation

template<int dim>
ComputationalDomain< dim >::ComputationalDomain ( const unsigned int  fe_degree = 1,
const unsigned int  mapping_degree = 1 
)

Definition at line 52 of file computational_domain.cc.

template<int dim>
ComputationalDomain< dim >::~ComputationalDomain ( )
virtual

Definition at line 65 of file computational_domain.cc.

Member Function Documentation

template<int dim>
void ComputationalDomain< dim >::boat_mesh_smoothing ( )
template<int dim>
void ComputationalDomain< dim >::compute_min_diameter ( )

Definition at line 237 of file computational_domain.cc.

template<int dim>
void ComputationalDomain< dim >::compute_normals ( )

Definition at line 1525 of file computational_domain.cc.

template<int dim>
void ComputationalDomain< dim >::declare_parameters ( ParameterHandler prm)
virtual

Reimplemented in NumericalTowingTank.

Definition at line 82 of file computational_domain.cc.

template<int dim>
void ComputationalDomain< dim >::dump_tria ( std::string  fname) const

Definition at line 1497 of file computational_domain.cc.

template<int dim>
void ComputationalDomain< dim >::generate_double_nodes_set ( )

Definition at line 258 of file computational_domain.cc.

template<int dim>
void ComputationalDomain< dim >::generate_octree_blocking ( )

Definition at line 312 of file computational_domain.cc.

template<int dim>
void ComputationalDomain< dim >::inflow_mesh_smoothing ( )

Definition at line 1458 of file computational_domain.cc.

template<int dim>
bool ComputationalDomain< dim >::mesh_check_and_update ( )

Definition at line 252 of file computational_domain.cc.

template<int dim>
void ComputationalDomain< dim >::parse_parameters ( ParameterHandler prm)
virtual

Reimplemented in NumericalTowingTank.

Definition at line 120 of file computational_domain.cc.

template<int dim>
void ComputationalDomain< dim >::read_domain ( )
virtual

Reimplemented in NumericalTowingTank.

Definition at line 213 of file computational_domain.cc.

template<int dim>
void ComputationalDomain< dim >::refine_and_resize ( )
virtual

Reimplemented in NumericalTowingTank.

Definition at line 233 of file computational_domain.cc.

template<int dim>
void ComputationalDomain< dim >::restore_tria ( std::string  fname)

Definition at line 1468 of file computational_domain.cc.

template<int dim>
void ComputationalDomain< dim >::update_support_points ( )

Definition at line 1507 of file computational_domain.cc.

Member Data Documentation

template<int dim>
std::vector<OctreeBlock<dim> *> ComputationalDomain< dim >::blocks
mutable

Definition at line 320 of file computational_domain.h.

template<int dim>
std::set<unsigned int> ComputationalDomain< dim >::boat_nodes

Definition at line 392 of file computational_domain.h.

template<int dim>
std::vector<GeometryFlags> ComputationalDomain< dim >::cell_flags

Definition at line 408 of file computational_domain.h.

template<int dim>
std::vector<unsigned int> ComputationalDomain< dim >::childlessList

Definition at line 335 of file computational_domain.h.

template<int dim>
Triangulation<dim-1, dim> ComputationalDomain< dim >::coarse_tria

Definition at line 197 of file computational_domain.h.

template<int dim>
DoFHandler<dim-1,dim> ComputationalDomain< dim >::dh

Definition at line 200 of file computational_domain.h.

template<int dim>
std::map<unsigned int, std::vector<unsigned int> > ComputationalDomain< dim >::dof_to_block

Definition at line 303 of file computational_domain.h.

template<int dim>
std::map<unsigned int, std::vector<cell_it> > ComputationalDomain< dim >::dof_to_elems

Definition at line 287 of file computational_domain.h.

template<int dim>
std::vector< std::vector<unsigned int> > ComputationalDomain< dim >::dofs_filled_blocks

Definition at line 372 of file computational_domain.h.

template<int dim>
std::vector<std::set<unsigned int> > ComputationalDomain< dim >::double_nodes_set

Definition at line 213 of file computational_domain.h.

template<int dim>
std::map<cell_it, std::set <cell_it> > ComputationalDomain< dim >::elem_to_surr_elems

Definition at line 315 of file computational_domain.h.

template<int dim>
std::vector<unsigned int> ComputationalDomain< dim >::endLevel

Definition at line 329 of file computational_domain.h.

template<int dim>
FE_Q<dim-1,dim> ComputationalDomain< dim >::fe

Definition at line 199 of file computational_domain.h.

template<int dim>
std::vector<GeometryFlags> ComputationalDomain< dim >::flags

Definition at line 406 of file computational_domain.h.

template<int dim>
unsigned int ComputationalDomain< dim >::free_sur_edge_on_boat_ID

Definition at line 272 of file computational_domain.h.

template<int dim>
unsigned int ComputationalDomain< dim >::free_sur_ID1

Definition at line 262 of file computational_domain.h.

template<int dim>
unsigned int ComputationalDomain< dim >::free_sur_ID2

Definition at line 263 of file computational_domain.h.

template<int dim>
unsigned int ComputationalDomain< dim >::free_sur_ID3

Definition at line 264 of file computational_domain.h.

template<int dim>
std::set<unsigned int> ComputationalDomain< dim >::free_surf_and_boat_nodes

Definition at line 385 of file computational_domain.h.

template<int dim>
unsigned int ComputationalDomain< dim >::inflow_sur_ID1

Definition at line 268 of file computational_domain.h.

template<int dim>
unsigned int ComputationalDomain< dim >::inflow_sur_ID2

Definition at line 269 of file computational_domain.h.

template<int dim>
unsigned int ComputationalDomain< dim >::inflow_sur_ID3

Definition at line 270 of file computational_domain.h.

template<int dim>
std::map<unsigned int, std::map<cell_it,unsigned int> > ComputationalDomain< dim >::integralCheck

Definition at line 399 of file computational_domain.h.

template<int dim>
Vector<double> ComputationalDomain< dim >::map_points

Definition at line 220 of file computational_domain.h.

template<int dim>
Mapping<dim-1, dim>* ComputationalDomain< dim >::mapping

Definition at line 223 of file computational_domain.h.

template<int dim>
const unsigned int ComputationalDomain< dim >::mapping_degree

Definition at line 195 of file computational_domain.h.

template<int dim>
double ComputationalDomain< dim >::min_diameter

Definition at line 402 of file computational_domain.h.

template<int dim>
unsigned int ComputationalDomain< dim >::n_cycles

Definition at line 249 of file computational_domain.h.

template<int dim>
std::vector<Point<dim> > ComputationalDomain< dim >::nodes_normals

Definition at line 415 of file computational_domain.h.

template<int dim>
unsigned int ComputationalDomain< dim >::num_blocks

Definition at line 324 of file computational_domain.h.

template<int dim>
unsigned int ComputationalDomain< dim >::num_octree_levels

Definition at line 277 of file computational_domain.h.

template<int dim>
std::vector<unsigned int> ComputationalDomain< dim >::numParent

Definition at line 339 of file computational_domain.h.

template<int dim>
Vector<double> ComputationalDomain< dim >::other_nodes

Definition at line 242 of file computational_domain.h.

template<int dim>
std::vector<std::vector<unsigned int> > ComputationalDomain< dim >::parentList

Definition at line 344 of file computational_domain.h.

template<int dim>
unsigned int ComputationalDomain< dim >::pressure_sur_ID

Definition at line 271 of file computational_domain.h.

template<int dim>
std::map<cell_it, std::vector<std::vector <unsigned int> > > ComputationalDomain< dim >::quad_point_to_block

Definition at line 309 of file computational_domain.h.

template<int dim>
std::vector< std::vector<unsigned int> > ComputationalDomain< dim >::quad_points_filled_blocks

Definition at line 378 of file computational_domain.h.

template<int dim>
std::map<cell_it, std::vector <double > > ComputationalDomain< dim >::quadJxW

Definition at line 366 of file computational_domain.h.

template<int dim>
std::map<cell_it, std::vector <Point <dim> > > ComputationalDomain< dim >::quadNormals

Definition at line 354 of file computational_domain.h.

template<int dim>
std::map<cell_it, std::vector <Point <dim> > > ComputationalDomain< dim >::quadPoints

Definition at line 349 of file computational_domain.h.

template<int dim>
std_cxx1x::shared_ptr<Quadrature<dim-1> > ComputationalDomain< dim >::quadrature

Definition at line 255 of file computational_domain.h.

template<int dim>
std::map<cell_it, std::vector <std::vector<double> > > ComputationalDomain< dim >::quadShapeFunValues

Definition at line 360 of file computational_domain.h.

template<int dim>
std::vector<Point<3> > ComputationalDomain< dim >::ref_points

Definition at line 411 of file computational_domain.h.

template<int dim>
unsigned int ComputationalDomain< dim >::singular_quadrature_order

Definition at line 256 of file computational_domain.h.

template<int dim>
std::vector<unsigned int> ComputationalDomain< dim >::startLevel

Definition at line 330 of file computational_domain.h.

template<int dim>
std::vector<Point<dim> > ComputationalDomain< dim >::support_points

Definition at line 405 of file computational_domain.h.

template<int dim>
Vector<double> ComputationalDomain< dim >::surface_nodes

Definition at line 241 of file computational_domain.h.

template<int dim>
PersistentTriangulation<dim-1, dim> ComputationalDomain< dim >::tria

Definition at line 198 of file computational_domain.h.

template<int dim>
DoFHandler<dim-1,dim> ComputationalDomain< dim >::vector_dh

Definition at line 202 of file computational_domain.h.

template<int dim>
std::vector<unsigned int > ComputationalDomain< dim >::vector_dof_components

Definition at line 297 of file computational_domain.h.

template<int dim>
std::map<unsigned int, std::vector<cell_it> > ComputationalDomain< dim >::vector_dof_to_elems

Definition at line 292 of file computational_domain.h.

template<int dim>
std::vector<std::set<unsigned int> > ComputationalDomain< dim >::vector_double_nodes_set

Definition at line 214 of file computational_domain.h.

template<int dim>
FESystem<dim-1,dim> ComputationalDomain< dim >::vector_fe

Definition at line 201 of file computational_domain.h.

template<int dim>
std::vector<GeometryFlags> ComputationalDomain< dim >::vector_flags

Definition at line 407 of file computational_domain.h.

template<int dim>
std::vector<Point<dim> > ComputationalDomain< dim >::vector_support_points

Definition at line 404 of file computational_domain.h.

template<int dim>
unsigned int ComputationalDomain< dim >::wall_sur_ID1

Definition at line 265 of file computational_domain.h.

template<int dim>
unsigned int ComputationalDomain< dim >::wall_sur_ID2

Definition at line 266 of file computational_domain.h.

template<int dim>
unsigned int ComputationalDomain< dim >::wall_sur_ID3

Definition at line 267 of file computational_domain.h.


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