NeoPZ
|
Represents a set of shape functions associated with a computational element/side. Computational Element. More...
#include <pzconnect.h>
Classes | |
class | TPZDepend |
Structure to reference dependency. More... | |
Public Types | |
enum | EConnectType { ENone, EPressure, ECondensed } |
Public Member Functions | |
TPZConnect () | |
Default constructor. More... | |
TPZConnect (const TPZConnect ©) | |
copy constructor More... | |
~TPZConnect () | |
Default destructor. More... | |
TPZConnect & | operator= (const TPZConnect &con) |
virtual int | ClassId () const override |
Define the class id associated with the class. More... | |
void | Reset () |
Reset the data of the connect. More... | |
int | NDof (TPZCompMesh &mesh) |
Number of degrees of freedom associated with the object. More... | |
int | NDof () const |
Number of degrees of freedom associated with the object. More... | |
unsigned char | NState () const |
Number of state variables associated with the connect. More... | |
unsigned int | NShape () const |
int64_t | SequenceNumber () const |
Returns the Sequence number of the connect object. More... | |
void | SetSequenceNumber (int64_t i) |
Set the sequence number for the global system of equations of the connect object. More... | |
void | SetOrder (int order, int64_t index) |
Set the order of the shapefunction associated with the connect. More... | |
void | SetNState (int nstate) |
Set the number of state variables. More... | |
void | SetNShape (int nshape) |
Set the number of shape functions associated with the connect. More... | |
unsigned char | Order () const |
Access function to return the order associated with the connect. More... | |
bool | IsCondensed () const |
Access method to return the indication whether the connect is condensed or not. More... | |
unsigned char | LagrangeMultiplier () const |
Access method to return the indication whether the connect is associated with a pressure lagrange multiplier. More... | |
void | SetLagrangeMultiplier (unsigned char mult) |
Set the connect as a pressure connect or not. More... | |
void | SetCondensed (bool flag) |
Set the connect as a condensed connect or not. More... | |
void | Print (const TPZCompMesh &mesh, std::ostream &out=std::cout) |
Print the information for the connect element. More... | |
void | Print (TPZCompMesh &mesh, TPZVec< REAL > &cp, std::ostream &out=std::cout) |
Also print the center point of the side associated to the connect. More... | |
void | ResetElConnected () |
Initialize with zero fNElConnected. More... | |
void | IncrementElConnected () |
Increment fNElConnected. More... | |
void | DecrementElConnected () |
Decrement fNElConnected. More... | |
int | NElConnected () const |
Returns fNElConnected. More... | |
TPZDepend * | AddDependency (int64_t myindex, int64_t dependindex, TPZFMatrix< REAL > &depmat, int64_t ipos, int64_t jpos, int isize, int jsize) |
Add dependency between connects. More... | |
void | RemoveDepend (int64_t myindex, int64_t dependindex) |
Remove dependency between connects if exist. More... | |
void | RemoveDepend () |
Deletes all dependency information. More... | |
int | DependencyDepth (TPZCompMesh &mesh) |
the maximum number of recursive dependencies More... | |
int | NumDepend () const |
size of the dependency list More... | |
int | HasDependency () const |
Returns whether exist dependecy information. More... | |
int | CheckDependency (int nshape, TPZCompMesh *mesh, int nstate) |
TPZDepend * | FirstDepend () |
void | AddToList (int64_t myindex, TPZCompMesh &mesh, TPZStack< int64_t > &connectlist) |
Adds itself and the connects from which it depends to the list. More... | |
void | AddToList (int64_t myindex, TPZCompMesh &mesh, std::set< int64_t > &connectlist) |
Adds itself and the connects from which it depends to the list. More... | |
void | SetDependenceOrder (int64_t myindex, TPZCompMesh &mesh, int CurrentOrder, TPZVec< int64_t > &connectlist, TPZVec< int > &DependenceOrder) |
void | ExpandShape (int64_t cind, TPZVec< int64_t > &connectlist, TPZVec< int > &blocksize, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi) |
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... | |
void | CopyFrom (TPZConnect &orig, std::map< int64_t, int64_t > &gl2lcIdx) |
Copy a connect data structure from an original connect to a new connect mapping their indexes. More... | |
void | BuildConnectList (int64_t index, std::set< int64_t > &indepconnectlist, std::set< int64_t > &depconnectlist, TPZCompMesh &mesh) |
Builds the list of all connectivities related to ConnectIndex including the connects pointed to by dependent connects. More... | |
Public Member Functions inherited from TPZSavable | |
TPZSavable () | |
virtual | ~TPZSavable () |
virtual std::list< std::map< std::string, uint64_t > > | VersionHistory () const |
virtual std::pair< std::string, uint64_t > | Version () const |
virtual bool | Compare (TPZSavable *copy, bool override=false) |
Compares the object for identity with the object pointed to, eventually copy the object. More... | |
virtual bool | Compare (TPZSavable *copy, bool override=false) const |
Compares the object for identity with the object pointed to, eventually copy the object. More... | |
Public Member Functions inherited from TPZRegisterClassId | |
template<typename T > | |
TPZRegisterClassId (int(T::*)() const) | |
TPZRegisterClassId ()=default | |
Static Public Member Functions | |
static void | BuildConnectList (TPZStack< int64_t > &connectlist, TPZVec< int64_t > &ConnectIndex, TPZCompMesh &mesh) |
Builds the list of all connectivities related to ConnectIndex including the connects pointed to by dependent connects. More... | |
static void | BuildConnectList (std::set< int64_t > &connectlist, std::set< int64_t > &additional, TPZCompMesh &mesh) |
Builds the list of all connectivities related to ConnectIndex including the connects pointed to by dependent connects. More... | |
static void | BuildDependencyOrder (TPZVec< int64_t > &connectlist, TPZVec< int > &DependenceOrder, TPZCompMesh &mesh) |
This method builds the vector DependenceOrder which indicates in which order constrained nodes need to be processed. 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) |
Public Attributes | |
int64_t | fSequenceNumber |
Node block number. More... | |
int | fNElConnected |
Number of element connected. More... | |
union { | |
unsigned int fFlags | |
struct { | |
unsigned char fOrder | |
Interpolation order of the associated shape functions. More... | |
unsigned char fNState | |
Number of state variables associated with each shape function. More... | |
unsigned char fLagrangeMultiplier | |
Whether the connnect is associated with a lagrange multiplier, indicating the level level n multipliers need to be numbered after the multipliers of level n-1. More... | |
bool fIsCondensed | |
Whether the equations associated with the connect should be/are condensed. More... | |
} fCompose | |
}; | |
Flag to signal the type of connect ECondensed : the connect will be condensed before assembly EPressure : a pressure connect which should be assembled after the flux connects. More... | |
unsigned int | fNShape |
Number of shape functions associated with the connect. More... | |
Private Attributes | |
TPZDepend * | fDependList |
Dependency list of the connect (NULL if the connect is not constrained) More... | |
Represents a set of shape functions associated with a computational element/side. Computational Element.
This class keeps track of information associated with an element/side such as order of interpolation sequence number in the vector of blocks of equations
Objects of this class also contain the information necessary for constraints between shapefunctions
Definition at line 30 of file pzconnect.h.
Enumerator | |
---|---|
ENone | |
EPressure | |
ECondensed |
Definition at line 32 of file pzconnect.h.
TPZConnect::TPZConnect | ( | ) |
TPZConnect::TPZConnect | ( | const TPZConnect & | copy | ) |
copy constructor
Definition at line 41 of file pzconnect.cpp.
References fDependList, fFlags, fNElConnected, fNShape, and fSequenceNumber.
TPZConnect::~TPZConnect | ( | ) |
Default destructor.
Definition at line 25 of file pzconnect.cpp.
References TPZConnect::TPZDepend::fDepConnectIndex, fDependList, TPZConnect::TPZDepend::fDepMatrix, TPZConnect::TPZDepend::fNext, fSequenceNumber, and TPZMatrix< TVar >::Print().
TPZConnect::TPZDepend * TPZConnect::AddDependency | ( | int64_t | myindex, |
int64_t | dependindex, | ||
TPZFMatrix< REAL > & | depmat, | ||
int64_t | ipos, | ||
int64_t | jpos, | ||
int | isize, | ||
int | jsize | ||
) |
Add dependency between connects.
myindex | [in] index of this connect |
dependindex | [in] index of the connect this will depend upon |
depmat | [in] dependency matrix which defines the relation between the connects |
ipos,jpos,isize,jsize | are parameters which define the submatrix within depmat which is to be used |
Definition at line 130 of file pzconnect.cpp.
References TPZMatrix< TVar >::Cols(), DebugStop, fDependList, TPZConnect::TPZDepend::fDepMatrix, TPZConnect::TPZDepend::fNext, TPZConnect::TPZDepend::HasDepend(), Norm(), TPZMatrix< TVar >::Rows(), and val().
Referenced by TPZCreateApproximationSpace::MakeRaviartThomas(), NElConnected(), and TPZInterpolatedElement::RestrainSide().
void TPZConnect::AddToList | ( | int64_t | myindex, |
TPZCompMesh & | mesh, | ||
TPZStack< int64_t > & | connectlist | ||
) |
Adds itself and the connects from which it depends to the list.
Adds itself and the connects from which it depends to the list this method will add a pointer to the current connect to connectlist if it is not already there, extending the list is necessary this method will also call AddToList for all connects from which this connect depends firstfree points to the first unused element of connectlist it is assumed that firstfree <= nodelist.capacity()
Definition at line 221 of file pzconnect.cpp.
References AddToList(), TPZCompMesh::ConnectVec(), TPZConnect::TPZDepend::fDepConnectIndex, fDependList, TPZConnect::TPZDepend::fNext, TPZVec< T >::NElements(), and TPZStack< T, NumExtAlloc >::Push().
Referenced by AddToList(), BuildConnectList(), and FirstDepend().
void TPZConnect::AddToList | ( | int64_t | myindex, |
TPZCompMesh & | mesh, | ||
std::set< int64_t > & | connectlist | ||
) |
Adds itself and the connects from which it depends to the list.
Definition at line 234 of file pzconnect.cpp.
References AddToList(), TPZCompMesh::ConnectVec(), TPZConnect::TPZDepend::fDepConnectIndex, fDependList, and TPZConnect::TPZDepend::fNext.
void TPZConnect::BuildConnectList | ( | int64_t | index, |
std::set< int64_t > & | indepconnectlist, | ||
std::set< int64_t > & | depconnectlist, | ||
TPZCompMesh & | mesh | ||
) |
Builds the list of all connectivities related to ConnectIndex including the connects pointed to by dependent connects.
index | [in] index of the current connect |
indepconnectlist | [out] set which contains the indices of independent connects |
depconnectlist | [out] set which contains the indices of dependent connects |
mesh | [in] |
Definition at line 509 of file pzconnect.cpp.
References BuildConnectList(), TPZCompMesh::ConnectVec(), TPZConnect::TPZDepend::fDepConnectIndex, fDependList, TPZConnect::TPZDepend::fNext, and IsCondensed().
Referenced by TPZElementMatrix::ApplyConstraints(), BuildConnectList(), TPZCompEl::BuildConnectList(), and FirstDepend().
|
static |
Builds the list of all connectivities related to ConnectIndex including the connects pointed to by dependent connects.
connectlist | [out] stack to receive the list |
ConnectIndex | [in] |
mesh | [in] |
Definition at line 531 of file pzconnect.cpp.
References AddToList(), TPZCompMesh::ConnectVec(), and TPZVec< T >::NElements().
|
static |
Builds the list of all connectivities related to ConnectIndex including the connects pointed to by dependent connects.
connectlist | [out] set to receive the list |
additional | [in] connects which should be added along with their dependencies |
mesh | [in] |
Definition at line 543 of file pzconnect.cpp.
References AddToList(), and TPZCompMesh::ConnectVec().
|
static |
This method builds the vector DependenceOrder which indicates in which order constrained nodes need to be processed.
connectlist need to be computed by BuildConnectList
Definition at line 556 of file pzconnect.cpp.
References TPZCompMesh::ConnectVec(), TPZVec< T >::Fill(), HasDependency(), TPZVec< T >::NElements(), TPZVec< T >::Resize(), and SetDependenceOrder().
Referenced by TPZInterpolationSpace::BuildTransferMatrix(), TPZInterpolatedElement::BuildTransferMatrix(), FirstDepend(), and TPZCompEl::LoadSolution().
int TPZConnect::CheckDependency | ( | int | nshape, |
TPZCompMesh * | mesh, | ||
int | nstate | ||
) |
Definition at line 326 of file pzconnect.cpp.
References CheckDependency(), TPZMatrix< TVar >::Cols(), TPZCompMesh::ConnectVec(), TPZConnect::TPZDepend::fDepConnectIndex, TPZConnect::TPZDepend::fDepMatrix, substruct_tst15.test::first, FirstDepend(), TPZConnect::TPZDepend::fNext, HasDependency(), NDof(), and TPZMatrix< TVar >::Rows().
Referenced by TPZCheckMesh::CheckConnectOrderConsistency(), CheckDependency(), HasDependency(), and TPZCheckRestraint::TPZCheckRestraint().
|
inlineoverridevirtual |
Define the class id associated with the class.
This id has to be unique for all classes A non unique id is flagged at the startup of the program
Implements TPZSavable.
Definition at line 108 of file pzconnect.h.
References Hash().
void TPZConnect::CopyFrom | ( | TPZConnect & | orig, |
std::map< int64_t, int64_t > & | gl2lcIdx | ||
) |
Copy a connect data structure from an original connect to a new connect mapping their indexes.
orig | original connect to be copied |
gl2lcIdx | global to local indexes map |
Definition at line 448 of file pzconnect.cpp.
References TPZConnect::TPZDepend::CopyFrom(), TPZConnect::TPZDepend::fDepConnectIndex, fDependList, fFlags, fNElConnected, TPZConnect::TPZDepend::fNext, fNShape, fSequenceNumber, and TPZConnect::TPZDepend::TPZDepend().
|
inline |
Decrement fNElConnected.
Definition at line 262 of file pzconnect.h.
Referenced by TPZFrontStructMatrix< front >::AdjustSequenceNumbering(), TPZHybridizeHDiv::SplitConnects(), and TPZMHMixedHybridMeshControl::SplitFluxElementsAroundFractures().
int TPZConnect::DependencyDepth | ( | TPZCompMesh & | mesh | ) |
the maximum number of recursive dependencies
Definition at line 184 of file pzconnect.cpp.
References TPZCompMesh::ConnectVec(), DependencyDepth(), TPZConnect::TPZDepend::fDepConnectIndex, fDependList, and TPZConnect::TPZDepend::fNext.
Referenced by DependencyDepth(), and NElConnected().
void TPZConnect::ExpandShape | ( | int64_t | cind, |
TPZVec< int64_t > & | connectlist, | ||
TPZVec< int > & | blocksize, | ||
TPZFMatrix< REAL > & | phi, | ||
TPZFMatrix< REAL > & | dphi | ||
) |
Definition at line 353 of file pzconnect.cpp.
References TPZMatrix< TVar >::Cols(), TPZConnect::TPZDepend::fDepConnectIndex, fDependList, TPZConnect::TPZDepend::fDepMatrix, TPZConnect::TPZDepend::fNext, TPZVec< T >::NElements(), and TPZMatrix< TVar >::Rows().
Referenced by TPZInterpolationSpace::ExpandShapeFunctions(), and FirstDepend().
|
inline |
Definition at line 296 of file pzconnect.h.
References AddToList(), BuildConnectList(), BuildDependencyOrder(), TPZConnect::TPZDepend::CopyFrom(), ExpandShape(), fDependList, TPZConnect::TPZDepend::Read(), SetDependenceOrder(), and TPZConnect::TPZDepend::Write().
Referenced by TPZCheckRestraint::AddConnect(), TPZBuildMultiphysicsMesh::AddConnects(), TPZMultiphysicsCompMesh::AddConnects(), TPZCheckRestraint::AddDependency(), TPZBuildMultiphysicsMesh::AppendConnects(), TPZElementMatrix::ApplyConstraints(), TPZCompEl::BuildConnectList(), TPZInterpolatedElement::CheckConstraintConsistency(), TPZCheckMesh::CheckConstraintDimension(), CheckDependency(), GatherDependency(), TPZMHMixedMeshControl::HybridizeSkeleton(), TPZCompEl::LoadSolution(), TPZCondensedCompEl::Resequence(), and TPZInterpolatedElement::VerifyConstraintConsistency().
|
inline |
Returns whether exist dependecy information.
Definition at line 292 of file pzconnect.h.
References CheckDependency().
Referenced by TPZBuildMultiphysicsMesh::AddConnects(), TPZMultiphysicsCompMesh::AddConnects(), TPZBuildMultiphysicsMesh::AddWrap(), TPZBuildMultiphysicsMesh::AppendConnects(), TPZCompMesh::BandWidth(), TPZBlockDiagonalStructMatrix::BlockSizes(), TPZCompEl::BuildConnectList(), TPZCondensedCompEl::BuildCornerConnectList(), TPZElementMatrix::BuildDependencyOrder(), BuildDependencyOrder(), TPZInterpolationSpace::BuildTransferMatrix(), TPZInterpolatedElement::BuildTransferMatrix(), TPZCompEl::CalcBlockDiagonal(), TPZSubCompMesh::CalcStiff(), TPZCheckMesh::CheckConnectSeqNumberConsistency(), TPZInterpolatedElement::CheckConstraintConsistency(), TPZCheckMesh::CheckConstraintDimension(), CheckDependency(), TPZCompMesh::CleanUpUnconnectedNodes(), TPZElementMatrix::ComputeDestinationIndices(), TPZCompMesh::ComputeElGraph(), TPZCompMesh::ComputeFillIn(), TPZGenSubStruct::ComputeInternalEquationPermutation(), TPZDohrStructMatrix::ComputeInternalEquationPermutation(), TPZCompMeshTools::CreatedCondensedElements(), TPZInterpolatedElement::CreateMidSideConnect(), TPZMHMixedMeshControl::CreateSkeleton(), GatherDependency(), TPZFrontStructMatrix< front >::GetNumElConnected(), TPZCompEl::LoadSolution(), TPZParSkylineStructMatrix::main(), TPBSpStructMatrix::main(), TPZFrontStructMatrix< front >::main(), TPZParFrontStructMatrix< front >::main(), TPZCreateApproximationSpace::MakeRaviartThomas(), TPZCompEl::NEquations(), TPZCompMesh::NEquations(), TPZCompMesh::NIndependentConnects(), TPZSubCompMesh::NumInternalEquations(), operator<<(), TPZSubCompMesh::PermuteExternalConnects(), TPZAnalysis::PrintVectorByElement(), TPZInterpolatedElement::RemoveSideRestraintWithRespectTo(), TPZCondensedCompEl::Resequence(), TPZInterpolatedElement::RestrainSide(), TPZHybridizeHDiv::RightElement(), TPZCompMesh::SaddlePermute(), TPZCompMesh::Skyline(), TPZHybridizeHDiv::SplitConnects(), TPZCreateApproximationSpace::UndoMakeRaviartThomas(), TPZCheckMesh::VerifyCompatibilityBetweenNShapesAndBlockSize(), TPZCheckMesh::VerifyConnect(), and TPZMHMixedMeshControl::~TPZMHMixedMeshControl().
|
inline |
Increment fNElConnected.
Definition at line 260 of file pzconnect.h.
Referenced by Hdiv2dPaper201504::CMeshMixed(), hdivCurvedJCompAppMath::CMeshMixed(), Hdiv3dPaper201504::CMeshMixed(), TPZCompMesh::ComputeNodElCon(), TPZCompMeshTools::CreatedCondensedElements(), TPZCompElDisc::CreateMidSideConnect(), TPZCompMeshTools::PutinSubmeshes(), TPZHybridizeHDiv::SplitConnects(), and TPZMHMeshControl::SubStructure().
|
inline |
Access method to return the indication whether the connect is condensed or not.
Definition at line 223 of file pzconnect.h.
References fCompose.
Referenced by TPZCompMesh::BandWidth(), TPZBlockDiagonalStructMatrix::BlockSizes(), BuildConnectList(), TPZCondensedCompEl::BuildCornerConnectList(), TPZCompEl::CalcBlockDiagonal(), TPZSubCompMesh::CalcStiff(), TPZCheckMesh::CheckConnectSeqNumberConsistency(), TPZCompMesh::CleanUpUnconnectedNodes(), TPZElementMatrix::ComputeDestinationIndices(), TPZCompMesh::ComputeElGraph(), TPZCompMesh::ComputeFillIn(), TPZGenSubStruct::ComputeInternalEquationPermutation(), TPZDohrStructMatrix::ComputeInternalEquationPermutation(), TPZFrontStructMatrix< front >::GetNumElConnected(), TPZCondensedCompEl::LoadSolution(), TPZParSkylineStructMatrix::main(), TPZParFrontStructMatrix< front >::main(), TPZCompEl::NEquations(), TPZCompMesh::NEquations(), TPZCompMesh::NIndependentConnects(), TPZSubCompMesh::NumInternalEquations(), operator<<(), TPZSubCompMesh::PermuteExternalConnects(), TPZCompEl::PressureConnectIndex(), Print(), TPZAnalysis::PrintVectorByElement(), TPZCondensedCompEl::Resequence(), TPZCompMesh::SaddlePermute(), TPZCompMesh::Skyline(), and TPZCheckMesh::VerifyCompatibilityBetweenNShapesAndBlockSize().
|
inline |
Access method to return the indication whether the connect is associated with a pressure lagrange multiplier.
Definition at line 230 of file pzconnect.h.
References fCompose.
Referenced by TPZBuildMultiphysicsMesh::AddConnects(), TPZMultiphysicsCompMesh::AddConnects(), TPZBuildMultiphysicsMesh::AppendConnects(), Hdiv2dPaper201504::CMeshMixed(), hdivCurvedJCompAppMath::CMeshMixed(), Hdiv3dPaper201504::CMeshMixed(), TPZCompMeshTools::CreatedCondensedElements(), TPZInterpolatedElement::IdentifySideOrder(), TPZCompEl::PressureConnectIndex(), Print(), TPZCompMeshTools::PutinSubmeshes(), TPZCompMesh::SaddlePermute(), TPZCompMesh::SaddlePermute2(), and TPZMHMeshControl::SubStructure().
int TPZConnect::NDof | ( | TPZCompMesh & | mesh | ) |
Number of degrees of freedom associated with the object.
Definition at line 317 of file pzconnect.cpp.
References TPZCompMesh::Block(), fSequenceNumber, PZError, and TPZBlock< TVar >::Size().
Referenced by TPZBuildMultiphysicsMesh::AddConnects(), TPZMultiphysicsCompMesh::AddConnects(), TPZBuildMultiphysicsMesh::AppendConnects(), TPZElementMatrix::ApplyConstraints(), TPZBlockDiagonalStructMatrix::AssembleBlockDiagonal(), TPZBlockDiagonalStructMatrix::BlockSizes(), CheckDependency(), TPZMultiphysicsInterfaceElement::InitializeElementMatrix(), TPZMultiphysicsCompEl< TGeometry >::InitializeElementMatrix(), and TPZCondensedCompEl::Resequence().
|
inline |
Number of degrees of freedom associated with the object.
Definition at line 138 of file pzconnect.h.
References fCompose.
Referenced by Reset().
|
inline |
Returns fNElConnected.
Definition at line 264 of file pzconnect.h.
References AddDependency(), DependencyDepth(), fNElConnected, NumDepend(), and TPZConnect::TPZDepend::RemoveDepend().
Referenced by TPZCompMeshTools::AdjustFluxPolynomialOrders(), TPZFrontStructMatrix< front >::AdjustSequenceNumbering(), TPZSubCompMesh::CalcStiff(), TPZCheckMesh::CheckConnectSeqNumberConsistency(), TPZMHMixedHybridMeshControl::CheckMeshConsistency(), TPZCompMesh::CleanUpUnconnectedNodes(), TPZCompMesh::ConnectSolution(), TPZCompMeshTools::CreatedCondensedElements(), TPZMultiphysicsCompMesh::LoadSolutionFromMultiPhysics(), TPZCompEl::NEquations(), TPZCompMesh::NEquations(), TPZSubCompMesh::NumInternalEquations(), operator<<(), TPZSubCompMesh::PermuteExternalConnects(), TPZMHMixedHybridMeshControl::PrintFriendly(), TPZCondensedCompEl::Resequence(), TPZMHMixedHybridMeshControl::SplitFluxElementsAroundFractures(), TPZMHMeshControl::SubStructure(), and TPZCheckMesh::VerifyCompatibilityBetweenNShapesAndBlockSize().
|
inline |
Definition at line 151 of file pzconnect.h.
References fNShape.
Referenced by TPZBuildMultiphysicsMesh::AddConnects(), TPZMultiphysicsCompMesh::AddConnects(), TPZInterpolatedElement::AdjustPreferredSideOrder(), TPZCompMesh::AllocateNewConnect(), TPZSubCompMesh::AllocateNewConnect(), TPZBuildMultiphysicsMesh::AppendConnects(), TPZElementMatrix::ApplyConstraints(), TPZPostProcAnalysis::AutoBuildDisc(), TPZInterpolationSpace::BuildTransferMatrix(), TPZInterpolatedElement::BuildTransferMatrix(), TPZInterpolatedElement::CalcIntegral(), TPZSBFemElementGroup::CalcStiff(), TPZCompElLagrange::CalcStiff(), Hdiv2dPaper201504::ChangeExternalOrderConnects(), hdivCurvedJCompAppMath::ChangeExternalOrderConnects(), Hdiv3dPaper201504::ChangeExternalOrderConnects(), TPZInterpolatedElement::CheckElementConsistency(), TPZCheckMesh::CheckElementShapeDimension(), TPZInterpolatedElement::CompareShapeF(), TPZMHMeshControl::CreateLagrangeMultiplierMesh(), TPZInterfaceElement::InitializeElementMatrix(), TPZReducedSpace::InitializeElementMatrix(), TPZMultiphysicsInterfaceElement::InitializeElementMatrix(), TPZInterpolationSpace::InitializeElementMatrix(), TPZCompElLagrange::InitializeElementMatrix(), TPZElementGroup::InitializeElementMatrix(), TPZMultiphysicsCompEl< TGeometry >::InitializeElementMatrix(), TPZCondensedCompEl::LoadSolution(), TPZSBFemElementGroup::LoadSolution(), TPZReducedSpace::NConnectShapeF(), TPZSBFemVolume::NConnectShapeF(), TPZCompMesh::NEquations(), TPZReducedSpace::NShapeF(), TPZSBFemVolume::NShapeF(), TPZSubCompMesh::NumInternalEquations(), TPZInterpolatedElement::Print(), TPZInterpolatedElement::RestrainSide(), TPZSBFemVolume::SetElementGroupIndex(), TPZMHMixedHybridMeshControl::SplitFluxElementsAroundFractures(), TPZCompElLagrange::TPZCompElLagrange(), TPZCheckMesh::VerifyCompatibilityBetweenNShapesAndBlockSize(), TPZCheckMesh::VerifyConnect(), and TPZInterpolatedElement::VerifyConstraintConsistency().
|
inline |
Number of state variables associated with the connect.
Definition at line 146 of file pzconnect.h.
References fCompose.
Referenced by TPZBuildMultiphysicsMesh::AddConnects(), TPZMultiphysicsCompMesh::AddConnects(), TPZInterpolatedElement::AdjustPreferredSideOrder(), TPZCompMesh::AllocateNewConnect(), TPZSubCompMesh::AllocateNewConnect(), TPZBuildMultiphysicsMesh::AppendConnects(), TPZElementMatrix::ApplyConstraints(), TPZPostProcAnalysis::AutoBuildDisc(), TPZInterpolatedElement::CalcIntegral(), TPZSBFemElementGroup::CalcStiff(), TPZCompElLagrange::CalcStiff(), TPZCompMeshTools::CreatedCondensedElements(), TPZInterfaceElement::InitializeElementMatrix(), TPZMultiphysicsInterfaceElement::InitializeElementMatrix(), TPZInterpolationSpace::InitializeElementMatrix(), TPZCompElLagrange::InitializeElementMatrix(), TPZElementGroup::InitializeElementMatrix(), TPZMultiphysicsCompEl< TGeometry >::InitializeElementMatrix(), TPZCondensedCompEl::LoadSolution(), TPZSBFemElementGroup::LoadSolution(), TPZCompEl::LoadSolution(), TPZCompMesh::NEquations(), TPZSubCompMesh::NumInternalEquations(), TPZCompMeshTools::PutinSubmeshes(), TPZSBFemVolume::SetElementGroupIndex(), TPZMHMixedHybridMeshControl::SplitFluxElementsAroundFractures(), TPZCompElLagrange::TPZCompElLagrange(), and TPZCheckMesh::VerifyCompatibilityBetweenNShapesAndBlockSize().
int TPZConnect::NumDepend | ( | ) | const |
size of the dependency list
Definition at line 201 of file pzconnect.cpp.
References fDependList, and TPZConnect::TPZDepend::fNext.
Referenced by NElConnected(), and TPZInterpolatedElement::VerifyConstraintConsistency().
TPZConnect & TPZConnect::operator= | ( | const TPZConnect & | con | ) |
Definition at line 51 of file pzconnect.cpp.
References fCompose, fDependList, fFlags, fNElConnected, fNShape, fSequenceNumber, SetCondensed(), SetLagrangeMultiplier(), SetNShape(), SetNState(), and SetOrder().
|
inline |
Access function to return the order associated with the connect.
Definition at line 217 of file pzconnect.h.
References fCompose.
Referenced by TPZBuildMultiphysicsMesh::AddWrap(), TPZCompMeshTools::AdjustFluxPolynomialOrders(), TPZInterpolatedElement::AdjustPreferredSideOrder(), TPZInterpolationSpace::BuildTransferMatrix(), TPZInterpolatedElement::BuildTransferMatrix(), TPZInterpolatedElement::CalcIntegral(), Hdiv2dPaper201504::ChangeExternalOrderConnects(), hdivCurvedJCompAppMath::ChangeExternalOrderConnects(), Hdiv3dPaper201504::ChangeExternalOrderConnects(), TPZCheckMesh::CheckConnectOrderConsistency(), TPZCheckMesh::CheckElementShapeDimension(), TPZCompElHDiv< TSHAPE >::ComputeShapeIndex(), TPZCompElHDivBound2< TSHAPE >::ConnectOrder(), TPZIntelGen< TSHAPE >::ConnectOrder(), TPZCompElHDivPressureBound< TSHAPE >::ConnectOrder(), TPZCompElHDiv< TSHAPE >::ConnectOrder(), TPZMHMixedHybridMeshControl::CreateHDivWrappers(), TPZInterpolatedElement::CreateMidSideConnect(), TPZMHMixedHybridMeshControl::CreatePressureInterfaces(), TPZCompElDisc::Degree(), TPZIntelGen< TSHAPE >::EffectiveSideOrder(), TPZCompElHDiv< TSHAPE >::FillOrder(), TPZInterpolatedElement::ForceSideOrder(), TPZIntelGen< TSHAPE >::GetInterpolationOrder(), TPZInterpolatedElement::IdentifySideOrder(), TPZCompElHDiv< TSHAPE >::IndexShapeToVec2(), TPZInterfaceElement::InitializeElementMatrix(), TPZInterpolationSpace::InitializeElementMatrix(), TPZCompElHDiv< TSHAPE >::InitMaterialData(), TPZInterpolationSpace::MaxOrder(), TPZCompElHDiv< TSHAPE >::NConnectShapeF(), TPZCompElHDiv< TSHAPE >::NFluxShapeF(), TPZInterpolatedElement::NShapeF(), TPZInterpolatedElement::NSideShapeF(), operator<<(), TPZCompElHDiv< TSHAPE >::PRefine(), TPZInterpolatedElement::PRefine(), TPZInterpolatedElement::Print(), TPZVTKGeoMesh::PrintPOrderPoints(), TPZInterpolatedElement::RestrainSide(), TPZCompMeshTools::SetPressureOrders(), TPZIntelGen< TSHAPE >::SetSideOrder(), TPZIntelGen< TSHAPE >::Shape(), TPZCompElHDivBound2< TSHAPE >::Shape(), TPZIntelGen< TSHAPE >::SideShapeFunction(), TPZCompElHDivBound2< TSHAPE >::SideShapeFunction(), TPZCompElHDiv< TSHAPE >::SideShapeFunction(), TPZHybridizeHDiv::SplitConnects(), TPZMHMixedHybridMeshControl::SplitFluxElementsAroundFractures(), TPZCheckRestraint::TPZCheckRestraint(), TPZInterpolatedElement::UpdateNeighbourSideOrder(), and TPZInterpolatedElement::VerifyConstraintConsistency().
void TPZConnect::Print | ( | const TPZCompMesh & | mesh, |
std::ostream & | out = std::cout |
||
) |
Print the information for the connect element.
The mesh argument allows the object to identify the number of variables associated with it and the solution
Definition at line 67 of file pzconnect.cpp.
References TPZCompMesh::Block(), fCompose, TPZConnect::TPZDepend::fDepConnectIndex, fDependList, TPZConnect::TPZDepend::fDepMatrix, fNElConnected, TPZConnect::TPZDepend::fNext, fNShape, fSequenceNumber, IsCondensed(), LagrangeMultiplier(), TPZBlock< TVar >::Position(), TPZMatrix< TVar >::Print(), and TPZBlock< TVar >::Size().
Referenced by TPZInterpolationSpace::BuildTransferMatrix(), TPZCondensedCompEl::CalcStiff(), TPZSubCompMesh::CalcStiff(), TPZInterpolatedElement::CheckConstraintConsistency(), TPZInterpolatedElement::CreateMidSideConnect(), TPZInterpolatedElement::IdentifySideOrder(), TPZAnalysis::Print(), TPZSBFemVolume::Print(), TPZCompMesh::SaddlePermute(), TPZCompMesh::SaddlePermute2(), SetCondensed(), and TPZCheckMesh::VerifyConnect().
void TPZConnect::Print | ( | TPZCompMesh & | mesh, |
TPZVec< REAL > & | cp, | ||
std::ostream & | out = std::cout |
||
) |
Also print the center point of the side associated to the connect.
Definition at line 100 of file pzconnect.cpp.
References TPZCompMesh::Block(), fCompose, TPZConnect::TPZDepend::fDepConnectIndex, fDependList, TPZConnect::TPZDepend::fDepMatrix, fNElConnected, TPZConnect::TPZDepend::fNext, fNShape, fSequenceNumber, TPZMatrix< TVar >::Print(), and TPZBlock< TVar >::Size().
|
overridevirtual |
Reads the element data from a stream.
Read the element data from a stream
Reimplemented from TPZSavable.
Definition at line 436 of file pzconnect.cpp.
References fCompose, fDependList, fFlags, fNElConnected, fNShape, fSequenceNumber, TPZPersistenceManager::GetInstance(), and TPZStream::Read().
void TPZConnect::RemoveDepend | ( | int64_t | myindex, |
int64_t | dependindex | ||
) |
Remove dependency between connects if exist.
myindex | [in] index of this connect |
dependindex | [in] index of the connect was exist dependency |
Definition at line 178 of file pzconnect.cpp.
References fDependList, TPZConnect::TPZDepend::HasDepend(), and TPZConnect::TPZDepend::RemoveDepend().
Referenced by TPZBuildMultiphysicsMesh::AddWrap(), TPZCompMesh::AllocateNewConnect(), TPZMHMixedMeshChannelControl::BuildComputationalMesh(), TPZInterpolatedElement::RemoveSideRestraintWithRespectTo(), TPZHybridizeHDiv::SplitConnects(), TPZCreateApproximationSpace::UndoMakeRaviartThomas(), TPZCompElHDiv< TSHAPE >::~TPZCompElHDiv(), TPZCompElHDivBound2< TSHAPE >::~TPZCompElHDivBound2(), TPZMHMixedMeshControl::~TPZMHMixedMeshControl(), and TPZMultiphysicsCompEl< TGeometry >::~TPZMultiphysicsCompEl().
void TPZConnect::RemoveDepend | ( | ) |
Deletes all dependency information.
Definition at line 170 of file pzconnect.cpp.
References fDependList.
|
inline |
Reset the data of the connect.
Definition at line 113 of file pzconnect.h.
References DebugStop, fDependList, NDof(), ResetElConnected(), SetCondensed(), SetLagrangeMultiplier(), SetNShape(), SetNState(), SetOrder(), and SetSequenceNumber().
Referenced by TPZCompMesh::CleanUpUnconnectedNodes(), and TPZConnect().
|
inline |
Initialize with zero fNElConnected.
Definition at line 258 of file pzconnect.h.
Referenced by TPZCompMesh::ComputeNodElCon(), Reset(), and TPZHybridizeHDiv::SplitConnects().
|
inline |
Returns the Sequence number of the connect object.
If the this means that the node is unused
Definition at line 158 of file pzconnect.h.
References fSequenceNumber.
Referenced by TPZBuildMultiphysicsMesh::AddConnects(), TPZMultiphysicsCompMesh::AddConnects(), TPZInterpolatedElement::AdjustPreferredSideOrder(), TPZFrontStructMatrix< front >::AdjustSequenceNumbering(), TPZBuildMultiphysicsMesh::AppendConnects(), TPZBlockDiagonalStructMatrix::AssembleBlockDiagonal(), TPZPostProcAnalysis::AutoBuildDisc(), TPZCompMesh::BandWidth(), TPZBlockDiagonalStructMatrix::BlockSizes(), TPZInterpolationSpace::BuildTransferMatrix(), TPZInterpolatedElement::BuildTransferMatrix(), TPZCompElDisc::BuildTransferMatrix(), TPZInterpolatedElement::CalcIntegral(), TPZAgglomerateElement::CalcStiff(), TPZCompElLagrange::CalcStiff(), TPZSubCompMesh::CalcStiff(), Hdiv2dPaper201504::ChangeExternalOrderConnects(), hdivCurvedJCompAppMath::ChangeExternalOrderConnects(), Hdiv3dPaper201504::ChangeExternalOrderConnects(), TPZCheckMesh::CheckConnectSeqNumberConsistency(), TPZCheckMesh::CheckConstraintDimension(), TPZCompMesh::CleanUpUnconnectedNodes(), TPZElementMatrix::ComputeDestinationIndices(), TPZCompMesh::ComputeElGraph(), TPZCompMesh::ComputeFillIn(), TPZCompMesh::ComputeNodElCon(), TPZReducedSpace::ComputeSolution(), TPZInterpolatedElement::ComputeSolution(), TPZCompElDisc::ComputeSolution(), TPZCompElHDiv< TSHAPE >::ComputeSolutionHDiv(), TPZCompElHDivPressure< TSHAPE >::ComputeSolutionPressureHDiv(), TPZCompMesh::ConnectSolution(), TPZCompElDisc::CreateMidSideConnect(), TPZAgglomerateElement::CreateMidSideConnect(), TPZInterpolatedElement::CreateMidSideConnect(), TPZMGAnalysis::ElementError(), TPZFrontStructMatrix< front >::GetNumElConnected(), TPZDohrStructMatrix::IdentifyCornerNodes(), TPZElastoPlasticAnalysis::IdentifyEquationsToZero(), TPZSubCompMesh::InitializeEF(), TPZInterfaceElement::InitializeElementMatrix(), TPZInterpolationSpace::InterpolateSolution(), TCedricTest::InterpolationError(), TCedricTest::LoadInterpolation(), TPZCompMeshTools::LoadSolution(), TPZCondensedCompEl::LoadSolution(), TPZSBFemElementGroup::LoadSolution(), TPZCompEl::LoadSolution(), TPZSubCompMesh::LoadSolution(), TPZMultiphysicsCompMesh::LoadSolutionFromMeshes(), TPZMultiphysicsCompMesh::LoadSolutionFromMultiPhysics(), TPZParSkylineStructMatrix::main(), TPBSpStructMatrix::main(), TPZFrontStructMatrix< front >::main(), TPZParFrontStructMatrix< front >::main(), TPZAnalysisError::MathematicaPlot(), TPZCompEl::NEquations(), TPZCompMesh::NEquations(), TPZCompMesh::NIndependentConnects(), TPZSubCompMesh::NumInternalEquations(), operator<<(), TPZCompMesh::Permute(), TPZSubCompMesh::PermuteExternalConnects(), TPZAnalysis::Print(), TPZAgglomerateElement::ProjectSolution(), ResequenceByGeometry(), TPZCompMesh::SaddlePermute(), TPZCompMesh::SaddlePermute2(), TPZCompElDisc::SetDegree(), TPZCompElDisc::SetExternalShapeFunction(), TPZIntelGen< TSHAPE >::SetSideOrder(), TPZCompMesh::Skyline(), TPZCompElDisc::SolutionX(), TPZCompElHDivPressure< TSHAPE >::TPZCompElHDivPressure(), TPZCompElHDivPressureBound< TSHAPE >::TPZCompElHDivPressureBound(), TPZGraphEl::TPZGraphEl(), TPZGraphNode::TPZGraphNode(), TPZBuildMultiphysicsMesh::TransferFromMeshes(), TPZBuildMultiphysicsMesh::TransferFromMultiPhysics(), TPZMultiphysicsElement::TransferMultiphysicsElementSolution(), and TPZCheckMesh::VerifyCompatibilityBetweenNShapesAndBlockSize().
|
inline |
Set the connect as a condensed connect or not.
Definition at line 242 of file pzconnect.h.
References fCompose, and Print().
Referenced by operator=(), TPZCondensedCompEl::Resequence(), Reset(), and TPZCondensedCompEl::Unwrap().
void TPZConnect::SetDependenceOrder | ( | int64_t | myindex, |
TPZCompMesh & | mesh, | ||
int | CurrentOrder, | ||
TPZVec< int64_t > & | connectlist, | ||
TPZVec< int > & | DependenceOrder | ||
) |
Definition at line 245 of file pzconnect.cpp.
References TPZCompMesh::ConnectVec(), DebugStop, TPZConnect::TPZDepend::fDepConnectIndex, fDependList, TPZConnect::TPZDepend::fNext, TPZVec< T >::NElements(), and SetDependenceOrder().
Referenced by TPZElementMatrix::BuildDependencyOrder(), BuildDependencyOrder(), FirstDepend(), and SetDependenceOrder().
|
inline |
Set the connect as a pressure connect or not.
Definition at line 236 of file pzconnect.h.
References fCompose.
Referenced by TPZCompMesh::AllocateNewConnect(), TPZBuildMultiphysicsMesh::BuildHybridMesh(), Hdiv2dPaper201504::CMeshPressure(), hdivCurvedJCompAppMath::CMeshPressure(), Hdiv3dPaper201504::CMeshPressure(), TPZMHMixedHybridMeshControl::CreateLowerDimensionPressureElements(), TPZMHMixedHybridMeshControl::CreatePressureInterfaces(), TPZMHMeshControl::CreateSkeleton(), TPZHybridizeHDiv::HybridizeInternalSides(), TPZMHMixedMeshControl::HybridizeSkeleton(), TPZMHMeshControl::HybridizeSkeleton(), operator=(), Reset(), TPZCompElHDivPressure< TSHAPE >::TPZCompElHDivPressure(), TPZCompElHDivPressureBound< TSHAPE >::TPZCompElHDivPressureBound(), TPZBuildMultiphysicsMesh::UniformRefineCompEl(), and TPZBuildMultiphysicsMesh::UniformRefineCompMesh().
|
inline |
Set the number of shape functions associated with the connect.
Definition at line 205 of file pzconnect.h.
References DebugStop.
Referenced by TPZCompMesh::AllocateNewConnect(), TPZPostProcAnalysis::AutoBuildDisc(), Hdiv2dPaper201504::ChangeExternalOrderConnects(), hdivCurvedJCompAppMath::ChangeExternalOrderConnects(), Hdiv3dPaper201504::ChangeExternalOrderConnects(), TPZCompElDisc::CreateMidSideConnect(), TPZInterpolatedElement::CreateMidSideConnect(), operator=(), Reset(), TPZCompElDisc::SetDegree(), TPZCompElDisc::SetExternalShapeFunction(), and TPZIntelGen< TSHAPE >::SetSideOrder().
|
inline |
Set the number of state variables.
Definition at line 196 of file pzconnect.h.
References DebugStop, and fCompose.
Referenced by TPZCompMesh::AllocateNewConnect(), operator=(), Reset(), TPZCompElDisc::SetDegree(), TPZCompElDisc::SetExternalShapeFunction(), and TPZIntelGen< TSHAPE >::SetSideOrder().
|
inline |
Set the order of the shapefunction associated with the connect.
Definition at line 168 of file pzconnect.h.
References DebugStop, and fCompose.
Referenced by TPZCompMesh::AllocateNewConnect(), TPZPostProcAnalysis::AutoBuildDisc(), Hdiv2dPaper201504::ChangeExternalOrderConnects(), hdivCurvedJCompAppMath::ChangeExternalOrderConnects(), Hdiv3dPaper201504::ChangeExternalOrderConnects(), operator=(), Reset(), TPZCompElDisc::SetDegree(), and TPZIntelGen< TSHAPE >::SetSideOrder().
|
inline |
Set the sequence number for the global system of equations of the connect object.
If the argument this means that the node is out of use
Definition at line 165 of file pzconnect.h.
Referenced by TPZCompMesh::AllocateNewConnect(), TPZCompMesh::Permute(), Reset(), and TPZHybridizeHDiv::SplitConnects().
|
overridevirtual |
Saves the element data to a stream.
Save the element data to a stream
Reimplemented from TPZSavable.
Definition at line 423 of file pzconnect.cpp.
References fCompose, fDependList, fFlags, fNElConnected, fNShape, fSequenceNumber, TPZStream::Write(), and TPZPersistenceManager::WritePointer().
union { ... } |
Flag to signal the type of connect ECondensed : the connect will be condensed before assembly EPressure : a pressure connect which should be assembled after the flux connects.
struct { ... } TPZConnect::fCompose |
Referenced by IsCondensed(), LagrangeMultiplier(), NDof(), NState(), operator=(), Order(), Print(), Read(), SetCondensed(), SetLagrangeMultiplier(), SetNState(), SetOrder(), and Write().
|
private |
Dependency list of the connect (NULL if the connect is not constrained)
Definition at line 95 of file pzconnect.h.
Referenced by AddDependency(), AddToList(), BuildConnectList(), CopyFrom(), DependencyDepth(), ExpandShape(), FirstDepend(), NumDepend(), operator=(), Print(), Read(), RemoveDepend(), Reset(), SetDependenceOrder(), TPZConnect(), Write(), and ~TPZConnect().
unsigned int TPZConnect::fFlags |
Definition at line 46 of file pzconnect.h.
Referenced by CopyFrom(), operator=(), Read(), TPZConnect(), and Write().
bool TPZConnect::fIsCondensed |
Whether the equations associated with the connect should be/are condensed.
Definition at line 58 of file pzconnect.h.
unsigned char TPZConnect::fLagrangeMultiplier |
Whether the connnect is associated with a lagrange multiplier, indicating the level level n multipliers need to be numbered after the multipliers of level n-1.
Definition at line 56 of file pzconnect.h.
int TPZConnect::fNElConnected |
Number of element connected.
Definition at line 37 of file pzconnect.h.
Referenced by CopyFrom(), NElConnected(), operator=(), Print(), Read(), TPZConnect(), and Write().
unsigned int TPZConnect::fNShape |
Number of shape functions associated with the connect.
Definition at line 62 of file pzconnect.h.
Referenced by CopyFrom(), NShape(), operator=(), Print(), Read(), TPZConnect(), and Write().
unsigned char TPZConnect::fNState |
Number of state variables associated with each shape function.
Definition at line 52 of file pzconnect.h.
unsigned char TPZConnect::fOrder |
Interpolation order of the associated shape functions.
Definition at line 50 of file pzconnect.h.
int64_t TPZConnect::fSequenceNumber |
Node block number.
Definition at line 34 of file pzconnect.h.
Referenced by CopyFrom(), NDof(), operator=(), Print(), Read(), SequenceNumber(), TPZConnect(), Write(), and ~TPZConnect().