NeoPZ
Public Member Functions | Private Member Functions | Private Attributes | List of all members
TPZSBFemVolume Class Reference

#include <TPZSBFemVolume.h>

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

Public Member Functions

 TPZSBFemVolume (TPZCompMesh &mesh, TPZGeoEl *gel, int64_t &index)
 
virtual ~TPZSBFemVolume ()
 
void ComputeKMatrices (TPZElementMatrix &E0, TPZElementMatrix &E1, TPZElementMatrix &E2, TPZElementMatrix &M0)
 Compute the E0, E1 and E2 matrices. More...
 
void SetSkeleton (int64_t skeleton)
 Data structure initialization. More...
 
int64_t SkeletonIndex ()
 
virtual void InitMaterialData (TPZMaterialData &data)
 Initialize a material data and its attributes based on element dimension, number of state variables and material definitions. More...
 
void SetElementGroupIndex (int64_t index)
 Initialize the data structure indicating the group index. More...
 
virtual TPZCompElClone (TPZCompMesh &mesh) const
 Method for creating a copy of the element. More...
 
int64_t ElementGroupIndex () const
 
virtual TPZCompElClonePatchEl (TPZCompMesh &mesh, std::map< int64_t, int64_t > &gl2lcConMap, std::map< int64_t, int64_t > &gl2lcElMap) const
 Method for creating a copy of the element in a patch mesh. More...
 
virtual int NConnects () const
 Returns the number of nodes of the element. More...
 
virtual int64_t ConnectIndex (int i) const
 Returns the index of the ith connectivity of the element. More...
 
virtual int Dimension () const
 Dimension of the element. More...
 
REAL Density ()
 return the density associated with the element More...
 
void SetDensity (REAL density)
 assign a different density More...
 
virtual void BuildCornerConnectList (std::set< int64_t > &connectindexes) const
 adds the connect indexes associated with base shape functions to the set More...
 
virtual void SetConnectIndex (int inode, int64_t index)
 Set the index i to node inode. More...
 
virtual int NSideConnects (int iside) const
 Returns the number of dof nodes along side iside. More...
 
virtual int SideConnectLocId (int icon, int is) const
 Returns the local node number of icon along is. More...
 
virtual int NShapeF () const
 It returns the shapes number of the element. More...
 
virtual int NConnectShapeF (int icon, int order) const
 Returns the number of shapefunctions associated with a connect. More...
 
void InitializeIntegrationRule ()
 
virtual void SetIntegrationRule (int order)
 
virtual const TPZIntPointsGetIntegrationRule () const
 Returns a reference to an integration rule suitable for integrating the interior of the element. More...
 
virtual TPZIntPointsGetIntegrationRule ()
 Returns a reference to an integration rule suitable for integrating the interior of the element. More...
 
virtual void PRefine (int order)
 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...
 
virtual void SetPreferredOrder (int order)
 Defines the desired order for entire element. More...
 
void SetPhiEigVal (TPZFMatrix< std::complex< double > > &phi, TPZManVector< std::complex< double > > &eigval)
 initialize the data structures of the eigenvectors and eigenvalues associated with this volume element More...
 
TPZFMatrix< std::complex< double > > Phi ()
 
TPZManVector< std::complex< double > > Eigenvalues ()
 
TPZFMatrix< std::complex< double > > Coeficients ()
 
TPZFMatrix< double > PhiReal ()
 
TPZManVector< double > EigenvaluesReal ()
 
TPZFMatrix< double > CoeficientsReal ()
 
virtual void LoadCoef (TPZFMatrix< std::complex< double > > &coef)
 Loads the solution within the internal data structure of the element. More...
 
virtual void ComputeSolution (TPZVec< REAL > &qsi, TPZSolVec &sol, TPZGradSolVec &dsol, TPZFMatrix< REAL > &axes)
 Computes solution and its derivatives in the local coordinate qsi. More...
 
void EvaluateError (std::function< void(const TPZVec< REAL > &loc, TPZVec< STATE > &val, TPZFMatrix< STATE > &deriv)> fp, TPZVec< REAL > &errors, bool store_error)
 Performs an error estimate on the elemen. More...
 
virtual void Shape (TPZVec< REAL > &qsi, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphidxi)
 Computes the shape function set at the point x. 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...
 
