|
| ExtrudedDomain (Domain *domain_pt, const unsigned &n_extruded_element, const double &extrusion_length) |
| Constructor. More...
|
|
| ExtrudedDomain (Domain *domain_pt, const unsigned &n_extruded_element, const double &t_min, const double &t_max) |
| Constructor. More...
|
|
| ~ExtrudedDomain () |
| Destructor: Empty; the extruded macro elements will be deleted in Domain. More...
|
|
| ExtrudedDomain (const ExtrudedDomain &)=delete |
| Broken copy constructor. More...
|
|
void | operator= (const ExtrudedDomain &)=delete |
| Broken assignment operator. More...
|
|
ExtrudedMacroElement * | macro_element_pt (const unsigned &i) |
| Access to i-th extruded macro element. More...
|
|
unsigned | nmacro_element () |
| Number of macro elements in domain. More...
|
|
void | macro_element_boundary (const unsigned &time, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &x) |
|
Public Member Functions inherited from oomph::Domain |
| Domain () |
| Constructor. More...
|
|
| Domain (const Domain &)=delete |
| Broken copy constructor. More...
|
|
void | operator= (const Domain &)=delete |
| Broken assignment operator. More...
|
|
virtual | ~Domain () |
|
MacroElement * | macro_element_pt (const unsigned &i) |
| Access to i-th macro element. More...
|
|
unsigned | nmacro_element () |
| Number of macro elements in domain. More...
|
|
void | output (const std::string &filename, const unsigned &nplot) |
| Output macro elements. More...
|
|
void | output (std::ostream &outfile, const unsigned &nplot) |
| Output macro elements. More...
|
|
virtual void | macro_element_boundary (const double &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
|
void | macro_element_boundary (const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
|
void | output_macro_element_boundaries (const std::string &filename, const unsigned &nplot) |
| Output all macro element boundaries as tecplot zones. More...
|
|
void | output_macro_element_boundaries (std::ostream &outfile, const unsigned &nplot) |
| Output all macro element boundaries as tecplot zones. More...
|
|
virtual void | dmacro_element_boundary (const unsigned &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
|
virtual void | dmacro_element_boundary (const double &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
|
void | dmacro_element_boundary (const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
|
virtual void | d2macro_element_boundary (const unsigned &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
|
virtual void | d2macro_element_boundary (const double &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
|
void | d2macro_element_boundary (const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
|
Base class for ExtrudedDomains with curvilinear and/or time-dependent boundaries. ExtrudedDomain boundaries are typically represented by GeomObjects and the ExtrudedDomain itself is decomposed into a number of ExtrudedMacroElements. Any instantiation of a specific ExtrudedDomain needs to implement the pure virtual member function
void macro_element_boundary(const unsigned &time, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &x)
Definition: extruded_domain.cc:148
which returns a Vector representation of each of the ExtrudedMacroElements' boundaries, parametrised by the coordinate(s) along this boundary. The ExtrudedMacroElements obtain their boundary positions via member function pointers to ExtrudedDomain::macro_element_boundary(...)
.
Vector representation of the i_macro-th macro element boundary i_direct (e.g. N/S/W/E in 2D spatial = 3D space-time). NOTE: Some extra care has to be taken here to translate the OcTree enumeration to the QuadTree enumeration (in the appropriate manner) so that the original Domain object can be used to calculate the global coordinate associated with the provided local coordinates.
Implements oomph::Domain.
158 std::ostringstream error_message_stream;
161 error_message_stream <<
"This output function outputs a space-time\n"
162 <<
"representation of the domain. As such, it\n"
163 <<
"does not make sense to output the domain\n"
164 <<
"at a previous time level!" << std::endl;
167 throw OomphLibError(error_message_stream.str(),
180 unsigned true_macro_id = i_macro % n_macro;
185 unsigned i_layer = (i_macro - true_macro_id) / n_macro;
191 Vector<double> x_project(n_dim - 1, 0.0);
195 double t_lower = (
T_min + i_layer * layer_width);
206 t += 0.5 * (1.0 +
s[1]) * layer_width;
211 Vector<double> s_project(1,
s[0]);
270 std::ostringstream error_message_stream;
273 error_message_stream <<
"Incorrect face enumeration input! Should either "
274 <<
"be L,R,D,U,B or F. You input "
279 throw OomphLibError(error_message_stream.str(),
285 for (
unsigned i = 0;
i < n_dim - 1;
i++)
virtual void macro_element_boundary(const unsigned &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f)=0
MacroElement * macro_element_pt(const unsigned &i)
Access to i-th macro element.
Definition: domain.h:116
ExtrudedMacroElement * macro_element_pt(const unsigned &i)
Access to i-th extruded macro element.
Definition: extruded_domain.cc:132
void macro_map(const Vector< double > &s, Vector< double > &r)
The mapping from local to global coordinates at the current time : r(s)
Definition: macro_element.h:126
static Vector< std::string > Direct_string
Translate (enumerated) directions into strings.
Definition: octree.h:329
RealScalar s
Definition: level1_cplx_impl.h:130
@ B
Definition: octree.h:73
@ D
Definition: octree.h:71
@ L
Definition: octree.h:69
@ R
Definition: octree.h:70
@ F
Definition: octree.h:74
@ U
Definition: octree.h:72
@ E
Definition: quadtree.h:61
@ S
Definition: quadtree.h:62
@ W
Definition: quadtree.h:63
@ N
Definition: quadtree.h:60
list x
Definition: plotDoE.py:28
t
Definition: plotPSD.py:36
#define OOMPH_EXCEPTION_LOCATION
Definition: oomph_definitions.h:61
#define OOMPH_CURRENT_FUNCTION
Definition: oomph_definitions.h:86
References oomph::OcTreeNames::B, oomph::OcTreeNames::D, oomph::OcTree::Direct_string, Domain_pt, oomph::QuadTreeNames::E, oomph::OcTreeNames::F, i, oomph::OcTreeNames::L, oomph::Domain::macro_element_boundary(), oomph::Domain::macro_element_pt(), macro_element_pt(), oomph::MacroElement::macro_map(), oomph::QuadTreeNames::N, N_extruded_element, oomph::Domain::nmacro_element(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, oomph::OcTreeNames::R, s, oomph::QuadTreeNames::S, plotPSD::t, T_max, T_min, oomph::OcTreeNames::U, oomph::QuadTreeNames::W, and plotDoE::x.
Referenced by oomph::QExtrudedMacroElement< 3 >::macro_map(), and oomph::QExtrudedMacroElement< 3 >::output_macro_element_boundaries().