NeoPZ
|
Computes the contribution over an interface between two discontinuous elements. Computational Element. More...
#include <TPZInterfaceEl.h>
Public Types | |
enum | CalcStiffOptions { ENone, EStandard, EPenalty, EContDisc, EReferred } |
Public Member Functions | |
void | GetConnects (TPZCompElSide &elside, TPZVec< TPZConnect *> &connects, TPZVec< int64_t > &connectindex) |
Extract connects from element el. More... | |
void | NeighbourSolution (TPZCompElSide &Neighbor, TPZVec< REAL > &qsi, TPZSolVec &sol, TPZGradSolVec &dsol, TPZFMatrix< REAL > &NeighborAxes) |
Compute solution at neighbour element in a given master coordinate qsi. It returns the axes at which respect derivatives are computed. More... | |
bool | CheckConsistencyOfMappedQsi (TPZCompElSide &Neighbor, TPZVec< REAL > &qsi, TPZVec< REAL > &NeighIntPoint) |
Check consistency of mapped qsi performed by method TPZInterfaceElement::MapQsi by comparing the X coordinate of qsi and the correspondent NeighIntPoint. More... | |
void | ComputeSideTransform (TPZCompElSide &Neighbor, TPZTransform<> &transf) |
void | InitializeElementMatrix (TPZElementMatrix &ef) |
void | InitializeElementMatrix (TPZElementMatrix &ek, TPZElementMatrix &ef) |
void | MapQsi (TPZCompElSide &Neighbor, TPZVec< REAL > &qsi, TPZVec< REAL > &NeighIntPoint) |
Maps qsi coordinate at this master element to qsi coordinate at neighbor master element. More... | |
TPZInterfaceElement (TPZCompMesh &mesh, TPZGeoEl *geo, int64_t &index, TPZCompElSide &left, TPZCompElSide &right) | |
Constuctor to continuous and/or discontinuous neighbours. More... | |
TPZInterfaceElement (TPZCompMesh &mesh, const TPZInterfaceElement ©) | |
Simple copy constructor. More... | |
TPZInterfaceElement (TPZCompMesh &mesh, const TPZInterfaceElement ©, std::map< int64_t, int64_t > &gl2lcConIdx, std::map< int64_t, int64_t > &gl2lcElIdx) | |
Clone constructor to a patch mesh. More... | |
TPZInterfaceElement (TPZCompMesh &mesh, const TPZInterfaceElement ©, int64_t &index) | |
Copy constructor with specified index. More... | |
TPZInterfaceElement () | |
Empty constructor. More... | |
TPZInterfaceElement (TPZCompMesh &mesh, TPZGeoEl *geo, int64_t &index) | |
Default TPZCompEl constructor. SetLeftRightElements must be called before any computation. More... | |
~TPZInterfaceElement () | |
Destructor. More... | |
virtual int | IsInterface () override |
void | SetLeftRightElements (TPZCompElSide &left, TPZCompElSide &right) |
Set neighbors. More... | |
virtual TPZCompEl * | Clone (TPZCompMesh &mesh) const override |
Makes a clone of this. More... | |
virtual TPZCompEl * | ClonePatchEl (TPZCompMesh &mesh, std::map< int64_t, int64_t > &gl2lcConMap, std::map< int64_t, int64_t > &gl2lcElMap) const override |
TPZCompEl * | CloneInterface (TPZCompMesh &aggmesh, int64_t &index, TPZCompElSide &left, TPZCompElSide &right) const |
Method used in TPZAgglomerateElement::CreateAgglomerateMesh. More... | |
void | VolumeEls (TPZCompEl &thirdel) |
Identifies the elements of left and right volume of the interface. More... | |
TPZCompEl * | RightElement () const |
Returns the right element from the element interface. More... | |
TPZCompEl * | LeftElement () const |
Returns the left element from the element interface. More... | |
TPZCompElSide & | LeftElementSide () |
Returns left neighbor. More... | |
TPZCompElSide & | RightElementSide () |
Returns right neighbor. More... | |
void | CenterNormal (TPZVec< REAL > &CenterNormal) const |
Returns the normal of this interface which goes from left to right neighbors. More... | |
void | SetCenterNormal (const TPZVec< REAL > &CenterNormal) |
Set the normal to the given vector. More... | |
void | Normal (TPZFMatrix< REAL > &axes, TPZVec< REAL > &normal) |
Returns normal based on already computed axes matrix. More... | |
void | Normal (TPZVec< REAL > &qsi, TPZVec< REAL > &normal) |
Returns normal at qsi point. More... | |
virtual int | NConnects () const override |
Returns the number from connectivities of the element. More... | |
int | NRightConnects () const |
Returns the number from connectivities of the element related to right neighbour. More... | |
int | NLeftConnects () const |
Returns the number from connectivities of the element related to left neighbour. More... | |
int64_t | ConnectIndex (int i) const override |
Its return the connects of the left and right element associates. More... | |
void | SetConnectIndex (int node, int64_t index) override |
This function should not be called. More... | |
virtual void | BuildCornerConnectList (std::set< int64_t > &connectindexes) const override |
adds the connect indexes associated with base shape functions to the set More... | |
int | Dimension () const override |
Returns the dimension from the element interface. More... | |
MElementType | Type () override |
Type of the element. More... | |
virtual void | LoadSolution () override |
Loads the solution within the internal data structure of the element. More... | |
virtual void | CalcStiff (TPZElementMatrix &ek, TPZElementMatrix &ef) override |
CalcStiff computes the element stiffness matrix and right hand side. More... | |
virtual void | CalcResidual (TPZElementMatrix &ef) override |
CalcResidual only computes the element residual. 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... | |
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, 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 |
Computes solution and its derivatives in the local coordinate qsi. More... | |
void | VetorialProd (TPZVec< REAL > &ivet, TPZVec< REAL > &jvet, TPZVec< REAL > &kvet) |
void | Print (std::ostream &out=std::cout) const override |
Prints attributes of the object. More... | |
virtual void | CreateGraphicalElement (TPZGraphMesh &graphmesh, int dimension) override |
Interface elements does not have graphical representation. More... | |
void | CloneInterface (TPZCompMesh *aggmesh) |
Make a clone of the fine mesh into clustered mesh. 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 | ComputeErrorFace (int errorid, TPZVec< STATE > &errorL, TPZVec< STATE > &errorR) |
ComputeError computes the element error estimator. More... | |
virtual void | Integrate (int variable, TPZVec< STATE > &value) override |
Integrate a variable over the element. More... | |
void | IntegrateInterface (int variable, TPZVec< REAL > &value) |
void | EvaluateInterfaceJump (TPZSolVec &jump, int opt) |
int | ComputeIntegrationOrder () const override |
Returns the unique identifier for reading/writing objects to streams. More... | |
virtual int | ClassId () const override |
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... | |
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 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 | ProjectFlux (TPZElementMatrix &ek, TPZElementMatrix &ef) |
Projects the flux function on the finite element space. More... | |
virtual void | ComputeError (int errorid, TPZVec< REAL > &error) |
ComputeError computes the element error estimator. 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< TPZOneShapeRestraint > | GetShapeRestraints () const |
Return a list with the shape restraints. More... | |
virtual void | ResetShapeRestraints () |
Return a list with the shape restraints. 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 TPZVec< STATE > | IntegrateSolution (int var) const |
Compute the integral of a variable. More... | |
virtual TPZVec< STATE > | IntegrateSolution (const std::string &varname, const std::set< int > &matids) |
Compute the integral of a variable defined by the string if the material id is included in matids. More... | |
virtual void | BuildConnectList (std::set< int64_t > &indepconnectlist, std::set< int64_t > &depconnectlist) |
Builds the list of all connectivities related to the element including the connects pointed to by dependent connects. More... | |
virtual void | BuildConnectList (TPZStack< int64_t > &connectlist) const |
Builds the list of all connectivities related to the element including the connects pointed to by dependent connects. More... | |
virtual void | BuildConnectList (std::set< int64_t > &connectlist) |
Builds the list of all connectivities related to the element including the connects pointed to by dependent connects. More... | |
virtual int | HasDependency () |
Returns 1 if the element has at least one dependent node. Returns 0 otherwise. More... | |
virtual int | PressureConnectIndex () const |
Returns the index of the pressure connect. More... | |
virtual void | ReduceInternalNodes () |
Domain Decomposition. This method will eliminate the nodes which are internal to the element from the datastructure of the grid After calling this method, the superelement will statically condense the internal equations. More... | |
virtual void | CalcBlockDiagonal (TPZStack< int64_t > &connectlist, TPZBlockDiagonal< STATE > &block) |
Calculates the diagonal block. More... | |
REAL | MaximumRadiusOfEl () |
Will return the maximum distance between the nodes of the reference element. More... | |
REAL | LesserEdgeOfEl () |
Will return the smallest distance between two nodes of the reference element. More... | |
virtual void | SetIntegrationRule (TPZIntPoints *intrule) |
Method to set a dynamically allocated integration rule. More... | |
virtual void | SetIntegrationRule (int order) |
virtual const TPZIntPoints & | GetIntegrationRule () const |
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... | |
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 | |
Static Public Member Functions | |
static int | ExistInterfaces (TPZCompElSide &comp) |
Verifies the existence of interfaces associates with the side of an element. More... | |
static int | FreeInterface (TPZCompMesh &cmesh) |
static int | main (TPZCompMesh &cmesh) |
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) |
Protected Member Functions | |
void | InitMaterialData (TPZMaterialData &data, TPZInterpolationSpace *left) |
Initialize a material data and its attributes based on element dimension, number of state variables and material definitions. More... | |
void | InitMaterialData (TPZMaterialData &data) |
Initialize the material data with the geometric data of the interface element. More... | |
void | ComputeRequiredData (TPZMaterialData &data, TPZInterpolationSpace *elem, TPZVec< REAL > &IntPoint) |
Compute and fill data with requested attributes for neighbouring element. More... | |
virtual void | ComputeRequiredData (TPZMaterialData &data, TPZVec< REAL > &qsi) |
Compute the required geometric data for the interface element. More... | |
virtual void | ComputeRequiredData (TPZVec< REAL > &intpointtemp, TPZVec< TPZTransform<> > &trvec, TPZVec< TPZMaterialData > &datavec) |
void | ComputeNormal (TPZVec< REAL > &qsi, TPZVec< REAL > &normal) |
Computes normal at qsi point. More... | |
void | ComputeNormal (TPZFMatrix< REAL > &axes, TPZVec< REAL > &normal) |
Computes normal based on already computed axes matrix. More... | |
void | ComputeCenterNormal (TPZVec< REAL > &normal) |
Computes normal for linear geometric elements. More... | |
Private Member Functions | |
virtual void | InitializeIntegrationRule () override |
Pointer to the integration rule. More... | |
void | DecreaseElConnected () |
Informs the connects that this element is no longer connected to it. More... | |
void | IncrementElConnected () |
Informs the connects that this element is connected to it. More... | |
Private Attributes | |
TPZCompElSide | fLeftElSide |
Element the left of the normal a interface. More... | |
TPZCompElSide | fRightElSide |
Element the right of the normal a interface. More... | |
TPZManVector< REAL, 3 > | fCenterNormal |
Normal to the face element. More... | |
Additional Inherited Members | |
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... | |
Computes the contribution over an interface between two discontinuous elements. Computational Element.
Definition at line 30 of file TPZInterfaceEl.h.
Enumerator | |
---|---|
ENone | |
EStandard | |
EPenalty | |
EContDisc | |
EReferred |
Definition at line 127 of file TPZInterfaceEl.h.
TPZInterfaceElement::TPZInterfaceElement | ( | TPZCompMesh & | mesh, |
TPZGeoEl * | geo, | ||
int64_t & | index, | ||
TPZCompElSide & | left, | ||
TPZCompElSide & | right | ||
) |
Constuctor to continuous and/or discontinuous neighbours.
Definition at line 117 of file TPZInterfaceEl.cpp.
References DebugStop, TPZCompElSide::Element(), IncrementElConnected(), TPZGeoEl::IncrementNumInterfaces(), PZError, SetLeftRightElements(), TPZGeoEl::SetReference(), and TPZCompElSide::Side().
TPZInterfaceElement::TPZInterfaceElement | ( | TPZCompMesh & | mesh, |
const TPZInterfaceElement & | copy | ||
) |
Simple copy constructor.
Definition at line 147 of file TPZInterfaceEl.cpp.
References TPZIntPoints::Clone(), DebugStop, TPZCompElSide::Element(), TPZCompMesh::ElementVec(), fCenterNormal, TPZCompEl::fIntegrationRule, fLeftElSide, fRightElSide, IncrementElConnected(), TPZGeoEl::IncrementNumInterfaces(), TPZCompEl::Index(), TPZCompEl::Mesh(), PZError, TPZCompEl::Reference(), TPZCompElSide::SetElement(), TPZCompElSide::SetSide(), and TPZCompElSide::Side().
TPZInterfaceElement::TPZInterfaceElement | ( | TPZCompMesh & | mesh, |
const TPZInterfaceElement & | copy, | ||
std::map< int64_t, int64_t > & | gl2lcConIdx, | ||
std::map< int64_t, int64_t > & | gl2lcElIdx | ||
) |
Clone constructor to a patch mesh.
mesh | reference to a clone mesh |
copy | element to be copied |
gl2lcConIdx | map with connects |
gl2lcElIdx | map with computational elements |
Definition at line 187 of file TPZInterfaceEl.cpp.
References TPZIntPoints::Clone(), DebugStop, TPZCompElSide::Element(), TPZCompMesh::ElementVec(), fCenterNormal, TPZCompEl::fIntegrationRule, fLeftElSide, fRightElSide, IncrementElConnected(), TPZGeoEl::IncrementNumInterfaces(), TPZCompEl::Index(), LOGPZ_ERROR, TPZCompEl::Mesh(), PZError, TPZCompEl::Reference(), TPZCompElSide::SetElement(), TPZCompElSide::SetSide(), and TPZCompElSide::Side().
TPZInterfaceElement::TPZInterfaceElement | ( | TPZCompMesh & | mesh, |
const TPZInterfaceElement & | copy, | ||
int64_t & | index | ||
) |
Copy constructor with specified index.
Definition at line 242 of file TPZInterfaceEl.cpp.
References TPZIntPoints::Clone(), DebugStop, TPZCompElSide::Element(), TPZCompMesh::ElementVec(), fCenterNormal, TPZCompEl::fIntegrationRule, fLeftElSide, fRightElSide, IncrementElConnected(), TPZGeoEl::IncrementNumInterfaces(), TPZCompEl::Index(), TPZCompEl::Mesh(), PZError, TPZCompEl::Reference(), TPZCompElSide::SetElement(), TPZCompElSide::SetSide(), and TPZCompElSide::Side().
TPZInterfaceElement::TPZInterfaceElement | ( | ) |
Empty constructor.
Definition at line 282 of file TPZInterfaceEl.cpp.
Referenced by Clone(), CloneInterface(), and ClonePatchEl().
TPZInterfaceElement::TPZInterfaceElement | ( | TPZCompMesh & | mesh, |
TPZGeoEl * | geo, | ||
int64_t & | index | ||
) |
Default TPZCompEl constructor. SetLeftRightElements must be called before any computation.
Definition at line 139 of file TPZInterfaceEl.cpp.
References IncrementElConnected(), TPZGeoEl::IncrementNumInterfaces(), and TPZGeoEl::SetReference().
TPZInterfaceElement::~TPZInterfaceElement | ( | ) |
Destructor.
Definition at line 99 of file TPZInterfaceEl.cpp.
References TPZGeoEl::DecrementNumInterfaces(), TPZGeoMesh::ElementIndex(), TPZGeoMesh::ElementVec(), TPZGeoEl::Mesh(), TPZGeoEl::NumInterfaces(), TPZGeoEl::RemoveConnectivities(), and TPZGeoEl::ResetReference().
|
overridevirtual |
adds the connect indexes associated with base shape functions to the set
Implements TPZCompEl.
Definition at line 1698 of file TPZInterfaceEl.cpp.
References TPZCompEl::BuildCornerConnectList(), DebugStop, LeftElement(), and RightElement().
Referenced by SetCenterNormal().
|
overridevirtual |
CalcResidual only computes the element residual.
ef | element residual |
Reimplemented from TPZCompEl.
Definition at line 293 of file TPZInterfaceEl.cpp.
References TPZTransform< T >::Apply(), TPZMaterialData::axes, CheckConsistencyOfMappedQsi(), ComputeRequiredData(), ComputeSideTransform(), TPZDiscontinuousGalerkin::ContributeInterface(), DebugStop, TPZMaterialData::detjac, TPZCompEl::Dimension(), Dimension(), fabs, TPZElementMatrix::fMat, TPZIntPoints::GetMaxOrder(), TPZMaterial::HasForcingFunction(), InitializeElementMatrix(), InitMaterialData(), TPZMaterial::IntegrationRuleOrder(), TPZMaterialData::intLocPtIndex, TPZMaterialData::jacinv, TPZMaterialData::jacobian, LeftElement(), LeftElementSide(), TPZCompEl::Material(), TPZInterpolationSpace::MaxOrder(), TPZDiscontinuousGalerkin::Name(), TPZMaterialData::normal, Normal(), TPZIntPoints::NPoints(), TPZMaterialData::p, TPZIntPoints::Point(), PZError, TPZCompEl::Reference(), TPZElementMatrix::Reset(), RightElement(), RightElementSide(), and TPZIntPoints::SetOrder().
Referenced by LoadSolution().
|
overridevirtual |
CalcStiff computes the element stiffness matrix and right hand side.
ek | element matrix |
ef | element right hand side |
Reimplemented from TPZCompEl.
Definition at line 1051 of file TPZInterfaceEl.cpp.
References TPZTransform< T >::Apply(), TPZMaterialData::axes, CheckConsistencyOfMappedQsi(), ComputeRequiredData(), ComputeSideTransform(), TPZGeoEl::CreateSideIntegrationRule(), DebugStop, TPZMaterialData::detjac, TPZCompEl::Dimension(), Dimension(), fabs, TPZElementMatrix::fMat, TPZMaterial::Id(), TPZCompEl::Index(), InitializeElementMatrix(), InitMaterialData(), TPZMaterialData::intLocPtIndex, TPZMaterialData::jacinv, TPZMaterialData::jacobian, TPZGeoEl::Jacobian(), LeftElement(), LeftElementSide(), LOGPZ_DEBUG, TPZCompEl::Material(), TPZInterpolationSpace::MaxOrder(), TPZIntPoints::NPoints(), TPZGeoEl::NSides(), TPZMaterialData::p, TPZIntPoints::Point(), PZError, TPZCompEl::Reference(), TPZElementMatrix::Reset(), RightElement(), RightElementSide(), TPZVec< T >::size(), and TPZMaterialData::x.
Referenced by LoadSolution().
void TPZInterfaceElement::CenterNormal | ( | TPZVec< REAL > & | CenterNormal | ) | const |
Returns the normal of this interface which goes from left to right neighbors.
Definition at line 756 of file TPZInterfaceEl.cpp.
References fCenterNormal, TPZVec< T >::NElements(), and TPZVec< T >::Resize().
Referenced by Normal(), RightElementSide(), and SetCenterNormal().
bool TPZInterfaceElement::CheckConsistencyOfMappedQsi | ( | TPZCompElSide & | Neighbor, |
TPZVec< REAL > & | qsi, | ||
TPZVec< REAL > & | NeighIntPoint | ||
) |
Check consistency of mapped qsi performed by method TPZInterfaceElement::MapQsi by comparing the X coordinate of qsi and the correspondent NeighIntPoint.
It return true if everything is ok or false otherwise
Definition at line 1546 of file TPZInterfaceEl.cpp.
References TPZCompElSide::Element(), TPZVec< T >::NElements(), Print(), PZError, TPZCompEl::Reference(), sqrt, pzgeom::tol, TPZGeoEl::X(), and ZeroTolerance().
Referenced by CalcResidual(), CalcStiff(), ComputeErrorFace(), ComputeRequiredData(), and MapQsi().
|
overridevirtual |
returns the unique identifier for reading/writing objects to streams
Reimplemented from TPZCompEl.
Definition at line 790 of file TPZInterfaceEl.cpp.
References TPZCompEl::ClassId(), and Hash().
Referenced by CreateGraphicalElement().
|
inlineoverridevirtual |
Makes a clone of this.
Implements TPZCompEl.
Definition at line 166 of file TPZInterfaceEl.h.
References TPZInterfaceElement().
TPZCompEl * TPZInterfaceElement::CloneInterface | ( | TPZCompMesh & | aggmesh, |
int64_t & | index, | ||
TPZCompElSide & | left, | ||
TPZCompElSide & | right | ||
) | const |
Method used in TPZAgglomerateElement::CreateAgglomerateMesh.
Definition at line 289 of file TPZInterfaceEl.cpp.
References TPZCompEl::Reference(), and TPZInterfaceElement().
Referenced by ClonePatchEl(), TPZAgglomerateElement::CreateAgglomerateMesh(), and CreateGraphicalElement().
void TPZInterfaceElement::CloneInterface | ( | TPZCompMesh * | aggmesh | ) |
Make a clone of the fine mesh into clustered mesh.
|
inlineoverridevirtual |
Implements TPZCompEl.
Definition at line 171 of file TPZInterfaceEl.h.
References CloneInterface(), TPZInterfaceElement(), and VolumeEls().
|
protected |
Computes normal for linear geometric elements.
For linear geometry the normal vector is constant.
Definition at line 611 of file TPZInterfaceEl.cpp.
References TPZGeoEl::CenterPoint(), ComputeNormal(), Dimension(), TPZGeoEl::NSides(), and TPZCompEl::Reference().
Referenced by ComputeRequiredData().
|
virtual |
ComputeError computes the element error estimator.
Definition at line 1334 of file TPZInterfaceEl.cpp.
References TPZTransform< T >::Apply(), TPZMaterialData::axes, CheckConsistencyOfMappedQsi(), ComputeRequiredData(), ComputeSideTransform(), TPZDiscontinuousGalerkin::ContributeInterfaceErrors(), DebugStop, TPZMaterialData::detjac, TPZCompEl::Dimension(), Dimension(), fabs, TPZMaterialData::fNeedsHSize, TPZIntPoints::GetMaxOrder(), TPZMaterial::HasForcingFunction(), InitMaterialData(), TPZMaterial::IntegrationRuleOrder(), TPZMaterialData::intLocPtIndex, TPZMaterialData::jacinv, TPZMaterialData::jacobian, LeftElement(), LeftElementSide(), TPZCompEl::Material(), TPZInterpolationSpace::MaxOrder(), TPZMaterialData::normal, Normal(), TPZIntPoints::NPoints(), TPZMaterialData::p, TPZIntPoints::Point(), PZError, TPZCompEl::Reference(), RightElement(), RightElementSide(), TPZMaterialData::SetAllRequirements(), and TPZIntPoints::SetOrder().
Referenced by TPZCompMesh::AssembleError(), and CreateGraphicalElement().
|
overridevirtual |
Returns the unique identifier for reading/writing objects to streams.
Reimplemented from TPZCompEl.
Definition at line 403 of file TPZInterfaceEl.cpp.
References LeftElement(), TPZInterpolationSpace::MaxOrder(), and RightElement().
Referenced by CreateGraphicalElement().
Computes normal at qsi point.
Definition at line 618 of file TPZInterfaceEl.cpp.
References TPZGeoEl::Dimension(), TPZGeoEl::Jacobian(), and TPZCompEl::Reference().
Referenced by ComputeCenterNormal(), ComputeRequiredData(), and Normal().
|
protected |
Computes normal based on already computed axes matrix.
Axes has been computed in the desired qsi coordinate
Definition at line 626 of file TPZInterfaceEl.cpp.
References TPZGeoEl::CenterPoint(), DebugStop, TPZMaterial::Dimension(), TPZGeoEl::Dimension(), fabs, TPZVec< T >::Fill(), LeftElement(), LOGPZ_DEBUG, LOGPZ_WARN, TPZCompEl::Material(), TPZGeoEl::MaterialId(), TPZGeoEl::NSides(), Print(), PZError, TPZCompEl::Reference(), TPZVec< T >::Resize(), RightElement(), sdot(), sqrt, VetorialProd(), and TPZGeoEl::X().
|
protected |
Compute and fill data with requested attributes for neighbouring element.
Definition at line 1654 of file TPZInterfaceEl.cpp.
References TPZMaterialData::axes, TPZInterpolationSpace::ComputeShape(), TPZCompEl::ComputeSolution(), TPZMaterialData::dphix, TPZMaterialData::dsol, TPZMaterialData::fNeedsNeighborSol, TPZMaterialData::intGlobPtIndex, TPZInterpolationSpace::MaxOrder(), TPZMaterialData::p, TPZMaterialData::phi, and TPZMaterialData::sol.
Referenced by CalcResidual(), CalcStiff(), and ComputeErrorFace().
|
protectedvirtual |
Compute the required geometric data for the interface element.
Definition at line 1669 of file TPZInterfaceEl.cpp.
References TPZMaterialData::axes, ComputeNormal(), DebugStop, Dimension(), TPZGeoEl::ElementRadius(), TPZMaterialData::fNeedsHSize, TPZMaterialData::fNeedsNormal, TPZMaterialData::fNeedsSol, TPZMaterialData::HSize, TPZMaterialData::normal, and TPZCompEl::Reference().
|
inlineprotectedvirtual |
Definition at line 70 of file TPZInterfaceEl.h.
References CheckConsistencyOfMappedQsi(), ComputeCenterNormal(), ComputeNormal(), ComputeSideTransform(), DebugStop, GetConnects(), InitializeElementMatrix(), MapQsi(), and NeighbourSolution().
void TPZInterfaceElement::ComputeSideTransform | ( | TPZCompElSide & | Neighbor, |
TPZTransform<> & | transf | ||
) |
Definition at line 1514 of file TPZInterfaceEl.cpp.
References Dimension(), TPZCompElSide::Element(), LOGPZ_DEBUG, TPZTransform< T >::Multiply(), TPZGeoEl::NSides(), TPZGeoElSide::Print(), TPZCompEl::Reference(), TPZCompElSide::Side(), and TPZGeoElSide::SideTransform3().
Referenced by CalcResidual(), CalcStiff(), ComputeErrorFace(), ComputeRequiredData(), and MapQsi().
|
overridevirtual |
Computes solution and its derivatives in the local coordinate qsi.
qsi | [in] master element coordinate |
normal | normal vector |
leftsol | [out] left finite element solution |
rightsol | [out] right finite element solution |
dleftsol | [out] left solution derivatives |
drightsol | [out] right solution derivatives |
leftaxes | [out] axes associated with the derivative of the left element |
rightaxes | [out] axes associated with the derivative of the right element |
Reimplemented from TPZCompEl.
Definition at line 1608 of file TPZInterfaceEl.cpp.
References fLeftElSide, fRightElSide, NeighbourSolution(), and Normal().
Referenced by LoadSolution().
|
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 in the direction of the axes |
axes | axes indicating the direction of the derivatives |
sol | finite element solution |
dsol | solution derivatives |
Reimplemented from TPZCompEl.
Definition at line 1583 of file TPZInterfaceEl.cpp.
References TPZManVector< T, NumExtAlloc >::Resize().
|
overridevirtual |
Computes solution and its derivatives in the local coordinate qsi.
qsi | master element coordinate |
sol | finite element solution |
dsol | solution derivatives |
axes | axes associated with the derivative of the solution |
Reimplemented from TPZCompEl.
Definition at line 1589 of file TPZInterfaceEl.cpp.
References TPZManVector< T, NumExtAlloc >::Resize(), and TPZFMatrix< TVar >::Zero().
|
overridevirtual |
Computes solution and its derivatives in the local coordinate qsi.
qsi | master element coordinate |
data | contains all elements to compute the solution |
Reimplemented from TPZCompEl.
Definition at line 1601 of file TPZInterfaceEl.cpp.
References DebugStop.
|
overridevirtual |
Its return the connects of the left and right element associates.
Implements TPZCompEl.
Definition at line 415 of file TPZInterfaceEl.cpp.
References TPZCompMesh::CommonMesh(), TPZCompEl::ConnectIndex(), DebugStop, TPZCompElSide::Element(), fLeftElSide, fRightElSide, TPZCompMesh::GetFromSuperMesh(), TPZCompEl::Mesh(), NLeftConnects(), NRightConnects(), TPZCompMesh::PutinSuperMesh(), and PZError.
Referenced by SetCenterNormal().
|
inlineoverridevirtual |
Interface elements does not have graphical representation.
Reimplemented from TPZCompEl.
Definition at line 323 of file TPZInterfaceEl.h.
References ClassId(), CloneInterface(), ComputeErrorFace(), ComputeIntegrationOrder(), EvaluateError(), EvaluateInterfaceJump(), ExistInterfaces(), FreeInterface(), Integrate(), IntegrateInterface(), main(), Read(), val(), and Write().
|
private |
Informs the connects that this element is no longer connected to it.
Definition at line 83 of file TPZInterfaceEl.cpp.
|
inlineoverridevirtual |
Returns the dimension from the element interface.
Implements TPZCompEl.
Definition at line 237 of file TPZInterfaceEl.h.
References TPZGeoEl::Dimension(), and TPZCompEl::Reference().
Referenced by CalcResidual(), CalcStiff(), ComputeCenterNormal(), ComputeErrorFace(), ComputeRequiredData(), ComputeSideTransform(), InitMaterialData(), and IntegrateInterface().
|
overridevirtual |
Performs an error estimate on the elemen.
fp | function pointer which computes the exact solution |
errors | [out] the L2 norm of the error of the solution |
flux | [in] value of the interpolated flux values |
Reimplemented from TPZCompEl.
Definition at line 780 of file TPZInterfaceEl.cpp.
References TPZVec< T >::Fill().
Referenced by CreateGraphicalElement().
void TPZInterfaceElement::EvaluateInterfaceJump | ( | TPZSolVec & | jump, |
int | opt | ||
) |
-> Evaluates
-> Evaluates
Definition at line 1247 of file TPZInterfaceEl.cpp.
References TPZMaterialData::axes, TPZGeoEl::CreateSideIntegrationRule(), DebugStop, TPZMaterialData::detjac, TPZMaterialData::dsol, fabs, TPZVec< T >::Fill(), TPZIntPoints::GetMaxOrder(), TPZIntPoints::GetOrder(), TPZDiscontinuousGalerkin::InterfaceJump(), TPZMaterialData::jacinv, TPZMaterialData::jacobian, TPZGeoEl::Jacobian(), LeftElement(), LeftElementSide(), TPZCompEl::Material(), TPZDiscontinuousGalerkin::Name(), NConnects(), NeighbourSolution(), TPZIntPoints::NPoints(), TPZGeoEl::NSides(), TPZMaterial::NStateVariables(), TPZIntPoints::Point(), PZError, TPZCompEl::Reference(), TPZManVector< T, NumExtAlloc >::Resize(), RightElement(), RightElementSide(), TPZIntPoints::SetOrder(), TPZVec< T >::size(), TPZMaterialData::sol, sqrt, TPZMaterialData::x, and TPZGeoEl::X().
Referenced by TPZCompMesh::ConvertDiscontinuous2Continuous(), and CreateGraphicalElement().
|
static |
Verifies the existence of interfaces associates with the side of an element.
Case to interface should exist and exists only a returns 1,
case to interface should not exist and does not exist returns 1,
otherwise returns 0
Definition at line 529 of file TPZInterfaceEl.cpp.
References DebugStop, EInterface, TPZGeoElSide::Element(), TPZCompElSide::Element(), TPZGeoElSide::Exists(), TPZCompElSide::Exists(), TPZCompElSide::HigherLevelElementList(), TPZGeoElSide::Neighbour(), TPZVec< T >::NElements(), PZError, TPZGeoElSide::Reference(), TPZCompElSide::Reference(), TPZManVector< T, NumExtAlloc >::Resize(), and TPZCompEl::Type().
Referenced by CreateGraphicalElement(), and main().
|
static |
Definition at line 581 of file TPZInterfaceEl.cpp.
References DebugStop, EInterface, TPZGeoElSide::Element(), TPZCompElSide::Element(), TPZCompMesh::ElementVec(), TPZGeoElSide::Neighbour(), TPZCompMesh::NElements(), TPZGeoEl::NSides(), PZError, TPZCompEl::Reference(), TPZGeoElSide::Reference(), TPZCompElSide::Reference(), and TPZCompEl::Type().
Referenced by CreateGraphicalElement(), and main().
void TPZInterfaceElement::GetConnects | ( | TPZCompElSide & | elside, |
TPZVec< TPZConnect *> & | connects, | ||
TPZVec< int64_t > & | connectindex | ||
) |
Extract connects from element el.
Definition at line 1215 of file TPZInterfaceEl.cpp.
References TPZCompMesh::CommonMesh(), TPZCompEl::ConnectIndex(), TPZCompMesh::ConnectVec(), TPZCompElSide::Element(), TPZVec< T >::Fill(), TPZCompEl::fMesh, TPZCompMesh::GetFromSuperMesh(), TPZCompEl::Mesh(), TPZCompEl::NConnects(), TPZCompMesh::PutinSuperMesh(), and TPZVec< T >::Resize().
Referenced by ComputeRequiredData(), and InitializeElementMatrix().
|
private |
Informs the connects that this element is connected to it.
Definition at line 91 of file TPZInterfaceEl.cpp.
Referenced by TPZInterfaceElement().
void TPZInterfaceElement::InitializeElementMatrix | ( | TPZElementMatrix & | ef | ) |
Definition at line 850 of file TPZInterfaceEl.cpp.
References TPZCompEl::Connect(), DebugStop, TPZElementMatrix::fBlock, TPZElementMatrix::fConnect, TPZElementMatrix::fMat, GetConnects(), LeftElement(), LeftElementSide(), TPZCompEl::Material(), TPZInterpolationSpace::NConnectShapeF(), TPZVec< T >::NElements(), TPZConnect::NShape(), TPZInterpolationSpace::NShapeF(), TPZConnect::NState(), TPZMaterial::NStateVariables(), TPZMaterial::NumLoadCases(), TPZConnect::Order(), PZError, TPZFMatrix< TVar >::Redim(), TPZBlock< TVar >::Resequence(), TPZElementMatrix::Reset(), TPZManVector< T, NumExtAlloc >::Resize(), RightElement(), RightElementSide(), TPZBlock< TVar >::Set(), and TPZBlock< TVar >::SetNBlocks().
Referenced by CalcResidual(), CalcStiff(), and ComputeRequiredData().
void TPZInterfaceElement::InitializeElementMatrix | ( | TPZElementMatrix & | ek, |
TPZElementMatrix & | ef | ||
) |
Definition at line 927 of file TPZInterfaceEl.cpp.
References TPZCompMesh::Block(), TPZCompEl::Connect(), TPZCompMesh::ConnectVec(), DebugStop, TPZElementMatrix::EF, TPZElementMatrix::EK, TPZElementMatrix::fBlock, TPZElementMatrix::fConnect, TPZElementMatrix::fMat, TPZElementMatrix::fMesh, TPZElementMatrix::fType, GetConnects(), LeftElement(), LeftElementSide(), LOGPZ_DEBUG, TPZCompEl::Material(), TPZCompEl::Mesh(), TPZInterpolationSpace::NConnectShapeF(), TPZVec< T >::NElements(), TPZConnect::NShape(), TPZInterpolationSpace::NShapeF(), TPZConnect::NState(), TPZMaterial::NStateVariables(), TPZMaterial::NumLoadCases(), TPZConnect::Order(), TPZBlock< TVar >::Position(), TPZStack< T, NumExtAlloc >::Push(), PZError, TPZFMatrix< TVar >::Redim(), TPZBlock< TVar >::Resequence(), TPZElementMatrix::Reset(), TPZManVector< T, NumExtAlloc >::Resize(), RightElement(), RightElementSide(), TPZConnect::SequenceNumber(), TPZBlock< TVar >::Set(), TPZBlock< TVar >::SetNBlocks(), TPZBlock< TVar >::Size(), and TPZCompEl::Solution().
|
overrideprivatevirtual |
Pointer to the integration rule.
Reimplemented from TPZCompEl.
Definition at line 1183 of file TPZInterfaceEl.cpp.
References TPZGeoEl::CreateSideIntegrationRule(), LeftElement(), LOGPZ_DEBUG, TPZInterpolationSpace::MaxOrder(), TPZGeoEl::NSides(), TPZCompEl::Reference(), RightElement(), and TPZCompEl::SetIntegrationRule().
|
protected |
Initialize a material data and its attributes based on element dimension, number of state variables and material definitions.
Definition at line 1617 of file TPZInterfaceEl.cpp.
References TPZGeoEl::CenterPoint(), DebugStop, TPZCompEl::Dimension(), TPZDiscontinuousGalerkin::FillDataRequirementsInterface(), TPZMaterialData::fNeedsNeighborCenter, TPZMaterialData::fNeedsNeighborSol, TPZMaterialData::fNeedsSol, TPZMaterialData::gelElId, TPZGeoEl::Id(), TPZInterpolationSpace::InitMaterialData(), TPZCompEl::Material(), TPZGeoEl::NSides(), PZError, TPZCompEl::Reference(), TPZManVector< T, NumExtAlloc >::Resize(), TPZGeoEl::X(), and TPZMaterialData::XCenter.
Referenced by CalcResidual(), CalcStiff(), ComputeErrorFace(), and IntegrateInterface().
|
protected |
Initialize the material data with the geometric data of the interface element.
Definition at line 1644 of file TPZInterfaceEl.cpp.
References TPZMaterialData::axes, Dimension(), fCenterNormal, TPZMaterialData::jacinv, TPZMaterialData::jacobian, TPZMaterialData::normal, TPZFMatrix< TVar >::Redim(), TPZManVector< T, NumExtAlloc >::Resize(), and TPZMaterialData::x.
|
overridevirtual |
Integrate a variable over the element.
Reimplemented from TPZCompEl.
Definition at line 1430 of file TPZInterfaceEl.cpp.
References TPZVec< T >::Fill(), TPZCompEl::Material(), TPZMaterial::NSolutionVariables(), and TPZVec< T >::Resize().
Referenced by CreateGraphicalElement().
void TPZInterfaceElement::IntegrateInterface | ( | int | variable, |
TPZVec< REAL > & | value | ||
) |
Definition at line 1436 of file TPZInterfaceEl.cpp.
References TPZMaterialData::axes, TPZGeoEl::CreateSideIntegrationRule(), DebugStop, TPZMaterialData::detjac, Dimension(), TPZGeoEl::Dimension(), TPZMaterialData::dsol, fabs, TPZVec< T >::Fill(), TPZIntPoints::GetMaxOrder(), TPZMaterial::HasForcingFunction(), InitMaterialData(), TPZMaterial::IntegrationRuleOrder(), TPZMaterialData::jacinv, TPZMaterialData::jacobian, TPZGeoEl::Jacobian(), LeftElement(), LeftElementSide(), TPZCompEl::Material(), TPZInterpolationSpace::MaxOrder(), NeighbourSolution(), TPZMaterialData::normal, Normal(), TPZIntPoints::NPoints(), TPZGeoEl::NSides(), TPZMaterial::NSolutionVariables(), TPZMaterialData::p, TPZIntPoints::Point(), PZError, TPZCompEl::Reference(), TPZVec< T >::Resize(), RightElement(), RightElementSide(), TPZIntPoints::SetOrder(), TPZMaterialData::sol, and TPZDiscontinuousGalerkin::SolutionDisc().
Referenced by CreateGraphicalElement().
|
inlineoverridevirtual |
Reimplemented from TPZCompEl.
Definition at line 159 of file TPZInterfaceEl.h.
References SetLeftRightElements().
|
inline |
Returns the left element from the element interface.
Definition at line 188 of file TPZInterfaceEl.h.
References TPZCompElSide::Element().
Referenced by TPZCompMesh::AssembleError(), BuildCornerConnectList(), BuildElementGroups(), CalcResidual(), CalcStiff(), ComputeErrorFace(), ComputeIntegrationOrder(), TPZAgglomerateElement::ComputeNeighbours(), ComputeNormal(), TPZCompMesh::ConvertDiscontinuous2Continuous(), TPZAgglomerateElement::CreateAgglomerateMesh(), TPZInterpolationSpace::CreateInterface(), TPZMHMeshControl::CreateSkeletonElements(), EvaluateInterfaceJump(), InitializeElementMatrix(), InitializeIntegrationRule(), IntegrateInterface(), Print(), TPZMHMeshControl::PrintBoundaryInfo(), TPZMHMeshControl::PrintSubdomain(), and TPZSubCompMesh::TransferElementFrom().
|
inline |
Returns left neighbor.
Definition at line 193 of file TPZInterfaceEl.h.
References fLeftElSide.
Referenced by CalcResidual(), CalcStiff(), ComputeErrorFace(), TPZMHMeshControl::ConnectedInterfaceElements(), TPZAgglomerateElement::CreateAgglomerateMesh(), EvaluateInterfaceJump(), TPZCreateApproximationSpace::Hybridize(), TPZMHMeshControl::HybridizeSkeleton(), InitializeElementMatrix(), IntegrateInterface(), TPZMHMeshControl::PrintSubdomain(), and TPZMHMeshControl::TransferToMultiphysics().
|
inlineoverridevirtual |
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
Reimplemented from TPZCompEl.
Definition at line 251 of file TPZInterfaceEl.h.
References CalcResidual(), CalcStiff(), ComputeSolution(), Print(), and VetorialProd().
|
static |
Definition at line 490 of file TPZInterfaceEl.cpp.
References DebugStop, TPZMaterial::Dimension(), TPZCompMesh::ElementVec(), ExistInterfaces(), FreeInterface(), TPZCompEl::Material(), TPZCompMesh::NElements(), TPZGeoEl::NSides(), PZError, TPZCompEl::Reference(), and TPZGeoEl::SideDimension().
Referenced by CreateGraphicalElement().
void TPZInterfaceElement::MapQsi | ( | TPZCompElSide & | Neighbor, |
TPZVec< REAL > & | qsi, | ||
TPZVec< REAL > & | NeighIntPoint | ||
) |
Maps qsi coordinate at this master element to qsi coordinate at neighbor master element.
Neighbor | [in] may be this->LeftElementSide() or this->RightElementSide() |
qsi | [in] is the point at this element master |
NeighIntPoint | [out] is the point at neighbor element master. X[qsi] is equal to X[NeighIntPoint] |
Definition at line 1537 of file TPZInterfaceEl.cpp.
References TPZTransform< T >::Apply(), CheckConsistencyOfMappedQsi(), and ComputeSideTransform().
Referenced by ComputeRequiredData(), and NeighbourSolution().
|
overridevirtual |
Returns the number from connectivities of the element.
Implements TPZCompEl.
Definition at line 387 of file TPZInterfaceEl.cpp.
References NLeftConnects(), and NRightConnects().
Referenced by EvaluateInterfaceJump(), and SetCenterNormal().
void TPZInterfaceElement::NeighbourSolution | ( | TPZCompElSide & | Neighbor, |
TPZVec< REAL > & | qsi, | ||
TPZSolVec & | sol, | ||
TPZGradSolVec & | dsol, | ||
TPZFMatrix< REAL > & | NeighborAxes | ||
) |
Compute solution at neighbour element in a given master coordinate qsi. It returns the axes at which respect derivatives are computed.
[in] | Neighbor | |
[in] | qsi | |
[out] | sol | |
[out] | dsol | |
[out] | NeighborAxes |
Definition at line 1573 of file TPZInterfaceEl.cpp.
References TPZCompEl::ComputeSolution(), TPZGeoEl::Dimension(), TPZCompElSide::Element(), MapQsi(), and TPZCompEl::Reference().
Referenced by ComputeRequiredData(), ComputeSolution(), EvaluateInterfaceJump(), and IntegrateInterface().
int TPZInterfaceElement::NLeftConnects | ( | ) | const |
Returns the number from connectivities of the element related to left neighbour.
Definition at line 391 of file TPZInterfaceEl.cpp.
References TPZCompElSide::Element(), fLeftElSide, and TPZCompEl::NConnects().
Referenced by ConnectIndex(), NConnects(), and SetCenterNormal().
void TPZInterfaceElement::Normal | ( | TPZFMatrix< REAL > & | axes, |
TPZVec< REAL > & | normal | ||
) |
Returns normal based on already computed axes matrix.
Axes has been computed in the desired qsi coordinate If geometric element has LinearMapping the CenterNormal is returned
Definition at line 762 of file TPZInterfaceEl.cpp.
References CenterNormal(), ComputeNormal(), TPZGeoEl::IsLinearMapping(), and TPZCompEl::Reference().
Referenced by CalcResidual(), ComputeErrorFace(), ComputeSolution(), IntegrateInterface(), and SetCenterNormal().
Returns normal at qsi point.
If geometric element has LinearMapping the CenterNormal is returned
Definition at line 768 of file TPZInterfaceEl.cpp.
References CenterNormal(), ComputeNormal(), TPZGeoEl::IsLinearMapping(), and TPZCompEl::Reference().
int TPZInterfaceElement::NRightConnects | ( | ) | const |
Returns the number from connectivities of the element related to right neighbour.
Definition at line 397 of file TPZInterfaceEl.cpp.
References TPZCompElSide::Element(), fRightElSide, and TPZCompEl::NConnects().
Referenced by ConnectIndex(), NConnects(), and SetCenterNormal().
|
overridevirtual |
Prints attributes of the object.
Reimplemented from TPZCompEl.
Definition at line 459 of file TPZInterfaceEl.cpp.
References TPZGeoEl::Dimension(), fCenterNormal, TPZGeoEl::Id(), TPZCompEl::Index(), TPZGeoEl::Index(), LeftElement(), TPZGeoEl::MaterialId(), TPZCompEl::Print(), TPZCompEl::Reference(), and RightElement().
Referenced by CheckConsistencyOfMappedQsi(), ComputeNormal(), and LoadSolution().
|
overridevirtual |
Reads the element data from a stream.
Read the element data from a stream
Reimplemented from TPZCompEl.
Definition at line 829 of file TPZInterfaceEl.cpp.
References fCenterNormal, fLeftElSide, fRightElSide, TPZPersistenceManager::GetInstance(), TPZStream::Read(), TPZCompEl::Read(), TPZCompElSide::SetElement(), and TPZCompElSide::SetSide().
Referenced by CreateGraphicalElement().
|
inline |
Returns the right element from the element interface.
Definition at line 183 of file TPZInterfaceEl.h.
References TPZCompElSide::Element().
Referenced by TPZCompMesh::AssembleError(), BuildCornerConnectList(), BuildElementGroups(), CalcResidual(), CalcStiff(), ComputeErrorFace(), ComputeIntegrationOrder(), TPZAgglomerateElement::ComputeNeighbours(), ComputeNormal(), TPZCompMesh::ConvertDiscontinuous2Continuous(), TPZAgglomerateElement::CreateAgglomerateMesh(), TPZInterpolationSpace::CreateInterface(), TPZMHMeshControl::CreateSkeletonElements(), EvaluateInterfaceJump(), InitializeElementMatrix(), InitializeIntegrationRule(), IntegrateInterface(), Print(), TPZMHMeshControl::PrintBoundaryInfo(), TPZMHMeshControl::PrintSubdomain(), and TPZSubCompMesh::TransferElementFrom().
|
inline |
Returns right neighbor.
Definition at line 196 of file TPZInterfaceEl.h.
References CenterNormal(), and fRightElSide.
Referenced by CalcResidual(), CalcStiff(), ComputeErrorFace(), TPZMHMeshControl::ConnectedInterfaceElements(), TPZAgglomerateElement::CreateAgglomerateMesh(), EvaluateInterfaceJump(), TPZCreateApproximationSpace::Hybridize(), TPZMHMeshControl::HybridizeSkeleton(), InitializeElementMatrix(), IntegrateInterface(), and TPZMHMeshControl::TransferToMultiphysics().
|
inline |
Set the normal to the given vector.
Definition at line 202 of file TPZInterfaceEl.h.
References BuildCornerConnectList(), CenterNormal(), ConnectIndex(), NConnects(), NLeftConnects(), Normal(), NRightConnects(), and SetConnectIndex().
|
overridevirtual |
This function should not be called.
Implements TPZCompEl.
Definition at line 485 of file TPZInterfaceEl.cpp.
References DebugStop.
Referenced by SetCenterNormal().
void TPZInterfaceElement::SetLeftRightElements | ( | TPZCompElSide & | left, |
TPZCompElSide & | right | ||
) |
Set neighbors.
Definition at line 28 of file TPZInterfaceEl.cpp.
References DebugStop, TPZCompEl::Dimension(), TPZGeoEl::Dimension(), TPZCompElSide::Element(), PZError, and TPZCompElSide::Side().
Referenced by TPZMHMeshControl::HybridizeSkeleton(), IsInterface(), and TPZInterfaceElement().
|
inlineoverridevirtual |
Type of the element.
Reimplemented from TPZCompEl.
Definition at line 242 of file TPZInterfaceEl.h.
References EInterface.
void TPZInterfaceElement::VetorialProd | ( | TPZVec< REAL > & | ivet, |
TPZVec< REAL > & | jvet, | ||
TPZVec< REAL > & | kvet | ||
) |
Definition at line 748 of file TPZInterfaceEl.cpp.
References TPZVec< T >::Resize().
Referenced by ComputeNormal(), and LoadSolution().
void TPZInterfaceElement::VolumeEls | ( | TPZCompEl & | thirdel | ) |
Identifies the elements of left and right volume of the interface.
Referenced by ClonePatchEl().
|
overridevirtual |
Saves the element data to a stream.
Save the element data to a stream
Reimplemented from TPZCompEl.
Definition at line 802 of file TPZInterfaceEl.cpp.
References DebugStop, TPZCompElSide::Element(), fCenterNormal, fLeftElSide, fRightElSide, TPZCompEl::Index(), PZError, TPZCompElSide::Side(), TPZStream::Write(), TPZCompEl::Write(), and TPZPersistenceManager::WritePointer().
Referenced by CreateGraphicalElement().
|
private |
Normal to the face element.
Definition at line 41 of file TPZInterfaceEl.h.
Referenced by CenterNormal(), InitMaterialData(), Print(), Read(), TPZInterfaceElement(), and Write().
|
private |
Element the left of the normal a interface.
Definition at line 35 of file TPZInterfaceEl.h.
Referenced by ComputeSolution(), ConnectIndex(), LeftElementSide(), NLeftConnects(), Read(), TPZInterfaceElement(), and Write().
|
private |
Element the right of the normal a interface.
Definition at line 38 of file TPZInterfaceEl.h.
Referenced by ComputeSolution(), ConnectIndex(), NRightConnects(), Read(), RightElementSide(), TPZInterfaceElement(), and Write().