virtual void ComputeSolution (TPZVec< REAL > &qsi, TPZMaterialData &data)
 Compute the solution at the integration point and store in the data structure. More...
 
virtual void Solution (TPZVec< REAL > &qsi, int var, TPZVec< STATE > &sol)
 Calculates the solution - sol - for the variable var at point qsi, where qsi is expressed in terms of the master element coordinates. More...
 
virtual void Print (std::ostream &out=std::cout) const
 Prints element data. More...
 
void CreateGraphicalElement (TPZGraphMesh &, int)
 Creates corresponding graphical element(s) if the dimension matches graphical elements are used to generate output files. More...
 
- Public Member Functions inherited from TPZInterpolationSpace
virtual int ClassId () const override
 Define the class id associated with the class. More...
 
 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 ComputeShape (TPZVec< REAL > &intpoint, TPZMaterialData &data)
 Compute shape functions based on master element in the classical FEM manne. 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...
 
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 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...
 
virtual void Write (TPZStream &buf, int withclassid) const override
 Saves the element data to a stream. More...
 
virtual void Read (TPZStream &buf, void *context) override
 Reads the element data from a stream. 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 int MaxOrder ()
 Returns the max order of interpolation. 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 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 SetCreateFunctions (TPZCompMesh *mesh)
 Sets create function in TPZCompMesh to create elements of this type. More...
 
virtual REAL VolumeOfEl ()
 Returns the volume of the geometric element associated. 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 Divide (int64_t index, TPZVec< int64_t > &subindex, int interpolate=0)
 Divide the computational element. If interpolate = 1, the solution is interpolated to the sub elements. 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 ComputeSolution (TPZVec< REAL > &qsi, TPZVec< REAL > &normal, TPZSolVec &leftsol, TPZGradSolVec &dleftsol, TPZFMatrix< REAL > &leftaxes, TPZSolVec &rightsol, TPZGradSolVec &drightsol, TPZFMatrix< REAL > &rightaxes)
 Computes solution and its derivatives in the local coordinate qsi.
This method will function for both volumetric and interface elements. More...
 
virtual void ComputeSolution (TPZVec< REAL > &qsi, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphix, const TPZFMatrix< REAL > &axes, TPZSolVec &sol, TPZGradSolVec &dsol)
 Computes solution and its derivatives in local coordinate qsi. 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 SetIntegrationRule (TPZIntPoints *intrule)
 Method to set a dynamically allocated integration rule. More...
 
virtual MElementType Type ()
 Return the type of the element. 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
 

Private Member Functions

void ExtendShapeFunctions (TPZMaterialData &data1d, TPZMaterialData &data2d)
 extend the border shape functions for SBFem computations More...
 
void AdjustAxes3D (const TPZFMatrix< REAL > &axes2D, TPZFMatrix< REAL > &axes3D, TPZFMatrix< REAL > &jac3D, TPZFMatrix< REAL > &jacinv3D, REAL detjac)
 adjust the axes and jacobian of the 3D element More...
 

Private Attributes

int64_t fElementGroupIndex
 index of element group More...
 
TPZCompElfElementGroup
 pointer to the element group computational element More...
 
int64_t fSkeleton
 index of the skeleton element More...
 
TPZIntPointsfIntRule
 pointer to the integration rule More...
 
TPZFNMatrix< 30, std::complex< double > > fPhi
 Section of the phi vector associated with this volume element. More...
 
TPZManVector< std::complex< double > > fEigenvalues
 Eigenvlues associated with the internal shape functions. More...
 
TPZFNMatrix< 30, std::complex< double > > fCoeficients
 Multiplier coeficients associated with the solution. More...
 
TPZManVector< int64_t > fLocalIndices
 vector of local indices of multipliers in the group More...
 
REAL fDensity
 Density associated with the mass matrix. More...
 

Additional Inherited Members

- 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 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 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...
 

Detailed Description

Definition at line 17 of file TPZSBFemVolume.h.

Constructor & Destructor Documentation

◆ TPZSBFemVolume()

TPZSBFemVolume::TPZSBFemVolume ( TPZCompMesh mesh,
TPZGeoEl gel,
int64_t &  index 
)

Definition at line 26 of file TPZSBFemVolume.cpp.

