19 #ifndef computational_domain_h
20 #define computational_domain_h
71 #include "../include/octree_block.h"
72 #include "../include/local_expansion.h"
73 #include "../include/multipole_expansion.h"
74 #include "../include/ass_leg_function.h"
75 #include "../include/geometry_flags.h"
76 #include "../include/boat_model.h"
99 const unsigned int mapping_degree = 1);
117 virtual void read_domain();
123 virtual void refine_and_resize();
130 bool mesh_check_and_update();
135 void compute_min_diameter();
144 void generate_double_nodes_set();
151 void generate_octree_blocking();
156 void boat_mesh_smoothing();
164 void inflow_mesh_smoothing();
166 void dump_tria(std::string fname)
const;
168 void restore_tria(std::string fname);
171 void compute_normals();
174 void update_support_points();
320 mutable std::vector<OctreeBlock<dim> *>
blocks;
366 std::map <cell_it, std::vector <double > >
quadJxW;
DoFHandler< dim-1, dim >::active_cell_iterator cell_it
std::vector< std::vector< unsigned int > > dofs_filled_blocks
unsigned int inflow_sur_ID2
std::vector< Point< dim > > nodes_normals
std::vector< GeometryFlags > cell_flags
unsigned int wall_sur_ID1
DoFHandler< dim-1, dim > vector_dh
unsigned int free_sur_ID2
std::map< cell_it, std::vector< double > > quadJxW
std::vector< Point< dim > > support_points
unsigned int pressure_sur_ID
Triangulation< dim-1, dim > coarse_tria
std::vector< unsigned int > endLevel
Vector< double > other_nodes
std::vector< OctreeBlock< dim > * > blocks
std::map< unsigned int, std::vector< unsigned int > > dof_to_block
std_cxx1x::shared_ptr< Quadrature< dim-1 > > quadrature
unsigned int inflow_sur_ID1
std::vector< std::vector< unsigned int > > parentList
std::map< cell_it, std::vector< std::vector< double > > > quadShapeFunValues
std::map< unsigned int, std::map< cell_it, unsigned int > > integralCheck
Vector< double > map_points
std::set< unsigned int > boat_nodes
const unsigned int mapping_degree
unsigned int num_octree_levels
std::vector< unsigned int > numParent
unsigned int inflow_sur_ID3
std::vector< GeometryFlags > flags
Vector< double > surface_nodes
std::map< cell_it, std::vector< std::vector< unsigned int > > > quad_point_to_block
unsigned int singular_quadrature_order
unsigned int free_sur_ID3
FESystem< dim-1, dim > vector_fe
std::vector< unsigned int > vector_dof_components
std::set< unsigned int > free_surf_and_boat_nodes
std::vector< Point< dim > > vector_support_points
std::vector< std::vector< unsigned int > > quad_points_filled_blocks
unsigned int wall_sur_ID3
PersistentTriangulation< dim-1, dim > tria
std::map< cell_it, std::set< cell_it > > elem_to_surr_elems
unsigned int free_sur_edge_on_boat_ID
unsigned int wall_sur_ID2
std::vector< std::set< unsigned int > > vector_double_nodes_set
Mapping< dim-1, dim > * mapping
std::map< cell_it, std::vector< Point< dim > > > quadNormals
unsigned int free_sur_ID1
std::vector< unsigned int > childlessList
std::vector< std::set< unsigned int > > double_nodes_set
std::vector< unsigned int > startLevel
DoFHandler< dim-1, dim > dh
std::vector< GeometryFlags > vector_flags
std::vector< Point< 3 > > ref_points
Triangulation< dim-1, dim >::active_cell_iterator tria_it
std::map< unsigned int, std::vector< cell_it > > dof_to_elems
std::map< cell_it, std::vector< Point< dim > > > quadPoints
std::map< unsigned int, std::vector< cell_it > > vector_dof_to_elems