NeoPZ
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members

This class implements a discontinuous element (for use with discontinuous Galerkin). Computational Element. More...

#include <TPZCompElDisc.h>

Inheritance diagram for TPZCompElDisc:
[legend]
Collaboration diagram for TPZCompElDisc:
[legend]

Public Member Functions

void SetTensorialShape ()
 Set tensorial shape functions. More...
 
void SetTotalOrderShape ()
 Set total order shape functions. More...
 
void SetTensorialShapeFull ()
 Set tensorial shape functions with many derivatives. More...
 
void SetTotalOrderShapeFull ()
 Set total order shape functions. More...
 
void SetExternalShapeFunction (TPZAutoPointer< TPZFunction< STATE > > externalShapes)
 Define external shape functions which are stored in class attribute fExternalShape. More...
 
bool HasExternalShapeFunction ()
 Return whether element has external shape functions set to. More...
 
int GetMaterial (const TPZGeoElSide &gside)
 
virtual void SetInnerRadius (REAL InnerRadius)
 Sets the inner radius value. More...
 
virtual void SetNInterfaces (int nfaces)
 Sets element's number of interfaces. More...
 
virtual int NInterfaces ()
 Returns the number of interfaces. More...
 
 TPZCompElDisc ()
 Default constructor. More...
 
 TPZCompElDisc (TPZCompMesh &mesh, TPZGeoEl *ref, int64_t &index)
 Constructor of the discontinuous element associated with geometric element. More...
 
 TPZCompElDisc (TPZCompMesh &mesh, int64_t &index)
 Constructor. More...
 
 TPZCompElDisc (TPZCompMesh &mesh, const TPZCompElDisc &copy)
 Copy constructor. More...
 
 TPZCompElDisc (TPZCompMesh &mesh, const TPZCompElDisc &copy, std::map< int64_t, int64_t > &gl2lcConMap, std::map< int64_t, int64_t > &gl2lcElMap)
 Creates a clone of the given element in a pathc mesh. More...
 
 TPZCompElDisc (TPZCompMesh &mesh, const TPZCompElDisc &copy, int64_t &index)
 
virtual void SetCreateFunctions (TPZCompMesh *mesh) override
 Set create function in TPZCompMesh to create elements of this type. More...
 
virtual TPZCompElClone (TPZCompMesh &mesh) const override
 Method for creating a copy of the element. More...
 
virtual TPZCompElClone (TPZCompMesh &mesh, int64_t &index) const
 
virtual TPZCompElClonePatchEl (TPZCompMesh &mesh, std::map< int64_t, int64_t > &gl2lcConMap, std::map< int64_t, int64_t > &gl2lcElMap) const override
 
virtual ~TPZCompElDisc ()
 Default destructor. More...
 
void Divide (int64_t index, TPZVec< int64_t > &subindex, int interpolate=0) override
 Divide the computational element. More...
 
virtual void Shape (TPZVec< REAL > &qsi, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphidxi) override
 Computes the shape function set at the point x. This method uses the order of interpolation of the element along the sides to compute the number of shapefunctions. More...
 
virtual void ComputeShape (TPZVec< REAL > &intpoint, TPZMaterialData &data) override
 Compute shape functions based on master element in the classical FEM manne. More...
 
virtual void ShapeX (TPZVec< REAL > &X, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi)
 
void AppendExternalShapeFunctions (TPZVec< REAL > &X, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi)
 Add extenal shape function into already computed phi and dphi discontinuous functions. More...
 
virtual const TPZIntPointsGetIntegrationRule () const override
 Returns a reference to an integration rule suitable for integrating the interior of the element. More...
 
virtual TPZIntPointsGetIntegrationRule () override
 Returns a reference to an integration rule suitable for integrating the interior of the element. More...
 
virtual MElementType Type () override
 Type of the element. More...
 
REAL ConstC () const
 It returns the constant that normalizes the bases of the element. More...
 
void SetConstC (REAL c)
 
void SetTrueUseQsiEta ()
 
void SetFalseUseQsiEta ()
 
void InternalPoint (TPZVec< REAL > &point)
 Returns the center point. More...
 
virtual void Print (std::ostream &out=std::cout) const override
 Prints the features of the element. More...
 
virtual int Degree () const
 Returns the degree of interpolation of the element. More...
 
virtual void SetDegree (int degree)
 Assigns the degree of the element. More...
 
virtual int NConnects () const override
 Returns the number of connects. More...
 
int NCornerConnects () const
 Amount of vertices of the element. More...
 
virtual void BuildCornerConnectList (std::set< int64_t > &connectindexes) const override
 adds the connect indexes associated with base shape functions to the set More...
 
int Dimension () const override
 Returns dimension from the element. More...
 
virtual REAL NormalizeConst ()
 Calculates the normalizing constant of the bases of the element. More...
 
int64_t ConnectIndex (int side=0) const override
 Returns the connect index from the element. More...
 
void SetConnectIndex (int, int64_t index) override
 Set the index i to node inode. More...
 
virtual int NSideConnects (int iside) const override
 Returns the number of dof nodes along side iside. More...
 
virtual int SideConnectLocId (int icon, int is) const override
 Returns the local node number of icon along is. More...
 
virtual int NShapeF () const override
 Returns the shapes number of the element. More...
 
virtual int MaxOrder () override
 Returns the max order of interpolation. More...
 
int MaxOrderExceptExternalShapes ()
 Returns the max order of interpolation excluding external shape order. More...
 
virtual int NConnectShapeF (int inod, int order) const override
 Returns the number of shapefunctions associated with a connect. More...
 
REAL CenterPoint (int index) const
 
virtual void CenterPoint (TPZVec< REAL > &center)
 
void SetCenterPoint (int i, REAL x)
 
REAL SizeOfElement ()
 
virtual REAL VolumeOfEl () override
 Returns the volume of the geometric element associated. More...
 
void CreateGraphicalElement (TPZGraphMesh &grmesh, int dimension) override
 Creates corresponding graphical element(s) if the dimension matches graphical elements are used to generate output files. More...
 
void SolutionX (TPZVec< REAL > &x, TPZVec< STATE > &uh)
 Computes the solution in function of a point in cartesian space. More...
 
virtual void ComputeSolution (TPZVec< REAL > &qsi, TPZSolVec &sol, TPZGradSolVec &dsol, TPZFMatrix< REAL > &axes) override
 Computes solution and its derivatives in the local coordinate qsi. More...
 
virtual void ComputeSolution (TPZVec< REAL > &qsi, TPZMaterialData &data) override
 Compute shape functions based on master element in the classical FEM manne. More...
 
virtual void ComputeSolution (TPZVec< REAL > &qsi, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphix, const TPZFMatrix< REAL > &axes, TPZSolVec &sol, TPZGradSolVec &dsol) override
 Computes solution and its derivatives in local coordinate qsi. More...
 