Referenced by CreateSBFemCompEl().

◆ ~TPZSBFemVolume()

virtual TPZSBFemVolume::~TPZSBFemVolume ( )
inlinevirtual

Member Function Documentation

◆ AdjustAxes3D()

void TPZSBFemVolume::AdjustAxes3D ( const TPZFMatrix< REAL > &  axes2D,
TPZFMatrix< REAL > &  axes3D,
TPZFMatrix< REAL > &  jac3D,
TPZFMatrix< REAL > &  jacinv3D,
REAL  detjac 
)
private

adjust the axes and jacobian of the 3D element

Definition at line 177 of file TPZSBFemVolume.cpp.

References Cross(), DebugStop, fabs, TPZFMatrix< TVar >::g(), TPZMatrix< TVar >::Identity(), TPZMatrix< TVar >::Multiply(), and TPZFMatrix< TVar >::Transpose().

Referenced by ComputeKMatrices(), ComputeSolution(), and Shape().

◆ BuildCornerConnectList()

void TPZSBFemVolume::BuildCornerConnectList ( std::set< int64_t > &  connectindexes) const
virtual

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

Implements TPZCompEl.

Definition at line 777 of file TPZSBFemVolume.cpp.

References TPZCompEl::BuildCornerConnectList(), DebugStop, TPZCompMesh::Element(), fSkeleton, and TPZCompEl::Mesh().

Referenced by SetDensity().

◆ Clone()

virtual TPZCompEl* TPZSBFemVolume::Clone ( TPZCompMesh mesh) const
inlinevirtual

Method for creating a copy of the element.

Implements TPZCompEl.

Definition at line 82 of file TPZSBFemVolume.h.

References DebugStop.

◆ ClonePatchEl()

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

Method for creating a copy of the element in a patch mesh.

Parameters
meshPatch clone mesh
gl2lcConMapmap the connects indexes from global element (original) to the local copy.
gl2lcElMapmap the computational elements Otherwise of the previous clone function, this method don't copy entire mesh. Therefore it needs to map the connect index from the both meshes - original and patch

Implements TPZCompEl.

Definition at line 104 of file TPZSBFemVolume.h.

References DebugStop.

◆ Coeficients()

TPZFMatrix<std::complex<double> > TPZSBFemVolume::Coeficients ( )
inline

Definition at line 255 of file TPZSBFemVolume.h.

References fCoeficients.

◆ CoeficientsReal()

TPZFMatrix<double> TPZSBFemVolume::CoeficientsReal ( )
inline

◆ ComputeKMatrices()

void TPZSBFemVolume::ComputeKMatrices ( TPZElementMatrix E0,
TPZElementMatrix E1,
TPZElementMatrix E2,
TPZElementMatrix M0 
)

◆ ComputeShape()

void TPZSBFemVolume::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 
)
virtual

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

Reimplemented from TPZInterpolationSpace.

Definition at line 762 of file TPZSBFemVolume.cpp.

References TPZGeoEl::Jacobian(), PZError, TPZCompEl::Reference(), and Shape().

Referenced by CoeficientsReal().

◆ ComputeSolution() [1/2]

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

◆ ComputeSolution() [2/2]

virtual void TPZSBFemVolume::ComputeSolution ( TPZVec< REAL > &  qsi,
TPZMaterialData data 
)
inlinevirtual

Compute the solution at the integration point and store in the data structure.

Reimplemented from TPZCompEl.

Definition at line 338 of file TPZSBFemVolume.h.

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

◆ ConnectIndex()

virtual int64_t TPZSBFemVolume::ConnectIndex ( int  i) const
inlinevirtual

Returns the index of the ith connectivity of the element.

Parameters
iconnectivity index who want knows

Implements TPZCompEl.

Definition at line 126 of file TPZSBFemVolume.h.

References TPZCompEl::ConnectIndex(), and DebugStop.

◆ CreateGraphicalElement()

void TPZSBFemVolume::CreateGraphicalElement ( TPZGraphMesh graphmesh,
int  dimension 
)
virtual

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

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

Reimplemented from TPZCompEl.

Definition at line 581 of file TPZSBFemVolume.cpp.

