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

#include <hdiv3dpaper201504.h>

Collaboration diagram for Hdiv3dPaper201504:
[legend]

Public Types

enum  ApproximationSpace { EH1, EHDiv, EHDivStar, EHDivStarStar }
 
enum  Eltype { ECub, EPrism, ETetra }
 

Public Member Functions

 Hdiv3dPaper201504 ()
 
 ~Hdiv3dPaper201504 ()
 
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

TPZGeoMeshGMeshWithPrism (int ndiv)
 
TPZGeoMeshCreateOneCuboWithTetraedrons (int64_t nelem)
 
void GenerateNodes (TPZGeoMesh *gmesh, int64_t nelem)
 
TPZGeoMeshCreateOneCubo (int nref)
 
TPZGeoMeshCreateOneQuadraticCube (int nref)
 
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)
 
bool MyDoubleComparer (REAL a, REAL b)
 
void setTetraTrue ()
 
void setPrismaTrue ()
 
void setH1True ()
 
bool getIsH1 (bool &EH1)
 

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 ForcingBC0D (const TPZVec< REAL > &pt, TPZVec< STATE > &disp)
 
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)
 
static void ForcingBC5D (const TPZVec< REAL > &pt, TPZVec< STATE > &disp)
 
static void ForcingBC0N (const TPZVec< REAL > &pt, TPZVec< STATE > &disp)
 
static void ForcingBC1N (const TPZVec< REAL > &pt, TPZVec< STATE > &disp)
 
static void ForcingBC2N (const TPZVec< REAL > &pt, TPZVec< STATE > &disp)
 
static void ForcingBC3N (const TPZVec< REAL > &pt, TPZVec< STATE > &disp)
 
static void ForcingBC4N (const TPZVec< REAL > &pt, TPZVec< STATE > &disp)
 
static void ForcingBC5N (const TPZVec< REAL > &pt, TPZVec< STATE > &disp)
 

Private Attributes

int fDim
 
int fmatId
 
int fdirichlet
 
int fneumann
 
int fbc0
 
int fbc1
 
int fbc2
 
int fbc3
 
int fbc4
 
int fbc5
 
int fmatskeleton
 
bool fisH1
 
bool ftetra
 
bool fprisma
 
bool isgeoblend
 
TPZFMatrix< int > tetraedra_2
 

Detailed Description

Classe que define o problema do laplaceano no cubo

Definition at line 105 of file hdiv3dpaper201504.h.

Member Enumeration Documentation

◆ ApproximationSpace

Enumerator
EH1 
EHDiv 
EHDivStar 
EHDivStarStar 

Definition at line 135 of file hdiv3dpaper201504.h.

◆ Eltype

Enumerator
ECub 
EPrism 
ETetra 

Definition at line 137 of file hdiv3dpaper201504.h.

Constructor & Destructor Documentation

◆ Hdiv3dPaper201504()

Hdiv3dPaper201504::Hdiv3dPaper201504 ( )

◆ ~Hdiv3dPaper201504()

Hdiv3dPaper201504::~Hdiv3dPaper201504 ( )

Definition at line 70 of file hdiv3dpaper201504.cpp.

Member Function Documentation

◆ ChangeExternalOrderConnects()

void Hdiv3dPaper201504::ChangeExternalOrderConnects ( TPZCompMesh mesh)
private

◆ CMeshFlux()

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

◆ CMeshH1()

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

◆ CMeshMixed()

TPZCompMesh * Hdiv3dPaper201504::CMeshMixed ( TPZGeoMesh gmesh,
TPZVec< TPZCompMesh *>  meshvec 
)
private

Definition at line 1323 of file hdiv3dpaper201504.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(), fbc0, fbc1, fbc2, fbc3, fbc4, fbc5, fdirichlet, fmatId, Forcing(), ForcingBC0D(), ForcingBC1D(), ForcingBC2D(), ForcingBC3D(), ForcingBC4D(), ForcingBC5D(), 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 * Hdiv3dPaper201504::CMeshPressure ( TPZGeoMesh gmesh,
int  pOrder,
int  dim 
)
private

◆ CreateOneCubo()

TPZGeoMesh * Hdiv3dPaper201504::CreateOneCubo ( int  nref)
private

◆ CreateOneCuboWithTetraedrons()

TPZGeoMesh * Hdiv3dPaper201504::CreateOneCuboWithTetraedrons ( int64_t  nelem)
private

◆ CreateOneQuadraticCube()

TPZGeoMesh* Hdiv3dPaper201504::CreateOneQuadraticCube ( int  nref)
private

◆ ErrorH1() [1/2]

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

◆ ErrorH1() [2/2]

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

◆ ErrorPrimalDual() [1/2]

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

◆ ErrorPrimalDual() [2/2]

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

◆ Forcing()

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

Definition at line 1046 of file hdiv3dpaper201504.cpp.

References sin.

Referenced by CMeshMixed().

◆ ForcingBC0D()

void Hdiv3dPaper201504::ForcingBC0D ( const TPZVec< REAL > &  pt,
TPZVec< STATE > &  disp 
)
staticprivate

Definition at line 1089 of file hdiv3dpaper201504.cpp.

Referenced by CMeshMixed().

◆ ForcingBC0N()

static void Hdiv3dPaper201504::ForcingBC0N ( const TPZVec< REAL > &  pt,
TPZVec< STATE > &  disp 
)
staticprivate

◆ ForcingBC1D()

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

Definition at line 1095 of file hdiv3dpaper201504.cpp.

Referenced by CMeshMixed().

◆ ForcingBC1N()

