NeoPZ
|
Implements the shape functions of a linear (1D) element. Shape. More...
#include <pzshapelinear.h>
Static Public Member Functions | |
static void | Shape (TPZVec< REAL > &pt, TPZVec< int64_t > &id, TPZVec< int > &order, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi) |
Functions which computes the shapefunctions of a one-d element. More... | |
static void | ShapeCorner (TPZVec< REAL > &pt, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi) |
static void | SideShape (int side, TPZVec< REAL > &pt, TPZVec< int64_t > &id, TPZVec< int > &order, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi) |
static void | ShapeOrder (TPZVec< int64_t > &id, TPZVec< int > &order, TPZGenMatrix< int > &shapeorders) |
returns the polynomial order in the natural ksi, eta of the side associated with each shapefunction More... | |
static void | SideShapeOrder (int side, TPZVec< int64_t > &id, int order, TPZGenMatrix< int > &shapeorders) |
returns the polynomial order in the natural ksi, eta of the internal shapefunctions of a side More... | |
static void | ShapeInternal (TPZVec< REAL > &x, int ord, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi, int transformation_index) |
Computes the values of the orthogonal shapefunctions before multiplying them by the corner shapefunctions. More... | |
static void | ShapeInternal (TPZVec< REAL > &x, int ord, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi) |
Computes the values of the orthogonal shapefunctions before multiplying them by the corner shapefunctions. More... | |
static void | ShapeGenerating (TPZVec< REAL > &pt, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi) |
Computes the generating shape functions for a quadrilateral element. More... | |
static void | TransformPoint1d (int transid, REAL in, REAL &out) |
Computes the transformation applied to the variational parameter of the one-d element. More... | |
static void | TransformDerivative1d (int transid, int num, TPZFMatrix< REAL > &in) |
Applies the transformation on the values of the derivatives of the shape functions of the internal shape functions. More... | |
static int | GetTransformId1d (TPZVec< int64_t > &id) |
Computes the id of the transformation which will be applied on the parameter of the element . More... | |
static int | NConnectShapeF (int side, int order) |
Number of shapefunctions of the connect associated with the side, considering the order of interpolation of the element. More... | |
static int | NShapeF (TPZVec< int > &order) |
Total number of shapefunctions, considering the order of interpolation of the element. More... | |
static void | TransformPoint1d (int transid, double &val) |
static TPZTransform< REAL > | ParametricTransform (int transid) |
static void | ShapeInternal (int side, TPZVec< REAL > &x, int order, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi) |
Static Public Member Functions inherited from pztopology::TPZLine | |
static void | Shape (TPZVec< REAL > &loc, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi) |
Compute the shape being used to construct the x mapping from local parametric coordinates. More... | |
template<class T > | |
static void | TShape (const TPZVec< T > &loc, TPZFMatrix< T > &phi, TPZFMatrix< T > &dphi) |
Compute the shape being used to construct the x mapping from local parametric coordinates. More... | |
static void | GetSideHDivPermutation (int transformationid, TPZVec< int > &permgather) |
Identifies the permutation of the nodes needed to make neighbouring elements compatible in terms of order of shape functions. More... | |
static constexpr REAL | RefElVolume () |
Volume of the master element (measure of the element) More... | |
static void | ComputeDirections (int side, TPZFMatrix< REAL > &gradx, TPZFMatrix< REAL > &directions, TPZVec< int > &sidevectors) |
static void | GetSideHDivDirections (TPZVec< int > &sides, TPZVec< int > &dir, TPZVec< int > &bilinearounao) |
static void | GetSideHDivDirections (TPZVec< int > &sides, TPZVec< int > &dir, TPZVec< int > &bilinearounao, TPZVec< int > &sidevectors) |
template<class TVar > | |
static void | ComputeHDivDirections (TPZFMatrix< TVar > &gradx, TPZFMatrix< TVar > &directions) |
Compute the directions of the HDiv vectors. More... | |
static int | NBilinearSides () |
template<class T > | |
static void | BlendFactorForSide (const int &side, const TPZVec< T > &xi, T &blendFactor, TPZVec< T > &corrFactorDxi) |
static int | SideDimension (int side) |
Returns the dimension of the side. More... | |
static void | LowerDimensionSides (int side, TPZStack< int > &smallsides) |
Get all sides with lower dimension on side. More... | |
static void | LowerDimensionSides (int side, TPZStack< int > &smallsides, int DimTarget) |
Get all sides with lower dimension but equal to DimTarget on side. More... | |
static void | HigherDimensionSides (int side, TPZStack< int > &high) |
Returns all sides whose closure contains side. More... | |
static int | NSideNodes (int side) |
Returns the number of nodes (not connectivities) associated with a side. More... | |
static int | SideNodeLocId (int side, int node) |
Returns the local node number of the node "node" along side "side". More... | |
static int | NumSides () |
Returns the number of connects for a set dimension. More... | |
static int | NumSides (int dimension) |
Returns the number of connects for a set dimension. More... | |
static int | NContainedSides (int side) |
Returns the number of nodes (not connectivities) associated with a side. More... | |
static int | ContainedSideLocId (int side, int c) |
Returns the local connect number of the connect "c" along side "side". More... | |
static void | CenterPoint (int side, TPZVec< REAL > ¢er) |
Returns the barycentric coordinates in the master element space of the original element. More... | |
static bool | IsInParametricDomain (const TPZVec< REAL > &pt, REAL tol=pztopology::gTolerance) |
Verifies if the parametric point pt is in the element parametric domain. More... | |
static void | RandomPoint (TPZVec< REAL > &pt) |
Generates a random point in the master domain. More... | |
template<class T > | |
static bool | CheckProjectionForSingularity (const int &side, const TPZVec< T > &xiInterior) |
template<class T > | |
static void | MapToSide (int side, TPZVec< T > &InternalPar, TPZVec< T > &SidePar, TPZFMatrix< T > &JacToSide) |
static void | ParametricDomainNodeCoord (int node, TPZVec< REAL > &nodeCoord) |
static MElementType | Type () |
Returns the type of the element as specified in file pzeltype.h. More... | |
static MElementType | Type (int side) |
Returns the type of the element side as specified in file pzeltype.h. More... | |
static TPZTransform | SideToSideTransform (int sidefrom, int sideto) |
Returns the transformation which takes a point from the side sidefrom to the side sideto. More... | |
static TPZTransform | TransformSideToElement (int side) |
Returns the transformation which transform a point from the side to the interior of the element. More... | |
static TPZTransform | TransformElementToSide (int side) |
Returns the transformation which transform a point from the interior of the element to the side. More... | |
static int | GetTransformId (TPZVec< int64_t > &id) |
Method which identifies the transformation based on the IDs of the corner nodes. More... | |
static int | GetTransformId (int side, TPZVec< int64_t > &id) |
Method which identifies the transformation of a side based on the IDs of the corner nodes. More... | |
static TPZIntPoints * | CreateSideIntegrationRule (int side, int order) |
Create an integration rule over side. More... | |
Static Public Member Functions inherited from TPZSavable | |
static std::set< TPZRestoreClassBase * > & | RestoreClassSet () |
This static function guarantees that the gMap object is available when needed. More... | |
static std::map< int, TPZRestore_t > & | ClassIdMap () |
This static function guarantees that the gMap object is available when needed. More... | |
static std::pair< std::string, uint64_t > | NeoPZVersion () |
static void | Register (TPZRestoreClassBase *restore) |
static void | RegisterClassId (int classid, TPZRestore_t fun) |
static TPZSavable * | CreateInstance (const int &classId) |
Orthogonal polynomials family | |
static void(* | fOrthogonal )(REAL x, int num, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi) |
Pointer to function which returns num orthogonal functions at the point x. More... | |
static REAL | JacobiA |
Jacobi parameters orthogonal polynomials. More... | |
static REAL | JacobiB |
static void | Chebyshev (REAL x, int num, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi) |
Chebyshev orthogonal polynomial, computes num orthogonal functions at the point x. More... | |
static void | Expo (REAL x, int num, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi) |
Exponential polynomial, computes num orthogonal functions at the point x. More... | |
static void | Legendre (REAL x, int num, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi) |
Legendre orthogonal polynomial, computes num orthogonal functions at the point x. More... | |
static void | Jacobi (REAL x, int num, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi) |
Jacobi orthogonal polynomials. More... | |
static void | Hermite (REAL x, int num, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi) |
Hermite orthogonal polynomials. More... | |
static void | Legendre (REAL x, int num, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi, int nderiv) |
Legendre function computing several derivatives. More... | |
Additional Inherited Members | |
Public Types inherited from pztopology::TPZLine | |
enum | { NCornerNodes, NSides, Dimension, NFaces, NPermutations } |
Enumerate for topological characteristics. More... | |
typedef TPZInt1d | IntruleType |
Typedef to numerical integration rule. More... | |
typedef TPZGraphEl1dd | GraphElType |
Typedef to graphical element type. More... | |
Public Member Functions inherited from pztopology::TPZLine | |
int | ClassId () const override |
Define the class id associated with the class. More... | |
void | Read (TPZStream &buf, void *context) override |
read objects from the stream More... | |
void | Write (TPZStream &buf, int withclassid) const override |
Writes this object to the TPZStream buffer. Include the classid if withclassid = true. More... | |
TPZLine () | |
Default constructor. More... | |
virtual | ~TPZLine () |
Default destructor. More... | |
Public Member Functions inherited from TPZSavable | |
TPZSavable () | |
virtual | ~TPZSavable () |
virtual std::list< std::map< std::string, uint64_t > > | VersionHistory () const |
virtual std::pair< std::string, uint64_t > | Version () const |
virtual bool | Compare (TPZSavable *copy, bool override=false) |
Compares the object for identity with the object pointed to, eventually copy the object. More... | |
virtual bool | Compare (TPZSavable *copy, bool override=false) const |
Compares the object for identity with the object pointed to, eventually copy the object. More... | |
Public Member Functions inherited from TPZRegisterClassId | |
template<typename T > | |
TPZRegisterClassId (int(T::*)() const) | |
TPZRegisterClassId ()=default | |
Static Protected Attributes inherited from pztopology::TPZLine | |
static int | fPermutations [2][3] |
Valid permutations between nodes. More... | |
Implements the shape functions of a linear (1D) element. Shape.
The linear shape functions form the basis of all other shape function computations
The range of the master element is -1,1
The orthogonal function which generates the linear shape functions can be modified by changing the function pointer fOrthogonal
all static tables and functions concerning one-d elements will be grouped in this class
Definition at line 33 of file pzshapelinear.h.
|
static |
Chebyshev orthogonal polynomial, computes num orthogonal functions at the point x.
x | coordinate of the point |
num | number of shape functions to be computed |
phi | shapefunction values |
dphi | values of the derivatives of the shape functions |
Definition at line 15 of file pzshapelinear.cpp.
References TPZMatrix< TVar >::Put(), and TPZFMatrix< TVar >::Zero().
|
static |
Exponential polynomial, computes num orthogonal functions at the point x.
x | coordinate of the point |
num | number of shape functions to be computed |
phi | shapefunction values |
dphi | values of the derivatives of the shape functions |
Definition at line 35 of file pzshapelinear.cpp.
References TPZMatrix< TVar >::Put().
|
static |
Computes the id of the transformation which will be applied on the parameter of the element
.
id | contains two distinct integer numbers which determine the orientation of the element |
Definition at line 357 of file pzshapelinear.cpp.
Referenced by pzshape::TPZShapeTriang::Shape().
|
static |
Hermite orthogonal polynomials.
Definition at line 179 of file pzshapelinear.cpp.
References TPZMatrix< TVar >::Put().
|
static |
Jacobi orthogonal polynomials.
Definition at line 158 of file pzshapelinear.cpp.
References TPZMatrix< TVar >::Put().
|
static |
Legendre orthogonal polynomial, computes num orthogonal functions at the point x.
x | coordinate of the point |
num | number of shape functions to be computed |
phi | shapefunction values |
dphi | values of the derivatives of the shape functions |
Definition at line 50 of file pzshapelinear.cpp.
References TPZMatrix< TVar >::Put().
|
static |
Legendre function computing several derivatives.
Definition at line 94 of file pzshapelinear.cpp.
References TPZMatrix< TVar >::Put().
|
static |
Number of shapefunctions of the connect associated with the side, considering the order of interpolation of the element.
side | associated side |
order | vector of integers indicating the interpolation order of the element |
Definition at line 362 of file pzshapelinear.cpp.
References PZError.
|
static |
Total number of shapefunctions, considering the order of interpolation of the element.
order | vector of integers indicating the interpolation order of the element |
Definition at line 369 of file pzshapelinear.cpp.
References test::res.
|
static |
Definition at line 335 of file pzshapelinear.cpp.
References TPZTransform< T >::Mult().
Referenced by GetSideTransform().
|
static |
Functions which computes the shapefunctions of a one-d element.
pt | coordinate of the point |
order | order of the shape functions to be computed 0<= order |
phi | shapefunction values |
dphi | values of the derivatives of the shape functions |
id | determines the orientation of the shape functions The orientation of the shapefunctions depend on the order of the id parameters if the shapefunctions are unchanged if the odd ordered shapefunctions are inverted |
Definition at line 214 of file pzshapelinear.cpp.
References TPZMatrix< TVar >::Cols(), PZError, TPZFMatrix< TVar >::Resize(), and TPZMatrix< TVar >::Rows().
|
static |
Definition at line 269 of file pzshapelinear.cpp.
|
static |
Computes the generating shape functions for a quadrilateral element.
pt | (input) point where the shape function is computed |
phi | (input/output) value of the shape functions |
dphi | (input/output) value of the derivatives of the shape functions holding the derivatives in a column |
Computes the generating shape functions for a linear element
pt | (input) point where the shape function is computed |
phi | (input/output) value of the shape functions |
dphi | (input/output) value of the derivatives of the shape functions holding the derivatives in a column |
Definition at line 203 of file pzshapelinear.cpp.
|
static |
Computes the values of the orthogonal shapefunctions before multiplying them by the corner shapefunctions.
x | coordinate of the point |
ord | order of the shape functions to be computed 0<= order |
phi | shapefunction values |
dphi | values of the derivatives of the shape functions |
transformation_index | determines the transformation applied to the internal shape functions. This parameter is computed by the GetTransformId1d method |
Definition at line 312 of file pzshapelinear.cpp.
Referenced by pzshape::TPZShapeTriang::Shape(), pzshape::TPZShapePiram::ShapeInternal(), pzshape::TPZShapeTriang::ShapeInternal(), pzshape::TPZShapePrism::ShapeInternal(), pzshape::TPZShapeTetra::ShapeInternal(), pzshape::TPZShapeQuad::ShapeInternal(), and pzshape::TPZShapeCube::ShapeInternal().
|
static |
Computes the values of the orthogonal shapefunctions before multiplying them by the corner shapefunctions.
x | coordinate of the point |
ord | order of the shape functions to be computed 0<= order |
phi | shapefunction values |
dphi | values of the derivatives of the shape functions |
transformation_index | = 0; functions. This parameter is computed by the GetTransformId1d method |
Definition at line 303 of file pzshapelinear.cpp.
|
static |
Definition at line 324 of file pzshapelinear.cpp.
|
static |
returns the polynomial order in the natural ksi, eta of the side associated with each shapefunction
Definition at line 284 of file pzshapelinear.cpp.
References DebugStop, and TPZGenMatrix< TObj >::Rows().
|
static |
Definition at line 272 of file pzshapelinear.cpp.
References Shape().
|
static |
returns the polynomial order in the natural ksi, eta of the internal shapefunctions of a side
sides | is a vector with copy of side as much as needed, it depends on the order |
Definition at line 298 of file pzshapelinear.cpp.
References DebugStop.
|
static |
Applies the transformation on the values of the derivatives of the shape functions of the internal shape functions.
transid | identifier of the transformation of the one-d element as obtained by the GetTransformId1d method |
num | number of shapefunctions needed to transform |
in | matrix containing the values of the derivatives of the shapefunctions as a row vector the values of the derivatives contained in this matrix are modified upon return |
Definition at line 350 of file pzshapelinear.cpp.
|
static |
Computes the transformation applied to the variational parameter of the one-d element.
transid | identifier of the transformation of the one-d element as obtained by the GetTransformId1d method |
in | coordinate of the variational parameter |
out | transformed parameter The transformation applied to compensate for odd/even brokerage between elements can also be viewed by the transformation of a variational parameter. |
Definition at line 331 of file pzshapelinear.cpp.
|
static |
Definition at line 343 of file pzshapelinear.cpp.
|
static |
Pointer to function which returns num orthogonal functions at the point x.
x | coordinate of the point |
num | number of shape functions to be computed |
phi | shapefunction values |
dphi | values of the derivatives of the shape functions |
Definition at line 48 of file pzshapelinear.h.
Referenced by TPZCompEl::SetOrthogonalFunction().
|
static |
Jacobi parameters orthogonal polynomials.
Definition at line 85 of file pzshapelinear.h.
|
static |
Definition at line 86 of file pzshapelinear.h.