References DebugStop, dimension, TPZGeoEl::Dimension(), ECube, EPrisma, EQuadrilateral, TPZCompEl::Reference(), and TPZGeoEl::Type().

Referenced by Print().

◆ Density()

REAL TPZSBFemVolume::Density ( )
inline

return the density associated with the element

Definition at line 141 of file TPZSBFemVolume.h.

References fDensity.

◆ Dimension()

virtual int TPZSBFemVolume::Dimension ( ) const
inlinevirtual

Dimension of the element.

Implements TPZCompEl.

Definition at line 134 of file TPZSBFemVolume.h.

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

Referenced by EvaluateError(), and InitMaterialData().

◆ Eigenvalues()

TPZManVector<std::complex<double> > TPZSBFemVolume::Eigenvalues ( )
inline

Definition at line 250 of file TPZSBFemVolume.h.

References fEigenvalues.

◆ EigenvaluesReal()

TPZManVector<double> TPZSBFemVolume::EigenvaluesReal ( )
inline

Definition at line 274 of file TPZSBFemVolume.h.

References TPZVec< T >::NElements().

◆ ElementGroupIndex()

int64_t TPZSBFemVolume::ElementGroupIndex ( ) const
inline

Definition at line 89 of file TPZSBFemVolume.h.

References fElementGroupIndex.

◆ EvaluateError()

void TPZSBFemVolume::EvaluateError ( std::function< void(const TPZVec< REAL > &loc, TPZVec< STATE > &val, TPZFMatrix< STATE > &deriv)>  func,
TPZVec< REAL > &  errors,
bool  store_error 
)
virtual

◆ ExtendShapeFunctions()

void TPZSBFemVolume::ExtendShapeFunctions ( TPZMaterialData data1d,
TPZMaterialData data2d 
)
private

◆ GetIntegrationRule() [1/2]

virtual const TPZIntPoints& TPZSBFemVolume::GetIntegrationRule ( ) const
inlinevirtual

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

Implements TPZInterpolationSpace.

Definition at line 216 of file TPZSBFemVolume.h.

References DebugStop, and fIntRule.

◆ GetIntegrationRule() [2/2]

virtual TPZIntPoints& TPZSBFemVolume::GetIntegrationRule ( )
inlinevirtual

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

Implements TPZInterpolationSpace.

Definition at line 224 of file TPZSBFemVolume.h.

References fIntRule, InitializeIntegrationRule(), PRefine(), SetPhiEigVal(), and SetPreferredOrder().

◆ InitializeIntegrationRule()

void TPZSBFemVolume::InitializeIntegrationRule ( )
inlinevirtual

◆ InitMaterialData()

void TPZSBFemVolume::InitMaterialData ( TPZMaterialData data)
virtual

◆ LoadCoef()

void TPZSBFemVolume::LoadCoef ( TPZFMatrix< std::complex< double > > &  coef)
virtual

Loads the solution within the internal data structure of the element.

Is used to initialize the solution of connect objects with dependency.
Is also used to load the solution within SuperElements

Definition at line 268 of file TPZSBFemVolume.cpp.

References fCoeficients.

Referenced by CoeficientsReal(), TPZSBFemElementGroup::LoadEigenVector(), and TPZSBFemElementGroup::LoadSolution().

◆ NConnects()

virtual int TPZSBFemVolume::NConnects ( ) const
inlinevirtual

Returns the number of nodes of the element.

Implements TPZCompEl.

Definition at line 114 of file TPZSBFemVolume.h.

References TPZCompEl::NConnects().

Referenced by NShapeF(), and Print().

◆ NConnectShapeF()

virtual int TPZSBFemVolume::NConnectShapeF ( int  icon,
int  order 
) const
inlinevirtual

Returns the number of shapefunctions associated with a connect.

Implements TPZInterpolationSpace.

Definition at line 198 of file TPZSBFemVolume.h.

References TPZCompEl::Connect(), and TPZConnect::NShape().

◆ NShapeF()

virtual int TPZSBFemVolume::NShapeF ( ) const
inlinevirtual

It returns the shapes number of the element.

Implements TPZInterpolationSpace.

Definition at line 186 of file TPZSBFemVolume.h.

References TPZCompEl::Connect(), NConnects(), and TPZConnect::NShape().

Referenced by InitMaterialData().

