![]() |
|
#include <geom_obj_with_boundary.h>
Public Member Functions | |
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 |
virtual void | boundary_triad (const unsigned &b, const double &zeta_bound, Vector< double > &r, Vector< double > &tangent, Vector< double > &normal, Vector< double > &binormal) |
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 Vector< double > &zeta, Vector< double > &r) const =0 |
Parametrised position on object at current time: r(zeta). More... | |
virtual void | position (const unsigned &t, const Vector< double > &zeta, Vector< double > &r) const |
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 | |
Vector< double > | Zeta_boundary_start |
Vector< double > | Zeta_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... | |
![]() | |
unsigned | NLagrangian |
Number of Lagrangian (intrinsic) coordinates. More... | |
unsigned | Ndim |
Number of Eulerian coordinates. More... | |
TimeStepper * | Geom_object_time_stepper_pt |
Base class for upgraded disk-like GeomObject (i.e. 2D surface in 3D space) with specification of boundaries. The GeomObject's position(...) function computes the 3D (Eulerian) position vector r as a function of the 2D intrinsic (Lagrangian) coordinates, zeta, without reference to any boundaries. This class specifies the boundaries by specifying a mapping from a 1D intrinsic boundary coordinate, zeta_bound, to the 2D intrinsic (Lagrangian) coordinates, zeta.
The class is made functional by provision (in the derived class!) of:
for each of these boundaries. All three containers for these must be resized (consistently) and populated in the derived class. Number of boundaries is inferred from their size.
Class also provides broken virtual function to specify boundary triads, and various output functions.
|
inline |
Constructor.
|
inline |
Specify intrinsic coordinates of a point within a specified region – region ID, r, should be positive.
References n, OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, UniformPSDSelfTest::r, zeta_in_region(), and Zeta_in_region.
Referenced by oomph::WarpedCircularDiskWithAnnularInternalBoundary::WarpedCircularDiskWithAnnularInternalBoundary().
|
inline |
Pointer to GeomObject<1,2> that parametrises intrinisc coordinates along boundary b
References b, and Boundary_parametrising_geom_object_pt.
|
inlinevirtual |
Boundary triad on boundary b at boundary coordinate zeta_bound. Broken virtual.
Reimplemented in oomph::WarpedCircularDisk.
References OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
Referenced by oomph::DiskWithTorusAroundEdgeTetMeshFacetedSurface::DiskWithTorusAroundEdgeTetMeshFacetedSurface(), and output_boundaries_and_triads().
|
inline |
How many boundaries do we have?
References Boundary_parametrising_geom_object_pt.
Referenced by oomph::DiskTetMeshFacetedSurface::DiskTetMeshFacetedSurface(), output_boundaries_and_triads(), and oomph::WarpedCircularDisk::~WarpedCircularDisk().
|
inline |
Output boundaries at nplot plot points. Streams:
References output_boundaries_and_triads().
|
inline |
Output boundaries and triad at nplot plot points. Streams:
References b, boundary_triad(), i, n, nb, nboundary(), WallFunction::normal(), position_on_boundary(), UniformPSDSelfTest::r, Eigen::zeta(), zeta_boundary_end(), zeta_boundary_start(), and zeta_on_boundary().
Referenced by main(), and output_boundaries().
|
inline |
Compute 3D vector of Eulerian coordinates at 1D boundary coordinate zeta_bound on boundary b:
References b, oomph::GeomObject::position(), UniformPSDSelfTest::r, Eigen::zeta(), and zeta_on_boundary().
Referenced by output_boundaries_and_triads().
|
inline |
Final value of 1D boundary coordinate zeta_bound on boundary b:
References b, and Zeta_boundary_end.
Referenced by oomph::DiskWithTorusAroundEdgeTetMeshFacetedSurface::DiskWithTorusAroundEdgeTetMeshFacetedSurface(), and output_boundaries_and_triads().
|
inline |
Initial value of 1D boundary coordinate zeta_bound on boundary b:
References b, and Zeta_boundary_start.
Referenced by output_boundaries_and_triads().
|
inline |
Return map that stores zeta coordinates of points that identify regions.
References Zeta_in_region.
Referenced by add_region_coordinates(), oomph::DiskTetMeshFacetedSurface::DiskTetMeshFacetedSurface(), and oomph::WarpedCircularDiskWithAnnularInternalBoundary::WarpedCircularDiskWithAnnularInternalBoundary().
|
inline |
Compute 2D vector of intrinsic coordinates at 1D boundary coordinate zeta_bound on boundary b:
References b, Boundary_parametrising_geom_object_pt, oomph::GeomObject::ndim(), oomph::GeomObject::nlagrangian(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, and Eigen::zeta().
Referenced by oomph::DiskTetMeshFacetedSurface::boundary_zeta01(), output_boundaries_and_triads(), and position_on_boundary().
|
protected |
Pointer to GeomObject<1,2> that parametrises intrinisc coordinates along boundary b; essentially provides a wrapper to zeta_on_boundary(...)
Referenced by boundary_parametrising_geom_object_pt(), nboundary(), oomph::WarpedCircularDisk::WarpedCircularDisk(), oomph::WarpedCircularDiskWithAnnularInternalBoundary::WarpedCircularDiskWithAnnularInternalBoundary(), zeta_on_boundary(), and oomph::WarpedCircularDisk::~WarpedCircularDisk().
Storage for final value of 1D boundary coordinate on boundary b:
Referenced by oomph::WarpedCircularDisk::WarpedCircularDisk(), oomph::WarpedCircularDiskWithAnnularInternalBoundary::WarpedCircularDiskWithAnnularInternalBoundary(), and zeta_boundary_end().
Storage for initial value of 1D boundary coordinate on boundary b:
Referenced by oomph::WarpedCircularDisk::WarpedCircularDisk(), oomph::WarpedCircularDiskWithAnnularInternalBoundary::WarpedCircularDiskWithAnnularInternalBoundary(), and zeta_boundary_start().
|
protected |
Map to store zeta coordinates of points that identify regions.
Referenced by add_region_coordinates(), and zeta_in_region().