36 const unsigned& n_extruded_element,
37 const double& extrusion_length)
40 N_extruded_element(n_extruded_element),
42 T_max(extrusion_length)
45 unsigned n_macro_element =
52 for (
unsigned i = 0;
i < n_macro_element;
i++)
64 const unsigned& n_extruded_element,
69 N_extruded_element(n_extruded_element),
74 unsigned n_macro_element =
81 for (
unsigned i = 0;
i < n_macro_element;
i++)
149 const unsigned& i_macro,
150 const unsigned& i_direct,
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;
168 OOMPH_CURRENT_FUNCTION,
169 OOMPH_EXCEPTION_LOCATION);
180 unsigned true_macro_id = i_macro % n_macro;
185 unsigned i_layer = (i_macro - true_macro_id) / n_macro;
195 double t_lower = (
T_min + i_layer * layer_width);
206 t += 0.5 * (1.0 +
s[1]) * layer_width;
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 "
280 OOMPH_CURRENT_FUNCTION,
281 OOMPH_EXCEPTION_LOCATION);
285 for (
unsigned i = 0;
i < n_dim - 1;
i++)
Base class for Domains with curvilinear and/or time-dependent boundaries. Domain boundaries are typic...
Vector< MacroElement * > Macro_element_pt
Vector of pointers to macro elements.
unsigned nmacro_element()
Number of macro elements in domain.
virtual void macro_element_boundary(const unsigned &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f)=0
Vector representation of the i_macro-th macro element boundary i_direct (e.g. N/S/W/E in 2D) at time ...
MacroElement * macro_element_pt(const unsigned &i)
Access to i-th macro element.
void macro_element_boundary(const unsigned &time, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &x)
Vector representation of the i_macro-th macro element boundary i_direct (e.g. N/S/W/E in 2D spatial =...
double T_max
The maximum t-value.
ExtrudedDomain(Domain *domain_pt, const unsigned &n_extruded_element, const double &extrusion_length)
Constructor.
unsigned N_extruded_element
unsigned nmacro_element()
Number of macro elements in domain.
ExtrudedMacroElement * macro_element_pt(const unsigned &i)
Access to i-th extruded macro element.
Domain * Domain_pt
Pointer to the Domain.
double T_min
The minimum t-value (defaults to 0.0 if not specified)
DRAIG: FILL IN COMPLETE DESCRIPTION ONCE FINISHED...
Base class for MacroElement s that are used during mesh refinement in domains with curvlinear and/or ...
void macro_map(const Vector< double > &s, Vector< double > &r)
The mapping from local to global coordinates at the current time : r(s)
static Vector< std::string > Direct_string
Translate (enumerated) directions into strings.
An OomphLibError object which should be thrown when an run-time error is encountered....
DRAIG: FILL IN COMPLETE DESCRIPTION ONCE FINISHED...
//////////////////////////////////////////////////////////////////// ////////////////////////////////...