NeoPZ
|
#include <hdiv2dpaper201504.h>
Public Types | |
enum | ApproximationSpace { EH1, EHDiv, EHDivStar, EHDivStarStar } |
enum | Eltype { EQuad, ETriangle } |
Public Member Functions | |
Hdiv2dPaper201504 () | |
~Hdiv2dPaper201504 () | |
void | Run (ApproximationSpace problem, Eltype element, TPZVec< int > POrderBeginAndEnd, TPZVec< int > ndivinterval, TPZFMatrix< REAL > &errors) |
void | PrintErrors (ApproximationSpace problem, Eltype element, TPZVec< int > POrderBeginAndEnd, TPZVec< int > ndivinterval, TPZVec< REAL > &errors, std::ostream &output) |
Private Member Functions | |
TPZGeoMesh * | GMesh (int dim, bool ftriang, int ndiv) |
TPZCompMesh * | CMeshH1 (TPZGeoMesh *gmesh, int pOrder, int dim) |
TPZCompMesh * | CMeshFlux (TPZGeoMesh *gmesh, int pOrder, int dim) |
TPZCompMesh * | CMeshPressure (TPZGeoMesh *gmesh, int pOrder, int dim) |
TPZCompMesh * | CMeshMixed (TPZGeoMesh *gmesh, TPZVec< TPZCompMesh *> meshvec) |
void | ErrorH1 (TPZCompMesh *l2mesh, int p, int ndiv, int pos, TPZFMatrix< REAL > &errors) |
void | ErrorH1 (TPZCompMesh *l2mesh, int p, int ndiv, std::ostream &out, int DoFT, int DofCond) |
void | ErrorPrimalDual (TPZCompMesh *l2mesh, TPZCompMesh *hdivmesh, int p, int ndiv, int pos, TPZFMatrix< REAL > &errors) |
void | ErrorPrimalDual (TPZCompMesh *l2mesh, TPZCompMesh *hdivmesh, int p, int ndiv, std::ostream &out, int DoFT, int DofCond) |
void | ChangeExternalOrderConnects (TPZCompMesh *mesh) |
void | SolveSyst (TPZAnalysis &an, TPZCompMesh *fCmesh) |
void | setTriangTrue () |
Static Private Member Functions | |
static void | SolExata (const TPZVec< REAL > &pt, TPZVec< STATE > &solp, TPZFMatrix< STATE > &flux) |
static void | SolExataH1 (const TPZVec< REAL > &pt, TPZVec< STATE > &solp, TPZFMatrix< STATE > &flux) |
static void | Forcing (const TPZVec< REAL > &pt, TPZVec< STATE > &ff) |
static void | ForcingH1 (const TPZVec< REAL > &pt, TPZVec< STATE > &ff, TPZFMatrix< STATE > &flux) |
static void | ForcingBC1D (const TPZVec< REAL > &pt, TPZVec< STATE > &disp) |
static void | ForcingBC2D (const TPZVec< REAL > &pt, TPZVec< STATE > &disp) |
static void | ForcingBC3D (const TPZVec< REAL > &pt, TPZVec< STATE > &disp) |
static void | ForcingBC4D (const TPZVec< REAL > &pt, TPZVec< STATE > &disp) |
Private Attributes | |
int | fDim |
int | fmatId |
int | fdirichlet |
int | fneumann |
int | fbc1 |
int | fbc2 |
int | fbc3 |
int | fbc4 |
int | fmatskeleton |
bool | ftriang |
Definition at line 98 of file hdiv2dpaper201504.h.
Enumerator | |
---|---|
EH1 | |
EHDiv | |
EHDivStar | |
EHDivStarStar |
Definition at line 119 of file hdiv2dpaper201504.h.
Enumerator | |
---|---|
EQuad | |
ETriangle |
Definition at line 121 of file hdiv2dpaper201504.h.
Hdiv2dPaper201504::Hdiv2dPaper201504 | ( | ) |
Definition at line 14 of file hdiv2dpaper201504.cpp.
References fbc1, fbc2, fbc3, fbc4, fDim, fdirichlet, fmatId, fmatskeleton, fneumann, and ftriang.
Hdiv2dPaper201504::~Hdiv2dPaper201504 | ( | ) |
Definition at line 34 of file hdiv2dpaper201504.cpp.
|
private |
Definition at line 1169 of file hdiv2dpaper201504.cpp.
References TPZCompMesh::Block(), TPZCompMesh::CleanUpUnconnectedNodes(), co, TPZCompEl::Connect(), TPZCompEl::ConnectIndex(), TPZCompMesh::Dimension(), TPZCompEl::Dimension(), TPZCompMesh::ElementVec(), TPZCompMesh::ExpandSolution(), TPZCompEl::NConnects(), TPZConnect::NShape(), TPZConnect::Order(), TPZConnect::SequenceNumber(), TPZBlock< TVar >::Set(), TPZConnect::SetNShape(), and TPZConnect::SetOrder().
Referenced by PrintErrors(), and Run().
|
private |
criar materiais
Inserir condicao de contorno
Definition at line 685 of file hdiv2dpaper201504.cpp.
References TPZCompMesh::AutoBuild(), TPZMaterial::CreateBC(), fbc1, fbc2, fbc3, fbc4, fDim, fdirichlet, fmatId, fmatskeleton, TPZCompMesh::InsertMaterialObject(), TPZMatMixedPoisson3D::NStateVariables(), TPZCompMesh::SetAllCreateFunctionsHDiv(), TPZCompMesh::SetDefaultOrder(), and TPZCompMesh::SetDimModel().
Referenced by PrintErrors(), and Run().
|
private |
criar materiais
Inserir condicao de contorno
Definition at line 628 of file hdiv2dpaper201504.cpp.
References TPZCompMesh::AutoBuild(), TPZMaterial::CreateBC(), fbc1, fbc2, fbc3, fbc4, fDim, fdirichlet, fmatId, ForcingH1(), TPZCompMesh::InsertMaterialObject(), TPZMatPoisson3d::NStateVariables(), TPZCompMesh::SetAllCreateFunctionsContinuous(), TPZCompMesh::SetDefaultOrder(), TPZCompMesh::SetDimModel(), TPZMaterial::SetForcingFunction(), TPZMaterial::SetForcingFunctionExact(), TPZDummyFunction< TVar >::SetPolynomialOrder(), and SolExataH1().
Referenced by PrintErrors(), and Run().
|
private |
Definition at line 818 of file hdiv2dpaper201504.cpp.
References TPZBuildMultiphysicsMesh::AddConnects(), TPZElementGroup::AddElement(), TPZBuildMultiphysicsMesh::AddElements(), TPZBuildMultiphysicsMesh::AddWrap(), TPZCompMesh::AdjustBoundaryElements(), TPZCompMesh::AutoBuild(), TPZCompMesh::CleanUpUnconnectedNodes(), TPZCompMesh::ComputeNodElCon(), TPZCompEl::Connect(), TPZMaterial::CreateBC(), DebugStop, TPZCompEl::Dimension(), TPZGeoMesh::Dimension(), TPZGeoElSide::Element(), TPZCompMesh::Element(), TPZCompMesh::ElementVec(), TPZCompMesh::ExpandSolution(), fbc1, fbc2, fbc3, fbc4, fdirichlet, fmatId, Forcing(), ForcingBC1D(), ForcingBC2D(), ForcingBC3D(), ForcingBC4D(), TPZConnect::IncrementElConnected(), TPZCompEl::Index(), TPZCompMesh::InsertMaterialObject(), TPZConnect::LagrangeMultiplier(), TPZCompMesh::LoadReferences(), TPZGeoEl::MaterialId(), TPZElementGroup::NConnects(), TPZGeoElSide::Neighbour(), TPZVec< T >::NElements(), TPZChunkVector< T, EXP >::NElements(), TPZGeoEl::NSides(), TPZStack< T, NumExtAlloc >::Push(), TPZCompEl::Reference(), TPZCompMesh::Reference(), TPZGeoEl::Reference(), TPZGeoMesh::ResetReference(), TPZCompMesh::SetAllCreateFunctionsMultiphysicElem(), TPZCompMesh::SetDimModel(), TPZMaterial::SetForcingFunction(), TPZMaterial::SetForcingFunctionExact(), TPZMatMixedPoisson3D::SetPermeabilityTensor(), TPZDummyFunction< TVar >::SetPolynomialOrder(), TPZVec< T >::size(), SolExata(), and TPZBuildMultiphysicsMesh::TransferFromMeshes().
Referenced by PrintErrors(), and Run().
|
private |
criar materiais
Inserir condicao de contorno
Definition at line 741 of file hdiv2dpaper201504.cpp.
References TPZCompMesh::ApproxSpace(), TPZCompMesh::AutoBuild(), TPZCompMesh::ConnectVec(), TPZCreateApproximationSpace::CreateDisconnectedElements(), DebugStop, TPZCompMesh::Dimension(), TPZGeoEl::Dimension(), TPZCompMesh::ElementVec(), fDim, fmatId, ftriang, TPZCompMesh::InsertMaterialObject(), TPZCompMesh::NConnects(), TPZCompMesh::NElements(), TPZMatMixedPoisson3D::NStateVariables(), TPZCompEl::Reference(), TPZCompMesh::SetAllCreateFunctionsContinuous(), TPZCompMesh::SetAllCreateFunctionsDiscontinuous(), TPZCompElDisc::SetCenterPoint(), TPZCompElDisc::SetConstC(), TPZCompMesh::SetDefaultOrder(), TPZCompMesh::SetDimModel(), TPZConnect::SetLagrangeMultiplier(), TPZCompElDisc::SetTensorialShape(), TPZCompElDisc::SetTotalOrderShape(), and TPZCompElDisc::SetTrueUseQsiEta().
Referenced by PrintErrors(), and Run().
|
private |
Definition at line 1017 of file hdiv2dpaper201504.cpp.
References TPZCompMesh::Dimension(), TPZGeoEl::Dimension(), TPZCompMesh::ElementVec(), TPZCompEl::EvaluateError(), TPZVec< T >::Fill(), TPZCompMesh::NElements(), TPZFMatrix< TVar >::PutVal(), TPZCompEl::Reference(), TPZVec< T >::resize(), TPZVec< T >::size(), SolExataH1(), and sqrt.
Referenced by PrintErrors(), and Run().
|
private |
Definition at line 1052 of file hdiv2dpaper201504.cpp.
References TPZCompMesh::Dimension(), TPZGeoEl::Dimension(), TPZCompMesh::ElementVec(), TPZCompEl::EvaluateError(), TPZVec< T >::Fill(), TPZCompMesh::NElements(), TPZCompEl::Reference(), TPZVec< T >::resize(), TPZVec< T >::size(), SolExataH1(), and sqrt.
|
private |
Definition at line 1084 of file hdiv2dpaper201504.cpp.
References TPZCompMesh::Dimension(), TPZGeoEl::Dimension(), TPZCompMesh::ElementVec(), TPZCompEl::EvaluateError(), TPZVec< T >::Fill(), TPZCompMesh::NElements(), TPZFMatrix< TVar >::PutVal(), TPZCompEl::Reference(), TPZVec< T >::resize(), TPZVec< T >::size(), SolExata(), and sqrt.
Referenced by PrintErrors(), and Run().
|
private |
Definition at line 1129 of file hdiv2dpaper201504.cpp.
References TPZCompMesh::Dimension(), TPZGeoEl::Dimension(), TPZCompMesh::ElementVec(), TPZCompEl::EvaluateError(), TPZVec< T >::Fill(), TPZCompMesh::NElements(), TPZCompEl::Reference(), TPZVec< T >::resize(), TPZVec< T >::size(), SolExata(), and sqrt.
|
staticprivate |
Definition at line 601 of file hdiv2dpaper201504.cpp.
Referenced by CMeshMixed().
|
staticprivate |
Definition at line 607 of file hdiv2dpaper201504.cpp.
Referenced by CMeshMixed().
|
staticprivate |
Definition at line 613 of file hdiv2dpaper201504.cpp.
Referenced by CMeshMixed().
|
staticprivate |
Definition at line 619 of file hdiv2dpaper201504.cpp.
Referenced by CMeshMixed().
|
staticprivate |
Definition at line 576 of file hdiv2dpaper201504.cpp.
References TPZFMatrix< TVar >::Resize(), and sin.
Referenced by CMeshH1().
|
private |
gmesh para aqui
Definition at line 369 of file hdiv2dpaper201504.cpp.
References TPZGeoMesh::BuildConnectivity(), DebugStop, TPZGeoEl::Divide(), TPZGeoMesh::ElementVec(), fbc1, fbc2, fbc3, fbc4, fmatId, TPZGeoEl::HasSubElement(), TPZGeoMesh::NElements(), TPZGeoMesh::NodeVec(), TPZAdmChunkVector< T, EXP >::Resize(), TPZGeoMesh::SetDimension(), and TPZGeoMesh::SetMaxNodeId().
Referenced by PrintErrors(), and Run().
void Hdiv2dPaper201504::PrintErrors | ( | ApproximationSpace | problem, |
Eltype | element, | ||
TPZVec< int > | POrderBeginAndEnd, | ||
TPZVec< int > | ndivinterval, | ||
TPZVec< REAL > & | errors, | ||
std::ostream & | output | ||
) |
Definition at line 197 of file hdiv2dpaper201504.cpp.
References ChangeExternalOrderConnects(), TPZCompMesh::CleanUpUnconnectedNodes(), CMeshFlux(), CMeshH1(), CMeshMixed(), CMeshPressure(), DebugStop, EH1, EHDiv, EHDivStar, EHDivStarStar, TPZCompMesh::Element(), EQuad, ErrorH1(), ErrorPrimalDual(), ETriangle, TPZCompMesh::ExpandSolution(), fDim, GMesh(), TPZCompMesh::NElements(), TPZCompMesh::NEquations(), TPZGeoMesh::SetDimension(), setTriangTrue(), TPZVec< T >::size(), SolveSyst(), and TPZBuildMultiphysicsMesh::TransferFromMultiPhysics().
void Hdiv2dPaper201504::Run | ( | ApproximationSpace | problem, |
Eltype | element, | ||
TPZVec< int > | POrderBeginAndEnd, | ||
TPZVec< int > | ndivinterval, | ||
TPZFMatrix< REAL > & | errors | ||
) |
Definition at line 39 of file hdiv2dpaper201504.cpp.
References ChangeExternalOrderConnects(), TPZCompMesh::CleanUpUnconnectedNodes(), CMeshFlux(), CMeshH1(), CMeshMixed(), CMeshPressure(), DebugStop, EH1, EHDiv, EHDivStar, EHDivStarStar, TPZCompMesh::Element(), EQuad, ErrorH1(), ErrorPrimalDual(), ETriangle, TPZCompMesh::ExpandSolution(), fDim, GMesh(), TPZCompMesh::NElements(), TPZFMatrix< TVar >::Resize(), TPZGeoMesh::SetDimension(), setTriangTrue(), TPZVec< T >::size(), SolveSyst(), and TPZBuildMultiphysicsMesh::TransferFromMultiPhysics().
|
inlineprivate |
Definition at line 168 of file hdiv2dpaper201504.h.
Referenced by PrintErrors(), and Run().
|
staticprivate |
Definition at line 489 of file hdiv2dpaper201504.cpp.
References cos(), TPZVec< T >::resize(), TPZFMatrix< TVar >::Resize(), and sin.
Referenced by CMeshMixed(), and ErrorPrimalDual().
|
staticprivate |
Definition at line 543 of file hdiv2dpaper201504.cpp.
References cos(), TPZVec< T >::resize(), TPZFMatrix< TVar >::Resize(), and sin.
|
private |
Definition at line 1202 of file hdiv2dpaper201504.cpp.
References TPZSkylineStructMatrix::Create(), ELDLt, ELU, TPZCompMesh::NEquations(), substruct_tst14.test::numthreads, TPZAnalysis::Run(), TPZFrontStructMatrix< front >::SetDecomposeType(), TPZStepSolver< TVar >::SetDirect(), TPZStepSolver< TVar >::SetGMRES(), TPZStructMatrixBase::SetNumThreads(), TPZMatrixSolver< TVar >::SetReferenceMatrix(), TPZAnalysis::SetSolver(), and TPZAnalysis::SetStructuralMatrix().
Referenced by PrintErrors(), and Run().
|
private |
Definition at line 108 of file hdiv2dpaper201504.h.
Referenced by CMeshFlux(), CMeshH1(), CMeshMixed(), GMesh(), and Hdiv2dPaper201504().
|
private |
Definition at line 109 of file hdiv2dpaper201504.h.
Referenced by CMeshFlux(), CMeshH1(), CMeshMixed(), GMesh(), and Hdiv2dPaper201504().
|
private |
Definition at line 110 of file hdiv2dpaper201504.h.
Referenced by CMeshFlux(), CMeshH1(), CMeshMixed(), GMesh(), and Hdiv2dPaper201504().
|
private |
Definition at line 111 of file hdiv2dpaper201504.h.
Referenced by CMeshFlux(), CMeshH1(), CMeshMixed(), GMesh(), and Hdiv2dPaper201504().
|
private |
Definition at line 101 of file hdiv2dpaper201504.h.
Referenced by CMeshFlux(), CMeshH1(), CMeshPressure(), Hdiv2dPaper201504(), PrintErrors(), and Run().
|
private |
Definition at line 105 of file hdiv2dpaper201504.h.
Referenced by CMeshFlux(), CMeshH1(), CMeshMixed(), and Hdiv2dPaper201504().
|
private |
Definition at line 103 of file hdiv2dpaper201504.h.
Referenced by CMeshFlux(), CMeshH1(), CMeshMixed(), CMeshPressure(), GMesh(), and Hdiv2dPaper201504().
|
private |
Definition at line 113 of file hdiv2dpaper201504.h.
Referenced by CMeshFlux(), and Hdiv2dPaper201504().
|
private |
Definition at line 106 of file hdiv2dpaper201504.h.
Referenced by Hdiv2dPaper201504().
|
private |
Definition at line 115 of file hdiv2dpaper201504.h.
Referenced by CMeshPressure(), and Hdiv2dPaper201504().