◆ NSideConnects()

virtual int TPZSBFemVolume::NSideConnects ( int  iside) const
inlinevirtual

Returns the number of dof nodes along side iside.

Implements TPZInterpolationSpace.

Definition at line 168 of file TPZSBFemVolume.h.

References DebugStop.

◆ Phi()

TPZFMatrix<std::complex<double> > TPZSBFemVolume::Phi ( )
inline

Definition at line 245 of file TPZSBFemVolume.h.

References fPhi.

◆ PhiReal()

TPZFMatrix<double> TPZSBFemVolume::PhiReal ( )
inline

Definition at line 260 of file TPZSBFemVolume.h.

References TPZMatrix< TVar >::Cols(), fPhi, and TPZMatrix< TVar >::Rows().

◆ PRefine()

void TPZSBFemVolume::PRefine ( int  order)
virtual

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 784 of file TPZSBFemVolume.cpp.

References TPZCompMesh::Element(), fSkeleton, TPZCompEl::Mesh(), and TPZInterpolationSpace::PRefine().

Referenced by GetIntegrationRule().

◆ Print()

virtual void TPZSBFemVolume::Print ( std::ostream &  out = std::cout) const
inlinevirtual

◆ SetConnectIndex()

virtual void TPZSBFemVolume::SetConnectIndex ( int  inode,
int64_t  index 
)
inlinevirtual

Set the index i to node inode.

Parameters
inodenode to set index
indexindex to be set

Implements TPZCompEl.

Definition at line 163 of file TPZSBFemVolume.h.

References DebugStop.

◆ SetDensity()

void TPZSBFemVolume::SetDensity ( REAL  density)
inline

assign a different density

Definition at line 147 of file TPZSBFemVolume.h.

References BuildCornerConnectList(), and DebugStop.

◆ SetElementGroupIndex()

void TPZSBFemVolume::SetElementGroupIndex ( int64_t  index)

◆ SetIntegrationRule()

void TPZSBFemVolume::SetIntegrationRule ( int  order)
virtual

◆ SetPhiEigVal()

void TPZSBFemVolume::SetPhiEigVal ( TPZFMatrix< std::complex< double > > &  phi,
TPZManVector< std::complex< double > > &  eigval 
)

initialize the data structures of the eigenvectors and eigenvalues associated with this volume element

Definition at line 251 of file TPZSBFemVolume.cpp.

References fEigenvalues, fLocalIndices, fPhi, TPZFMatrix< TVar >::Resize(), and TPZVec< T >::size().

Referenced by TPZSBFemElementGroup::CalcStiff(), and GetIntegrationRule().

◆ SetPreferredOrder()

void TPZSBFemVolume::SetPreferredOrder ( int  order)
virtual

Defines the desired order for entire element.

Implements TPZInterpolationSpace.

Definition at line 790 of file TPZSBFemVolume.cpp.

References TPZCompMesh::Element(), TPZInterpolationSpace::fPreferredOrder, fSkeleton, TPZCompEl::Mesh(), and TPZInterpolationSpace::SetPreferredOrder().

Referenced by GetIntegrationRule().

◆ SetSkeleton()

void TPZSBFemVolume::SetSkeleton ( int64_t  skeleton)

◆ Shape()

void TPZSBFemVolume::Shape ( TPZVec< REAL > &  qsi,
TPZFMatrix< REAL > &  phi,
TPZFMatrix< REAL > &  dphidxi 
)
virtual

Computes the shape function set at the point x.

Parameters
qsipoint in master element coordinates
phivector of values of shapefunctions, dimension (numshape,1)
dphimatrix 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.

Definition at line 421 of file TPZSBFemVolume.cpp.

References AdjustAxes3D(), TPZMaterialData::axes, TPZMatrix< TVar >::Cols(), TPZInterpolationSpace::ComputeRequiredData(), DebugStop, TPZMaterialData::detjac, TPZMaterial::Dimension(), TPZMaterialData::dphi, TPZCompMesh::Element(), EMathematicaInput, fCoeficients, fEigenvalues, fElementGroupIndex, TPZCompMesh::FindMaterial(), fPhi, fSkeleton, TPZInterpolationSpace::InitMaterialData(), IsZero(), TPZMaterialData::jacinv, TPZMaterialData::jacobian, TPZGeoEl::Jacobian(), LOGPZ_DEBUG, TPZCompEl::Mesh(), TPZMaterial::NStateVariables(), TPZMaterialData::phi, TPZSBFemElementGroup::PhiInverse(), pow(), TPZMatrix< TVar >::Print(), TPZFMatrix< TVar >::Redim(), TPZCompEl::Reference(), TPZManVector< T, NumExtAlloc >::Resize(), TPZMatrix< TVar >::Rows(), and TPZFMatrix< TVar >::Zero().

