26 #ifndef OOMPH_MACROELEMENT_HEADER
27 #define OOMPH_MACROELEMENT_HEADER
32 #include <oomph-lib-config.h>
81 LeakCheckNames::MacroElement_build += 1;
88 throw OomphLibError(
"Don't call empty constructor for MacroElement!",
104 LeakCheckNames::MacroElement_build -= 1;
111 void output(std::ostream& outfile,
const int& nplot)
121 std::ostream& outfile,
122 const unsigned& nplot) = 0;
148 std::ostringstream error_message_stream;
151 error_message_stream <<
"The function macro_map(...) is broken virtual\n"
152 <<
"If you need it, please implement it!"
164 const unsigned& nplot) = 0;
174 std::ostringstream error_message;
175 error_message <<
"assemble_macro_to_eulerian_jacobian(...) not \n"
176 <<
"implemented for this element\n"
192 std::ostringstream error_message;
193 error_message <<
"assemble_macro_to_eulerian_jacobian2(...) not \n"
194 <<
"implemented for this element\n"
290 throw OomphLibError(
"Don't call empty constructor for QMacroElement!",
306 void output(
const unsigned&
t, std::ostream& outfile,
const unsigned& nplot)
309 outfile <<
"ZONE I=" << nplot <<
", J=" << nplot << std::endl;
310 for (
unsigned i = 0;
i < nplot;
i++)
313 for (
unsigned j = 0;
j < nplot;
j++)
317 outfile <<
f[0] <<
" " <<
f[1] << std::endl;
325 const unsigned& nplot);
383 throw OomphLibError(
"Don't call empty constructor for QMacroElement!",
400 void output(
const unsigned&
t, std::ostream& outfile,
const unsigned& nplot)
404 outfile <<
"ZONE I=" << nplot <<
", J=" << nplot <<
", k=" << nplot
406 for (
unsigned i = 0;
i < nplot;
i++)
410 for (
unsigned j = 0;
j < nplot;
j++)
414 for (
unsigned k = 0;
k < nplot;
k++)
420 outfile <<
f[0] <<
" " <<
f[1] <<
" " <<
f[2] << std::endl;
429 const unsigned& nplot);
int i
Definition: BiCGSTAB_step_by_step.cpp:9
The simulation can be subdivided into Domain's used in parallel code.
Definition: Domain.h:42
Definition: macro_element.h:73
Domain * Domain_pt
Pointer to domain.
Definition: macro_element.h:236
virtual void assemble_macro_to_eulerian_jacobian2(const unsigned &t, const Vector< double > &s, DenseMatrix< double > &jacobian2)
Definition: macro_element.h:186
void assemble_macro_to_eulerian_jacobian(const Vector< double > &s, DenseMatrix< double > &jacobian)
Definition: macro_element.h:205
virtual void output(const unsigned &t, std::ostream &outfile, const unsigned &nplot)=0
virtual void macro_map(const double &t, const Vector< double > &s, Vector< double > &r)
Get global position r(s) at continuous time value, t.
Definition: macro_element.h:143
virtual void output_macro_element_boundaries(std::ostream &outfile, const unsigned &nplot)=0
Output all macro element boundaries as tecplot zones.
void operator=(const MacroElement &)=delete
Broken assignment operator.
virtual void macro_map(const unsigned &t, const Vector< double > &s, Vector< double > &r)=0
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
void output(std::ostream &outfile, const int &nplot)
Definition: macro_element.h:111
unsigned Macro_element_number
What is the number of the current macro element within its domain.
Definition: macro_element.h:239
Domain *& domain_pt()
Access function to the Domain_pt.
Definition: macro_element.h:229
virtual ~MacroElement()
Empty destructor.
Definition: macro_element.h:101
unsigned & macro_element_number()
Access function to the Macro_element_number.
Definition: macro_element.h:223
virtual void assemble_macro_to_eulerian_jacobian(const unsigned &t, const Vector< double > &s, DenseMatrix< double > &jacobian)
Definition: macro_element.h:170
MacroElement(Domain *domain_pt, const unsigned ¯o_element_number)
Definition: macro_element.h:77
MacroElement(const MacroElement &dummy)=delete
Broken copy constructor.
void assemble_macro_to_eulerian_jacobian2(const Vector< double > &s, DenseMatrix< double > &jacobian2)
Definition: macro_element.h:215
MacroElement()
Default constructor (empty and broken)
Definition: macro_element.h:86
Definition: oomph_definitions.h:222
void output(const unsigned &t, std::ostream &outfile, const unsigned &nplot)
Definition: macro_element.h:306
void operator=(const QMacroElement &)=delete
Broken assignment operator.
QMacroElement(const QMacroElement &dummy)=delete
Broken copy constructor.
virtual ~QMacroElement()
Empty destructor.
Definition: macro_element.h:302
QMacroElement(Domain *domain_pt, const unsigned ¯o_element_number)
Definition: macro_element.h:283
QMacroElement()
Default constructor (empty and broken)
Definition: macro_element.h:288
QMacroElement(Domain *domain_pt, const unsigned ¯o_element_number)
Definition: macro_element.h:377
QMacroElement()
Default constructor (empty and broken)
Definition: macro_element.h:381
void output(const unsigned &t, std::ostream &outfile, const unsigned &nplot)
Definition: macro_element.h:400
virtual ~QMacroElement()
Empty destructor.
Definition: macro_element.h:395
QMacroElement(const QMacroElement &dummy)=delete
Broken copy constructor.
void operator=(const QMacroElement &)=delete
Broken assignment operator.
Definition: macro_element.h:257
static int f(const TensorMap< Tensor< int, 3 > > &tensor)
Definition: cxx11_tensor_map.cpp:237
RealScalar s
Definition: level1_cplx_impl.h:130
char char char int int * k
Definition: level2_impl.h:374
@ S
Definition: quadtree.h:62
DRAIG: Change all instances of (SPATIAL_DIM) to (DIM-1).
Definition: AnisotropicHookean.h:10
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
std::ptrdiff_t j
Definition: tut_arithmetic_redux_minmax.cpp:2