|
| WarpedCircularDisk (const double &epsilon, const unsigned &n, const double &z_offset=0.0) |
|
| WarpedCircularDisk () |
| Empty default constructor. More...
|
|
| WarpedCircularDisk (const WarpedCircularDisk &dummy)=delete |
| Broken copy constructor. More...
|
|
void | operator= (const WarpedCircularDisk &)=delete |
| Broken assignment operator. More...
|
|
virtual | ~WarpedCircularDisk () |
| Destructor. More...
|
|
double & | epsilon () |
| Access fct to amplitude of disk warping. More...
|
|
void | position (const Vector< double > &zeta, Vector< double > &r) const |
| Position Vector at Lagrangian coordinate zeta. More...
|
|
void | position (const unsigned &t, const Vector< double > &zeta, Vector< double > &r) const |
|
void | boundary_triad (const unsigned &b, const double &zeta_bound, Vector< double > &r, Vector< double > &tangent, Vector< double > &normal, Vector< double > &binormal) |
| Boundary triad on boundary b at boundary coordinate zeta_bound. More...
|
|
| DiskLikeGeomObjectWithBoundaries () |
| Constructor. More...
|
|
unsigned | nboundary () const |
| How many boundaries do we have? More...
|
|
void | position_on_boundary (const unsigned &b, const double &zeta_bound, Vector< double > &r) const |
|
void | zeta_on_boundary (const unsigned &b, const double &zeta_bound, Vector< double > &zeta) const |
|
GeomObject * | boundary_parametrising_geom_object_pt (const unsigned &b) const |
|
double | zeta_boundary_start (const unsigned &b) const |
|
double | zeta_boundary_end (const unsigned &b) const |
|
void | output_boundaries (const unsigned &nplot, std::ofstream &two_d_boundaries_file, std::ofstream &three_d_boundaries_file) |
|
void | output_boundaries_and_triads (const unsigned &nplot, std::ofstream &two_d_boundaries_file, std::ofstream &three_d_boundaries_file, std::ofstream &boundaries_tangent_file, std::ofstream &boundaries_normal_file, std::ofstream &boundaries_binormal_file) |
|
void | add_region_coordinates (const unsigned &r, Vector< double > &zeta_in_region) |
|
std::map< unsigned, Vector< double > > | zeta_in_region () const |
| Return map that stores zeta coordinates of points that identify regions. More...
|
|
| GeomObject () |
| Default constructor. More...
|
|
| GeomObject (const unsigned &ndim) |
|
| GeomObject (const unsigned &nlagrangian, const unsigned &ndim) |
|
| GeomObject (const unsigned &nlagrangian, const unsigned &ndim, TimeStepper *time_stepper_pt) |
|
| GeomObject (const GeomObject &dummy)=delete |
| Broken copy constructor. More...
|
|
void | operator= (const GeomObject &)=delete |
| Broken assignment operator. More...
|
|
virtual | ~GeomObject () |
| (Empty) destructor More...
|
|
unsigned | nlagrangian () const |
| Access function to # of Lagrangian coordinates. More...
|
|
unsigned | ndim () const |
| Access function to # of Eulerian coordinates. More...
|
|
void | set_nlagrangian_and_ndim (const unsigned &n_lagrangian, const unsigned &n_dim) |
| Set # of Lagrangian and Eulerian coordinates. More...
|
|
TimeStepper *& | time_stepper_pt () |
|
TimeStepper * | time_stepper_pt () const |
|
virtual unsigned | ngeom_data () const |
|
virtual Data * | geom_data_pt (const unsigned &j) |
|
virtual void | position (const double &t, const Vector< double > &zeta, Vector< double > &r) const |
|
virtual void | dposition_dt (const Vector< double > &zeta, const unsigned &j, Vector< double > &drdt) |
|
virtual void | dposition (const Vector< double > &zeta, DenseMatrix< double > &drdzeta) const |
|
virtual void | d2position (const Vector< double > &zeta, RankThreeTensor< double > &ddrdzeta) const |
|
virtual void | d2position (const Vector< double > &zeta, Vector< double > &r, DenseMatrix< double > &drdzeta, RankThreeTensor< double > &ddrdzeta) const |
|
virtual void | locate_zeta (const Vector< double > &zeta, GeomObject *&sub_geom_object_pt, Vector< double > &s, const bool &use_coordinate_as_initial_guess=false) |
|
virtual void | interpolated_zeta (const Vector< double > &s, Vector< double > &zeta) const |
|
////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////// Warped disk in 3d: zeta[0]=x; zeta[1]=y (so it doesn't have coordinate singularities), with specification of two boundaries (b=0,1) that turn the whole thing into a circular disk.
Boundary triad on boundary b at boundary coordinate zeta_bound.
Reimplemented from oomph::DiskLikeGeomObjectWithBoundaries.
432 double phi = zeta_bound;
439 Vector<double> dr_dr(3);
442 dr_dr[2] =
dwdr(1.0, phi);
443 double inv_norm = 1.0 /
sqrt(dr_dr[0] * dr_dr[0] + dr_dr[1] * dr_dr[1] +
444 dr_dr[2] * dr_dr[2]);
446 normal[0] = dr_dr[0] * inv_norm;
447 normal[1] = dr_dr[1] * inv_norm;
448 normal[2] = dr_dr[2] * inv_norm;
450 Vector<double> dr_dphi(3);
451 dr_dphi[0] = -
sin(phi);
452 dr_dphi[1] =
cos(phi);
453 dr_dphi[2] =
dwdphi(1.0, phi);
455 inv_norm = 1.0 /
sqrt(dr_dphi[0] * dr_dphi[0] + dr_dphi[1] * dr_dphi[1] +
456 dr_dphi[2] * dr_dphi[2]);
458 tangent[0] = dr_dphi[0] * inv_norm;
459 tangent[1] = dr_dphi[1] * inv_norm;
460 tangent[2] = dr_dphi[2] * inv_norm;
462 binormal[0] = tangent[1] *
normal[2] - tangent[2] *
normal[1];
463 binormal[1] = tangent[2] *
normal[0] - tangent[0] *
normal[2];
464 binormal[2] = tangent[0] *
normal[1] - tangent[1] *
normal[0];
AnnoyingScalar cos(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:136
AnnoyingScalar sin(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:137
AnnoyingScalar sqrt(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:134
double dwdphi(const double &r, const double &phi) const
Deriv of vertical deflection w.r.t. angle.
Definition: geom_obj_with_boundary.h:481
double w(const double &r, const double &phi) const
Vertical deflection.
Definition: geom_obj_with_boundary.h:469
double dwdr(const double &r, const double &phi) const
Deriv of vertical deflection w.r.t. radius.
Definition: geom_obj_with_boundary.h:475
void normal(const Vector< double > &x, Vector< double > &normal)
Definition: free_surface_rotation.cc:65
References cos(), dwdphi(), dwdr(), WallFunction::normal(), UniformPSDSelfTest::r, sin(), sqrt(), w(), and Z_offset.