static void Hdiv3dPaper201504::ForcingBC1N ( const TPZVec< REAL > &  pt,
TPZVec< STATE > &  disp 
)
staticprivate

◆ ForcingBC2D()

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

Definition at line 1101 of file hdiv3dpaper201504.cpp.

Referenced by CMeshMixed().

◆ ForcingBC2N()

static void Hdiv3dPaper201504::ForcingBC2N ( const TPZVec< REAL > &  pt,
TPZVec< STATE > &  disp 
)
staticprivate

◆ ForcingBC3D()

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

Definition at line 1107 of file hdiv3dpaper201504.cpp.

Referenced by CMeshMixed().

◆ ForcingBC3N()

static void Hdiv3dPaper201504::ForcingBC3N ( const TPZVec< REAL > &  pt,
TPZVec< STATE > &  disp 
)
staticprivate

◆ ForcingBC4D()

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

Definition at line 1113 of file hdiv3dpaper201504.cpp.

Referenced by CMeshMixed().

◆ ForcingBC4N()

static void Hdiv3dPaper201504::ForcingBC4N ( const TPZVec< REAL > &  pt,
TPZVec< STATE > &  disp 
)
staticprivate

◆ ForcingBC5D()

void Hdiv3dPaper201504::ForcingBC5D ( const TPZVec< REAL > &  pt,
TPZVec< STATE > &  disp 
)
staticprivate

Definition at line 1120 of file hdiv3dpaper201504.cpp.

Referenced by CMeshMixed().

◆ ForcingBC5N()

static void Hdiv3dPaper201504::ForcingBC5N ( const TPZVec< REAL > &  pt,
TPZVec< STATE > &  disp 
)
staticprivate

◆ ForcingH1()

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

Definition at line 1077 of file hdiv3dpaper201504.cpp.

References sin.

Referenced by CMeshH1().

◆ GenerateNodes()

void Hdiv3dPaper201504::GenerateNodes ( TPZGeoMesh gmesh,
int64_t  nelem 
)
private

◆ getIsH1()

bool Hdiv3dPaper201504::getIsH1 ( bool &  EH1)
inlineprivate

Definition at line 221 of file hdiv3dpaper201504.h.

◆ GMeshWithPrism()

TPZGeoMesh * Hdiv3dPaper201504::GMeshWithPrism ( int  ndiv)
private

◆ MyDoubleComparer()

bool Hdiv3dPaper201504::MyDoubleComparer ( REAL  a,
REAL  b 
)
inlineprivate

Definition at line 199 of file hdiv3dpaper201504.h.

References IsZero().

Referenced by CreateOneCuboWithTetraedrons().

◆ PrintErrors()

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

◆ Run()

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

◆ setH1True()

void Hdiv3dPaper201504::setH1True ( )
inlineprivate

Definition at line 217 of file hdiv3dpaper201504.h.

◆ setPrismaTrue()

void Hdiv3dPaper201504::setPrismaTrue ( )
inlineprivate

Definition at line 213 of file hdiv3dpaper201504.h.

◆ setTetraTrue()

void Hdiv3dPaper201504::setTetraTrue ( )
inlineprivate

Definition at line 209 of file hdiv3dpaper201504.h.

◆ SolExata()

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

Definition at line 1025 of file hdiv3dpaper201504.cpp.

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

Referenced by CMeshMixed(), and ErrorPrimalDual().

◆ SolExataH1()

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

Definition at line 1056 of file hdiv3dpaper201504.cpp.

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

Referenced by CMeshH1(), and ErrorH1().

◆ SolveSyst()

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

Member Data Documentation

◆ fbc0

int Hdiv3dPaper201504::fbc0
private

◆ fbc1

int Hdiv3dPaper201504::fbc1
private

◆ fbc2

int Hdiv3dPaper201504::fbc2
private

◆ fbc3

int Hdiv3dPaper201504::fbc3
private

◆ fbc4

int Hdiv3dPaper201504::fbc4
private

◆ fbc5

int Hdiv3dPaper201504::fbc5
private

◆ fDim

int Hdiv3dPaper201504::fDim
private

◆ fdirichlet

int Hdiv3dPaper201504::fdirichlet
private

Definition at line 111 of file hdiv3dpaper201504.h.

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

◆ fisH1

bool Hdiv3dPaper201504::fisH1
private

Definition at line 122 of file hdiv3dpaper201504.h.

Referenced by Hdiv3dPaper201504().

◆ fmatId

int Hdiv3dPaper201504::fmatId
private

◆ fmatskeleton

int Hdiv3dPaper201504::fmatskeleton
private

Definition at line 120 of file hdiv3dpaper201504.h.

Referenced by CMeshFlux(), and Hdiv3dPaper201504().

◆ fneumann

int Hdiv3dPaper201504::fneumann
private

Definition at line 112 of file hdiv3dpaper201504.h.

Referenced by Hdiv3dPaper201504().

◆ fprisma

bool Hdiv3dPaper201504::fprisma
private

Definition at line 126 of file hdiv3dpaper201504.h.

Referenced by Hdiv3dPaper201504().

◆ ftetra

bool Hdiv3dPaper201504::ftetra
private

Definition at line 124 of file hdiv3dpaper201504.h.

Referenced by Hdiv3dPaper201504().

◆ isgeoblend

bool Hdiv3dPaper201504::isgeoblend
private

Definition at line 128 of file hdiv3dpaper201504.h.

◆ tetraedra_2

TPZFMatrix< int > Hdiv3dPaper201504::tetraedra_2
private

Definition at line 130 of file hdiv3dpaper201504.h.

Referenced by CreateOneCuboWithTetraedrons(), and Hdiv3dPaper201504().


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