Referenced by CoeficientsReal(), and ComputeShape().

◆ SideConnectLocId()

virtual int TPZSBFemVolume::SideConnectLocId ( int  icon,
int  is 
) const
inlinevirtual

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 179 of file TPZSBFemVolume.h.

References DebugStop.

◆ SkeletonIndex()

int64_t TPZSBFemVolume::SkeletonIndex ( )
inline

◆ Solution()

void TPZSBFemVolume::Solution ( TPZVec< REAL > &  qsi,
int  var,
TPZVec< STATE > &  sol 
)
virtual

Calculates the solution - sol - for the variable var at point qsi, where qsi is expressed in terms of the master element coordinates.

Parameters
qsimaster element coordinate
varvariable name
solvetor for the solution

Reimplemented from TPZInterpolationSpace.

Definition at line 566 of file TPZSBFemVolume.cpp.

References TPZMaterialData::axes, ComputeSolution(), TPZMaterialData::dsol, TPZCompMesh::FindMaterial(), TPZGeoEl::MaterialId(), TPZCompEl::Mesh(), TPZCompEl::Reference(), TPZManVector< T, NumExtAlloc >::Resize(), TPZMaterialData::sol, TPZMaterial::Solution(), TPZMaterialData::x, and TPZGeoEl::X().

Referenced by ComputeSolution().

Member Data Documentation

◆ fCoeficients

TPZFNMatrix<30,std::complex<double> > TPZSBFemVolume::fCoeficients
private

Multiplier coeficients associated with the solution.

Definition at line 39 of file TPZSBFemVolume.h.

Referenced by Coeficients(), CoeficientsReal(), ComputeSolution(), LoadCoef(), and Shape().

◆ fDensity

REAL TPZSBFemVolume::fDensity
private

Density associated with the mass matrix.

Definition at line 48 of file TPZSBFemVolume.h.

Referenced by ComputeKMatrices(), and Density().

◆ fEigenvalues

TPZManVector<std::complex<double> > TPZSBFemVolume::fEigenvalues
private

Eigenvlues associated with the internal shape functions.

Definition at line 36 of file TPZSBFemVolume.h.

Referenced by ComputeSolution(), Eigenvalues(), SetPhiEigVal(), and Shape().

◆ fElementGroup

TPZCompEl* TPZSBFemVolume::fElementGroup
private

pointer to the element group computational element

Definition at line 24 of file TPZSBFemVolume.h.

Referenced by SetElementGroupIndex().

◆ fElementGroupIndex

int64_t TPZSBFemVolume::fElementGroupIndex
private

index of element group

Definition at line 21 of file TPZSBFemVolume.h.

Referenced by ElementGroupIndex(), SetElementGroupIndex(), and Shape().

◆ fIntRule

TPZIntPoints* TPZSBFemVolume::fIntRule
private

pointer to the integration rule

Definition at line 30 of file TPZSBFemVolume.h.

Referenced by GetIntegrationRule(), and SetIntegrationRule().

◆ fLocalIndices

TPZManVector<int64_t> TPZSBFemVolume::fLocalIndices
private

vector of local indices of multipliers in the group

Definition at line 42 of file TPZSBFemVolume.h.

Referenced by SetElementGroupIndex(), SetPhiEigVal(), and SetSkeleton().

◆ fPhi

TPZFNMatrix<30,std::complex<double> > TPZSBFemVolume::fPhi
private

Section of the phi vector associated with this volume element.

Definition at line 33 of file TPZSBFemVolume.h.

Referenced by ComputeSolution(), Phi(), PhiReal(), SetPhiEigVal(), and Shape().

◆ fSkeleton

int64_t TPZSBFemVolume::fSkeleton
private

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