oomph::WarpedCircularDiskWithAnnularInternalBoundary Class Reference

#include <geom_obj_with_boundary.h>

+ Inheritance diagram for oomph::WarpedCircularDiskWithAnnularInternalBoundary:

Public Member Functions

 WarpedCircularDiskWithAnnularInternalBoundary (const double &h_annulus, const double &epsilon, const unsigned &n, const double &z_offset=0.0)
 
 WarpedCircularDiskWithAnnularInternalBoundary (const WarpedCircularDiskWithAnnularInternalBoundary &dummy)=delete
 Broken copy constructor. More...
 
void operator= (const WarpedCircularDiskWithAnnularInternalBoundary &)=delete
 Broken assignment operator. More...
 
virtual ~WarpedCircularDiskWithAnnularInternalBoundary ()
 Destructor (empty; cleanup happens in base class) More...
 
double h_annulus () const
 
- Public Member Functions inherited from oomph::WarpedCircularDisk
 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...
 
doubleepsilon ()
 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...
 
- Public Member Functions inherited from oomph::DiskLikeGeomObjectWithBoundaries
 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
 
GeomObjectboundary_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...
 
- Public Member Functions inherited from oomph::GeomObject
 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 ()
 
TimeSteppertime_stepper_pt () const
 
virtual unsigned ngeom_data () const
 
virtual Datageom_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
 

Protected Attributes

double H_annulus
 
- Protected Attributes inherited from oomph::DiskLikeGeomObjectWithBoundaries
Vector< doubleZeta_boundary_start
 
Vector< doubleZeta_boundary_end
 
Vector< GeomObject * > Boundary_parametrising_geom_object_pt
 
std::map< unsigned, Vector< double > > Zeta_in_region
 Map to store zeta coordinates of points that identify regions. More...
 
- Protected Attributes inherited from oomph::GeomObject
unsigned NLagrangian
 Number of Lagrangian (intrinsic) coordinates. More...
 
unsigned Ndim
 Number of Eulerian coordinates. More...
 
TimeStepperGeom_object_time_stepper_pt
 

Detailed Description

////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////// 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. In addition has two internal boundaries (b=2,3), a distance h_annulus from the outer edge. Annual (outer) region is region 1.

Constructor & Destructor Documentation

◆ WarpedCircularDiskWithAnnularInternalBoundary() [1/2]

oomph::WarpedCircularDiskWithAnnularInternalBoundary::WarpedCircularDiskWithAnnularInternalBoundary ( const double h_annulus,
const double epsilon,
const unsigned n,
const double z_offset = 0.0 
)
inline

Constructor. Pass amplitude and azimuthal wavenumber of warping as arguments. Can specify vertical offset as final, optional argument.

520  {
521  // We have two more boundaries!
523  Zeta_boundary_start.resize(4);
524  Zeta_boundary_end.resize(4);
525 
526  // Radius of the internal annular boundary
527  double r_annulus = 1.0 - h_annulus;
528 
529  // GeomObject<1,2> representing the third boundary
531  new Ellipse(r_annulus, r_annulus);
532  Zeta_boundary_start[2] = 0.0;
534 
535  // GeomObject<1,2> representing the fourth boundary
537  new Ellipse(r_annulus, r_annulus);
540 
541  // Region 1 is the annular region; identify it by a point in
542  // this region.
543  unsigned r = 1;
544  Vector<double> zeta_in_region(2);
545  zeta_in_region[0] = 0.0;
546  zeta_in_region[0] = 1.0 - 0.5 * h_annulus;
548  }
const unsigned n
Definition: CG3DPackingUnitTest.cpp:11
void add_region_coordinates(const unsigned &r, Vector< double > &zeta_in_region)
Definition: geom_obj_with_boundary.h:256
Vector< double > Zeta_boundary_start
Definition: geom_obj_with_boundary.h:315
std::map< unsigned, Vector< double > > zeta_in_region() const
Return map that stores zeta coordinates of points that identify regions.
Definition: geom_obj_with_boundary.h:307
Vector< GeomObject * > Boundary_parametrising_geom_object_pt
Definition: geom_obj_with_boundary.h:324
Vector< double > Zeta_boundary_end
Definition: geom_obj_with_boundary.h:319
double H_annulus
Definition: geom_obj_with_boundary.h:572
double h_annulus() const
Definition: geom_obj_with_boundary.h:564
double & epsilon()
Access fct to amplitude of disk warping.
Definition: geom_obj_with_boundary.h:396
WarpedCircularDisk()
Empty default constructor.
Definition: geom_obj_with_boundary.h:370
r
Definition: UniformPSDSelfTest.py:20
const double Pi
50 digits from maple
Definition: oomph_utilities.h:157

References oomph::DiskLikeGeomObjectWithBoundaries::add_region_coordinates(), oomph::DiskLikeGeomObjectWithBoundaries::Boundary_parametrising_geom_object_pt, h_annulus(), oomph::MathematicalConstants::Pi, UniformPSDSelfTest::r, oomph::DiskLikeGeomObjectWithBoundaries::Zeta_boundary_end, oomph::DiskLikeGeomObjectWithBoundaries::Zeta_boundary_start, and oomph::DiskLikeGeomObjectWithBoundaries::zeta_in_region().

◆ WarpedCircularDiskWithAnnularInternalBoundary() [2/2]

oomph::WarpedCircularDiskWithAnnularInternalBoundary::WarpedCircularDiskWithAnnularInternalBoundary ( const WarpedCircularDiskWithAnnularInternalBoundary dummy)
delete

Broken copy constructor.

◆ ~WarpedCircularDiskWithAnnularInternalBoundary()

virtual oomph::WarpedCircularDiskWithAnnularInternalBoundary::~WarpedCircularDiskWithAnnularInternalBoundary ( )
inlinevirtual

Destructor (empty; cleanup happens in base class)

559 {}

Member Function Documentation

◆ h_annulus()

double oomph::WarpedCircularDiskWithAnnularInternalBoundary::h_annulus ( ) const
inline

Thickness of annular region (distance of internal boundary from outer edge of unit circle)

565  {
566  return H_annulus;
567  }

References H_annulus.

Referenced by WarpedCircularDiskWithAnnularInternalBoundary().

◆ operator=()

void oomph::WarpedCircularDiskWithAnnularInternalBoundary::operator= ( const WarpedCircularDiskWithAnnularInternalBoundary )
delete

Broken assignment operator.

Member Data Documentation

◆ H_annulus

double oomph::WarpedCircularDiskWithAnnularInternalBoundary::H_annulus
protected

Thickness of annular region (distance of internal boundary from outer edge of unit circle)

Referenced by h_annulus().


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