NeoPZ
Public Types | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
Hdiv2dPaper201504 Class Reference

#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

TPZGeoMeshGMesh (int dim, bool ftriang, int ndiv)
 
TPZCompMeshCMeshH1 (TPZGeoMesh *gmesh, int pOrder, int dim)
 
TPZCompMeshCMeshFlux (TPZGeoMesh *gmesh, int pOrder, int dim)
 
TPZCompMeshCMeshPressure (TPZGeoMesh *gmesh, int pOrder, int dim)
 
TPZCompMeshCMeshMixed (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
 

Detailed Description

Definition at line 98 of file hdiv2dpaper201504.h.

Member Enumeration Documentation

◆ ApproximationSpace

Enumerator
EH1 
EHDiv 
EHDivStar 
EHDivStarStar 

Definition at line 119 of file hdiv2dpaper201504.h.

◆ Eltype

Enumerator
EQuad 
ETriangle 

Definition at line 121 of file hdiv2dpaper201504.h.

Constructor & Destructor Documentation

◆ Hdiv2dPaper201504()

Hdiv2dPaper201504::Hdiv2dPaper201504 ( )

Definition at line 14 of file hdiv2dpaper201504.cpp.

References fbc1, fbc2, fbc3, fbc4, fDim, fdirichlet, fmatId, fmatskeleton, fneumann, and ftriang.

◆ ~Hdiv2dPaper201504()

Hdiv2dPaper201504::~Hdiv2dPaper201504 ( )

Definition at line 34 of file hdiv2dpaper201504.cpp.

Member Function Documentation

◆ ChangeExternalOrderConnects()

void Hdiv2dPaper201504::ChangeExternalOrderConnects ( TPZCompMesh mesh)
private

◆ CMeshFlux()

TPZCompMesh * Hdiv2dPaper201504::CMeshFlux ( TPZGeoMesh gmesh,
int  pOrder,
int  dim 
)
private

◆ CMeshH1()

TPZCompMesh * Hdiv2dPaper201504::CMeshH1 ( TPZGeoMesh gmesh,
int  pOrder,
int  dim 
)
private

◆ CMeshMixed()

TPZCompMesh * Hdiv2dPaper201504::CMeshMixed ( TPZGeoMesh gmesh,
TPZVec< TPZCompMesh *>  meshvec 
)
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().

◆ CMeshPressure()

TPZCompMesh * Hdiv2dPaper201504::CMeshPressure ( TPZGeoMesh gmesh,
int  pOrder,
int  dim 
)
private

◆ ErrorH1() [1/2]

void Hdiv2dPaper201504::ErrorH1 ( TPZCompMesh l2mesh,
int  p,
int  ndiv,
int  pos,
TPZFMatrix< REAL > &  errors 
)
private

◆ ErrorH1() [2/2]

void Hdiv2dPaper201504::ErrorH1 ( TPZCompMesh l2mesh,
int  p,
int  ndiv,
std::ostream &  out,
int  DoFT,
int  DofCond 
)
private

◆ ErrorPrimalDual() [1/2]

void Hdiv2dPaper201504::ErrorPrimalDual ( TPZCompMesh l2mesh,
TPZCompMesh hdivmesh,
int  p,
int  ndiv,
int  pos,
TPZFMatrix< REAL > &  errors 
)
private

◆ ErrorPrimalDual() [2/2]

void Hdiv2dPaper201504::ErrorPrimalDual ( TPZCompMesh l2mesh,
TPZCompMesh hdivmesh,
int  p,
int  ndiv,
std::ostream &  out,
int  DoFT,
int  DofCond 
)
private

◆ Forcing()

void Hdiv2dPaper201504::Forcing ( const TPZVec< REAL > &  pt,
TPZVec< STATE > &  ff 
)
staticprivate

Definition at line 518 of file hdiv2dpaper201504.cpp.

References sin.

Referenced by CMeshMixed().

◆ ForcingBC1D()

void Hdiv2dPaper201504::ForcingBC1D ( const TPZVec< REAL > &  pt,
TPZVec< STATE > &  disp 
)
staticprivate

Definition at line 601 of file hdiv2dpaper201504.cpp.

Referenced by CMeshMixed().

◆ ForcingBC2D()

void Hdiv2dPaper201504::ForcingBC2D ( const TPZVec< REAL > &  pt,
TPZVec< STATE > &  disp 
)
staticprivate

Definition at line 607 of file hdiv2dpaper201504.cpp.

Referenced by CMeshMixed().

◆ ForcingBC3D()

void Hdiv2dPaper201504::ForcingBC3D ( const TPZVec< REAL > &  pt,
TPZVec< STATE > &  disp 
)
staticprivate

Definition at line 613 of file hdiv2dpaper201504.cpp.

Referenced by CMeshMixed().

◆ ForcingBC4D()

void Hdiv2dPaper201504::ForcingBC4D ( const TPZVec< REAL > &  pt,
TPZVec< STATE > &  disp 
)
staticprivate

Definition at line 619 of file hdiv2dpaper201504.cpp.

Referenced by CMeshMixed().

◆ ForcingH1()

void Hdiv2dPaper201504::ForcingH1 ( const TPZVec< REAL > &  pt,
TPZVec< STATE > &  ff,
TPZFMatrix< STATE > &  flux 
)
staticprivate

Definition at line 576 of file hdiv2dpaper201504.cpp.

References TPZFMatrix< TVar >::Resize(), and sin.

Referenced by CMeshH1().

◆ GMesh()

TPZGeoMesh * Hdiv2dPaper201504::GMesh ( int  dim,
bool  ftriang,
int  ndiv 
)
private

◆ PrintErrors()

void Hdiv2dPaper201504::PrintErrors ( ApproximationSpace  problem,
Eltype  element,
TPZVec< int >  POrderBeginAndEnd,
TPZVec< int >  ndivinterval,
TPZVec< REAL > &  errors,
std::ostream &  output 
)

◆ Run()

void Hdiv2dPaper201504::Run ( ApproximationSpace  problem,
Eltype  element,
TPZVec< int >  POrderBeginAndEnd,
TPZVec< int >  ndivinterval,
TPZFMatrix< REAL > &  errors 
)

◆ setTriangTrue()

void Hdiv2dPaper201504::setTriangTrue ( )
inlineprivate

Definition at line 168 of file hdiv2dpaper201504.h.

Referenced by PrintErrors(), and Run().

◆ SolExata()

void Hdiv2dPaper201504::SolExata ( const TPZVec< REAL > &  pt,
TPZVec< STATE > &  solp,
TPZFMatrix< STATE > &  flux 
)
staticprivate

Definition at line 489 of file hdiv2dpaper201504.cpp.

References cos(), TPZVec< T >::resize(), TPZFMatrix< TVar >::Resize(), and sin.

Referenced by CMeshMixed(), and ErrorPrimalDual().

◆ SolExataH1()

void Hdiv2dPaper201504::SolExataH1 ( const TPZVec< REAL > &  pt,
TPZVec< STATE > &  solp,
TPZFMatrix< STATE > &  flux 
)
staticprivate

Definition at line 543 of file hdiv2dpaper201504.cpp.

References cos(), TPZVec< T >::resize(), TPZFMatrix< TVar >::Resize(), and sin.

Referenced by CMeshH1(), and ErrorH1().

◆ SolveSyst()

void Hdiv2dPaper201504::SolveSyst ( TPZAnalysis an,
TPZCompMesh fCmesh 
)
private

Member Data Documentation

◆ fbc1

int Hdiv2dPaper201504::fbc1
private

Definition at line 108 of file hdiv2dpaper201504.h.

Referenced by CMeshFlux(), CMeshH1(), CMeshMixed(), GMesh(), and Hdiv2dPaper201504().

◆ fbc2

int Hdiv2dPaper201504::fbc2
private

Definition at line 109 of file hdiv2dpaper201504.h.

Referenced by CMeshFlux(), CMeshH1(), CMeshMixed(), GMesh(), and Hdiv2dPaper201504().

◆ fbc3

int Hdiv2dPaper201504::fbc3
private

Definition at line 110 of file hdiv2dpaper201504.h.

Referenced by CMeshFlux(), CMeshH1(), CMeshMixed(), GMesh(), and Hdiv2dPaper201504().

◆ fbc4

int Hdiv2dPaper201504::fbc4
private

Definition at line 111 of file hdiv2dpaper201504.h.

Referenced by CMeshFlux(), CMeshH1(), CMeshMixed(), GMesh(), and Hdiv2dPaper201504().

◆ fDim

int Hdiv2dPaper201504::fDim
private

◆ fdirichlet

int Hdiv2dPaper201504::fdirichlet
private

Definition at line 105 of file hdiv2dpaper201504.h.

Referenced by CMeshFlux(), CMeshH1(), CMeshMixed(), and Hdiv2dPaper201504().

◆ fmatId

int Hdiv2dPaper201504::fmatId
private

◆ fmatskeleton

int Hdiv2dPaper201504::fmatskeleton
private

Definition at line 113 of file hdiv2dpaper201504.h.

Referenced by CMeshFlux(), and Hdiv2dPaper201504().

◆ fneumann

int Hdiv2dPaper201504::fneumann
private

Definition at line 106 of file hdiv2dpaper201504.h.

Referenced by Hdiv2dPaper201504().

◆ ftriang

bool Hdiv2dPaper201504::ftriang
private

Definition at line 115 of file hdiv2dpaper201504.h.

Referenced by CMeshPressure(), and Hdiv2dPaper201504().


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