NeoPZ
|
#include <pzbuildmultiphysicsmesh.h>
Public Member Functions | |
TPZBuildMultiphysicsMesh () | |
~TPZBuildMultiphysicsMesh () | |
Static Public Member Functions | |
static void | AddElements (TPZVec< TPZCompMesh *> &cmeshVec, TPZCompMesh *MFMesh) |
Creating multiphysic elements into mphysics computational mesh. Method to add elements in the mesh multiphysics. More... | |
static void | AddConnects (TPZVec< TPZCompMesh *> &cmeshVec, TPZCompMesh *MFMesh) |
static void | AppendConnects (TPZCompMesh *cmesh, TPZCompMesh *MFMesh) |
static void | TransferFromMeshes (TPZVec< TPZCompMesh *> &cmeshVec, TPZCompMesh *MFMesh) |
Transfer information from a specific set of meshes for the current mesh multiphysics. More... | |
static void | TransferFromMeshes (TPZVec< TPZAutoPointer< TPZCompMesh > > &cmeshVec, TPZAutoPointer< TPZCompMesh > MFMesh) |
Transfer information from a specific set of meshes for the current mesh multiphysics. More... | |
static void | TransferFromMultiPhysics (TPZVec< TPZCompMesh *> &cmeshVec, TPZCompMesh *MFMesh) |
Transfer information from a specific mesh multiphysics for the current specific set of meshes. More... | |
static void | TransferFromMultiPhysics (TPZVec< TPZAutoPointer< TPZCompMesh > > &cmeshVec, TPZAutoPointer< TPZCompMesh > MFMesh) |
Transfer information from a specific mesh multiphysics for the current specific set of meshes. More... | |
static void | ShowShape (TPZVec< TPZCompMesh *> &cmeshVec, TPZCompMesh *MFMesh, TPZAnalysis &analysis, const std::string &filename, TPZVec< int64_t > &equationindices) |
Show shape functions associated with connects of a multiphysics mesh. More... | |
static void | BuildHybridMesh (TPZCompMesh *cmesh, std::set< int > &MaterialIDs, std::set< int > &BCMaterialIds, int LagrangeMat, int InterfaceMat) |
Creating computational mesh with interface elements. More... | |
static void | UniformRefineCompMesh (TPZCompMesh *cMesh, int ndiv, bool isLagrMult=true) |
Uniform refinement of the computational mesh. More... | |
static void | UniformRefineCompEl (TPZCompMesh *cMesh, int64_t indexEl, bool isLagrMult) |
Uniform refinement of the computational element. More... | |
static void | AddWrap (TPZMultiphysicsElement *mfcel, int matskeleton, TPZStack< TPZStack< TPZMultiphysicsElement *, 7 > > &ListGroupEl) |
Create skeleton elements of the wrap of me. More... | |
static void | ComputeAtomicIndexes (TPZCompMesh *mesh, TPZVec< atomic_index > &indexes) |
Definition at line 23 of file pzbuildmultiphysicsmesh.h.
TPZBuildMultiphysicsMesh::TPZBuildMultiphysicsMesh | ( | ) |
Definition at line 33 of file pzbuildmultiphysicsmesh.cpp.
TPZBuildMultiphysicsMesh::~TPZBuildMultiphysicsMesh | ( | ) |
Definition at line 36 of file pzbuildmultiphysicsmesh.cpp.
|
static |
ajustar as dependencias
Definition at line 108 of file pzbuildmultiphysicsmesh.cpp.
References TPZMultiphysicsElement::AddShapeRestraint(), TPZCompMesh::Block(), TPZCompEl::ConnectIndex(), TPZCompMesh::ConnectVec(), TPZCompMesh::ElementVec(), TPZCompMesh::ExpandSolution(), TPZConnect::TPZDepend::fDepConnectIndex, TPZOneShapeRestraint::fFaces, TPZConnect::FirstDepend(), TPZConnect::TPZDepend::fNext, TPZCompEl::GetShapeRestraints(), TPZConnect::HasDependency(), TPZConnect::LagrangeMultiplier(), TPZCompEl::NConnects(), TPZConnect::NDof(), TPZCompMesh::NElements(), TPZVec< T >::NElements(), TPZConnect::NShape(), TPZConnect::NState(), TPZStack< T, NumExtAlloc >::Push(), TPZMultiphysicsElement::ReferredElement(), TPZAdmChunkVector< T, EXP >::Resize(), TPZConnect::SequenceNumber(), TPZBlock< TVar >::Set(), TPZMultiphysicsElement::SetConnectIndexes(), TPZBlock< TVar >::SetNBlocks(), TPZCompMesh::SetNMeshes(), and TPZVec< T >::size().
Referenced by Hdiv2dPaper201504::CMeshMixed(), hdivCurvedJCompAppMath::CMeshMixed(), Hdiv3dPaper201504::CMeshMixed(), TPZHybridizeHDiv::CreateMultiphysicsMesh(), and TPZMHMeshControl::TransferToMultiphysics().
|
static |
Creating multiphysic elements into mphysics computational mesh. Method to add elements in the mesh multiphysics.
cmeshVec | [in]: pointer to an vector of meshes |
MFMesh | [out]: my mesh multiphysics |
Definition at line 40 of file pzbuildmultiphysicsmesh.cpp.
References TPZMultiphysicsElement::AddElement(), DebugStop, TPZCompMesh::Element(), TPZCompMesh::ElementVec(), TPZGeoEl::Father(), TPZMultiphysicsElement::InitializeIntegrationRule(), TPZGeoEl::MaterialId(), TPZCompMesh::NElements(), TPZGeoEl::NSides(), TPZCompEl::Reference(), TPZCompMesh::Reference(), TPZGeoEl::Reference(), TPZGeoMesh::ResetReference(), and TPZVec< T >::size().
Referenced by Hdiv2dPaper201504::CMeshMixed(), hdivCurvedJCompAppMath::CMeshMixed(), Hdiv3dPaper201504::CMeshMixed(), and TPZHybridizeHDiv::CreateMultiphysicsMesh().
|
static |
Create skeleton elements of the wrap of me.
mfcel | [in] : multifysics element |
matskeleton | [in]: Material Id for skeleton elements |
ListGroupEl | [out]: List of me and my elements of wrap |
Definition at line 798 of file pzbuildmultiphysicsmesh.cpp.
References TPZMultiphysicsElement::AddElement(), co, TPZCompEl::Connect(), TPZCompEl::ConnectIndex(), TPZGeoEl::CreateBCGeoEl(), TPZCompMesh::CreateCompEl(), DebugStop, TPZCompMesh::Dimension(), TPZGeoEl::Dimension(), EDiscontinuous, TPZMultiphysicsElement::Element(), EOned, EQuadrilateral, ETriangle, FillAtomic(), TPZInterpolationSpace::GetSideOrient(), TPZConnect::HasDependency(), TPZCompEl::Mesh(), TPZCompEl::NConnects(), pztopology::TPZTriangle::NSides, pztopology::TPZLine::NSides, pztopology::TPZQuadrilateral::NSides, TPZGeoEl::NSides(), TPZConnect::Order(), TPZStack< T, NumExtAlloc >::push_back(), TPZCompEl::Reference(), TPZConnect::RemoveDepend(), TPZCompEl::SetConnectIndex(), TPZCompMesh::SetDefaultOrder(), TPZCompElHDivBound2< TSHAPE >::SetSideOrient(), TPZInterpolationSpace::SideConnectLocId(), TPZGeoEl::SideDimension(), TPZCompEl::Type(), and TPZGeoEl::Type().
Referenced by Hdiv2dPaper201504::CMeshMixed(), hdivCurvedJCompAppMath::CMeshMixed(), Hdiv3dPaper201504::CMeshMixed(), and TransferFromMultiPhysics().
|
static |
ajustar as dependencias
Definition at line 206 of file pzbuildmultiphysicsmesh.cpp.
References TPZCompMesh::Block(), TPZCompEl::ConnectIndex(), TPZCompMesh::ConnectVec(), DebugStop, TPZCompMesh::ElementVec(), TPZCompMesh::ExpandSolution(), TPZConnect::TPZDepend::fDepConnectIndex, TPZConnect::FirstDepend(), TPZConnect::TPZDepend::fNext, TPZCompMesh::GetNMeshes(), TPZConnect::HasDependency(), TPZConnect::LagrangeMultiplier(), TPZCompEl::Mesh(), TPZCompMesh::NConnects(), TPZCompEl::NConnects(), TPZConnect::NDof(), TPZCompMesh::NElements(), TPZMultiphysicsElement::NMeshes(), TPZConnect::NShape(), TPZConnect::NState(), TPZStack< T, NumExtAlloc >::Push(), TPZMultiphysicsElement::ReferredElement(), TPZAdmChunkVector< T, EXP >::Resize(), TPZConnect::SequenceNumber(), TPZBlock< TVar >::Set(), TPZMultiphysicsElement::SetConnectIndexes(), and TPZBlock< TVar >::SetNBlocks().
|
static |
Creating computational mesh with interface elements.
cmesh | [in]: computational mesh |
MaterialIDs | [in]: set of index materials |
LagrangeMat | [in]: index Lagrange material |
InterfaceMat | [in]: index interface material |
???? o InterfaceMaterial não esta fazendo o que preciso. Por isso nao estou usando matid !
Definition at line 439 of file pzbuildmultiphysicsmesh.cpp.
References TPZCompMesh::AdjustBoundaryElements(), TPZGeoElSide::AllNeighbours(), TPZCompMesh::ApproxSpace(), TPZCompMesh::AutoBuild(), TPZCreateApproximationSpace::BuildMesh(), TPZCompMesh::CleanUpUnconnectedNodes(), TPZCompEl::Connect(), TPZGeoEl::CreateBCGeoEl(), TPZCreateApproximationSpace::CreateDisconnectedElements(), DebugStop, TPZCompMesh::Dimension(), TPZGeoEl::Dimension(), TPZGeoElSide::Element(), TPZCompElSide::Element(), TPZGeoMesh::ElementVec(), TPZCompMesh::ElementVec(), TPZGeoElSide::EqualLevelCompElementList(), TPZGeoElSide::HigherLevelCompElementList2(), TPZMaterial::Id(), TPZCompMesh::InitializeBlock(), TPZGeoMesh::InterfaceMaterial(), TPZCompMesh::LoadReferences(), LOGPZ_DEBUG, TPZGeoElSide::LowerLevelCompElementList2(), TPZCompEl::Material(), TPZGeoEl::MaterialId(), TPZGeoMesh::NElements(), TPZCompMesh::NElements(), TPZVec< T >::NElements(), TPZChunkVector< T, EXP >::NElements(), TPZGeoEl::NSides(), TPZGeoMesh::Print(), TPZStack< T, NumExtAlloc >::Push(), TPZCompEl::Reference(), TPZCompMesh::Reference(), TPZGeoEl::Reference(), TPZCompElSide::Reference(), TPZGeoMesh::ResetReference(), TPZManVector< T, NumExtAlloc >::Resize(), TPZCreateApproximationSpace::SetAllCreateFunctionsContinuous(), TPZCompMesh::SetAllCreateFunctionsContinuous(), TPZConnect::SetLagrangeMultiplier(), TPZGeoEl::SideDimension(), and TPZVec< T >::size().
Referenced by MalhaComp(), and TransferFromMultiPhysics().
|
static |
Compute the correspondence between the connect index in the multiphysics mesh and the connect indexes in the atomic meshes
Definition at line 961 of file pzbuildmultiphysicsmesh.cpp.
References TPZCompMesh::Element(), FillAtomic(), TPZCompMesh::NConnects(), TPZCompMesh::NElements(), and TPZVec< T >::Resize().
Referenced by TransferFromMeshes(), and TransferFromMultiPhysics().
|
static |
Show shape functions associated with connects of a multiphysics mesh.
Definition at line 775 of file pzbuildmultiphysicsmesh.cpp.
References TPZAnalysis::DefineGraphMesh(), TPZCompMesh::Dimension(), stats::filename, TPZCompMesh::GetDefaultOrder(), TPZAnalysis::LoadSolution(), TPZAnalysis::Mesh(), porder, TPZAnalysis::PostProcess(), TPZStack< T, NumExtAlloc >::Push(), TPZVec< T >::size(), TPZAnalysis::Solution(), TransferFromMultiPhysics(), and TPZFMatrix< TVar >::Zero().
Referenced by TransferFromMultiPhysics().
|
static |
Transfer information from a specific set of meshes for the current mesh multiphysics.
cmeshVec | [in] vector of meshes. Transfers the information |
MFMesh | [out] mesh pointer who will receive the information |
Whether connect was deleted by previous refined process
Definition at line 321 of file pzbuildmultiphysicsmesh.cpp.
References TPZCompMesh::Block(), ComputeAtomicIndexes(), TPZCompEl::ConnectIndex(), TPZCompMesh::ConnectVec(), DebugStop, TPZCompMesh::Element(), TPZSubCompMesh::FatherMesh(), TPZBlock< TVar >::Get(), idf, TPZSubCompMesh::InternalIndex(), TPZCompEl::NConnects(), TPZCompMesh::NElements(), TPZBlock< TVar >::Position(), TPZBlock< TVar >::Put(), TPZConnect::SequenceNumber(), TPZBlock< TVar >::Size(), TPZVec< T >::size(), and TPZCompMesh::Solution().
Referenced by Hdiv2dPaper201504::CMeshMixed(), hdivCurvedJCompAppMath::CMeshMixed(), Hdiv3dPaper201504::CMeshMixed(), TPZMHMixedMeshControl::CreateHDivPressureMHMMesh(), and TransferFromMeshes().
|
inlinestatic |
Transfer information from a specific set of meshes for the current mesh multiphysics.
cmeshVec | [in] vector of meshes. Transfers the information |
MFMesh | [out] mesh pointer who will receive the information |
Definition at line 63 of file pzbuildmultiphysicsmesh.h.
References TPZVec< T >::size(), TransferFromMeshes(), and TransferFromMultiPhysics().
|
static |
Transfer information from a specific mesh multiphysics for the current specific set of meshes.
cmeshVec | [out] vector of meshes that will receive the information. |
MFMesh | [in] mesh pointer that Transfers the information |
Whether connect was deleted by previous refined process
Definition at line 400 of file pzbuildmultiphysicsmesh.cpp.
References TPZCompMesh::Block(), ComputeAtomicIndexes(), TPZCompMesh::ConnectVec(), DebugStop, TPZCompMesh::Element(), TPZBlock< TVar >::Get(), idf, TPZCompMesh::NElements(), TPZBlock< TVar >::Position(), TPZConnect::SequenceNumber(), TPZBlock< TVar >::Size(), TPZVec< T >::size(), TPZCompMesh::Solution(), and val().
Referenced by TPZElastoPlasticAnalysis::LoadSolution(), Hdiv2dPaper201504::PrintErrors(), hdivCurvedJCompAppMath::PrintErrors(), Hdiv3dPaper201504::PrintErrors(), Hdiv2dPaper201504::Run(), hdivCurvedJCompAppMath::Run(), Hdiv3dPaper201504::Run(), ShowShape(), TransferFromMeshes(), and TransferFromMultiPhysics().
|
inlinestatic |
Transfer information from a specific mesh multiphysics for the current specific set of meshes.
cmeshVec | [out] vector of meshes that will receive the information. |
MFMesh | [in] mesh pointer that Transfers the information |
Definition at line 84 of file pzbuildmultiphysicsmesh.h.
References AddWrap(), BuildHybridMesh(), ComputeAtomicIndexes(), stats::filename, ShowShape(), TPZVec< T >::size(), TransferFromMultiPhysics(), UniformRefineCompEl(), and UniformRefineCompMesh().
|
static |
Uniform refinement of the computational element.
cMesh | [in] : computational mesh |
indexEl | [in]: index of the element |
Definition at line 706 of file pzbuildmultiphysicsmesh.cpp.
References TPZCompMesh::AdjustBoundaryElements(), TPZCompMesh::CleanUpUnconnectedNodes(), TPZCompMesh::ConnectVec(), TPZCompEl::Dimension(), TPZCompEl::Divide(), TPZCompMesh::ElementVec(), TPZCompElSide::EqualLevelElementList(), TPZCompEl::Index(), TPZCompMesh::NConnects(), TPZGeoEl::NCornerNodes(), TPZCompMesh::NElements(), TPZChunkVector< T, EXP >::NElements(), TPZGeoEl::NSides(), TPZCompEl::Reference(), TPZManVector< T, NumExtAlloc >::Resize(), TPZCompElDisc::SetCenterPoint(), TPZCompElDisc::SetConstC(), TPZConnect::SetLagrangeMultiplier(), TPZCompElDisc::SetTrueUseQsiEta(), and TPZVec< T >::size().
Referenced by TransferFromMultiPhysics().
|
static |
Uniform refinement of the computational mesh.
cMesh | [in]: computational mesh |
ndiv | [in]: number of refinements |
Definition at line 646 of file pzbuildmultiphysicsmesh.cpp.
References TPZCompMesh::AdjustBoundaryElements(), TPZCompMesh::CleanUpUnconnectedNodes(), TPZCompMesh::ConnectVec(), TPZCompEl::Dimension(), TPZCompEl::Divide(), TPZCompMesh::ElementVec(), TPZCompEl::Index(), TPZCompEl::IsInterface(), TPZCompMesh::NConnects(), TPZCompMesh::NElements(), TPZChunkVector< T, EXP >::NElements(), TPZCompEl::Reference(), TPZGeoEl::ResetReference(), TPZCompElDisc::SetCenterPoint(), TPZCompElDisc::SetConstC(), TPZConnect::SetLagrangeMultiplier(), and TPZCompElDisc::SetTrueUseQsiEta().
Referenced by TransferFromMultiPhysics().