A Class for the derivatives of shape functions The class design is essentially the same as Shape, but there is on additional index that is used to indicate the coordinate direction in which the derivative is taken. More...
#include <shape.h>
Public Member Functions | |
DShape (const unsigned &N, const unsigned &P) | |
Constructor with two parameters: a single-index shape function. More... | |
DShape (const unsigned &N, const unsigned &M, const unsigned &P) | |
Constructor with three paramters: a two-index shape function. More... | |
DShape () | |
Default constructor - just assigns a null pointers and zero index sizes. More... | |
DShape (const DShape &dshape)=delete | |
Broken copy constructor. More... | |
void | operator= (const DShape &dshape) |
The assignment operator does a shallow copy (resets the pointer to the data) More... | |
void | operator= (DShape *const &dshape_pt) |
The assignment operator does a shallow copy (resets the pointer to the data) More... | |
~DShape () | |
Destructor, clean up the memory allocated by this object. More... | |
void | resize (const unsigned &N, const unsigned &P, const unsigned &M=1) |
Change the size of the storage. Note that (for some strange reason) index2 is the "optional" index, to conform with the existing constructor. More... | |
double & | operator() (const unsigned &i, const unsigned &k) |
Overload the round bracket operator for access to the data. More... | |
const double & | operator() (const unsigned &i, const unsigned &k) const |
Overload the round bracket operator (const version) More... | |
double & | operator() (const unsigned &i, const unsigned &j, const unsigned &k) |
Overload the round bracket operator, with 3 indices. More... | |
const double & | operator() (const unsigned &i, const unsigned &j, const unsigned &k) const |
Overload the round bracket operator (const version) More... | |
double & | raw_direct_access (const unsigned long &i) |
Direct access to internal storage of data in flat-packed C-style column-major format. WARNING: Only for experienced users. Only use this if raw speed is of the essence, as in the solid mechanics problems. More... | |
const double & | raw_direct_access (const unsigned long &i) const |
Direct access to internal storage of data in flat-packed C-style column-major format. WARNING: Only for experienced users. Only use this if raw speed is of the essence, as in the solid mechanics problems. More... | |
unsigned | offset (const unsigned long &i, const unsigned long &j) const |
Caculate the offset in flat-packed C-style, column-major format, required for a given i,j. WARNING: Only for experienced users. Only use this if raw speed is of the essence, as in the solid mechanics problems. More... | |
unsigned long | nindex1 () const |
Return the range of index 1 of the derivatives of the shape functions. More... | |
unsigned long | nindex2 () const |
Return the range of index 2 of the derivatives of the shape functions. More... | |
unsigned long | nindex3 () const |
Return the range of index 3 of the derivatives of the shape functions. More... | |
Private Member Functions | |
void | range_check (const unsigned &i, const unsigned &j, const unsigned &k) const |
Private function that checks whether the indices are in range. More... | |
Private Attributes | |
double * | DPsi |
Pointer that addresses the storage that will be used to read and set the shape-function derivatives. The values are packed into a flat array of doubles. More... | |
double * | Allocated_storage |
Pointer that addresses the storage allocated by the object on construction. This will be the same as DPsi if the object is not copied. More... | |
unsigned | Index1 |
Size of the first index of the shape function. More... | |
unsigned | Index2 |
Size of the second index of the shape function. More... | |
unsigned | Index3 |
Size of the third index of the shape function. More... | |
A Class for the derivatives of shape functions The class design is essentially the same as Shape, but there is on additional index that is used to indicate the coordinate direction in which the derivative is taken.
|
inline |
Constructor with two parameters: a single-index shape function.
Definition at line 332 of file shape.h.
References Allocated_storage, DPsi, and oomph::QuadTreeNames::N.
|
inline |
Constructor with three paramters: a two-index shape function.
Definition at line 340 of file shape.h.
References Allocated_storage, DPsi, and oomph::QuadTreeNames::N.
|
inline |
|
delete |
Broken copy constructor.
|
inline |
Destructor, clean up the memory allocated by this object.
Definition at line 401 of file shape.h.
References Allocated_storage.
|
inline |
Return the range of index 1 of the derivatives of the shape functions.
Definition at line 494 of file shape.h.
References Index1.
Referenced by oomph::ClampedHermiteShellBoundaryConditionElement::dshape_local(), oomph::FiniteElement::transform_derivatives(), oomph::FiniteElement::transform_derivatives_diagonal(), oomph::FiniteElement::transform_second_derivatives_diagonal(), and oomph::FiniteElement::transform_second_derivatives_template().
|
inline |
Return the range of index 2 of the derivatives of the shape functions.
Definition at line 500 of file shape.h.
References Index2.
Referenced by oomph::ClampedHermiteShellBoundaryConditionElement::dshape_local(), oomph::FiniteElement::transform_derivatives(), oomph::FiniteElement::transform_derivatives_diagonal(), oomph::FiniteElement::transform_second_derivatives_diagonal(), and oomph::FiniteElement::transform_second_derivatives_template().
|
inline |
Return the range of index 3 of the derivatives of the shape functions.
Definition at line 506 of file shape.h.
References Index3.
Referenced by oomph::ClampedHermiteShellBoundaryConditionElement::dshape_local().
|
inline |
Caculate the offset in flat-packed C-style, column-major format, required for a given i,j. WARNING: Only for experienced users. Only use this if raw speed is of the essence, as in the solid mechanics problems.
Definition at line 487 of file shape.h.
References i, Index2, and Index3.
Referenced by oomph::RefineablePVDEquations< DIM >::fill_in_generic_contribution_to_residuals_pvd(), oomph::PVDEquations< DIM >::fill_in_generic_contribution_to_residuals_pvd(), oomph::RefineablePVDEquationsWithPressure< DIM >::fill_in_generic_residual_contribution_pvd_with_pressure(), and oomph::PVDEquationsWithPressure< DIM >::fill_in_generic_residual_contribution_pvd_with_pressure().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineprivate |
|
inline |
Direct access to internal storage of data in flat-packed C-style column-major format. WARNING: Only for experienced users. Only use this if raw speed is of the essence, as in the solid mechanics problems.
Definition at line 469 of file shape.h.
Referenced by oomph::RefineablePVDEquations< DIM >::fill_in_generic_contribution_to_residuals_pvd(), oomph::PVDEquations< DIM >::fill_in_generic_contribution_to_residuals_pvd(), oomph::RefineablePVDEquationsWithPressure< DIM >::fill_in_generic_residual_contribution_pvd_with_pressure(), and oomph::PVDEquationsWithPressure< DIM >::fill_in_generic_residual_contribution_pvd_with_pressure().
|
inline |
|
inline |
Change the size of the storage. Note that (for some strange reason) index2 is the "optional" index, to conform with the existing constructor.
Definition at line 410 of file shape.h.
References Allocated_storage, DPsi, Index1, Index2, Index3, and oomph::QuadTreeNames::N.
|
private |
|
private |
Pointer that addresses the storage that will be used to read and set the shape-function derivatives. The values are packed into a flat array of doubles.
Definition at line 283 of file shape.h.
Referenced by DShape(), operator()(), operator=(), raw_direct_access(), and resize().
|
private |
Size of the first index of the shape function.
Definition at line 291 of file shape.h.
Referenced by nindex1(), operator=(), range_check(), and resize().
|
private |
Size of the second index of the shape function.
Definition at line 294 of file shape.h.
Referenced by nindex2(), offset(), operator()(), operator=(), range_check(), and resize().
|
private |
Size of the third index of the shape function.
Definition at line 297 of file shape.h.
Referenced by nindex3(), offset(), operator()(), operator=(), range_check(), and resize().