virtual void ComputeSolution (TPZVec< REAL > &qsi, TPZVec< REAL > &normal, TPZSolVec &leftsol, TPZGradSolVec &dleftsol, TPZFMatrix< REAL > &leftaxes, TPZSolVec &rightsol, TPZGradSolVec &drightsol, TPZFMatrix< REAL > &rightaxes) override
 Computes solution and its derivatives in the local coordinate qsi.
This method will function for both volumetric and interface elements. More...
 
virtual void AccumulateIntegrationRule (int degree, TPZStack< REAL > &point, TPZStack< REAL > &weight)
 
virtual void AccumulateVertices (TPZStack< TPZGeoNode *> &nodes)
 Accumulates the vertices of the agglomerated elements. More...
 
int NSides ()
 
void BuildTransferMatrix (TPZCompElDisc &coarsel, TPZTransfer< STATE > &transfer)
 
int ClassId () const override
 Returns the unique identifier for reading/writing objects to streams. More...
 
void Write (TPZStream &buf, int withclassid) const override
 Save the element data to a stream. More...
 
void Read (TPZStream &buf, void *context) override
 Read the element data from a stream. More...
 
virtual void SetPreferredOrder (int order) override
 Define the desired order for entire element. More...
 
virtual void PRefine (int order) override
 Change the preferred order for the element and proceed the adjust of the aproximation space taking in acount the type
of formulation and the neighbours of the element. More...
 
- Public Member Functions inherited from TPZInterpolationSpace
 TPZInterpolationSpace ()
 Default constructor. More...
 
virtual ~TPZInterpolationSpace ()
 Default destructor. More...
 
 TPZInterpolationSpace (TPZCompMesh &mesh, const TPZInterpolationSpace &copy)
 Puts a copy of the element in the referred mesh. More...
 
 TPZInterpolationSpace (TPZCompMesh &mesh, const TPZInterpolationSpace &copy, std::map< int64_t, int64_t > &gl2lcElMap)
 Puts a copy of the element in the patch mesh. More...
 
 TPZInterpolationSpace (TPZCompMesh &mesh, const TPZInterpolationSpace &copy, int64_t &index)
 Copy of the element in the new mesh whit alocated index. More...
 
 TPZInterpolationSpace (TPZCompMesh &mesh, TPZGeoEl *gel, int64_t &index)
 Create a computational element within mesh. More...
 
virtual void InitMaterialData (TPZMaterialData &data)
 Initialize a material data and its attributes based on element dimension, number of state variables and material definitions. More...
 
virtual void ComputeRequiredData (TPZMaterialData &data, TPZVec< REAL > &qsi)
 Compute and fill data with requested attributes. More...
 
virtual void ComputeRequiredData (TPZVec< REAL > &intpointtemp, TPZVec< TPZTransform< REAL > > &trvec, TPZVec< TPZMaterialData > &datavec)
 Compute and fill data with requested attributes for each of the compels in fElementVec. More...
 
virtual void ComputeNormal (TPZMaterialData &data)
 Computes the proper normal vector towards the neighbour element. More...
 
void VectorialProd (TPZVec< REAL > &ivec, TPZVec< REAL > &jvec, TPZVec< REAL > &kvec, bool unitary=false)
 Computes the vectorial product of two vectors and normalize the result if unitary is set to true. More...
 
virtual void CalcStiff (TPZElementMatrix &ek, TPZElementMatrix &ef) override
 Computes the element stiffness matrix and right hand side. More...
 
virtual void CalcResidual (TPZElementMatrix &ef) override
 Only computes the element residual. More...
 
virtual void InitializeElementMatrix (TPZElementMatrix &ek, TPZElementMatrix &ef)
 Initialize element matrix in which is computed CalcStiff. More...
 
virtual void InitializeElementMatrix (TPZElementMatrix &ef)
 Initialize element matrix in which is computed in CalcResidual. More...
 
void MinMaxSolutionValues (TPZVec< STATE > &min, TPZVec< STATE > &max)
 Returns minimum and maximum values for each state variable. More...
 
virtual REAL InnerRadius ()
 Returns the inner radius value. More...
 
virtual void Solution (TPZVec< REAL > &qsi, int var, TPZVec< STATE > &sol) override
 Post processing method which computes the solution for the var post processed variable. More...
 
void InterpolateSolution (TPZInterpolationSpace &coarsel)
 Interpolates the solution into the degrees of freedom nodes from the degrees of freedom nodes from the coarse element. More...
 
void CreateInterfaces (bool BetweenContinuous=false)
 Create interfaces between this and its neighbours. More...
 
TPZInterfaceElementCreateInterface (int side, bool BetweenContinuous=false)
 Create an interface between this and the neighbour by side side. More...
 
int ExistsInterface (TPZGeoElSide geosd)
 Verify existence of interface. More...
 
void RemoveInterfaces ()
 Remove interfaces connected to this element. More...
 
void RemoveInterface (int side)
 Remove interface which is neighbour from side side. More...
 
virtual void EvaluateError (std::function< void(const TPZVec< REAL > &loc, TPZVec< STATE > &val, TPZFMatrix< STATE > &deriv)> func, TPZVec< REAL > &errors, bool store_error) override
 Performs an error estimate on the elemen. More...
 
virtual void ComputeError (int errorid, TPZVec< REAL > &error) override
 Computes the element error estimator. More...
 
virtual TPZVec< STATE > IntegrateSolution (int variable) const override
 Integrate a variable over the element. More...
 
virtual void Integrate (int variable, TPZVec< STATE > &value) override
 Integrates a variable over the element. More...
 
void ProjectFlux (TPZElementMatrix &ek, TPZElementMatrix &ef) override
 Integrate the solution over the element. More...
 
virtual int GetPreferredOrder ()
 Returns the prefered order for the element. More...
 
virtual int GetSideOrient (int side)
 It returns the normal orientation of the reference element by the side. Only side that has dimension larger than zero and smaller than me. More...
 
virtual void SetSideOrient (int side, int sideorient)
 It set the normal orientation of the element by the side. Only side that has dimension equal to my dimension minus one. More...
 
void BuildTransferMatrix (TPZInterpolationSpace &coarsel, TPZTransform<> &t, TPZTransfer< STATE > &transfer)
 Accumulates the transfer coefficients between the current element and the coarse element
into the transfer matrix, using the transformation t. More...
 
int NSideShapeF (int side) const
 Returns the number of shape functions on a side. More...
 
int64_t SideConnectIndex (int icon, int is) const
 Returns the index of the c th connect object along side is. More...
 
TPZConnectSideConnect (int icon, int is) const
 Returns a pointer to the icon th connect object along side is. More...
 
