NeoPZ
|
#include <pzelchdiv.h>
Public Member Functions | |
TPZCompElHDiv (TPZCompMesh &mesh, TPZGeoEl *gel, int64_t &index) | |
TPZCompElHDiv (TPZCompMesh &mesh, const TPZCompElHDiv< TSHAPE > ©) | |
TPZCompElHDiv (TPZCompMesh &mesh, const TPZCompElHDiv< TSHAPE > ©, std::map< int64_t, int64_t > &gl2lcConMap, std::map< int64_t, int64_t > &gl2lcElMap) | |
Constructor used to generate patch mesh... generates a map of connect index from global mesh to clone mesh. More... | |
TPZCompElHDiv () | |
virtual | ~TPZCompElHDiv () |
virtual TPZCompEl * | Clone (TPZCompMesh &mesh) const override |
Method for creating a copy of the element. More... | |
virtual TPZCompEl * | ClonePatchEl (TPZCompMesh &mesh, std::map< int64_t, int64_t > &gl2lcConMap, std::map< int64_t, int64_t > &gl2lcElMap) const override |
Create a copy of the given element. The clone copy have the connect indexes mapped to the local clone connects by the given map. More... | |
virtual void | SetCreateFunctions (TPZCompMesh *mesh) override |
Set create function in TPZCompMesh to create elements of this type. More... | |
virtual void | Print (std::ostream &out=std::cout) const override |
Prints the relevant data of the element to the output stream. More... | |
virtual MElementType | Type () override |
Return the type of the element. More... | |
virtual int | NConnects () const override |
Returns the number of connect objects of the element. More... | |
virtual void | SetConnectIndex (int i, int64_t connectindex) override |
Sets the node pointer of node i to nod. More... | |
int | RestrainedFace () |
return the first one dof restraint More... | |
virtual int | NConnectShapeF (int connect, int order) const override |
Number of shapefunctions of the connect associated. More... | |
virtual int | Dimension () const override |
Returns the dimension of the element. More... | |
virtual int | NCornerConnects () const override |
Returns the number of corner connects of the element. More... | |
virtual int | NFluxShapeF () const |
return the number of shape for flux(just for flux) More... | |
virtual int | NSideConnects (int side) const override |
Returns the number of dof nodes along side iside. More... | |
virtual int | SideConnectLocId (int node, int side) const override |
return the local index for connect More... | |
virtual int | ConnectSideLocId (int connect) const |
return the local index for side More... | |
virtual int64_t | ConnectIndex (int con) const override |
Returns the index of the ith connectivity of the element. More... | |
virtual void | AddShapeRestraint (TPZOneShapeRestraint restraint) override |
Add a shape restraint (meant to fit the pyramid to restraint. More... | |
virtual std::list< TPZOneShapeRestraint > | GetShapeRestraints () const override |
Return a list with the shape restraints. More... | |
virtual void | ResetShapeRestraints () override |
Return a list with the shape restraints. More... | |
virtual int | GetSideOrient (int side) override |
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) override |
It set the normal orientation of the element by the side. Only side that has dimension equal to my dimension minus one. More... | |
virtual void | SetIntegrationRule (int ord) override |
virtual void | GetInterpolationOrder (TPZVec< int > &ord) override |
Identifies the interpolation order on the interior of the element. More... | |
virtual int | PreferredSideOrder (int iside) override |
Returns the preferred order of the polynomial along side iside. More... | |
virtual void | SetPreferredOrder (int order) override |
Sets the preferred interpolation order along a side. More... | |
virtual void | SetSideOrder (int side, int order) override |
Sets the interpolation order of side to order. More... | |
virtual int | EffectiveSideOrder (int side) const override |
Returns the actual interpolation order of the polynomial along the side. More... | |
virtual int | ConnectOrder (int connect) const override |
return the interpolation order of the polynomial for connect More... | |
int | NShapeContinuous (TPZVec< int > &order) |
return the number of continuous functions More... | |
void | FillOrder (TPZVec< int > &order) const |
Fill the polynomial order needed from the continuous shape functions. More... | |
virtual int | MaxOrder () override |
Return the maximum order?? More... | |
int | SideOrient (int face) |
the orientation of the face More... | |
virtual void | InitMaterialData (TPZMaterialData &data) override |
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) override |
Compute and fill data with requested attributes. More... | |
void | ComputeShapeIndex (TPZVec< int > &sides, TPZVec< int64_t > &shapeindex) |
Compute the correspondence between the normal vectors and the shape functions. More... | |
void | FirstShapeIndex (TPZVec< int64_t > &Index) const |
Returns the vector index of the first index shape associate to to each side Special implementation to Hdiv. More... | |
void | IndexShapeToVec (TPZVec< int > &VectorSide, TPZVec< std::pair< int, int64_t > > &IndexVecShape, int pressureorder) |
Returns a matrix index of the shape and vector associate to element. More... | |
void | IndexShapeToVec (TPZVec< int > &VectorSide, TPZVec< int > &bilinear, TPZVec< int > &direction, TPZVec< std::pair< int, int64_t > > &IndexVecShape, int pressureorder) |
Returns a matrix index of the shape and vector associate to element. More... | |
void | IndexShapeToVec2 (TPZVec< int > &VectorSide, TPZVec< int > &bilinear, TPZVec< int > &direction, TPZVec< std::pair< int, int64_t > > &IndexVecShape, int pressureorder) |
virtual void | SideShapeFunction (int side, TPZVec< REAL > &point, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi) override |
Computes the values of the shape function of the side. More... | |
void | Shape (TPZVec< REAL > &pt, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi) override |
Computes the shape function set at the point x. More... | |
virtual void | Solution (TPZVec< REAL > &qsi, int var, TPZVec< STATE > &sol) override |
Compute the solution for a given variable. 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... | |
void | ComputeSolutionHDiv (TPZVec< REAL > &qsi, TPZMaterialData &data) |
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. More... | |
void | ComputeSolutionHDiv (TPZMaterialData &data) |
Compute the solution using Hdiv structure. More... | |
void | CreateGraphicalElement (TPZGraphMesh &grafgrid, int dimension) override |
Creates corresponding graphical element(s) if the dimension matches graphical elements are used to generate output files. More... | |
TPZTransform | TransformSideToElement (int side) override |
Returns the transformation which transform a point from the side to the interior of the element. More... | |
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 | PRefine (int order) override |
Refinement along the element. More... | |
template<> | |
int | RestrainedFace () |
Public Member Functions inherited from TPZIntelGen< TSHAPE > | |
TPZIntelGen (TPZCompMesh &mesh, TPZGeoEl *gel, int64_t &index) | |
TPZIntelGen (TPZCompMesh &mesh, TPZGeoEl *gel, int64_t &index, int nocreate) | |
TPZIntelGen (TPZCompMesh &mesh, const TPZIntelGen< TSHAPE > ©) | |
TPZIntelGen (TPZCompMesh &mesh, const TPZIntelGen< TSHAPE > ©, std::map< int64_t, int64_t > &gl2lcConMap, std::map< int64_t, int64_t > &gl2lcElMap) | |
Constructor used to generate patch mesh... generates a map of connect index from global mesh to clone mesh. More... | |
TPZIntelGen () | |
virtual | ~TPZIntelGen () |
virtual void | SetInterpolationOrder (int order) |
Sets the interpolation order for the interior of the element. More... | |
void | Shape (TPZVec< REAL > &pt, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi) override |
Computes the shape function set at the point x. More... | |
void | CreateGraphicalElement (TPZGraphMesh &grafgrid, int dimension) override |
Creates corresponding graphical element(s) if the dimension matches graphical elements are used to generate output files. More... | |
TPZTransform | TransformSideToElement (int side) override |
Returns the transformation which transform a point from the side to the interior of the element. More... | |
virtual const TPZIntPoints & | GetIntegrationRule () const override |
Returns a reference to an integration rule suitable for integrating the interior of the element. More... | |
virtual TPZIntPoints & | GetIntegrationRule () override |
Returns a reference to an integration rule suitable for integrating the interior of the element. More... | |
template<> | |
void | CreateGraphicalElement (TPZGraphMesh &grafgrid, int dimension) |
Creates corresponding graphical element(s) if the dimension matches graphical elements are used to generate output files. More... | |
Public Member Functions inherited from TPZInterpolatedElement | |
TPZInterpolatedElement (TPZCompMesh &mesh, TPZGeoEl *reference, int64_t &index) | |
Constructor with a mesh and geometric element as arguments. More... | |
TPZInterpolatedElement (TPZCompMesh &mesh, const TPZInterpolatedElement ©) | |
Constructor aimed at creating a copy of an interpolated element within a new mesh. More... | |
TPZInterpolatedElement (TPZCompMesh &mesh, const TPZInterpolatedElement ©, std::map< int64_t, int64_t > &gl2lcElMap) | |
Copy the given element into a new patch mesh. More... | |
TPZInterpolatedElement () | |
virtual | ~TPZInterpolatedElement () |
Destructor, does nothing. More... | |
int | ClassId () const override |
Define the class id associated with the class. More... | |
void | Write (TPZStream &buf, int withclassid) const override |
Saves the element data to a stream. More... | |
void | Read (TPZStream &buf, void *context) override |
Reads the element data from a stream. More... | |
virtual void | SetInterface (int, int64_t) |
To enable to work with discontinuous element that can have interface elements. More... | |
virtual int | Interface (int) |
virtual int | CanHaveInterface () |
virtual void | DeleteInterfaces () |
REAL | MeanSolution (int var) |
Returns total mass contained into the element. More... | |
void | CalcIntegral (TPZElementMatrix &ef) |
Computes the integral over the finite element. More... | |
int | NShapeF () const override |
Returns the total number of shapefunctions. More... | |
int | NSideShapeF (int side) const |
Returns the number of shape functions on a side. More... | |
virtual int | MidSideConnectLocId (int is) const |
Returns the local id of the connect in the middle of the side. More... | |
virtual TPZConnect & | MidSideConnect (int is) const |
Returns a reference to the connect in the middle of the side. More... | |
int64_t | SideConnectIndex (int icon, int is) const |
Returns the index of the c th connect object along side is. More... | |
TPZConnect & | SideConnect (int icon, int is) |
Returns a pointer to the icon th connect object along side is. 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 | AdjustPreferredSideOrder (int side, int order) |
Adjusts the preferredSideOrder for faces. More... | |
bool | VerifyConstraintConsistency (int side, TPZCompElSide large) const |
return true if the connects associated with the side have dependency with large and if the dependency dimensions match More... | |
virtual void | ForceSideOrder (int side, int order) |
Impose an interpolation order on a given side (without using computesideorder) More... | |
virtual REAL | CompareElement (int var, char *matname) override |
Compare the L2 norm of the difference between the švarš solution of the current element with the švarš solution of the element which is pointed to by the geometric element. More... | |
void | CheckConstraintConsistency (int side) |
Check the consistency of the constrained connects along a side. More... | |
void | CheckConstraintConsistency () |
Check the consistency of the constrained connects for all sides. More... | |
virtual int | CheckElementConsistency () |
Checks element data structure consistancy. More... | |
int | CompareShapeF (int sides, int sidel, TPZFMatrix< REAL > &phis, TPZFMatrix< REAL > &dphis, TPZFMatrix< REAL > &phil, TPZFMatrix< REAL > &dphil, TPZTransform<> &transform) |
Compare the shape functions of sides of an element. More... | |
void | Divide (int64_t index, TPZVec< int64_t > &sub, int interpolatesolution=0) override |
Implement the refinement of an interpolated element. More... | |
void | PRefine (int order) override |
Changes the interpolation order of a side. Updates all constraints and block sizes . More... | |
virtual void | RestrainSide (int side, TPZInterpolatedElement *neighbour, int neighbourside) |
Compute the shapefunction restraints which need to be applied to the shape functions on the side of the element. More... | |
virtual void | RemoveSideRestraintsII (MInsertMode mode) |
Delete the restraints on the nodes of the connected elements if necessary. More... | |
virtual void | RemoveSideRestraintWithRespectTo (int side, const TPZCompElSide &neighbour) |
Removes the side restraints of the current element along side with respect to neighbour/side. More... | |
void | RecomputeRestraints (int side) |
Will recompute the restraints of all connects which are restrained by this side. More... | |
virtual void | BuildTransferMatrix (TPZInterpolatedElement &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... | |
virtual int64_t | CreateMidSideConnect (int side) |
Verify the neighbours of the element and create a node along this side. More... | |
virtual void | IdentifySideOrder (int side) |
Checks if the side order is consistent with the preferred side order and with the constraints and recomputes the constraints if necessary. More... | |
Public Member Functions inherited from TPZInterpolationSpace | |
TPZInterpolationSpace () | |
Default constructor. More... | |
virtual | ~TPZInterpolationSpace () |
Default destructor. More... | |
TPZInterpolationSpace (TPZCompMesh &mesh, const TPZInterpolationSpace ©) | |
Puts a copy of the element in the referred mesh. More... | |
TPZInterpolationSpace (TPZCompMesh &mesh, const TPZInterpolationSpace ©, std::map< int64_t, int64_t > &gl2lcElMap) | |
Puts a copy of the element in the patch mesh. More... | |
TPZInterpolationSpace (TPZCompMesh &mesh, const TPZInterpolationSpace ©, 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 | ComputeShape (TPZVec< REAL > &intpoint, TPZMaterialData &data) |
Compute shape functions based on master element in the classical FEM manne. 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... | |
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... | |
TPZInterfaceElement * | CreateInterface (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... | |
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... | |
TPZConnect & | SideConnect (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 | 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) |
Compute shape functions based on master element in the classical FEM manner. More... | |
Public Member Functions inherited from TPZCompEl | |
TPZCompEl () | |
Simple Constructor. More... | |
virtual | ~TPZCompEl () |
Simple destructor. More... | |
TPZCompEl (TPZCompMesh &mesh, const TPZCompEl ©) | |
Put a copy of the element in the referred mesh. More... | |
TPZCompEl (TPZCompMesh &mesh, const TPZCompEl ©, std::map< int64_t, int64_t > &gl2lcElMap) | |
Put a copy of the element in the patch mesh. More... | |
TPZCompEl (TPZCompMesh &mesh, const TPZCompEl ©, 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 REAL | VolumeOfEl () |
Returns the volume of the geometric element associated. More... | |
virtual void | LoadElementReference () |
Loads the geometric element reference. 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 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 () |
TPZGeoEl * | Reference () 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 TPZConnect & | Connect (int i) const |
Returns a pointer to the ith node. More... | |
virtual TPZMaterial * | Material () const |
Identify the material object associated with the element. More... | |
TPZGeoEl * | GetRefElPatch () |
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... | |
TPZCompMesh * | Mesh () 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 | |
Protected Member Functions | |
void | Append (TPZFMatrix< REAL > &u1, TPZFMatrix< REAL > &u2, TPZFMatrix< REAL > &u12) |
To append vectors. More... | |
Protected Member Functions inherited from TPZInterpolatedElement | |
void | UpdateNeighbourSideOrder (int side, TPZVec< TPZCompElSide > &elvec) |
Updates the interpolation order of all neighbouring elements along side to have side order equal to the side order of the current element. 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... | |
Private Attributes | |
TPZManVector< int, TSHAPE::NFaces > | fSideOrient |
vector which defines whether the normal is outward or not More... | |
std::list< TPZOneShapeRestraint > | fRestraints |
Data structure which defines the restraints. More... | |
Additional Inherited Members | |
Public Types inherited from TPZInterpolatedElement | |
enum | MInsertMode { EInsert, EDelete } |
Defines a flag indicating the state of creation/deletion of the element This has an impact on how constraints are being computed. 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 TPZSavable * | CreateInstance (const int &classId) |
Static Protected Member Functions inherited from TPZInterpolatedElement | |
static int | ComputeSideOrder (TPZVec< TPZCompElSide > &elementset) |
Computes the minimum interpolation order of the elements contained in elementset this method is used to identify the side order of a set of equal level elements. More... | |
Protected Attributes inherited from TPZIntelGen< TSHAPE > | |
TPZManVector< int64_t, TSHAPE::NSides > | fConnectIndexes |
Indexes of the connects associated with the elements. More... | |
TSHAPE::IntruleType | fIntRule |
Integration rule associated with the topology of the element. More... | |
Protected Attributes inherited from TPZInterpolationSpace | |
int | fPreferredOrder |
Preferred polynomial order. More... | |
Protected Attributes inherited from TPZCompEl | |
TPZCompMesh * | fMesh |
Computational mesh to which the element belongs. More... | |
int64_t | fIndex |
Element index into mesh element vector. More... | |
TPZIntPoints * | fIntegrationRule |
Integration rule established by the user. More... | |
By varying the classes passed as template arguments, the complete family of computational elements are implemented
Definition at line 22 of file pzelchdiv.h.
TPZCompElHDiv< TSHAPE >::TPZCompElHDiv | ( | TPZCompMesh & | mesh, |
TPZGeoEl * | gel, | ||
int64_t & | index | ||
) |
Definition at line 32 of file pzelchdiv.cpp.
References TPZCompMesh::ConnectVec(), TPZInterpolatedElement::CreateMidSideConnect(), TPZGeoEl::Dimension(), TPZCompElHDiv< TSHAPE >::EffectiveSideOrder(), TPZIntelGen< TSHAPE >::fConnectIndexes, TPZIntelGen< TSHAPE >::fIntRule, TPZInterpolationSpace::fPreferredOrder, TPZCompElHDiv< TSHAPE >::fSideOrient, TPZCompMesh::GetDefaultOrder(), TPZInterpolatedElement::IdentifySideOrder(), TPZMaterial::IntegrationRuleOrder(), LOGPZ_DEBUG, TPZCompEl::Material(), TPZCompElHDiv< TSHAPE >::MaxOrder(), TPZCompElHDiv< TSHAPE >::NConnects(), TPZGeoEl::NormalOrientation(), TPZStack< T, NumExtAlloc >::Push(), TPZCompEl::Reference(), TPZManVector< T, NumExtAlloc >::Resize(), TPZGeoEl::SetReference(), and TPZVec< T >::size().
TPZCompElHDiv< TSHAPE >::TPZCompElHDiv | ( | TPZCompMesh & | mesh, |
const TPZCompElHDiv< TSHAPE > & | copy | ||
) |
Definition at line 92 of file pzelchdiv.cpp.
References TPZIntelGen< TSHAPE >::fConnectIndexes, and TPZInterpolationSpace::fPreferredOrder.
TPZCompElHDiv< TSHAPE >::TPZCompElHDiv | ( | TPZCompMesh & | mesh, |
const TPZCompElHDiv< TSHAPE > & | copy, | ||
std::map< int64_t, int64_t > & | gl2lcConMap, | ||
std::map< int64_t, int64_t > & | gl2lcElMap | ||
) |
Constructor used to generate patch mesh... generates a map of connect index from global mesh to clone mesh.
Definition at line 102 of file pzelchdiv.cpp.
References TPZIntelGen< TSHAPE >::fConnectIndexes, TPZInterpolationSpace::fPreferredOrder, LOGPZ_ERROR, and TPZCompElHDiv< TSHAPE >::NConnects().
TPZCompElHDiv< TSHAPE >::TPZCompElHDiv | ( | ) |
Definition at line 131 of file pzelchdiv.cpp.
References TPZIntelGen< TSHAPE >::fConnectIndexes, and TPZInterpolationSpace::fPreferredOrder.
|
virtual |
Definition at line 144 of file pzelchdiv.cpp.
References TPZCompEl::Connect(), DebugStop, TPZGeoEl::Dimension(), TPZGeoElSide::Element(), TPZCompElSide::Element(), TPZGeoElSide::HigherLevelCompElementList3(), TPZGeoElSide::LowerLevelCompElementList2(), TPZCompEl::Reference(), TPZGeoEl::Reference(), TPZConnect::RemoveDepend(), TPZGeoEl::ResetReference(), TPZCompElSide::Side(), TPZInterpolatedElement::SideConnectLocId(), TPZCompElHDiv< TSHAPE >::SideConnectLocId(), TPZGeoEl::SideDimension(), and TPZVec< T >::size().
|
inlineoverridevirtual |
Add a shape restraint (meant to fit the pyramid to restraint.
Reimplemented from TPZInterpolatedElement.
Definition at line 120 of file pzelchdiv.h.
Referenced by TPZCompMeshTools::AddHDivPyramidRestraints().
|
protected |
To append vectors.
Definition at line 1213 of file pzelchdiv.cpp.
References TPZMatrix< TVar >::Cols(), PZError, TPZFMatrix< TVar >::Redim(), and TPZMatrix< TVar >::Rows().
|
inlineoverridevirtual |
Method for creating a copy of the element.
Reimplemented from TPZIntelGen< TSHAPE >.
Reimplemented in TPZCompElHDivPressure< TSHAPE >.
Definition at line 53 of file pzelchdiv.h.
|
inlineoverridevirtual |
Create a copy of the given element. The clone copy have the connect indexes mapped to the local clone connects by the given map.
mesh | Patch clone mesh |
gl2lcConMap | map the connects indexes from global element (original) to the local copy. |
gl2lcElMap | map the indexes of the elements between the original element and the patch element |
Reimplemented from TPZIntelGen< TSHAPE >.
Reimplemented in TPZCompElHDivPressure< TSHAPE >.
Definition at line 64 of file pzelchdiv.h.
References TPZCompElHDiv< TSHAPE >::NConnects(), TPZCompElHDiv< TSHAPE >::NConnectShapeF(), TPZCompElHDiv< TSHAPE >::Print(), TPZCompElHDiv< TSHAPE >::RestrainedFace(), TPZCompElHDiv< TSHAPE >::SetConnectIndex(), TPZCompElHDiv< TSHAPE >::SetCreateFunctions(), and TPZCompElHDiv< TSHAPE >::Type().
|
overridevirtual |
Compute and fill data with requested attributes.
Reimplemented from TPZInterpolationSpace.
Definition at line 1376 of file pzelchdiv.cpp.
References TPZMaterialData::ComputeFunctionDivergence(), TPZInterpolationSpace::ComputeRequiredData(), TPZCompElHDiv< TSHAPE >::ComputeSolution(), DebugStop, EMathematicaInput, TPZMaterialData::fDirectionsOnMaster, TPZMaterialData::fNeedsNormalVecFad, TPZMaterialData::fNeedsSol, TPZMaterialData::fNormalVec, TPZCompElHDiv< TSHAPE >::fSideOrient, TPZGeoEl::HDivDirections(), TPZGeoEl::HDivDirectionsMaster(), LOGPZ_DEBUG, TPZMatrix< TVar >::Print(), TPZCompEl::Reference(), and TPZCompElHDiv< TSHAPE >::RestrainedFace().
Referenced by TPZCompElHDiv< TSHAPE >::ComputeSolution(), TPZCompElHDiv< TSHAPE >::SideOrient(), and TPZCompElHDiv< TSHAPE >::Solution().
void TPZCompElHDiv< TSHAPE >::ComputeShapeIndex | ( | TPZVec< int > & | sides, |
TPZVec< int64_t > & | shapeindex | ||
) |
Compute the correspondence between the normal vectors and the shape functions.
Definition at line 1341 of file pzelchdiv.cpp.
References TPZCompEl::Connect(), DebugStop, TPZCompElHDiv< TSHAPE >::FirstShapeIndex(), LOGPZ_DEBUG, TPZVec< T >::NElements(), TPZInterpolatedElement::NShapeF(), TPZConnect::Order(), TPZVec< T >::Resize(), and TPZCompElHDiv< TSHAPE >::SideConnectLocId().
Referenced by TPZCompElHDiv< TSHAPE >::SideOrient().
|
overridevirtual |
Computes solution and its derivatives in the local coordinate qsi.
Methods for error evaluation
Methods for computing derived post processed values (depending on the variational statement)
qsi | master element coordinate |
sol | finite element solution |
dsol | solution derivatives |
axes | axes indicating the direction of the derivatives |
Reimplemented from TPZInterpolatedElement.
Reimplemented in TPZCompElHDivPressure< TSHAPE >.
Definition at line 1035 of file pzelchdiv.cpp.
References TPZMaterialData::axes, TPZCompElHDiv< TSHAPE >::ComputeRequiredData(), TPZGeoEl::Dimension(), TPZMaterialData::dsol, TPZMaterialData::fNeedsSol, TPZCompElHDiv< TSHAPE >::InitMaterialData(), TPZInterpolatedElement::NShapeF(), TPZCompEl::Reference(), and TPZMaterialData::sol.
Referenced by TPZCompElHDiv< TSHAPE >::ComputeRequiredData(), and TPZCompElHDiv< TSHAPE >::SideOrient().
|
overridevirtual |
Compute shape functions based on master element in the classical FEM manne.
[in] | qsi | point in master element coordinates |
[in] | data | stores all input data |
Reimplemented from TPZInterpolatedElement.
Reimplemented in TPZCompElHDivPressure< TSHAPE >.
Definition at line 1028 of file pzelchdiv.cpp.
References TPZCompElHDiv< TSHAPE >::ComputeSolutionHDiv().
|
overridevirtual |
Computes solution and its derivatives in local coordinate qsi.
qsi | master element coordinate |
phi | matrix containing shape functions compute in qsi point |
dphix | matrix containing the derivatives of shape functions with respect of global coordinates: D[phi,x], D[phi,y], D[phi,z] |
axes | axes indicating the direction of the derivatives |
sol | finite element solution |
dsol | solution derivatives |
Reimplemented from TPZInterpolatedElement.
Reimplemented in TPZCompElHDivPressure< TSHAPE >.
Definition at line 1015 of file pzelchdiv.cpp.
References TPZMaterialData::axes, TPZCompElHDiv< TSHAPE >::ComputeSolutionHDiv(), TPZMaterialData::dphix, TPZMaterialData::dsol, TPZCompElHDiv< TSHAPE >::InitMaterialData(), TPZMaterialData::phi, and TPZMaterialData::sol.
|
inlineoverridevirtual |
Computes solution and its derivatives in the local coordinate qsi.
qsi | master element coordinate of the interface element |
normal | unit normal vector |
leftsol | finite element solution |
dleftsol | solution derivatives |
leftaxes | axes associated with the left solution |
rightsol | finite element solution |
drightsol | solution derivatives |
rightaxes | axes associated with the right solution This method will function for both volumetric and interface elements |
Reimplemented from TPZInterpolatedElement.
Definition at line 271 of file pzelchdiv.h.
References TPZCompElHDiv< TSHAPE >::ClassId(), TPZCompElHDiv< TSHAPE >::ComputeSolutionHDiv(), TPZCompElHDiv< TSHAPE >::CreateGraphicalElement(), DebugStop, dimension, TPZCompElHDiv< TSHAPE >::PRefine(), TPZCompElHDiv< TSHAPE >::Read(), TPZCompElHDiv< TSHAPE >::TransformSideToElement(), and TPZCompElHDiv< TSHAPE >::Write().
void TPZCompElHDiv< TSHAPE >::ComputeSolutionHDiv | ( | TPZVec< REAL > & | qsi, |
TPZMaterialData & | data | ||
) |
Definition at line 1007 of file pzelchdiv.cpp.
References TPZInterpolationSpace::ComputeShape().
Referenced by TPZCompElHDiv< TSHAPE >::ComputeSolution(), TPZCompElHDiv< TSHAPE >::SideOrient(), and TPZCompElHDiv< TSHAPE >::Solution().
void TPZCompElHDiv< TSHAPE >::ComputeSolutionHDiv | ( | TPZMaterialData & | data | ) |
Compute the solution using Hdiv structure.
ish loops of the number of shape functions associated with the block
Definition at line 1051 of file pzelchdiv.cpp.
References abs(), TPZMaterialData::axes, TPZAxesTools< TVar >::Axes2XYZ(), TPZCompMesh::Block(), TPZMatrix< TVar >::Cols(), TPZCompEl::Connect(), DebugStop, TPZMaterialData::divphi, TPZMaterialData::divsol, TPZMaterialData::dphix, TPZMaterialData::dsol, test::f, TPZVec< T >::Fill(), TPZMaterialData::fNeedsNormalVecFad, TPZMaterialData::fNormalVec, TPZMaterialData::fVecShapeIndex, idf, LOGPZ_DEBUG, TPZCompEl::Material(), TPZCompEl::Mesh(), TPZCompElHDiv< TSHAPE >::NConnects(), TPZVec< T >::NElements(), TPZMaterial::NStateVariables(), TPZMaterialData::phi, TPZBlock< TVar >::Position(), TPZVec< T >::Print(), TPZManVector< T, NumExtAlloc >::Resize(), TPZMatrix< TVar >::Rows(), TPZConnect::SequenceNumber(), TPZBlock< TVar >::Size(), TPZVec< T >::size(), TPZMaterialData::sol, TPZCompMesh::Solution(), TPZMaterialData::x, and TPZFMatrix< TVar >::Zero().
|
overridevirtual |
Returns the index of the ith connectivity of the element.
i | connectivity index who want knows |
Reimplemented from TPZIntelGen< TSHAPE >.
Reimplemented in TPZCompElHDivPressure< TSHAPE >.
Definition at line 479 of file pzelchdiv.cpp.
References DebugStop, TPZIntelGen< TSHAPE >::fConnectIndexes, and TPZCompElHDiv< TSHAPE >::NConnects().
Referenced by TPZCompElHDiv< TSHAPE >::NConnectShapeF(), TPZCompElHDiv< TSHAPE >::NCornerConnects(), and TPZCompElHDiv< TSHAPE >::RestrainedFace().
|
overridevirtual |
return the interpolation order of the polynomial for connect
Reimplemented from TPZIntelGen< TSHAPE >.
Reimplemented in TPZCompElHDivPressure< TSHAPE >.
Definition at line 544 of file pzelchdiv.cpp.
References TPZCompEl::Connect(), TPZIntelGen< TSHAPE >::fConnectIndexes, LOGPZ_DEBUG, LOGPZ_ERROR, TPZCompElHDiv< TSHAPE >::NConnects(), and TPZConnect::Order().
Referenced by TPZCompElHDivPressure< TSHAPE >::ConnectOrder(), TPZCompElHDiv< TSHAPE >::EffectiveSideOrder(), TPZCompElHDiv< TSHAPE >::GetInterpolationOrder(), and TPZCompElHDiv< TSHAPE >::ResetShapeRestraints().
|
virtual |
return the local index for side
Definition at line 442 of file pzelchdiv.cpp.
Referenced by TPZCompElHDiv< TSHAPE >::NCornerConnects(), and TPZCompElHDiv< TSHAPE >::PRefine().
|
overridevirtual |
Creates corresponding graphical element(s) if the dimension matches graphical elements are used to generate output files.
graphmesh | graphical mesh where the element will be created |
dimension | target dimension of the graphical element |
Reimplemented from TPZCompEl.
Reimplemented in TPZCompElHDivPressure< TSHAPE >.
Definition at line 1743 of file pzelchdiv.cpp.
References TPZCompEl::Material().
Referenced by TPZCompElHDiv< TSHAPE >::ComputeSolution().
|
inlineoverridevirtual |
Returns the dimension of the element.
Reimplemented from TPZIntelGen< TSHAPE >.
Reimplemented in TPZCompElHDivPressure< TSHAPE >.
Definition at line 93 of file pzelchdiv.h.
Referenced by TPZCompElHDiv< TSHAPE >::NConnects(), TPZCompElHDiv< TSHAPE >::NSideConnects(), and TPZCompElHDiv< TSHAPE >::PreferredSideOrder().
|
overridevirtual |
Returns the actual interpolation order of the polynomial along the side.
Reimplemented from TPZIntelGen< TSHAPE >.
Definition at line 574 of file pzelchdiv.cpp.
References TPZCompElHDiv< TSHAPE >::ConnectOrder(), DebugStop, TPZCompElHDiv< TSHAPE >::NConnects(), TPZVec< T >::NElements(), TPZCompElHDiv< TSHAPE >::NSideConnects(), and TPZCompElHDiv< TSHAPE >::SideConnectLocId().
Referenced by TPZCompElHDiv< TSHAPE >::ResetShapeRestraints(), and TPZCompElHDiv< TSHAPE >::TPZCompElHDiv().
void TPZCompElHDiv< TSHAPE >::FillOrder | ( | TPZVec< int > & | order | ) | const |
Fill the polynomial order needed from the continuous shape functions.
Definition at line 1248 of file pzelchdiv.cpp.
References TPZCompEl::Connect(), DebugStop, TPZCompElHDiv< TSHAPE >::NConnects(), TPZConnect::Order(), TPZVec< T >::resize(), and TPZCompElHDiv< TSHAPE >::SideConnectLocId().
Referenced by TPZCompElHDiv< TSHAPE >::FirstShapeIndex(), TPZCompElHDiv< TSHAPE >::IndexShapeToVec2(), TPZCompElHDiv< TSHAPE >::NConnectShapeF(), TPZCompElHDiv< TSHAPE >::ResetShapeRestraints(), and TPZCompElHDiv< TSHAPE >::Shape().
void TPZCompElHDiv< TSHAPE >::FirstShapeIndex | ( | TPZVec< int64_t > & | Index | ) | const |
Returns the vector index of the first index shape associate to to each side Special implementation to Hdiv.
return the first shape associate to each side
Definition at line 599 of file pzelchdiv.cpp.
References TPZCompElHDiv< TSHAPE >::FillOrder(), TPZCompEl::Index(), and LOGPZ_DEBUG.
Referenced by TPZCompElHDiv< TSHAPE >::ComputeShapeIndex(), TPZCompElHDiv< TSHAPE >::IndexShapeToVec2(), TPZCompElHDiv< TSHAPE >::NConnectShapeF(), and TPZCompElHDiv< TSHAPE >::SideOrient().
|
overridevirtual |
Identifies the interpolation order on the interior of the element.
Reimplemented from TPZIntelGen< TSHAPE >.
Reimplemented in TPZCompElHDivPressure< TSHAPE >.
Definition at line 449 of file pzelchdiv.cpp.
References TPZCompElHDiv< TSHAPE >::ConnectOrder(), TPZCompElHDiv< TSHAPE >::NConnects(), and TPZVec< T >::Resize().
Referenced by TPZCompElHDiv< TSHAPE >::ResetShapeRestraints().
|
inlineoverridevirtual |
Return a list with the shape restraints.
Reimplemented from TPZCompEl.
Definition at line 126 of file pzelchdiv.h.
References TPZCompElHDiv< TSHAPE >::fRestraints.
|
overridevirtual |
It returns the normal orientation of the reference element by the side. Only side that has dimension larger than zero and smaller than me.
side | side of the reference elemen |
Reimplemented from TPZInterpolationSpace.
Definition at line 873 of file pzelchdiv.cpp.
References DebugStop, and TPZCompElHDiv< TSHAPE >::fSideOrient.
Referenced by TPZCompElHDiv< TSHAPE >::ResetShapeRestraints().
void TPZCompElHDiv< TSHAPE >::IndexShapeToVec | ( | TPZVec< int > & | VectorSide, |
TPZVec< std::pair< int, int64_t > > & | IndexVecShape, | ||
int | pressureorder | ||
) |
Returns a matrix index of the shape and vector associate to element.
[in] | VectorSide | Indicates the side associated with each vector |
[out] | IndexVecShape | Indicates for the vector/shape function for the approximation space |
[in] | pressureorder | Order of the pressure (to select shape functions?) |
Definition at line 861 of file pzelchdiv.cpp.
References DebugStop.
Referenced by TPZCompElHDiv< TSHAPE >::SideOrient().
void TPZCompElHDiv< TSHAPE >::IndexShapeToVec | ( | TPZVec< int > & | VectorSide, |
TPZVec< int > & | bilinear, | ||
TPZVec< int > & | direction, | ||
TPZVec< std::pair< int, int64_t > > & | IndexVecShape, | ||
int | pressureorder | ||
) |
Returns a matrix index of the shape and vector associate to element.
[in] | VectorSide | Indicates the side associated with each vector |
[out] | IndexVecShape | Indicates for the vector/shape function for the approximation space |
[in] | pressureorder | Order of the pressure (to select shape functions?) |
Definition at line 656 of file pzelchdiv.cpp.
References DebugStop.
void TPZCompElHDiv< TSHAPE >::IndexShapeToVec2 | ( | TPZVec< int > & | VectorSide, |
TPZVec< int > & | bilinear, | ||
TPZVec< int > & | direction, | ||
TPZVec< std::pair< int, int64_t > > & | IndexVecShape, | ||
int | pressureorder | ||
) |
Definition at line 664 of file pzelchdiv.cpp.
References TPZCompEl::Connect(), DebugStop, ECube, EOned, EPiramide, EPrisma, EQuadrilateral, ETetraedro, ETriangle, TPZCompElHDiv< TSHAPE >::FillOrder(), TPZCompElHDiv< TSHAPE >::FirstShapeIndex(), TPZGeoEl::HDivPermutation(), TPZGeoNode::Id(), LOGPZ_DEBUG, TPZVec< T >::NElements(), TPZCompElHDiv< TSHAPE >::NFluxShapeF(), TPZGeoEl::NodePtr(), TPZGeoElSide::NSides(), TPZConnect::Order(), TPZCompEl::Reference(), TPZVec< T >::resize(), TPZCompElHDiv< TSHAPE >::SideConnectLocId(), pztopology::sidedimension, and TPZVec< T >::size().
Referenced by TPZCompElHDiv< TSHAPE >::InitMaterialData(), and TPZCompElHDiv< TSHAPE >::SideOrient().
|
overridevirtual |
Initialize a material data and its attributes based on element dimension, number of state variables and material definitions.
Initialize a material data and its attributes based on element dimension, number of state variables and material definitions
Reimplemented from TPZInterpolationSpace.
Reimplemented in TPZCompElHDivPressure< TSHAPE >.
Definition at line 1471 of file pzelchdiv.cpp.
References TPZCompEl::Connect(), EMathematicaInput, EPiramide, TPZMaterialData::EVecandShape, TPZMaterialData::fDirectionsOnMaster, TPZMaterialData::fNormalVec, TPZMaterialData::fShapeType, TPZMaterialData::fVecShapeIndex, TPZGeoNode::Id(), TPZCompElHDiv< TSHAPE >::IndexShapeToVec2(), TPZInterpolationSpace::InitMaterialData(), LOGPZ_DEBUG, TPZCompElHDiv< TSHAPE >::NConnects(), TPZGeoEl::NodePtr(), TPZConnect::Order(), TPZMatrix< TVar >::Print(), TPZCompEl::Reference(), TPZVec< T >::resize(), TPZFMatrix< TVar >::Resize(), and TPZVec< T >::size().
Referenced by TPZCompElHDiv< TSHAPE >::ComputeSolution(), TPZCompElHDivPressure< TSHAPE >::InitMaterialData(), TPZCompElHDiv< TSHAPE >::SideOrient(), and TPZCompElHDiv< TSHAPE >::Solution().
|
overridevirtual |
Return the maximum order??
Reimplemented from TPZInterpolationSpace.
Definition at line 1689 of file pzelchdiv.cpp.
References TPZInterpolationSpace::MaxOrder().
Referenced by TPZCompElHDiv< TSHAPE >::ResetShapeRestraints(), TPZCompElHDivPressure< TSHAPE >::Solution(), and TPZCompElHDiv< TSHAPE >::TPZCompElHDiv().
|
overridevirtual |
Returns the number of connect objects of the element.
Reimplemented from TPZIntelGen< TSHAPE >.
Reimplemented in TPZCompElHDivPressure< TSHAPE >.
Definition at line 193 of file pzelchdiv.cpp.
References dimension, and TPZCompElHDiv< TSHAPE >::Dimension().
Referenced by TPZCompElHDiv< TSHAPE >::ClonePatchEl(), TPZCompElHDiv< TSHAPE >::ComputeSolutionHDiv(), TPZCompElHDiv< TSHAPE >::ConnectIndex(), TPZCompElHDiv< TSHAPE >::ConnectOrder(), TPZCompElHDiv< TSHAPE >::EffectiveSideOrder(), TPZCompElHDiv< TSHAPE >::FillOrder(), TPZCompElHDiv< TSHAPE >::GetInterpolationOrder(), TPZCompElHDiv< TSHAPE >::InitMaterialData(), TPZCompElHDivPressure< TSHAPE >::NConnects(), TPZCompElHDiv< TSHAPE >::NConnectShapeF(), TPZCompElHDiv< TSHAPE >::NFluxShapeF(), TPZCompElHDiv< TSHAPE >::PreferredSideOrder(), TPZCompElHDiv< TSHAPE >::PRefine(), TPZCompElHDiv< TSHAPE >::SetConnectIndex(), TPZCompElHDiv< TSHAPE >::SetSideOrder(), and TPZCompElHDiv< TSHAPE >::TPZCompElHDiv().
|
overridevirtual |
Number of shapefunctions of the connect associated.
connect | connect number |
Reimplemented from TPZIntelGen< TSHAPE >.
Reimplemented in TPZCompElHDivPressure< TSHAPE >.
Definition at line 221 of file pzelchdiv.cpp.
References TPZCompEl::Connect(), TPZCompElHDiv< TSHAPE >::ConnectIndex(), DebugStop, ECube, EOned, EPiramide, EPoint, EPrisma, EQuadrilateral, ETetraedro, ETriangle, TPZCompElHDiv< TSHAPE >::FillOrder(), substruct_tst15.test::first, TPZCompElHDiv< TSHAPE >::FirstShapeIndex(), TPZGeoNode::Id(), LOGPZ_DEBUG, LOGPZ_ERROR, TPZCompElHDiv< TSHAPE >::NConnects(), TPZGeoEl::NodePtr(), TPZConnect::Order(), TPZGenMatrix< TObj >::Print(), TPZCompEl::Reference(), pztopology::sidedimension, and TPZVec< T >::size().
Referenced by TPZCompElHDiv< TSHAPE >::ClonePatchEl(), TPZCompElHDivPressure< TSHAPE >::NConnectShapeF(), TPZCompElHDiv< TSHAPE >::NFluxShapeF(), TPZCompElHDiv< TSHAPE >::PRefine(), and TPZCompElHDiv< TSHAPE >::SetSideOrder().
|
inlineoverridevirtual |
Returns the number of corner connects of the element.
Reimplemented from TPZIntelGen< TSHAPE >.
Reimplemented in TPZCompElHDivPressure< TSHAPE >.
Definition at line 97 of file pzelchdiv.h.
References TPZCompElHDiv< TSHAPE >::ConnectIndex(), TPZCompElHDiv< TSHAPE >::ConnectSideLocId(), TPZCompElHDiv< TSHAPE >::NFluxShapeF(), TPZCompElHDiv< TSHAPE >::NSideConnects(), and TPZCompElHDiv< TSHAPE >::SideConnectLocId().
|
virtual |
return the number of shape for flux(just for flux)
Definition at line 625 of file pzelchdiv.cpp.
References TPZCompEl::Connect(), TPZCompElHDiv< TSHAPE >::NConnects(), TPZCompElHDiv< TSHAPE >::NConnectShapeF(), and TPZConnect::Order().
Referenced by TPZCompElHDiv< TSHAPE >::IndexShapeToVec2(), and TPZCompElHDiv< TSHAPE >::NCornerConnects().
int TPZCompElHDiv< TSHAPE >::NShapeContinuous | ( | TPZVec< int > & | order | ) |
return the number of continuous functions
Definition at line 1320 of file pzelchdiv.cpp.
Referenced by TPZCompElHDiv< TSHAPE >::ResetShapeRestraints(), and TPZCompElHDiv< TSHAPE >::Shape().
|
overridevirtual |
Returns the number of dof nodes along side iside.
Reimplemented from TPZIntelGen< TSHAPE >.
Definition at line 411 of file pzelchdiv.cpp.
References TPZCompElHDiv< TSHAPE >::Dimension(), and LOGPZ_ERROR.
Referenced by TPZCompElHDiv< TSHAPE >::EffectiveSideOrder(), TPZCompElHDiv< TSHAPE >::NCornerConnects(), and TPZCompElHDiv< TSHAPE >::SideConnectLocId().
|
overridevirtual |
Returns the preferred order of the polynomial along side iside.
Reimplemented from TPZIntelGen< TSHAPE >.
Definition at line 459 of file pzelchdiv.cpp.
References TPZCompElHDiv< TSHAPE >::Dimension(), TPZInterpolationSpace::fPreferredOrder, TPZCompElHDiv< TSHAPE >::NConnects(), PZError, and TPZCompElHDiv< TSHAPE >::SideConnectLocId().
Referenced by TPZCompElHDiv< TSHAPE >::PRefine(), and TPZCompElHDiv< TSHAPE >::ResetShapeRestraints().
|
overridevirtual |
Refinement along the element.
Implements TPZInterpolationSpace.
Definition at line 1603 of file pzelchdiv.cpp.
References TPZCompMesh::Block(), TPZCompEl::Connect(), TPZCompElHDiv< TSHAPE >::ConnectSideLocId(), EQuadrilateral, TPZIntelGen< TSHAPE >::fConnectIndexes, TPZInterpolatedElement::IdentifySideOrder(), TPZCompEl::Index(), TPZGeoEl::Index(), LOGPZ_DEBUG, TPZCompEl::Mesh(), TPZCompElHDiv< TSHAPE >::NConnects(), TPZCompElHDiv< TSHAPE >::NConnectShapeF(), TPZGeoEl::NNodes(), TPZConnect::Order(), TPZCompElHDiv< TSHAPE >::PreferredSideOrder(), TPZCompEl::Reference(), TPZBlock< TVar >::Set(), TPZCompElHDiv< TSHAPE >::SetPreferredOrder(), and TPZCompElHDivPressure< TSHAPE >::SetPressureOrder().
Referenced by TPZCompElHDiv< TSHAPE >::ComputeSolution().
|
overridevirtual |
Prints the relevant data of the element to the output stream.
Reimplemented from TPZInterpolatedElement.
Definition at line 1671 of file pzelchdiv.cpp.
References TPZCompElHDiv< TSHAPE >::fRestraints, TPZCompElHDiv< TSHAPE >::fSideOrient, TPZInterpolatedElement::Print(), and TPZVec< T >::Print().
Referenced by TPZCompElHDiv< TSHAPE >::ClonePatchEl(), and TPZCompElHDivPressure< TSHAPE >::TPZCompElHDivPressure().
|
overridevirtual |
Read the element data from a stream.
Reimplemented from TPZIntelGen< TSHAPE >.
Reimplemented in TPZCompElHDivPressure< TSHAPE >.
Definition at line 1572 of file pzelchdiv.cpp.
References TPZVec< T >::begin(), TPZCompElHDiv< TSHAPE >::ClassId(), TPZIntelGen< TSHAPE >::fConnectIndexes, TPZIntelGen< TSHAPE >::fIntRule, TPZInterpolationSpace::fPreferredOrder, TPZCompElHDiv< TSHAPE >::fRestraints, TPZCompElHDiv< TSHAPE >::fSideOrient, LOGPZ_ERROR, TPZOneShapeRestraint::Read(), TPZInterpolatedElement::Read(), TPZStream::Read(), and TPZCompElHDiv< TSHAPE >::SideOrient().
Referenced by TPZCompElHDiv< TSHAPE >::ComputeSolution().
|
inlineoverridevirtual |
Return a list with the shape restraints.
Reimplemented from TPZCompEl.
Definition at line 132 of file pzelchdiv.h.
References TPZCompElHDiv< TSHAPE >::ConnectOrder(), TPZCompElHDiv< TSHAPE >::EffectiveSideOrder(), TPZCompElHDiv< TSHAPE >::FillOrder(), TPZCompElHDiv< TSHAPE >::GetInterpolationOrder(), TPZCompElHDiv< TSHAPE >::GetSideOrient(), TPZCompElHDiv< TSHAPE >::MaxOrder(), TPZCompElHDiv< TSHAPE >::NShapeContinuous(), TPZCompElHDiv< TSHAPE >::PreferredSideOrder(), TPZCompElHDiv< TSHAPE >::SetIntegrationRule(), TPZCompElHDiv< TSHAPE >::SetPreferredOrder(), TPZCompElHDiv< TSHAPE >::SetSideOrder(), and TPZCompElHDiv< TSHAPE >::SetSideOrient().
int TPZCompElHDiv< TSHAPE >::RestrainedFace | ( | ) |
return the first one dof restraint
Definition at line 1751 of file pzelchdiv.cpp.
Referenced by TPZCompMeshTools::AddHDivPyramidRestraints(), TPZCompElHDiv< TSHAPE >::ClonePatchEl(), and TPZCompElHDiv< TSHAPE >::ComputeRequiredData().
int TPZCompElHDiv< TPZShapePiram >::RestrainedFace | ( | ) |
Definition at line 1757 of file pzelchdiv.cpp.
References TPZCompElHDiv< TSHAPE >::ConnectIndex(), DebugStop, and TPZCompElHDiv< TSHAPE >::fRestraints.
|
overridevirtual |
Sets the node pointer of node i to nod.
Reimplemented from TPZIntelGen< TSHAPE >.
Reimplemented in TPZCompElHDivPressure< TSHAPE >.
Definition at line 200 of file pzelchdiv.cpp.
References DebugStop, TPZIntelGen< TSHAPE >::fConnectIndexes, LOGPZ_DEBUG, and TPZCompElHDiv< TSHAPE >::NConnects().
Referenced by TPZCompElHDiv< TSHAPE >::ClonePatchEl().
|
overridevirtual |
Reimplemented from TPZIntelGen< TSHAPE >.
Definition at line 404 of file pzelchdiv.cpp.
References TPZIntelGen< TSHAPE >::fIntRule.
Referenced by TPZCompElHDiv< TSHAPE >::ResetShapeRestraints().
|
overridevirtual |
Sets the preferred interpolation order along a side.
This method only updates the datastructure of the element
In order to change the interpolation order of an element, use the method PRefine
Sets the preferred interpolation order along a side This method only updates the datastructure of the element In order to change the interpolation order of an element, use the method PRefine
Reimplemented from TPZIntelGen< TSHAPE >.
Reimplemented in TPZCompElHDivPressure< TSHAPE >.
Definition at line 512 of file pzelchdiv.cpp.
References TPZIntelGen< TSHAPE >::SetPreferredOrder().
Referenced by TPZCompElHDiv< TSHAPE >::PRefine(), and TPZCompElHDiv< TSHAPE >::ResetShapeRestraints().
|
overridevirtual |
Sets the interpolation order of side to order.
Reimplemented from TPZIntelGen< TSHAPE >.
Definition at line 519 of file pzelchdiv.cpp.
References TPZCompMesh::Block(), TPZCompEl::Connect(), TPZIntelGen< TSHAPE >::fConnectIndexes, LOGPZ_DEBUG, TPZCompEl::Material(), TPZCompEl::Mesh(), TPZCompElHDiv< TSHAPE >::NConnects(), TPZCompElHDiv< TSHAPE >::NConnectShapeF(), TPZMaterial::NStateVariables(), PZError, TPZBlock< TVar >::Set(), and TPZCompElHDiv< TSHAPE >::SideConnectLocId().
Referenced by TPZCompElHDiv< TSHAPE >::ResetShapeRestraints().
|
overridevirtual |
It set the normal orientation of the element by the side. Only side that has dimension equal to my dimension minus one.
side | side of the reference elemen |
Reimplemented from TPZInterpolationSpace.
Definition at line 888 of file pzelchdiv.cpp.
References DebugStop, and TPZCompElHDiv< TSHAPE >::fSideOrient.
Referenced by TPZCompElHDiv< TSHAPE >::ResetShapeRestraints().
|
overridevirtual |
Computes the shape function set at the point x.
qsi | point in master element coordinates |
phi | vector of values of shapefunctions, dimension (numshape,1) |
dphi | matrix of derivatives of shapefunctions in master element coordinates, dimension (dim,numshape) This method uses the order of interpolation of the element along the sides to compute the number of shapefunctions |
Implements TPZInterpolationSpace.
Reimplemented in TPZCompElHDivPressure< TSHAPE >.
Definition at line 1300 of file pzelchdiv.cpp.
References TPZCompElHDiv< TSHAPE >::FillOrder(), TPZGeoNode::Id(), TPZGeoEl::NodePtr(), TPZCompElHDiv< TSHAPE >::NShapeContinuous(), TPZFMatrix< TVar >::Redim(), TPZCompEl::Reference(), and Shape().
Referenced by TPZCompElHDivPressure< TSHAPE >::Shape(), and TPZCompElHDiv< TSHAPE >::SideOrient().
|
overridevirtual |
return the local index for connect
Reimplemented from TPZIntelGen< TSHAPE >.
Definition at line 430 of file pzelchdiv.cpp.
References TPZCompElHDiv< TSHAPE >::NSideConnects(), and PZError.
Referenced by TPZCompElHDiv< TSHAPE >::ComputeShapeIndex(), TPZCompElHDiv< TSHAPE >::EffectiveSideOrder(), TPZCompElHDiv< TSHAPE >::FillOrder(), TPZCompElHDiv< TSHAPE >::IndexShapeToVec2(), TPZCompElHDiv< TSHAPE >::NCornerConnects(), TPZCompElHDiv< TSHAPE >::PreferredSideOrder(), TPZCompElHDiv< TSHAPE >::SetSideOrder(), TPZCompElHDiv< TSHAPE >::SideShapeFunction(), and TPZCompElHDiv< TSHAPE >::~TPZCompElHDiv().
|
inline |
the orientation of the face
Definition at line 189 of file pzelchdiv.h.
References TPZCompElHDiv< TSHAPE >::ComputeRequiredData(), TPZCompElHDiv< TSHAPE >::ComputeShapeIndex(), TPZCompElHDiv< TSHAPE >::ComputeSolution(), TPZCompElHDiv< TSHAPE >::ComputeSolutionHDiv(), DebugStop, TPZCompElHDiv< TSHAPE >::FirstShapeIndex(), TPZCompEl::Index(), TPZCompElHDiv< TSHAPE >::IndexShapeToVec(), TPZCompElHDiv< TSHAPE >::IndexShapeToVec2(), TPZCompElHDiv< TSHAPE >::InitMaterialData(), TPZCompElHDiv< TSHAPE >::Shape(), TPZCompElHDiv< TSHAPE >::SideShapeFunction(), and TPZCompElHDiv< TSHAPE >::Solution().
Referenced by TPZCompElHDiv< TSHAPE >::Read(), and SetupPyramidRestraint().
|
overridevirtual |
Computes the values of the shape function of the side.
Reimplemented from TPZIntelGen< TSHAPE >.
Reimplemented in TPZCompElHDivPressure< TSHAPE >.
Definition at line 899 of file pzelchdiv.cpp.
References TPZCompEl::Connect(), DebugStop, EOned, EQuadrilateral, ETriangle, pztopology::TPZLine::GetSideHDivPermutation(), pztopology::TPZTriangle::GetSideHDivPermutation(), pztopology::TPZQuadrilateral::GetSideHDivPermutation(), pztopology::TPZLine::GetTransformId(), pztopology::TPZTriangle::GetTransformId(), pztopology::TPZQuadrilateral::GetTransformId(), TPZGeoNode::Id(), TPZGeoElSide::Jacobian(), TPZGeoEl::Node(), TPZInterpolatedElement::NSideShapeF(), TPZConnect::Order(), TPZCompEl::Reference(), TPZCompElHDiv< TSHAPE >::SideConnectLocId(), pztopology::sidedimension, TPZGeoEl::SideDimension(), and TPZVec< T >::size().
Referenced by TPZCompElHDiv< TSHAPE >::SideOrient(), and TPZCompElHDivPressure< TSHAPE >::SideShapeFunction().
|
overridevirtual |
Compute the solution for a given variable.
Reimplemented from TPZInterpolationSpace.
Reimplemented in TPZCompElHDivPressure< TSHAPE >.
Definition at line 993 of file pzelchdiv.cpp.
References TPZCompElHDiv< TSHAPE >::ComputeRequiredData(), TPZCompElHDiv< TSHAPE >::ComputeSolutionHDiv(), TPZCompElHDiv< TSHAPE >::InitMaterialData(), TPZCompEl::Material(), TPZInterpolationSpace::Solution(), and TPZMaterial::Solution().
Referenced by TPZCompElHDiv< TSHAPE >::SideOrient().
|
overridevirtual |
Returns the transformation which transform a point from the side to the interior of the element.
Jorge 09/06/2001
Implements TPZInterpolatedElement.
Reimplemented in TPZCompElHDivPressure< TSHAPE >.
Definition at line 1336 of file pzelchdiv.cpp.
Referenced by TPZCompElHDiv< TSHAPE >::ComputeSolution().
|
overridevirtual |
Return the type of the element.
Reimplemented from TPZIntelGen< TSHAPE >.
Reimplemented in TPZCompElHDivPressure< TSHAPE >.
Definition at line 187 of file pzelchdiv.cpp.
Referenced by TPZCompElHDiv< TSHAPE >::ClonePatchEl().
|
overridevirtual |
Save the element data to a stream.
Reimplemented from TPZIntelGen< TSHAPE >.
Reimplemented in TPZCompElHDivPressure< TSHAPE >.
Definition at line 1549 of file pzelchdiv.cpp.
References TPZVec< T >::begin(), TPZCompElHDiv< TSHAPE >::ClassId(), TPZIntelGen< TSHAPE >::fConnectIndexes, TPZIntelGen< TSHAPE >::fIntRule, TPZInterpolationSpace::fPreferredOrder, TPZCompElHDiv< TSHAPE >::fRestraints, TPZCompElHDiv< TSHAPE >::fSideOrient, TPZStream::Write(), and TPZInterpolatedElement::Write().
Referenced by TPZCompElHDiv< TSHAPE >::ComputeSolution().
|
private |
Data structure which defines the restraints.
Definition at line 28 of file pzelchdiv.h.
Referenced by TPZCompElHDiv< TSHAPE >::GetShapeRestraints(), TPZCompElHDiv< TSHAPE >::Print(), TPZCompElHDiv< TSHAPE >::Read(), TPZCompElHDiv< TSHAPE >::RestrainedFace(), and TPZCompElHDiv< TSHAPE >::Write().
|
private |
vector which defines whether the normal is outward or not
Definition at line 25 of file pzelchdiv.h.
Referenced by TPZCompElHDiv< TSHAPE >::ComputeRequiredData(), TPZCompElHDiv< TSHAPE >::GetSideOrient(), TPZCompElHDiv< TSHAPE >::Print(), TPZCompElHDiv< TSHAPE >::Read(), TPZCompElHDiv< TSHAPE >::SetSideOrient(), TPZCompElHDiv< TSHAPE >::TPZCompElHDiv(), and TPZCompElHDiv< TSHAPE >::Write().