|
| Rotateable () |
| Constructor, initialise rotation to NULL (default) More...
|
|
void | further_build () |
|
void | rotate (const unsigned &angle) |
|
void | rotate_local_coordinates (Vector< double > &s) |
|
void | output (std::ostream &outfile, const unsigned &nplot) |
|
void | output_fct (std::ostream &outfile, const unsigned &nplot, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt) |
|
void | compute_error (std::ostream &outfile, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, double &error, double &norm) |
|
| Rotateable () |
| Constructor, initialise rotation to NULL (default) More...
|
|
void | further_build () |
|
void | rotate (const unsigned &angle) |
|
void | rotate_local_coordinates (Vector< double > &s) |
|
void | output (std::ostream &outfile, const unsigned &nplot) |
|
void | output_fct (std::ostream &outfile, const unsigned &nplot, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt) |
|
void | compute_error (std::ostream &outfile, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, double &error, double &norm) |
|
template<class ELEMENT>
class Rotateable< ELEMENT >
Class the overloaded RefineablePoissonElements so that the elements that can be rotated about their centre
Rotate the element by a given angle: 0 (0), 1(90 degrees), 2(180 degrees), 3 (270 degrees)
160 unsigned n_node = this->nnode();
162 for(
unsigned n=0;
n<n_node;
n++)
164 elemental_nodes_pt[
n] = this->node_pt(
n);
168 unsigned face_rot =
angle%4;
171 unsigned n_p = this->nnode_1d();
182 for(
unsigned i=0;
i<n_p;
i++)
184 for(
unsigned j=0;
j<n_p;
j++)
186 for(
unsigned k=0;
k<n_p;
k++)
188 this->node_pt(
i +
j*n_p +
k*n_p*n_p)
189 = elemental_nodes_pt[
j + n_p*(n_p-1-
i) +
k*n_p*n_p];
197 for(
unsigned i=0;
i<n_p;
i++)
199 for(
unsigned j=0;
j<n_p;
j++)
201 for(
unsigned k=0;
k<n_p;
k++)
203 this->node_pt(
i +
j*n_p +
k*n_p*n_p)
204 = elemental_nodes_pt[(n_p-1-
i) + n_p*(n_p-1-
j) +
k*n_p*n_p];
212 for(
unsigned i=0;
i<n_p;
i++)
214 for(
unsigned j=0;
j<n_p;
j++)
216 for(
unsigned k=0;
k<n_p;
k++)
218 this->node_pt(
i +
j*n_p +
k*n_p*n_p)
219 = elemental_nodes_pt[(n_p-1-
j) + n_p*
i +
k*n_p*n_p];
227 for(
unsigned n=0;
n<n_node;
n++)
229 elemental_nodes_pt[
n] = this->node_pt(
n);
233 unsigned body_rot =
angle/4;
243 for(
unsigned i=0;
i<n_p;
i++)
245 for(
unsigned j=0;
j<n_p;
j++)
247 for(
unsigned k=0;
k<n_p;
k++)
249 this->node_pt(
i +
j*n_p +
k*n_p*n_p)
250 = elemental_nodes_pt[
i + n_p*(n_p-1-
k) +
j*n_p*n_p];
258 for(
unsigned i=0;
i<n_p;
i++)
260 for(
unsigned j=0;
j<n_p;
j++)
262 for(
unsigned k=0;
k<n_p;
k++)
264 this->node_pt(
i +
j*n_p +
k*n_p*n_p)
265 = elemental_nodes_pt[
i + n_p*(n_p-1-
j) + (n_p-1-
k)*n_p*n_p];
273 for(
unsigned i=0;
i<n_p;
i++)
275 for(
unsigned j=0;
j<n_p;
j++)
277 for(
unsigned k=0;
k<n_p;
k++)
279 this->node_pt(
i +
j*n_p +
k*n_p*n_p)
280 = elemental_nodes_pt[
i + n_p*
k + (n_p-1-
j)*n_p*n_p];
289 for(
unsigned i=0;
i<n_p;
i++)
291 for(
unsigned j=0;
j<n_p;
j++)
293 for(
unsigned k=0;
k<n_p;
k++)
295 this->node_pt(
i +
j*n_p +
k*n_p*n_p)
296 = elemental_nodes_pt[
k + n_p*
j + (n_p-1-
i)*n_p*n_p];
304 for(
unsigned i=0;
i<n_p;
i++)
306 for(
unsigned j=0;
j<n_p;
j++)
308 for(
unsigned k=0;
k<n_p;
k++)
310 this->node_pt(
i +
j*n_p +
k*n_p*n_p)
311 = elemental_nodes_pt[(n_p-1-
k) + n_p*
j +
i*n_p*n_p];
char char char int int * k
Definition: level2_impl.h:374
References Jeffery_Solution::angle(), i, j, k, and n.