26 #ifndef OOMPH_EXTRUDED_MACRO_ELEMENT_HEADER
27 #define OOMPH_EXTRUDED_MACRO_ELEMENT_HEADER
31 #include <oomph-lib-config.h>
74 LeakCheckNames::ExtrudedMacroElement_build += 1;
84 "Don't call empty constructor for ExtrudedMacroElement!",
85 OOMPH_CURRENT_FUNCTION,
86 OOMPH_EXCEPTION_LOCATION);
100 LeakCheckNames::ExtrudedMacroElement_build -= 1;
161 "Don't call empty constructor for QExtrudedMacroElement!";
165 error, OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION);
179 void output(
const unsigned&
t, std::ostream& outfile,
const unsigned& nplot)
185 std::ostringstream error_message_stream;
188 error_message_stream <<
"This output function outputs a space-time\n"
189 <<
"representation of the solution. As such, it\n"
190 <<
"does not make sense to output the solution\n"
191 <<
"at a previous time level!" << std::endl;
195 OOMPH_CURRENT_FUNCTION,
196 OOMPH_EXCEPTION_LOCATION);
206 outfile <<
"ZONE I=" << nplot <<
", J=" << nplot <<
", K=" << nplot
210 for (
unsigned i = 0;
i < nplot;
i++)
214 s[2] = -1.0 + 2.0 * double(
i) / double(nplot - 1);
217 for (
unsigned j = 0; j < nplot; j++)
220 s[1] = -1.0 + 2.0 * double(j) / double(nplot - 1);
223 for (
unsigned k = 0; k < nplot; k++)
226 s[0] = -1.0 + 2.0 * double(k) / double(nplot - 1);
236 outfile << x[0] <<
" " << x[1] <<
" " << x[2] <<
" " << 0.0
252 const unsigned& nplot);
Base class for ExtrudedDomains with curvilinear and/or time-dependent boundaries. ExtrudedDomain boun...
DRAIG: FILL IN COMPLETE DESCRIPTION ONCE FINISHED...
ExtrudedMacroElement()
Default constructor (empty and broken)
virtual ~ExtrudedMacroElement()
Empty destructor.
ExtrudedDomain * Extruded_domain_pt
Pointer to the extruded domain.
ExtrudedDomain *& extruded_domain_pt()
Access function to the ExtrudedDomain.
ExtrudedMacroElement(ExtrudedDomain *extruded_domain_pt, unsigned macro_element_number)
Constructor: Pass pointer to ExtrudedDomain and the ID number of the ExtrudedMacroElement within that...
ExtrudedMacroElement(const ExtrudedMacroElement &dummy)=delete
Broken copy constructor.
void operator=(const ExtrudedMacroElement &)=delete
Broken assignment operator.
Base class for MacroElement s that are used during mesh refinement in domains with curvlinear and/or ...
virtual void output_macro_element_boundaries(std::ostream &outfile, const unsigned &nplot)=0
Output all macro element boundaries as tecplot zones.
void macro_map(const Vector< double > &s, Vector< double > &r)
The mapping from local to global coordinates at the current time : r(s)
Domain *& domain_pt()
Access function to the Domain_pt.
unsigned & macro_element_number()
Access function to the Macro_element_number.
An OomphLibError object which should be thrown when an run-time error is encountered....
void operator=(const QExtrudedMacroElement &)=delete
Broken assignment operator.
QExtrudedMacroElement(ExtrudedDomain *domain_pt, const unsigned ¯o_element_number)
Constructor: Pass the pointer to the domain and the ID number of this extruded macro element.
virtual ~QExtrudedMacroElement()
Empty destructor.
void output(const unsigned &t, std::ostream &outfile, const unsigned &nplot)
Plot: x,y,t in tecplot format.
QExtrudedMacroElement()
Default constructor (empty and broken)
QExtrudedMacroElement(const QExtrudedMacroElement &dummy)=delete
Broken copy constructor.
//////////////////////////////////////////////////////////////////////// ////////////////////////////...
std::string string(const unsigned &i)
Return the i-th string or "" if the relevant string hasn't been defined.
//////////////////////////////////////////////////////////////////// ////////////////////////////////...