#include <numerical_towing_tank.h>
Public Member Functions | |
NumericalTowingTank (unsigned int, unsigned int) | |
void | full_mesh_treatment () |
void | compute_curvatures (Vector< double > &curvatures) |
void | apply_curvatures (const Vector< double > &curvatures, const std::vector< bool > boundary_dofs) |
void | partial_mesh_treatment (const double blend_factor) |
void | update_mapping (const Vector< double > &map_points) |
~NumericalTowingTank () | |
virtual void | read_domain () |
virtual void | refine_and_resize () |
virtual void | generate_double_nodes_set () |
virtual void | declare_parameters (ParameterHandler &prm) |
virtual void | parse_parameters (ParameterHandler &prm) |
void | create_initial_mesh (const Point< 3 > PointFrontTop, const Point< 3 > PointFrontBot, const Point< 3 > PointMidTop, const Point< 3 > PointMidBot, const Point< 3 > PointBackTop, const Point< 3 > PointBackBot, const Point< 3 > PointLeftTransom, const Point< 3 > PointRightTransom, const Point< 3 > PointCenterTransom, Triangulation< 2, 3 > &triangulation) |
void | refine_global_on_boat (const unsigned int num_refinements) |
void | compute_nodes_flags () |
void | set_up_smoother () |
void | initialize_smoother () |
void | update_smoother () |
void | perform_line_smoothing (unsigned int num_smoothings) |
void | perform_surface_projection () |
void | perform_water_line_nodes_projection () |
void | perform_smoothing (bool full_treatment, const double blend_factor) |
void | compute_normals_at_nodes (Vector< double > &map_points_used) |
void | compute_constraints (ConstraintMatrix &cc) |
void | make_edges_conformal (bool isotropic_ref_on_opposite_side) |
void | remove_mesh_anisotropy (Triangulation< 2, 3 > &tria) |
void | remove_transom_hanging_nodes () |
unsigned int | find_point_id (const Point< 3 > &p, const std::vector< Point< 3 > > &ps) |
void | extract_boundary_dofs (std::vector< bool > &dofs, unsigned int id, DoFHandler< 2, 3 > &vector_dh) |
![]() | |
ComputationalDomain (const unsigned int fe_degree=1, const unsigned int mapping_degree=1) | |
virtual | ~ComputationalDomain () |
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 | |
unsigned int | n_cycles |
std::string | iges_file_name |
BoatModel | boat_model |
SurfaceSmoothing * | restart_surface_smoother |
SurfaceSmoothing * | surface_smoother |
std::vector< OpenCascade::LineSmoothing * > | line_smoothers |
std::vector< std::vector< bool > > | boundary_dofs |
std::vector< unsigned int > | boundary_ids |
std::vector< Point< 3 > > | base_points |
std::vector< Point< 3 > > | moving_points |
std::vector< unsigned int > | base_point_ids |
std::vector< unsigned int > | moving_point_ids |
std::vector< Handle(Geom_Curve)> | curves |
std::vector< bool > | on_curve_option |
std::vector< TopLoc_Location * > | smoothers_locations |
std::vector< GeometryFlags > | flags |
std::vector< GeometryFlags > | vector_flags |
std::vector< Point< 3 > > | iges_normals |
std::vector< Point< 3 > > | old_iges_normals |
std::vector< double > | iges_mean_curvatures |
SparsityPattern | normals_sparsity_pattern |
ConstraintMatrix | vector_constraints |
SparseMatrix< double > | vector_normals_matrix |
Vector< double > | vector_normals_rhs |
Vector< double > | vector_normals_solution |
std::vector< Point< 3 > > | node_normals |
std::set< tria_it > | edge_cells |
std::set< tria_it > | boat_edge_cells |
std::set< tria_it > | water_edge_cells |
std::map< tria_it, tria_it > | boat_to_water_edge_cells |
std::map< tria_it, tria_it > | water_to_boat_edge_cells |
Vector< double > | smoothing_curvature_vector |
Vector< double > | smoothing_map_points |
Vector< double > | initial_map_points |
Vector< double > | old_map_points |
Vector< double > | rigid_motion_map_points |
double | Lx_domain |
double | Ly_domain |
double | Lz_domain |
double | Lx_boat |
const unsigned int | mapping_degree |
Vector< double > | edges_tangents |
Vector< double > | edges_length_ratios |
double | boat_displacement |
double | assigned_sink |
double | assigned_trim |
double | Ixx |
double | Ixy |
double | Ixz |
double | Iyy |
double | Iyz |
double | Izz |
double | max_aspect_ratio |
double | front_mesh_inclination_coeff |
double | back_mesh_inclination_coeff |
double | back_keel_length |
double | front_keel_length |
double | middle_keel_length |
unsigned int | number_of_transom_edges |
unsigned int | init_global_boat_refs |
unsigned int | init_adaptive_boat_refs |
double | init_adaptive_boat_refs_fraction |
bool | no_boat |
![]() | |
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< GeometryFlags > | flags |
std::vector< GeometryFlags > | vector_flags |
std::vector< GeometryFlags > | cell_flags |
std::vector< Point< 3 > > | ref_points |
std::vector< Point< dim > > | nodes_normals |
Additional Inherited Members | |
![]() | |
typedef DoFHandler< dim-1, dim >::active_cell_iterator | cell_it |
typedef Triangulation< dim-1, dim >::active_cell_iterator | tria_it |
Definition at line 98 of file numerical_towing_tank.h.
NumericalTowingTank::NumericalTowingTank | ( | unsigned int | fe_degree, |
unsigned int | mapping_degree | ||
) |
Definition at line 29 of file numerical_towing_tank.cc.
NumericalTowingTank::~NumericalTowingTank | ( | ) |
Definition at line 436 of file numerical_towing_tank.cc.
void NumericalTowingTank::apply_curvatures | ( | const Vector< double > & | curvatures, |
const std::vector< bool > | boundary_dofs | ||
) |
Definition at line 81 of file numerical_towing_tank.cc.
void NumericalTowingTank::compute_constraints | ( | ConstraintMatrix & | cc | ) |
Definition at line 3436 of file numerical_towing_tank.cc.
void NumericalTowingTank::compute_curvatures | ( | Vector< double > & | curvatures | ) |
Definition at line 111 of file numerical_towing_tank.cc.
void NumericalTowingTank::compute_nodes_flags | ( | ) |
Definition at line 1866 of file numerical_towing_tank.cc.
void NumericalTowingTank::compute_normals_at_nodes | ( | Vector< double > & | map_points_used | ) |
Definition at line 3358 of file numerical_towing_tank.cc.
void NumericalTowingTank::create_initial_mesh | ( | const Point< 3 > | PointFrontTop, |
const Point< 3 > | PointFrontBot, | ||
const Point< 3 > | PointMidTop, | ||
const Point< 3 > | PointMidBot, | ||
const Point< 3 > | PointBackTop, | ||
const Point< 3 > | PointBackBot, | ||
const Point< 3 > | PointLeftTransom, | ||
const Point< 3 > | PointRightTransom, | ||
const Point< 3 > | PointCenterTransom, | ||
Triangulation< 2, 3 > & | triangulation | ||
) |
Definition at line 582 of file numerical_towing_tank.cc.
|
virtual |
Reimplemented from ComputationalDomain< 3 >.
Definition at line 482 of file numerical_towing_tank.cc.
void NumericalTowingTank::extract_boundary_dofs | ( | std::vector< bool > & | dofs, |
unsigned int | id, | ||
DoFHandler< 2, 3 > & | vector_dh | ||
) |
Definition at line 4005 of file numerical_towing_tank.cc.
unsigned int NumericalTowingTank::find_point_id | ( | const Point< 3 > & | p, |
const std::vector< Point< 3 > > & | ps | ||
) |
Definition at line 4015 of file numerical_towing_tank.cc.
void NumericalTowingTank::full_mesh_treatment | ( | ) |
Definition at line 38 of file numerical_towing_tank.cc.
|
virtual |
Definition at line 1792 of file numerical_towing_tank.cc.
void NumericalTowingTank::initialize_smoother | ( | ) |
Definition at line 2310 of file numerical_towing_tank.cc.
void NumericalTowingTank::make_edges_conformal | ( | bool | isotropic_ref_on_opposite_side | ) |
Definition at line 3526 of file numerical_towing_tank.cc.
|
virtual |
Reimplemented from ComputationalDomain< 3 >.
Definition at line 531 of file numerical_towing_tank.cc.
void NumericalTowingTank::partial_mesh_treatment | ( | const double | blend_factor | ) |
Definition at line 67 of file numerical_towing_tank.cc.
void NumericalTowingTank::perform_line_smoothing | ( | unsigned int | num_smoothings | ) |
Definition at line 2572 of file numerical_towing_tank.cc.
void NumericalTowingTank::perform_smoothing | ( | bool | full_treatment, |
const double | blend_factor | ||
) |
Definition at line 3300 of file numerical_towing_tank.cc.
void NumericalTowingTank::perform_surface_projection | ( | ) |
Definition at line 2642 of file numerical_towing_tank.cc.
void NumericalTowingTank::perform_water_line_nodes_projection | ( | ) |
Definition at line 2722 of file numerical_towing_tank.cc.
|
virtual |
Reimplemented from ComputationalDomain< 3 >.
Definition at line 290 of file numerical_towing_tank.cc.
|
virtual |
Reimplemented from ComputationalDomain< 3 >.
Definition at line 124 of file numerical_towing_tank.cc.
void NumericalTowingTank::refine_global_on_boat | ( | const unsigned int | num_refinements | ) |
Definition at line 3854 of file numerical_towing_tank.cc.
void NumericalTowingTank::remove_mesh_anisotropy | ( | Triangulation< 2, 3 > & | tria | ) |
Definition at line 3610 of file numerical_towing_tank.cc.
void NumericalTowingTank::remove_transom_hanging_nodes | ( | ) |
Definition at line 3453 of file numerical_towing_tank.cc.
void NumericalTowingTank::set_up_smoother | ( | ) |
Definition at line 2274 of file numerical_towing_tank.cc.
void NumericalTowingTank::update_mapping | ( | const Vector< double > & | map_points | ) |
Definition at line 105 of file numerical_towing_tank.cc.
void NumericalTowingTank::update_smoother | ( | ) |
Definition at line 2453 of file numerical_towing_tank.cc.
double NumericalTowingTank::assigned_sink |
Definition at line 326 of file numerical_towing_tank.h.
double NumericalTowingTank::assigned_trim |
Definition at line 330 of file numerical_towing_tank.h.
double NumericalTowingTank::back_keel_length |
Definition at line 351 of file numerical_towing_tank.h.
double NumericalTowingTank::back_mesh_inclination_coeff |
Definition at line 347 of file numerical_towing_tank.h.
std::vector<unsigned int> NumericalTowingTank::base_point_ids |
Definition at line 247 of file numerical_towing_tank.h.
std::vector<Point<3> > NumericalTowingTank::base_points |
Definition at line 243 of file numerical_towing_tank.h.
double NumericalTowingTank::boat_displacement |
Definition at line 323 of file numerical_towing_tank.h.
std::set<tria_it> NumericalTowingTank::boat_edge_cells |
Definition at line 288 of file numerical_towing_tank.h.
BoatModel NumericalTowingTank::boat_model |
Definition at line 219 of file numerical_towing_tank.h.
Definition at line 292 of file numerical_towing_tank.h.
std::vector< std::vector<bool> > NumericalTowingTank::boundary_dofs |
Definition at line 238 of file numerical_towing_tank.h.
std::vector<unsigned int> NumericalTowingTank::boundary_ids |
Definition at line 241 of file numerical_towing_tank.h.
std::vector<Handle(Geom_Curve)> NumericalTowingTank::curves |
Definition at line 251 of file numerical_towing_tank.h.
std::set<tria_it> NumericalTowingTank::edge_cells |
Definition at line 286 of file numerical_towing_tank.h.
Vector<double > NumericalTowingTank::edges_length_ratios |
Definition at line 321 of file numerical_towing_tank.h.
Vector<double > NumericalTowingTank::edges_tangents |
Definition at line 319 of file numerical_towing_tank.h.
std::vector<GeometryFlags> NumericalTowingTank::flags |
Definition at line 260 of file numerical_towing_tank.h.
double NumericalTowingTank::front_keel_length |
Definition at line 355 of file numerical_towing_tank.h.
double NumericalTowingTank::front_mesh_inclination_coeff |
Definition at line 344 of file numerical_towing_tank.h.
std::string NumericalTowingTank::iges_file_name |
Definition at line 215 of file numerical_towing_tank.h.
std::vector<double> NumericalTowingTank::iges_mean_curvatures |
Definition at line 272 of file numerical_towing_tank.h.
std::vector< Point<3> > NumericalTowingTank::iges_normals |
Definition at line 265 of file numerical_towing_tank.h.
unsigned int NumericalTowingTank::init_adaptive_boat_refs |
Definition at line 366 of file numerical_towing_tank.h.
double NumericalTowingTank::init_adaptive_boat_refs_fraction |
Definition at line 369 of file numerical_towing_tank.h.
unsigned int NumericalTowingTank::init_global_boat_refs |
Definition at line 363 of file numerical_towing_tank.h.
Vector<double> NumericalTowingTank::initial_map_points |
Definition at line 301 of file numerical_towing_tank.h.
double NumericalTowingTank::Ixx |
Definition at line 333 of file numerical_towing_tank.h.
double NumericalTowingTank::Ixy |
Definition at line 334 of file numerical_towing_tank.h.
double NumericalTowingTank::Ixz |
Definition at line 335 of file numerical_towing_tank.h.
double NumericalTowingTank::Iyy |
Definition at line 336 of file numerical_towing_tank.h.
double NumericalTowingTank::Iyz |
Definition at line 337 of file numerical_towing_tank.h.
double NumericalTowingTank::Izz |
Definition at line 338 of file numerical_towing_tank.h.
std::vector<OpenCascade::LineSmoothing *> NumericalTowingTank::line_smoothers |
Definition at line 233 of file numerical_towing_tank.h.
double NumericalTowingTank::Lx_boat |
Definition at line 314 of file numerical_towing_tank.h.
double NumericalTowingTank::Lx_domain |
Definition at line 308 of file numerical_towing_tank.h.
double NumericalTowingTank::Ly_domain |
Definition at line 310 of file numerical_towing_tank.h.
double NumericalTowingTank::Lz_domain |
Definition at line 312 of file numerical_towing_tank.h.
const unsigned int NumericalTowingTank::mapping_degree |
Definition at line 316 of file numerical_towing_tank.h.
double NumericalTowingTank::max_aspect_ratio |
Definition at line 341 of file numerical_towing_tank.h.
double NumericalTowingTank::middle_keel_length |
Definition at line 359 of file numerical_towing_tank.h.
std::vector<unsigned int> NumericalTowingTank::moving_point_ids |
Definition at line 249 of file numerical_towing_tank.h.
std::vector<Point<3> > NumericalTowingTank::moving_points |
Definition at line 245 of file numerical_towing_tank.h.
unsigned int NumericalTowingTank::n_cycles |
Definition at line 213 of file numerical_towing_tank.h.
bool NumericalTowingTank::no_boat |
Definition at line 372 of file numerical_towing_tank.h.
std::vector<Point<3> > NumericalTowingTank::node_normals |
Definition at line 284 of file numerical_towing_tank.h.
SparsityPattern NumericalTowingTank::normals_sparsity_pattern |
Definition at line 274 of file numerical_towing_tank.h.
unsigned int NumericalTowingTank::number_of_transom_edges |
Definition at line 361 of file numerical_towing_tank.h.
std::vector< Point<3> > NumericalTowingTank::old_iges_normals |
Definition at line 269 of file numerical_towing_tank.h.
Vector<double> NumericalTowingTank::old_map_points |
Definition at line 303 of file numerical_towing_tank.h.
std::vector<bool> NumericalTowingTank::on_curve_option |
Definition at line 255 of file numerical_towing_tank.h.
SurfaceSmoothing* NumericalTowingTank::restart_surface_smoother |
Definition at line 221 of file numerical_towing_tank.h.
Vector<double> NumericalTowingTank::rigid_motion_map_points |
Definition at line 306 of file numerical_towing_tank.h.
std::vector< TopLoc_Location *> NumericalTowingTank::smoothers_locations |
Definition at line 258 of file numerical_towing_tank.h.
Vector<double> NumericalTowingTank::smoothing_curvature_vector |
Definition at line 296 of file numerical_towing_tank.h.
Vector<double> NumericalTowingTank::smoothing_map_points |
Definition at line 299 of file numerical_towing_tank.h.
SurfaceSmoothing* NumericalTowingTank::surface_smoother |
Definition at line 223 of file numerical_towing_tank.h.
ConstraintMatrix NumericalTowingTank::vector_constraints |
Definition at line 276 of file numerical_towing_tank.h.
std::vector<GeometryFlags> NumericalTowingTank::vector_flags |
Definition at line 262 of file numerical_towing_tank.h.
SparseMatrix<double> NumericalTowingTank::vector_normals_matrix |
Definition at line 278 of file numerical_towing_tank.h.
Vector<double> NumericalTowingTank::vector_normals_rhs |
Definition at line 280 of file numerical_towing_tank.h.
Vector<double> NumericalTowingTank::vector_normals_solution |
Definition at line 282 of file numerical_towing_tank.h.
std::set<tria_it> NumericalTowingTank::water_edge_cells |
Definition at line 290 of file numerical_towing_tank.h.
Definition at line 294 of file numerical_towing_tank.h.