virtual void AdjustIntegrationRule ()
 Adjust the integration rule according to the polynomial order of shape functions. More...
 
virtual int ComputeIntegrationOrder () const override
 Compute integration order according to ... . More...
 
virtual void SetIntegrationRule (int order) override
 
virtual void SideShapeFunction (int side, TPZVec< REAL > &point, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi)
 Compute the values of the shape function along the side. More...
 
- Public Member Functions inherited from TPZCompEl
 TPZCompEl ()
 Simple Constructor. More...
 
virtual ~TPZCompEl ()
 Simple destructor. More...
 
 TPZCompEl (TPZCompMesh &mesh, const TPZCompEl &copy)
 Put a copy of the element in the referred mesh. More...
 
 TPZCompEl (TPZCompMesh &mesh, const TPZCompEl &copy, std::map< int64_t, int64_t > &gl2lcElMap)
 Put a copy of the element in the patch mesh. More...
 
 TPZCompEl (TPZCompMesh &mesh, const TPZCompEl &copy, int64_t &index)
 Copy of the element in the new mesh returning allocated index. More...
 
 TPZCompEl (TPZCompMesh &mesh, TPZGeoEl *gel, int64_t &index)
 Creates a computational element within mesh. Inserts the element within the data structure of the mesh. More...
 
virtual void LoadElementReference ()
 Loads the geometric element reference. More...
 
virtual REAL CompareElement (int var, char *matname)
 This method computes the norm of the difference of a post processed variable with @ the same post processed variable of the element pointed to by the geometric element. More...
 
virtual void Assemble ()
 Computes the element stifness matrix and right hand side in an internal data structure. Used for initializing condensed element data structures. More...
 
virtual bool HasMaterial (const std::set< int > &materialids) const
 Verifies if the material associated with the element is contained in the set. More...
 
virtual void GetMemoryIndices (TPZVec< int64_t > &indices) const
 Get the indices of the vector of element memory associated with the integration points. More...
 
virtual void SetMemoryIndices (TPZVec< int64_t > &indices)
 Set the indices of the vector of element memory associated with the integration points. More...
 
virtual void PrepareIntPtIndices ()
 Prepare the vector of the material withmem with the correct integration point indexes. More...
 
virtual void ForcePrepareIntPtIndices ()
 PrepareIntPtIndices initializes the material damage varibles memory in the proper material class. More...
 
virtual void SetFreeIntPtIndices ()
 Frees the material damage varibles memory in the proper material class. More...
 
virtual int NumberOfCompElementsInsideThisCompEl ()
 Return the size of the elementvec in multiphysics, if it is not multiphysics, just return 1. More...
 
virtual void TransferMultiphysicsElementSolution ()
 
virtual void SetMultiphysicsElementSolution ()
 
virtual void AddShapeRestraint (TPZOneShapeRestraint restraint)
 Add a shape restraint (meant to fit the pyramid to restraint. More...
 
virtual std::list< TPZOneShapeRestraintGetShapeRestraints () const
 Return a list with the shape restraints. More...
 
virtual void ResetShapeRestraints ()
 Return a list with the shape restraints. More...
 
virtual TPZVec< STATE > IntegrateSolution (const std::string &varname, const std::set< int > &matids)
 Compute the integral of a variable defined by the string if the material id is included in matids. More...
 
virtual void BuildConnectList (std::set< int64_t > &indepconnectlist, std::set< int64_t > &depconnectlist)
 Builds the list of all connectivities related to the element including the connects pointed to by dependent connects. More...
 
virtual void BuildConnectList (TPZStack< int64_t > &connectlist) const
 Builds the list of all connectivities related to the element including the connects pointed to by dependent connects. More...
 
virtual void BuildConnectList (std::set< int64_t > &connectlist)
 Builds the list of all connectivities related to the element including the connects pointed to by dependent connects. More...
 
virtual int HasDependency ()
 Returns 1 if the element has at least one dependent node. Returns 0 otherwise. More...
 
virtual int PressureConnectIndex () const
 Returns the index of the pressure connect. More...
 
virtual void ReduceInternalNodes ()
 Domain Decomposition.
This method will eliminate the nodes which are internal to the element from the datastructure of the grid
After calling this method, the superelement will statically condense the internal equations. More...
 
virtual void CalcBlockDiagonal (TPZStack< int64_t > &connectlist, TPZBlockDiagonal< STATE > &block)
 Calculates the diagonal block. More...
 
REAL MaximumRadiusOfEl ()
 Will return the maximum distance between the nodes of the reference element. More...
 
REAL LesserEdgeOfEl ()
 Will return the smallest distance between two nodes of the reference element. More...
 
virtual void InitializeIntegrationRule ()
 
virtual void SetIntegrationRule (TPZIntPoints *intrule)
 Method to set a dynamically allocated integration rule. More...
 
virtual int IsInterface ()
 
TPZGeoElReference () const
 Return a pointer to the corresponding geometric element if such exists, return 0 otherwise. More...
 
void SetReference (int64_t referenceindex)
 
virtual bool NeedsComputing (const std::set< int > &materialids)
 return true if the element has a variational statement associated with the material ids More...
 
virtual int NEquations ()
 Returns the number of equations of the element. More...
 
int64_t Index () const
 Returns element index of the mesh fELementVec list. More...
 
void SetIndex (int64_t index)
 Sets element index of the mesh fELementVec list. More...
 
virtual TPZConnectConnect (int i) const
 Returns a pointer to the ith node. More...
 
virtual TPZMaterialMaterial () const
 Identify the material object associated with the element. More...
 
TPZGeoElGetRefElPatch ()
 Returns the reference geometric element patch.
Look for a geometric element which refers to a computational element and is neighbour of the current element AND is larger than the current element. More...
 
virtual void LoadSolution ()
 Loads the solution within the internal data structure of the element. More...
 
void SetMesh (TPZCompMesh *mesh)
 Sets the grid of the element. More...
 
TPZCompMeshMesh () const
 Return a pointer to the grid of the element. More...
 
virtual void PrintSolution (TPZVec< REAL > &point, const char *VarName, std::ostream &out)
 Prints the solution - sol - for the variable "VarName" at point specified in terms of the master element coordinates. More...
 
virtual void PrintCoordinate (TPZVec< REAL > &point, int CoordinateIndex, std::ostream &out)
 Prints one coordinate index corresponding to the point to the output stream. More...
 
virtual void PrintTitle (const char *VarName, std::ostream &out)
 Prints the variables names associated with the element material. 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 Public Member Functions

static void SetTensorialShape (TPZCompMesh *cmesh)
 Sets tensorial shape functions for all Discontinuous elements in cmesh. More...
 
static void SetTotalOrderShape (TPZCompMesh *cmesh)
 Set total order shape functions for all Discontinuous elements in cmesh. More...
 
static TPZCompElCreateDisc (TPZGeoEl *geo, TPZCompMesh &mesh, int64_t &index)
 Creates discontinuous computational element. More...
 
static void SetOrthogonalFunction (void(*orthogonal)(REAL C, REAL x0, REAL x, int degree, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi, int n))
 Sets the orthogonal function which will be used throughout the program. More...
 
static REAL EvaluateSquareResidual2D (TPZInterpolationSpace *cel)
 Compute the integral of the square residual over the element domain. More...
 
static void EvaluateSquareResidual2D (TPZCompMesh &cmesh, TPZVec< REAL > &error, bool verbose=false)
 Evaluates the square residual for every element in mesh. More...
 
- Static Public Member Functions inherited from TPZInterpolationSpace
static void Convert2Axes (const TPZFMatrix< REAL > &dphi, const TPZFMatrix< REAL > &jacinv, TPZFMatrix< REAL > &dphidx)
 convert a shapefunction derivative in xi-eta to a function derivative in axes More...
 
- Static Public Member Functions inherited from TPZCompEl
static int StaticClassId ()
 
static void SetgOrder (int order)
 Sets the value of the default interpolation order. More...
 
static int GetgOrder ()
 Set the default value of the interpolation order. More...
 
static void SetOrthogonalFunction (void(*orthogonal)(REAL x, int num, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi))
 Sets the orthogonal function which will be used throughout the program by default this function is the Chebyshev function. More...
 
static void Chebyshev (REAL x, int num, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi)
 Implements of the orthogonal Chebyshev functions. 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 TPZSavableCreateInstance (const int &classId)
 

Protected Member Functions

virtual int64_t CreateMidSideConnect ()
 It creates new conect that it associates the degrees of freedom of the element and returns its index. More...
 
virtual void ComputeShape (TPZVec< REAL > &intpoint, TPZVec< REAL > &X, TPZFMatrix< REAL > &jacobian, TPZFMatrix< REAL > &axes, REAL &detjac, TPZFMatrix< REAL > &jacinv, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi, TPZFMatrix< REAL > &dphidx) override
 Compute shape functions based on master element in the classical FEM manner. More...
 
- Protected Member Functions inherited from TPZInterpolationSpace
void ExpandShapeFunctions (TPZVec< int64_t > &connectlist, TPZVec< int > &dependencyorder, TPZVec< int > &blocksizes, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi)
 Auxiliary method to expand a vector of shapefunctions and their derivatives to acount for constraints. More...
 

Protected Attributes

TPZAutoPointer< TPZIntPointsfIntRule
 
pzshape::TPZShapeDisc::MShapeType fShapefunctionType
 Shape function type used by the element. More...
 
int64_t fConnectIndex
 It preserves index of connect associated to the element. More...
 
REAL fConstC
 Normalizing constant for shape functions. More...
 
bool fUseQsiEta
 Variable to choose the qsi point or the X point in the calculus of the phis and dphis. More...
 
TPZAutoPointer< TPZFunction< STATE > > fExternalShape
 A pz function to allow the inclusion of extra shape functions which are defined externally. More...
 
TPZManVector< REAL, 3 > fCenterPoint
 It keeps the interior point coordinations of the element. More...
 
- Protected Attributes inherited from TPZInterpolationSpace
int fPreferredOrder
 Preferred polynomial order. More...
 
- Protected Attributes inherited from TPZCompEl
TPZCompMeshfMesh
 Computational mesh to which the element belongs. More...
 
int64_t fIndex
 Element index into mesh element vector. More...
 
TPZIntPointsfIntegrationRule
 Integration rule established by the user. More...
 

Private Member Functions

TPZAutoPointer< TPZIntPointsCreateIntegrationRule () const
 

Detailed Description

This class implements a discontinuous element (for use with discontinuous Galerkin). Computational Element.

Definition at line 35 of file TPZCompElDisc.h.

Constructor & Destructor Documentation

◆ TPZCompElDisc() [1/6]

TPZCompElDisc::TPZCompElDisc ( )

◆ TPZCompElDisc() [2/6]

TPZCompElDisc::TPZCompElDisc ( TPZCompMesh mesh,
TPZGeoEl ref,
int64_t &  index 
)

◆ TPZCompElDisc() [3/6]

TPZCompElDisc::TPZCompElDisc ( TPZCompMesh mesh,
int64_t &  index 
)

◆ TPZCompElDisc() [4/6]

TPZCompElDisc::TPZCompElDisc ( TPZCompMesh mesh,
const TPZCompElDisc copy 
)

◆ TPZCompElDisc() [5/6]

TPZCompElDisc::TPZCompElDisc ( TPZCompMesh mesh,
const TPZCompElDisc copy,
std::map< int64_t, int64_t > &  gl2lcConMap,
std::map< int64_t, int64_t > &  gl2lcElMap 
)

Creates a clone of the given element in a pathc mesh.

Parameters
meshpatch mesh
copyelement to be copied
gl2lcConMapmap between the connect indexes in original and patch mesh
gl2lcElMapmap between the element indexes in original an patch mesh

Definition at line 141 of file TPZCompElDisc.cpp.

References TPZIntPoints::Clone(), fExternalShape, TPZCompEl::fIndex, fIntRule, fShapefunctionType, fUseQsiEta, GetIntegrationRule(), and SetExternalShapeFunction().

◆ TPZCompElDisc() [6/6]

TPZCompElDisc::TPZCompElDisc ( TPZCompMesh mesh,
const TPZCompElDisc copy,
int64_t &  index 
)

◆ ~TPZCompElDisc()

TPZCompElDisc::~TPZCompElDisc ( )
virtual

Default destructor.

Definition at line 101 of file TPZCompElDisc.cpp.

References TPZGeoEl::Reference(), and TPZGeoEl::ResetReference().

Referenced by ClonePatchEl().

Member Function Documentation

◆ AccumulateIntegrationRule()

void TPZCompElDisc::AccumulateIntegrationRule ( int  degree,
TPZStack< REAL > &  point,
TPZStack< REAL > &  weight 
)
virtual

◆ AccumulateVertices()

void TPZCompElDisc::AccumulateVertices ( TPZStack< TPZGeoNode *> &  nodes)
virtual

Accumulates the vertices of the agglomerated elements.

Reimplemented in TPZAgglomerateElement.

Definition at line 846 of file TPZCompElDisc.cpp.

References TPZGeoEl::NNodes(), TPZGeoEl::NodePtr(), TPZStack< T, NumExtAlloc >::Push(), PZError, and TPZCompEl::Reference().

Referenced by TPZAgglomerateElement::AccumulateVertices(), and VolumeOfEl().

◆ AppendExternalShapeFunctions()

void TPZCompElDisc::AppendExternalShapeFunctions ( TPZVec< REAL > &  X,
TPZFMatrix< REAL > &  phi,
TPZFMatrix< REAL > &  dphi 
)

◆ BuildCornerConnectList()

void TPZCompElDisc::BuildCornerConnectList ( std::set< int64_t > &  connectindexes) const
overridevirtual

adds the connect indexes associated with base shape functions to the set

Implements TPZCompEl.

Definition at line 1216 of file TPZCompElDisc.cpp.

References ConnectIndex().

Referenced by NCornerConnects().

◆ BuildTransferMatrix()

void TPZCompElDisc::BuildTransferMatrix ( TPZCompElDisc coarsel,
TPZTransfer< STATE > &  transfer 
)

◆ CenterPoint() [1/2]

REAL TPZCompElDisc::CenterPoint ( int  index) const
inline

◆ CenterPoint() [2/2]

void TPZCompElDisc::CenterPoint ( TPZVec< REAL > &  center)
virtual

◆ ClassId()

int TPZCompElDisc::ClassId ( ) const
overridevirtual

Returns the unique identifier for reading/writing objects to streams.

returns the unique identifier for reading/writing objects to streams

Reimplemented from TPZInterpolationSpace.

Definition at line 897 of file TPZCompElDisc.cpp.

References TPZInterpolationSpace::ClassId(), and Hash().

Referenced by TPZAgglomerateElement::ClassId(), and VolumeOfEl().

◆ Clone() [1/2]

virtual TPZCompEl* TPZCompElDisc::Clone ( TPZCompMesh mesh) const
inlineoverridevirtual

Method for creating a copy of the element.

Implements TPZCompEl.

Definition at line 153 of file TPZCompElDisc.h.

References TPZCompElDisc().

Referenced by TPZAgglomerateElement::CreateAgglomerateMesh().

◆ Clone() [2/2]

virtual TPZCompEl* TPZCompElDisc::Clone ( TPZCompMesh mesh,
int64_t &  index 
) const
inlinevirtual

Definition at line 157 of file TPZCompElDisc.h.

References TPZCompElDisc().

◆ ClonePatchEl()

virtual TPZCompEl* TPZCompElDisc::ClonePatchEl ( TPZCompMesh mesh,
std::map< int64_t, int64_t > &  gl2lcConMap,
std::map< int64_t, int64_t > &  gl2lcElMap 
) const
inlineoverridevirtual

◆ ComputeShape() [1/2]

void TPZCompElDisc::ComputeShape ( TPZVec< REAL > &  intpoint,
TPZVec< REAL > &  X,
TPZFMatrix< REAL > &  jacobian,
TPZFMatrix< REAL > &  axes,
REAL &  detjac,
TPZFMatrix< REAL > &  jacinv,
TPZFMatrix< REAL > &  phi,
TPZFMatrix< REAL > &  dphi,
TPZFMatrix< REAL > &  dphidx 
)
overrideprotectedvirtual

◆ ComputeShape() [2/2]

void TPZCompElDisc::ComputeShape ( TPZVec< REAL > &  intpoint,
TPZMaterialData data 
)
overridevirtual

Compute shape functions based on master element in the classical FEM manne.

Parameters
[in]intpointpoint in master element coordinates
[in]datastores all input data

Reimplemented from TPZInterpolationSpace.

Definition at line 250 of file TPZCompElDisc.cpp.

References TPZMaterialData::axes, ComputeShape(), TPZMaterialData::detjac, TPZMaterialData::dphi, TPZMaterialData::dphix, TPZMaterialData::jacinv, TPZMaterialData::jacobian, TPZMaterialData::phi, and TPZMaterialData::x.

◆ ComputeSolution() [1/4]

void TPZCompElDisc::ComputeSolution ( TPZVec< REAL > &  qsi,
TPZSolVec sol,
TPZGradSolVec dsol,
TPZFMatrix< REAL > &  axes 
)
overridevirtual

Computes solution and its derivatives in the local coordinate qsi.

Parameters
qsimaster element coordinate
solfinite element solution
dsolsolution derivatives
axesaxes associated with the derivative of the solution

Reimplemented from TPZCompEl.

Definition at line 995 of file TPZCompElDisc.cpp.

References TPZMaterialData::axes, ComputeShape(), TPZGeoEl::Dimension(), TPZMaterialData::dphix, TPZMaterialData::dsol, TPZMaterialData::jacinv, TPZMaterialData::jacobian, NShapeF(), TPZMaterialData::phi, TPZCompEl::Reference(), TPZManVector< T, NumExtAlloc >::Resize(), TPZFMatrix< TVar >::Resize(), TPZMaterialData::sol, and TPZMaterialData::x.

Referenced by ComputeSolution(), EvaluateSquareResidual2D(), and VolumeOfEl().

◆ ComputeSolution() [2/4]

void TPZCompElDisc::ComputeSolution ( TPZVec< REAL > &  qsi,
TPZMaterialData data 
)
overridevirtual

Compute shape functions based on master element in the classical FEM manne.

Parameters
[in]qsipoint in master element coordinates
[in]datastores all input data

Reimplemented from TPZCompEl.

Definition at line 988 of file TPZCompElDisc.cpp.

References TPZMaterialData::axes, ComputeSolution(), TPZMaterialData::dphix, TPZMaterialData::dsol, TPZMaterialData::phi, and TPZMaterialData::sol.

◆ ComputeSolution() [3/4]

void TPZCompElDisc::ComputeSolution ( TPZVec< REAL > &  qsi,
TPZFMatrix< REAL > &  phi,
TPZFMatrix< REAL > &  dphix,
const TPZFMatrix< REAL > &  axes,
TPZSolVec sol,
TPZGradSolVec dsol 
)
overridevirtual

Computes solution and its derivatives in local coordinate qsi.

Parameters
qsimaster element coordinate
phimatrix containing shape functions compute in qsi point
dphixmatrix containing the derivatives of shape functions with respect of global coordinates: D[phi,x], D[phi,y], D[phi,z]
axesaxes associated with the derivative of the solution
solfinite element solution
dsolsolution derivatives

Reimplemented from TPZCompEl.

Definition at line 1015 of file TPZCompElDisc.cpp.

References TPZCompMesh::Block(), TPZMatrix< TVar >::Cols(), TPZCompEl::Connect(), TPZVec< T >::Fill(), TPZCompEl::Material(), TPZCompEl::Mesh(), NConnects(), TPZMaterial::NStateVariables(), TPZBlock< TVar >::Position(), TPZManVector< T, NumExtAlloc >::Resize(), TPZVec< T >::resize(), TPZMatrix< TVar >::Rows(), TPZConnect::SequenceNumber(), TPZBlock< TVar >::Size(), and TPZCompMesh::Solution().

◆ ComputeSolution() [4/4]

void TPZCompElDisc::ComputeSolution ( TPZVec< REAL > &  qsi,
TPZVec< REAL > &  normal,
TPZSolVec leftsol,
TPZGradSolVec dleftsol,
TPZFMatrix< REAL > &  leftaxes,
TPZSolVec rightsol,
TPZGradSolVec drightsol,
TPZFMatrix< REAL > &  rightaxes 
)
overridevirtual

Computes solution and its derivatives in the local coordinate qsi.
This method will function for both volumetric and interface elements.

Parameters
qsimaster element coordinate of the interface element
normalunitary normal vector
leftsolfinite element solution
dleftsolsolution derivatives
leftaxesaxes associated with the left solution
rightsolfinite element solution
drightsolsolution derivatives
rightaxesaxes associated with the right solution

Reimplemented from TPZCompEl.

Definition at line 1054 of file TPZCompElDisc.cpp.

References TPZManVector< T, NumExtAlloc >::Resize(), TPZVec< T >::Resize(), TPZVec< T >::resize(), and TPZFMatrix< TVar >::Zero().

◆ ConnectIndex()

int64_t TPZCompElDisc::ConnectIndex ( int  side = 0) const
overridevirtual

◆ ConstC()

REAL TPZCompElDisc::ConstC ( ) const
inline

It returns the constant that normalizes the bases of the element.

Definition at line 214 of file TPZCompElDisc.h.

References fConstC.

Referenced by TPZAgglomerateElement::Print().

◆ CreateDisc()

TPZCompEl * TPZCompElDisc::CreateDisc ( TPZGeoEl geo,
TPZCompMesh mesh,
int64_t &  index 
)
inlinestatic

Creates discontinuous computational element.

Definition at line 431 of file TPZCompElDisc.h.

References TPZGeoEl::NumInterfaces(), TPZGeoEl::Reference(), and TPZCompElDisc().

Referenced by TPZCreateApproximationSpace::SetAllCreateFunctionsDiscontinuous().

◆ CreateGraphicalElement()

void TPZCompElDisc::CreateGraphicalElement ( TPZGraphMesh grmesh,
int  dimension 
)
overridevirtual

Creates corresponding graphical element(s) if the dimension matches graphical elements are used to generate output files.

Parameters
grmeshgraphical mesh where the element will be created
dimensiontarget dimension of the graphical element

Reimplemented from TPZCompEl.

Definition at line 609 of file TPZCompElDisc.cpp.

References TPZMaterial::Id(), TPZCompEl::Material(), TPZGraphMesh::Material_Is_PostProcessed(), NConnects(), TPZGeoEl::NSides(), and TPZCompEl::Reference().

Referenced by VolumeOfEl().

◆ CreateIntegrationRule()

TPZAutoPointer< TPZIntPoints > TPZCompElDisc::CreateIntegrationRule ( ) const
private

◆ CreateMidSideConnect()

int64_t TPZCompElDisc::CreateMidSideConnect ( )
protectedvirtual

◆ Degree()

int TPZCompElDisc::Degree ( ) const
virtual

◆ Dimension()

int TPZCompElDisc::Dimension ( ) const
inlineoverridevirtual

◆ Divide()

void TPZCompElDisc::Divide ( int64_t  index,
TPZVec< int64_t > &  subindex,
int  interpolate = 0 
)
overridevirtual

◆ EvaluateSquareResidual2D() [1/2]

REAL TPZCompElDisc::EvaluateSquareResidual2D ( TPZInterpolationSpace cel)
static

◆ EvaluateSquareResidual2D() [2/2]

void TPZCompElDisc::EvaluateSquareResidual2D ( TPZCompMesh cmesh,
TPZVec< REAL > &  error,
bool  verbose = false 
)
static

◆ GetIntegrationRule() [1/2]

const TPZIntPoints & TPZCompElDisc::GetIntegrationRule ( ) const
overridevirtual

Returns a reference to an integration rule suitable for integrating the interior of the element.

Implements TPZInterpolationSpace.

Definition at line 1080 of file TPZCompElDisc.cpp.

References DebugStop, TPZCompEl::fIntegrationRule, and fIntRule.

Referenced by ClonePatchEl(), and TPZCompElDisc().

◆ GetIntegrationRule() [2/2]

TPZIntPoints & TPZCompElDisc::GetIntegrationRule ( )
overridevirtual

Returns a reference to an integration rule suitable for integrating the interior of the element.

Implements TPZInterpolationSpace.

Definition at line 1093 of file TPZCompElDisc.cpp.

References DebugStop, TPZCompEl::fIntegrationRule, and fIntRule.

◆ GetMaterial()

int TPZCompElDisc::GetMaterial ( const TPZGeoElSide gside)

◆ HasExternalShapeFunction()

bool TPZCompElDisc::HasExternalShapeFunction ( )

Return whether element has external shape functions set to.

Definition at line 890 of file TPZCompElDisc.cpp.

References fExternalShape.

◆ InternalPoint()

void TPZCompElDisc::InternalPoint ( TPZVec< REAL > &  point)

Returns the center point.

Definition at line 474 of file TPZCompElDisc.cpp.

References fCenterPoint, and TPZVec< T >::Resize().

Referenced by SetFalseUseQsiEta().

◆ MaxOrder()

int TPZCompElDisc::MaxOrder ( )
overridevirtual

Returns the max order of interpolation.

Reimplemented from TPZInterpolationSpace.

Definition at line 1111 of file TPZCompElDisc.cpp.

References fExternalShape, TPZInterpolationSpace::MaxOrder(), and TPZFunction< TVar >::PolynomialOrder().

Referenced by EvaluateSquareResidual2D(), and SideConnectLocId().

◆ MaxOrderExceptExternalShapes()

int TPZCompElDisc::MaxOrderExceptExternalShapes ( )

Returns the max order of interpolation excluding external shape order.

Definition at line 1107 of file TPZCompElDisc.cpp.

References TPZInterpolationSpace::MaxOrder().

Referenced by SideConnectLocId().

◆ NConnects()

int TPZCompElDisc::NConnects ( ) const
overridevirtual

Returns the number of connects.

Implements TPZCompEl.

Definition at line 381 of file TPZCompElDisc.cpp.

References fConnectIndex.

Referenced by TPZAgglomerateElement::CalcStiff(), ComputeSolution(), CreateGraphicalElement(), NSideConnects(), and SetFalseUseQsiEta().

◆ NConnectShapeF()

int TPZCompElDisc::NConnectShapeF ( int  inod,
int  order 
) const
overridevirtual

Returns the number of shapefunctions associated with a connect.

Implements TPZInterpolationSpace.

Definition at line 461 of file TPZCompElDisc.cpp.

References DebugStop, Degree(), NShapeF(), and PZError.

Referenced by SideConnectLocId().

◆ NCornerConnects()

int TPZCompElDisc::NCornerConnects ( ) const
inline

Amount of vertices of the element.

Definition at line 261 of file TPZCompElDisc.h.

References BuildCornerConnectList(), TPZGeoEl::NNodes(), and TPZCompEl::Reference().

◆ NInterfaces()

int TPZCompElDisc::NInterfaces ( )
virtual

Returns the number of interfaces.

Reimplemented in TPZAgglomerateElement.

Definition at line 658 of file TPZCompElDisc.cpp.

References DebugStop, NSides(), and PZError.

Referenced by SetNInterfaces().

◆ NormalizeConst()

REAL TPZCompElDisc::NormalizeConst ( )
virtual

Calculates the normalizing constant of the bases of the element.

Reimplemented in TPZAgglomerateElement.

Definition at line 200 of file TPZCompElDisc.cpp.

References TPZGeoNode::Coord(), dist(), fCenterPoint, TPZGeoEl::Mesh(), TPZGeoEl::NNodes(), TPZGeoEl::NodeIndex(), TPZGeoMesh::NodeVec(), pow(), TPZCompEl::Reference(), and sqrt.

Referenced by Dimension(), TPZAgglomerateElement::NormalizeConst(), and SetFalseUseQsiEta().

◆ NShapeF()

int TPZCompElDisc::NShapeF ( ) const
overridevirtual

◆ NSideConnects()

virtual int TPZCompElDisc::NSideConnects ( int  iside) const
inlineoverridevirtual

Returns the number of dof nodes along side iside.

Implements TPZInterpolationSpace.

Definition at line 277 of file TPZCompElDisc.h.

References NConnects().

◆ NSides()

int TPZCompElDisc::NSides ( )

Definition at line 653 of file TPZCompElDisc.cpp.

References TPZGeoEl::NSides(), and TPZCompEl::Reference().

Referenced by NInterfaces(), SetFalseUseQsiEta(), and VolumeOfEl().

◆ PRefine()

virtual void TPZCompElDisc::PRefine ( int  order)
inlineoverridevirtual

Change the preferred order for the element and proceed the adjust of the aproximation space taking in acount the type
of formulation and the neighbours of the element.

Implements TPZInterpolationSpace.

Definition at line 413 of file TPZCompElDisc.h.

References error(), EvaluateSquareResidual2D(), SetDegree(), and verbose.

◆ Print()

void TPZCompElDisc::Print ( std::ostream &  out = std::cout) const
overridevirtual

◆ Read()

void TPZCompElDisc::Read ( TPZStream buf,
void *  context 
)
overridevirtual

◆ SetCenterPoint()

void TPZCompElDisc::SetCenterPoint ( int  i,
REAL  x 
)
inline

◆ SetConnectIndex()

void TPZCompElDisc::SetConnectIndex ( int  inode,
int64_t  index 
)
inlineoverridevirtual

Set the index i to node inode.

Parameters
inodenode to set index
indexindex to be seted

Implements TPZCompEl.

Definition at line 274 of file TPZCompElDisc.h.

Referenced by CreateMidSideConnect(), and TPZAgglomerateElement::CreateMidSideConnect().

◆ SetConstC()

void TPZCompElDisc::SetConstC ( REAL  c)
inline

◆ SetCreateFunctions()

void TPZCompElDisc::SetCreateFunctions ( TPZCompMesh mesh)
overridevirtual

Set create function in TPZCompMesh to create elements of this type.

Reimplemented from TPZCompEl.

Definition at line 1221 of file TPZCompElDisc.cpp.

References TPZCompMesh::SetAllCreateFunctionsDiscontinuous().

Referenced by SetNInterfaces().

◆ SetDegree()

void TPZCompElDisc::SetDegree ( int  degree)
virtual

◆ SetExternalShapeFunction()

void TPZCompElDisc::SetExternalShapeFunction ( TPZAutoPointer< TPZFunction< STATE > >  externalShapes)

◆ SetFalseUseQsiEta()

void TPZCompElDisc::SetFalseUseQsiEta ( )
inline

◆ SetInnerRadius()

virtual void TPZCompElDisc::SetInnerRadius ( REAL  InnerRadius)
inlinevirtual

Sets the inner radius value.

Reimplemented in TPZAgglomerateElement.

Definition at line 117 of file TPZCompElDisc.h.

References PZError.

◆ SetNInterfaces()

virtual void TPZCompElDisc::SetNInterfaces ( int  nfaces)
inlinevirtual

Sets element's number of interfaces.

Reimplemented in TPZAgglomerateElement.

Definition at line 121 of file TPZCompElDisc.h.

References NInterfaces(), PZError, SetCreateFunctions(), and TPZCompElDisc().

◆ SetOrthogonalFunction()

static void TPZCompElDisc::SetOrthogonalFunction ( void(*)(REAL C, REAL x0, REAL x, int degree, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi, int n)  orthogonal)
inlinestatic

Sets the orthogonal function which will be used throughout the program.

Parameters
orthogonalpointer to a function which will be used to generate the shape functions

Definition at line 112 of file TPZCompElDisc.h.

References pzshape::TPZShapeDisc::fOrthogonal.

◆ SetPreferredOrder()

virtual void TPZCompElDisc::SetPreferredOrder ( int  order)
inlineoverridevirtual

Define the desired order for entire element.

Implements TPZInterpolationSpace.

Definition at line 406 of file TPZCompElDisc.h.

References SetDegree().

◆ SetTensorialShape() [1/2]

void TPZCompElDisc::SetTensorialShape ( TPZCompMesh cmesh)
static

Sets tensorial shape functions for all Discontinuous elements in cmesh.

Definition at line 77 of file TPZCompElDisc.cpp.

References TPZCompMesh::ElementVec(), TPZCompMesh::NElements(), and SetTensorialShape().

Referenced by Hdiv2dPaper201504::CMeshPressure(), hdivCurvedJCompAppMath::CMeshPressure(), and SetTensorialShape().

◆ SetTensorialShape() [2/2]

void TPZCompElDisc::SetTensorialShape ( )

Set tensorial shape functions.

Definition at line 57 of file TPZCompElDisc.cpp.

References pzshape::TPZShapeDisc::ETensorial.

◆ SetTensorialShapeFull()

void TPZCompElDisc::SetTensorialShapeFull ( )

Set tensorial shape functions with many derivatives.

Available only for 2D shape functions.

Definition at line 67 of file TPZCompElDisc.cpp.

References pzshape::TPZShapeDisc::ETensorialFull.

Referenced by EvaluateSquareResidual2D().

◆ SetTotalOrderShape() [1/2]

void TPZCompElDisc::SetTotalOrderShape ( TPZCompMesh cmesh)
static

◆ SetTotalOrderShape() [2/2]

void TPZCompElDisc::SetTotalOrderShape ( )

Set total order shape functions.

Definition at line 62 of file TPZCompElDisc.cpp.

References pzshape::TPZShapeDisc::EOrdemTotal.

Referenced by TPZMHMeshControl::CreateLagrangeMultiplierMesh().

◆ SetTotalOrderShapeFull()

void TPZCompElDisc::SetTotalOrderShapeFull ( )

Set total order shape functions.

Available only for 2D shape functions.

Definition at line 72 of file TPZCompElDisc.cpp.

References pzshape::TPZShapeDisc::EOrdemTotalFull.

◆ SetTrueUseQsiEta()

void TPZCompElDisc::SetTrueUseQsiEta ( )
inline

◆ Shape()

void TPZCompElDisc::Shape ( TPZVec< REAL > &  qsi,
TPZFMatrix< REAL > &  phi,
TPZFMatrix< REAL > &  dphidxi 
)
overridevirtual

Computes the shape function set at the point x. This method uses the order of interpolation of the element along the sides to compute the number of shapefunctions.

Parameters
qsipoint in master element coordinates
phivector of values of shapefunctions, dimension (numshape,1)
dphimatrix of derivatives of shapefunctions, dimension (dim,numshape)

Implements TPZInterpolationSpace.

Definition at line 255 of file TPZCompElDisc.cpp.

References fUseQsiEta, TPZCompEl::Reference(), ShapeX(), and TPZGeoEl::X().

Referenced by BuildTransferMatrix(), ClonePatchEl(), and ComputeShape().

◆ ShapeX()

void TPZCompElDisc::ShapeX ( TPZVec< REAL > &  X,
TPZFMatrix< REAL > &  phi,
TPZFMatrix< REAL > &  dphi 
)
virtual

◆ SideConnectLocId()

virtual int TPZCompElDisc::SideConnectLocId ( int  icon,
int  is 
) const
inlineoverridevirtual

Returns the local node number of icon along is.

Parameters
iconconnect number along side is
isside which is being queried

Implements TPZInterpolationSpace.

Definition at line 287 of file TPZCompElDisc.h.

References DebugStop, MaxOrder(), MaxOrderExceptExternalShapes(), NConnectShapeF(), and NShapeF().

◆ SizeOfElement()

REAL TPZCompElDisc::SizeOfElement ( )

◆ SolutionX()

void TPZCompElDisc::SolutionX ( TPZVec< REAL > &  x,
TPZVec< STATE > &  uh 
)

Computes the solution in function of a point in cartesian space.

Deprecated:

Deprecated shape function method. It is kept because of TPZAgglomerateElement.
It does not include singular shape functions if they exist.

Definition at line 588 of file TPZCompElDisc.cpp.

References TPZCompMesh::Block(), TPZCompEl::Connect(), Dimension(), TPZVec< T >::Fill(), TPZCompEl::Material(), TPZCompEl::Mesh(), NShapeF(), TPZMaterial::NStateVariables(), TPZBlock< TVar >::Position(), TPZConnect::SequenceNumber(), ShapeX(), TPZBlock< TVar >::Size(), and TPZCompMesh::Solution().

Referenced by TPZAgglomerateElement::ProjectSolution(), and VolumeOfEl().

◆ Type()

virtual MElementType TPZCompElDisc::Type ( )
inlineoverridevirtual

Type of the element.

Reimplemented from TPZCompEl.

Reimplemented in TPZAgglomerateElement.

Definition at line 211 of file TPZCompElDisc.h.

References EDiscontinuous.

Referenced by TPZCompMesh::BuildTransferMatrixDesc(), CenterPoint(), and TPZAgglomerateElement::ListOfDiscEl().

◆ VolumeOfEl()

virtual REAL TPZCompElDisc::VolumeOfEl ( )
inlineoverridevirtual

◆ Write()

void TPZCompElDisc::Write ( TPZStream buf,
int  withclassid 
) const
overridevirtual

Member Data Documentation

◆ fCenterPoint

TPZManVector<REAL,3> TPZCompElDisc::fCenterPoint
protected

It keeps the interior point coordinations of the element.

Definition at line 87 of file TPZCompElDisc.h.

Referenced by TPZAgglomerateElement::CenterPoint(), InternalPoint(), NormalizeConst(), Print(), Read(), ShapeX(), and Write().

◆ fConnectIndex

int64_t TPZCompElDisc::fConnectIndex
protected

It preserves index of connect associated to the element.

Definition at line 73 of file TPZCompElDisc.h.

Referenced by ConnectIndex(), CreateMidSideConnect(), Degree(), NConnects(), NShapeF(), Print(), Read(), SetDegree(), SetExternalShapeFunction(), and Write().

◆ fConstC

REAL TPZCompElDisc::fConstC
protected

Normalizing constant for shape functions.

Definition at line 76 of file TPZCompElDisc.h.

Referenced by ConstC(), Print(), Read(), ShapeX(), TPZCompElDisc(), and Write().

◆ fExternalShape

TPZAutoPointer<TPZFunction<STATE> > TPZCompElDisc::fExternalShape
protected

A pz function to allow the inclusion of extra shape functions which are defined externally.

Definition at line 82 of file TPZCompElDisc.h.

Referenced by AppendExternalShapeFunctions(), EvaluateSquareResidual2D(), HasExternalShapeFunction(), MaxOrder(), NShapeF(), SetExternalShapeFunction(), TPZCompElDisc(), and Write().

◆ fIntRule

TPZAutoPointer<TPZIntPoints> TPZCompElDisc::fIntRule
protected

Definition at line 43 of file TPZCompElDisc.h.

Referenced by GetIntegrationRule(), Read(), TPZCompElDisc(), and Write().

◆ fShapefunctionType

pzshape::TPZShapeDisc::MShapeType TPZCompElDisc::fShapefunctionType
protected

Shape function type used by the element.

Definition at line 46 of file TPZCompElDisc.h.

Referenced by AppendExternalShapeFunctions(), Divide(), NShapeF(), Read(), ShapeX(), TPZCompElDisc(), and Write().

◆ fUseQsiEta

bool TPZCompElDisc::fUseQsiEta
protected

Variable to choose the qsi point or the X point in the calculus of the phis and dphis.

Definition at line 79 of file TPZCompElDisc.h.

Referenced by ComputeShape(), Print(), Shape(), and TPZCompElDisc().


The documentation for this class was generated from the following files: