virtual int NumFacesPerElement() const
Returns the number of faces contained in each element.
Definition: Galeri_TriangleRectangleGrid.h:164
double PsiX(const int i) const
Returns the value of the z-derivative i-th test function on the reference element.
Definition: Galeri_TriangleQuadrature.h:288
void setNumVertices(const int numVertices)
Sets the number of vertices in this object.
Definition: Galeri_grid_Element.h:126
virtual double ElementMinLength(const int LocalElement) const
Returns the volume of the specified local finite element.
Definition: Galeri_TRIANGLEGrid.h:309
virtual double ElementVolume(const int LocalElement) const
Returns the volume of the specified local finite element.
Definition: Galeri_QuadRectangleGrid.h:429
Quadrature formula on hexahedra.
Definition: Galeri_HexQuadrature.h:66
virtual double ElementMaxLength(const int LocalElement) const
Returns the volume of the specified local finite element.
Definition: Galeri_FileGrid.h:442
double conv_z(const double x, const double y, const double z) const
Evaluates the z-component of the convective term at point (x, y, z).
Definition: Galeri_SUPGVariational.h:130
void ExportToVertexMap(const Epetra_DistObject &RowObject, Epetra_DistObject &VertexObject) const
Exports distributed object from RowMap() to VertexMap().
Definition: Galeri_TriangleRectangleGrid.h:413
virtual std::string ElementType() const
Returns a string containing the element type.
Definition: Galeri_FileGrid.h:359
void setGlobalConnectivity(const int GID, const int index, const int what)
Sets the index coordinate of the specified (and locally owned) local grid vertex ID to value.
Definition: Galeri_grid_Loadable.h:457
static Epetra_MultiVector * createMultiVectorComponent(const Epetra_MultiVector &input)
Creates a multivector that can hold a component of the specified multivector.
Definition: Galeri_core_Workspace.cpp:121
virtual double ElementMaxLength(const int LocalElement) const =0
Returns the volume of the specified local finite element.
virtual int NumQuadrNodes() const =0
Returns the number of quadrature node per element.
virtual int NumGlobalVertices() const
Returns the global number of vertices.
Definition: Galeri_TriangleRectangleGrid.h:200
Creates a grid with quadrilaterals on a rectangle.
Definition: Galeri_QuadRectangleGrid.h:72
virtual int NumMyVertices() const
Returns the number of vertices on the calling process.
Definition: Galeri_TetCubeGrid.h:205
static void extractMultiVectorComponent(const Epetra_MultiVector &input, const int equation, Epetra_MultiVector &output)
Extracts the component of the specified equation from the input Epetra_MultiVector,...
Definition: Galeri_core_Workspace.cpp:137
double PsiY(const int i) const
Returns the value of the y-derivative i-th test function on the reference element.
Definition: Galeri_TriangleQuadrature.h:293
virtual void FaceVertices(const int LocalFace, int &tag, int *IDs) const
Returns the local vertex IDs of vertices contained in the specified boundary face.
Definition: Galeri_FileGrid.h:492
virtual double PsiY(const int i) const =0
Returns the value of the y-derivative i-th test function on the reference element.
virtual void ElementVertices(const int LocalElement, int *elements) const
Returns the local vertex IDs of the specified local finite element.
Definition: Galeri_TRIANGLEGrid.h:281
Defines a pure Galerkin variational form of a scalar PDE.
Definition: Galeri_GalerkinVariational.h:73
static void setNumDimensions(const int numDimensions)
Sets the number of dimension (1, 2, or 3).
Definition: Galeri_core_Workspace.h:81
static const int MAX
Input default value for "max".
Definition: Galeri_core_Workspace.h:120
void ElementNeighbors(int, int *) const
Returns the local IDs of neighboring elements.
Definition: Galeri_TetCubeGrid.h:334
Loadable()
Empty constructor.
Definition: Galeri_grid_Loadable.h:105
Basic implementation of scalar finite element problem.
Definition: Galeri_LinearProblem.h:79
void ExportToVertexMap(const Epetra_DistObject &RowObject, Epetra_DistObject &VertexObject) const
Exports distributed object from RowMap() to VertexMap().
Definition: Galeri_TetCubeGrid.h:473
double & getGlobalCoordinates(const int GID, const int index)
Sets the coordinates of the specified (and locally owned) global grid vertex ID to value.
Definition: Galeri_grid_Loadable.h:423
virtual const Epetra_Map & VertexMap() const
Returns a reference to the map representing the vertex distribution.
Definition: Galeri_TetCubeGrid.h:282
Definition: Galeri_FileGrid.h:76
virtual int NumMyVertices() const =0
Returns the number of vertices on the calling process.
virtual double ElementMaxLength(const int LocalElement) const
Returns the volume of the specified local finite element.
Definition: Galeri_QuadRectangleGrid.h:251
void ElementNeighbors(int, int *) const
Returns the local IDs of neighboring elements.
Definition: Galeri_TriangleRectangleGrid.h:430
virtual Element & operator=(const Element &rhs)
operator =
Definition: Galeri_grid_Element.h:108
Pure virtual class that defines the variational form.
Definition: Galeri_AbstractVariational.h:71
double diff(const double x, const double y, const double z) const
Evaluates the diffusion coefficient at point (x, y, z).
Definition: Galeri_SUPGVariational.h:100
virtual std::string ElementType() const =0
Returns a string containing the element type.
void ComputeNorms(Epetra_MultiVector &RowMatrixField, int(*ExactSolution)(double, double, double, double *), const bool verbose=true, double *Solution=0, double *Exact=0, double *Diff=0)
Computes L2, semi-H1 and H1 norms.
Definition: Galeri_LinearProblem.h:243
virtual std::string ElementType() const
Returns a string containing the element type.
Definition: Galeri_TRIANGLEGrid.h:200
virtual int NumGlobalElements() const
Returns the global number of finite elements.
Definition: Galeri_FileGrid.h:374
int NumPsiFunctions() const
Returns the number of test function on the reference element.
Definition: Galeri_TriangleQuadrature.h:313
virtual const AbstractVariational & Variational() const =0
Returns a reference to the variational object.
virtual const Epetra_Map & RowMap() const
Returns a reference to the map representing the distribution of rows.
Definition: Galeri_TRIANGLEGrid.h:344
Class for grid tetrahedra.
virtual int NumVerticesPerElement() const
Returns the number of vertices contained in each element.
Definition: Galeri_FileGrid.h:344
virtual double ElementVolume(const int LocalElement) const
Returns the volume of the specified local finite element.
Definition: Galeri_TRIANGLEGrid.h:321
void setElementData(const int GEID, const int which, const double val)
Sets the optional data associated to the specified (and locally owned) global grid element ID,...
Definition: Galeri_grid_Loadable.h:367
double PsiX(const int i) const
Returns the value of the z-derivative i-th test function on the reference element.
Definition: Galeri_HexQuadrature.h:355
virtual int ElementNorm(int(*ExactSolution)(double, double, double, double *), const double *x, const double *y, const double *z, double *Norm) const
Computes the norm of the exact solution over an element.
Definition: Galeri_GalerkinVariational.h:191
virtual ~Element()
Deastructor.
Definition: Galeri_quadrature_Element.h:56
virtual double ElementMinLength(const int LocalElement) const =0
Returns the volume of the specified local finite element.
double source(const double x, const double y, const double z) const
Evaluates the source term at point (x, y, z).
Definition: Galeri_GalerkinVariational.h:102
virtual double MyVolume() const
Returns the volume of all local elements.
Definition: Galeri_TetCubeGrid.h:448
virtual double ElementMinLength(const int LocalElement) const
Returns the volume of the specified local finite element.
Definition: Galeri_FileGrid.h:437
virtual int NumFacesPerElement() const
Returns the number of faces contained in each element.
Definition: Galeri_FileGrid.h:349
void setNumComponents(const int numComponents)
Sets the number of components in this object.
Definition: Galeri_grid_Element.h:138
virtual const Epetra_Map & VertexMap() const =0
Returns a reference to the map representing the vertex distribution.
void ComputeQuadrNodes(const int QuadrNode, const double *x, const double *y, const double *z, double &xq, double &yq, double &zq) const
Maps the quadrature nodes from the reference element to the actual one.
Definition: Galeri_QuadQuadrature.h:222
virtual void print(ostream &os) const
Prints Object to the specified output stream.
Definition: Galeri_quadrature_Element.h:145
double PsiY(const int i) const
Returns the value of the y-derivative i-th test function on the reference element.
Definition: Galeri_HexQuadrature.h:360
void ExportToVertexMap(const Epetra_DistObject &RowObject, Epetra_DistObject &VertexObject) const
Exports distributed object from RowMap() to VertexMap().
Definition: Galeri_QuadRectangleGrid.h:463
~Loadable()
Destructor.
Definition: Galeri_grid_Loadable.h:142
static const int CONNECTIVITY_FREEZED
Value for status with freezed connectivity (should be > INITIALIZED).
Definition: Galeri_core_Workspace.h:126
virtual void VertexCoord(const int Length, const int *IDs, double *x, double *y, double *z) const
Returns the coordinates of specified local vertices.
Definition: Galeri_TRIANGLEGrid.h:268
virtual double ElementVolume(const int LocalElement) const =0
Returns the volume of the specified local finite element.
double DetJacobian(const int QuadrNode) const
Computes the determinant of the Jacobian matrix at the quadrature node.
Definition: Galeri_TetQuadrature.h:239
virtual void VertexCoord(const int Length, const int *IDs, double *x, double *y, double *z) const
Returns the coordinates of specified local vertices.
Definition: Galeri_TriangleRectangleGrid.h:227
double BC(const double x, const double y, const double z, const int PatchID) const
Returns the value of the boundary condition at point (x, y, z).
Definition: Galeri_GalerkinVariational.h:287
double PsiX(const int i) const
Returns the value of the z-derivative i-th test function on the reference element.
Definition: Galeri_TetQuadrature.h:269
Quadrature formula on tetrahedra.
Definition: Galeri_TetQuadrature.h:66
virtual void VertexCoord(const int LocalID, double *coord) const
Returns the coordinates of local vertex LocalVertex in vector coord.
Definition: Galeri_TetCubeGrid.h:225
double Psi(const int i) const
Returns the value of the i-th test function on the reference element.
Definition: Galeri_QuadQuadrature.h:281
const int & getMyConnectivity(const int LID, const int index) const
Sets the index-th component of the specified (and locally owned) local grid element ID to value....
Definition: Galeri_grid_Loadable.h:500
Definition: Galeri_grid_SerialXML.h:57
static void solve_LAPACK(Epetra_RowMatrix &matrix, Epetra_MultiVector &LHS, Epetra_MultiVector &RHS)
Solves a serial linear system using LAPACK (WARNING: ONLY SMALL MATRICES)
Definition: Galeri_core_Workspace.cpp:63
double source(const double x, const double y, const double z) const
Evaluates the source term at point (x, y, z).
Definition: Galeri_SUPGVariational.h:106
virtual const Epetra_Map & VertexMap() const
Returns a reference to the map representing the vertex distribution.
Definition: Galeri_FileGrid.h:457
virtual int NumMyVertices() const
Returns the number of vertices on the calling process.
Definition: Galeri_HexCubeGrid.h:207
virtual ~AbstractQuadrature()
Destructor.
Definition: Galeri_AbstractQuadrature.h:77
virtual double GlobalVolume() const
Returns the global volume of the grid.
Definition: Galeri_FileGrid.h:519
LinearProblem(const AbstractGrid &Grid, const AbstractVariational &Variational, Epetra_CrsMatrix &A, Epetra_MultiVector &LHS, Epetra_MultiVector &RHS)
Constructor.
Definition: Galeri_LinearProblem.h:100
void ComputeDerivatives(const int QuadrNode) const
Computes the derivatives at the specified quadrature node.
Definition: Galeri_TriangleQuadrature.h:242
virtual int NumGlobalVertices() const
Returns the global number of vertices.
Definition: Galeri_QuadRectangleGrid.h:185
void freezeCoordinates()
Freezes the grid coordinates, which cannot be modified any longer.
Definition: Galeri_grid_Loadable.cpp:196
Definition: Galeri_grid_Generator.h:53
double VolumeOfTet(const double *X, const double *Y, const double *Z)
Computes the volume of a tetrahedron.
Definition: Galeri_Workspace.h:132
static int getNumDimensions()
Returns the number of dimensions used (1, 2, or 3).
Definition: Galeri_core_Workspace.h:87
virtual void print(ostream &os) const
Prints Object to the specified output stream.
Definition: Galeri_core_Object.h:127
virtual double QuadrWeight(const int QuadrNode) const =0
Computes the weight at the specified quadrature node.
~Segment()
Destructor.
Definition: Galeri_quadrature_Segment.h:167
virtual void ComputeDerivatives(const int QuadrNode) const =0
Computes the derivatives at the specified quadrature node.
virtual double FaceArea(const int LocalFace) const
Returns the area of the specified local face.
Definition: Galeri_TRIANGLEGrid.h:328
virtual double ElementMinLength(const int LocalElement) const
Returns the volume of the specified local finite element.
Definition: Galeri_QuadRectangleGrid.h:243
Creates a grid composed by triangles, the domain is a rectangle.
Definition: Galeri_TriangleRectangleGrid.h:75
Workspace()
Default constructor.
Definition: Galeri_core_Workspace.h:75
virtual double GlobalVolume() const
Returns the global volume of the grid.
Definition: Galeri_QuadRectangleGrid.h:448
Definition: Galeri_viz_MEDIT.h:52
void Compute()
Fills the linear system matrix and the right-hand side, zeros out the solution.
Definition: Galeri_LinearProblem.h:115
double PsiY(const int i) const
Returns the value of the y-derivative i-th test function on the reference element.
Definition: Galeri_QuadQuadrature.h:291
static const int COORDINATES_FREEZED
Value for status with freezed coordinates (should be > INITIALIZED).
Definition: Galeri_core_Workspace.h:128
virtual ~AbstractProblem()
Destructor.
Definition: Galeri_AbstractProblem.h:84
double PsiY(const int i) const
Returns the value of the y-derivative i-th test function on the reference element.
Definition: Galeri_TetQuadrature.h:274
virtual int NumFacesPerElement() const
Returns the number of faces contained in each element.
Definition: Galeri_QuadRectangleGrid.h:149
virtual void VertexCoord(const int LocalID, double *coord) const
Returns the coordinates of local vertex LocalVertex in vector coord.
Definition: Galeri_TriangleRectangleGrid.h:215
virtual void VertexCoord(const int Length, const int *IDs, double *x, double *y, double *z) const
Returns the coordinates of specified local vertices.
Definition: Galeri_HexCubeGrid.h:239
virtual double ElementVolume(const int LocalElement) const
Returns the volume of the specified local finite element.
Definition: Galeri_HexCubeGrid.h:440
virtual ~AbstractVariational()
Destructor.
Definition: Galeri_AbstractVariational.h:77
virtual const Epetra_Comm & Comm() const
Returns a reference to the communicator object.
Definition: Galeri_QuadRectangleGrid.h:165
virtual void VertexCoord(const int LocalVertex, double *coord) const
Returns the coordinates of local vertex LocalVertex in vector coord.
Definition: Galeri_TRIANGLEGrid.h:261
virtual void FaceVertices(const int LocalFace, int &tag, int *IDs) const
Returns the local vertex IDs of vertices contained in the specified boundary face.
Definition: Galeri_TetCubeGrid.h:317
SUPG discretization of an advection-diffusion PDE.
Definition: Galeri_SUPGVariational.h:71
Definition: Galeri_quadrature_Element.h:52
virtual ~AbstractGrid()
Destructor.
Definition: Galeri_AbstractGrid.h:113
Basic class for grid elements.
Definition: Galeri_grid_Element.h:87
virtual void ExportToRowMap(const Epetra_DistObject &RowObject, Epetra_DistObject &VertexObject) const
Exports distributed object from VertexMap() to RowMap().
Definition: Galeri_TRIANGLEGrid.h:358
int FacePatch(const int LocalFace) const
Returns the patch ID of the specified face.
Definition: Galeri_QuadRectangleGrid.h:351
Definition: Galeri_quadrature_Tet.h:51
double conv_y(const double x, const double y, const double z) const
Evaluates the y-component of the convective term at point (x, y, z).
Definition: Galeri_SUPGVariational.h:124
~Hex()
Destructor.
Definition: Galeri_quadrature_Hex.h:167
virtual void ComputeJacobian(const int QuadrNode, const double *x, const double *y, const double *z) const =0
Computes the Jacobian at the specified quadrature node.
double PhiX(const int i) const
Returns the value of the x-derivative i-th basis function on the reference element.
Definition: Galeri_QuadQuadrature.h:266
virtual int NumMyElements() const
Returns the number of finite elements on the calling process.
Definition: Galeri_QuadRectangleGrid.h:170
double LHS(const double Phi, const double Psi, const double PhiX, const double PsiX, const double PhiY, const double PsiY, const double PhiZ, const double PsiZ, const double x, const double y, const double z) const
Evaluates the bilinear form (without integral) at point (x,y,z).
Definition: Galeri_SUPGVariational.h:285
int NumNeighborsPerElement() const
Returns the number of neighboring elements.
Definition: Galeri_FileGrid.h:536
virtual void VertexCoord(const int Length, const int *IDs, double *x, double *y, double *z) const
Returns the coordinates of specified local vertices.
Definition: Galeri_TetCubeGrid.h:237
virtual void Compute()=0
Computes the linear system matrix, LHS and RHS.
virtual double ElementMaxLength(const int LocalElement) const
Returns the volume of the specified local finite element.
Definition: Galeri_HexCubeGrid.h:268
double Psi(const int i) const
Returns the value of the i-th test function on the reference element.
Definition: Galeri_HexQuadrature.h:350
virtual int NumGlobalElements() const
Returns the global number of finite elements.
Definition: Galeri_QuadRectangleGrid.h:175
virtual int NumDimensions() const
Returns the number of dimensions of the grid.
Definition: Galeri_QuadRectangleGrid.h:139
virtual int IntegrateOverElement(const AbstractVariational &Variational, const double *x, const double *y, const double *z, const double *data, double *ElementMatrix, double *ElementRHS) const
Integrates the bilinear form and the right-hand side over the element.
Definition: Galeri_SUPGVariational.h:135
virtual int NumGlobalBoundaryFaces() const =0
Returns the global number of boundary faces.
virtual void ElementVertices(const int LocalID, int *elements) const
Returns the local vertex IDs of the specified local finite element.
Definition: Galeri_TriangleRectangleGrid.h:243
Definition: Galeri_quadrature_Segment.h:51
const Epetra_MultiVector & getNonOverlappingCoordinates()
Returns the Epetra_MultiVector containing the coordinates of vertices; each vertex is owned by exactl...
Definition: Galeri_grid_Loadable.cpp:365
virtual const AbstractVariational & Variational() const
Returns a reference to the variational object.
Definition: Galeri_LinearProblem.h:370
virtual int NumVerticesPerElement() const
Returns the number of vertices contained in each element.
Definition: Galeri_TRIANGLEGrid.h:182
void ExportToVertexMap(const Epetra_DistObject &RowObject, Epetra_DistObject &VertexObject) const
Exports distributed object from RowMap() to VertexMap().
Definition: Galeri_FileGrid.h:524
double DetJacobian(const int QuadrNode) const
Computes the determinant of the Jacobian matrix at the quadrature node.
Definition: Galeri_TriangleQuadrature.h:258
virtual void setLabel(const std::string &label)
Sets the label associated with this object.
Definition: Galeri_core_Object.h:95
double Length(const double x1, const double y1, const double z1, const double x2, const double y2, const double z2)
Returns the distance between two points in space.
Definition: Galeri_Workspace.h:65
Definition: Galeri_viz_VTK.h:54
virtual int NumGlobalVertices() const
Returns the global number of vertices.
Definition: Galeri_HexCubeGrid.h:212
Definition: Galeri_quadrature_Hex.h:52
virtual int getID() const
Gets the ID associated with this object.
Definition: Galeri_core_Object.h:113
virtual int NumGlobalBoundaryFaces() const
Returns the global number of boundary faces.
Definition: Galeri_FileGrid.h:394
virtual int NumMyVertices() const
Returns the number of vertices on the calling process.
Definition: Galeri_TriangleRectangleGrid.h:195
virtual const Epetra_Map & VertexMap() const
Returns a reference to the map representing the vertex distribution.
Definition: Galeri_TriangleRectangleGrid.h:271
Object & operator=(const Object &rhs)
Copies the object from rhs.
Definition: Galeri_core_Object.h:81
virtual double MyVolume() const =0
Returns the volume of all local elements.
GalerkinVariational(const int NumQuadratureNodes, double(*diff)(const double &, const double &, const double &), double(*source)(const double &, const double &, const double &), double(*force)(const double &, const double &, const double &), double(*bc)(const double &, const double &, const double &, const int &), int(*bc_type)(const int &))
Constructor.
Definition: Galeri_GalerkinVariational.h:78
const grid::Element getElement() const
Returns the Galeri::grid::Element object of this object.
Definition: Galeri_grid_Loadable.h:318
int NumPsiFunctions() const
Returns the number of test function on the reference element.
Definition: Galeri_HexQuadrature.h:380
double Phi(const int i) const
Returns the value of the i-th basis function on the reference element.
Definition: Galeri_HexQuadrature.h:330
void ComputeDerivatives(const int QuadrNode) const
Computes the derivatives at the specified quadrature node.
Definition: Galeri_QuadQuadrature.h:240
int & getMyConnectivity(const int LID, const int index)
Sets the index-th component of the specified (and locally owned) local grid element ID to value.
Definition: Galeri_grid_Loadable.h:489
virtual int NumMyElements() const =0
Returns the number of finite elements on the calling process.
virtual void ComputeNorms(Epetra_MultiVector &RowMatrixField, int(*ExactSolution)(double, double, double, double *), const bool verbose=true, double *SolutionNorm=0, double *ExactNorm=0, double *DiffNorm=0)=0
Computes the norm of computed solution, exact solution, and error.
virtual int NumVerticesPerFace() const
Returns the number of vertices contained in each face.
Definition: Galeri_TriangleRectangleGrid.h:169
const Element & getComponent(const int which) const
Gets the element type of the specified component.
Definition: Galeri_grid_Element.h:162
virtual int NumDimensions() const
Returns the number of dimensions of the grid.
Definition: Galeri_TetCubeGrid.h:164
double PsiZ(const int i) const
Returns the value of the z-derivative i-th test function on the reference element.
Definition: Galeri_QuadQuadrature.h:296
Element()
Default constructor.
Definition: Galeri_grid_Element.h:92
virtual double GlobalVolume() const
Returns the global volume of the grid.
Definition: Galeri_TetCubeGrid.h:453
virtual int NumMyVertices() const
Returns the number of vertices on the calling process.
Definition: Galeri_QuadRectangleGrid.h:180
virtual int NumMyElements() const
Returns the number of finite elements on the calling process.
Definition: Galeri_TetCubeGrid.h:195
virtual int NumGlobalBoundaryFaces() const
Returns the global number of boundary faces.
Definition: Galeri_QuadRectangleGrid.h:195
virtual std::string getLabel() const
Gets the label associated with this object.
Definition: Galeri_core_Object.h:101
A flexible grid data structure container for distributed problems.
Definition: Galeri_grid_Loadable.h:100
Class for grid segments.
Definition: Galeri_grid_Segment.h:69
double QuadrWeight(const int QuadrNode) const
Computes the weight at the specified quadrature node.
Definition: Galeri_TriangleQuadrature.h:253
virtual double ElementMaxLength(const int LocalElement) const
Returns the volume of the specified local finite element.
Definition: Galeri_TRIANGLEGrid.h:315
virtual const Epetra_Map & VertexMap() const
Returns a reference to the map representing the vertex distribution.
Definition: Galeri_HexCubeGrid.h:283
double RHS(const double Psi, const double PsiX, const double PsiY, const double PsiZ, const double x, const double y, const double z) const
Returns the value of the right-hand side (without integral) at point (x, y, z).
Definition: Galeri_SUPGVariational.h:310
virtual int NumDimensions() const
Returns the number of dimensions of the grid.
Definition: Galeri_TriangleRectangleGrid.h:154
virtual ~Object()
Virtual dtor.
Definition: Galeri_core_Object.h:89
virtual void VertexCoord(const int LocalVertex, double *coord) const =0
Returns the coordinates of local vertex LocalVertex in vector coord.
virtual void print(ostream &os) const
Prints the output on os.
Definition: Galeri_grid_Element.h:171
virtual int NumGlobalBoundaryFaces() const
Returns the global number of boundary faces.
Definition: Galeri_TriangleRectangleGrid.h:210
virtual ~QuadRectangleGrid()
Destructor.
Definition: Galeri_QuadRectangleGrid.h:137
virtual ~LinearProblem()
Destructor.
Definition: Galeri_LinearProblem.h:112
double RHS(const double Psi, const double PsiX, const double PsiY, const double PsiZ, const double x, const double y, const double z) const
Evaluates the right-hand side at point (x, y, z).
Definition: Galeri_GalerkinVariational.h:273
double PhiZ(const int i) const
Returns the value of the z-derivative i-th basis function on the reference element.
Definition: Galeri_HexQuadrature.h:345
const Epetra_MultiVector & getLinearCoordinates()
Returns the coordinates as a vector based on linearVertexMap.
Definition: Galeri_grid_Loadable.cpp:400
virtual int NumVerticesPerFace() const
Returns the number of vertices contained in each face.
Definition: Galeri_TetCubeGrid.h:179
virtual double FaceArea(const int LocalFace) const
Returns the area of the specified local face.
Definition: Galeri_TriangleRectangleGrid.h:383
HexCubeGrid(Epetra_Comm &Comm, const int nx, const int ny, const int nz, const int mx, const int my, const int mz, const double lx=1.0, const double ly=1.0, const double lz=1.0)
Constructor.
Definition: Galeri_HexCubeGrid.h:101
double Psi(const int i) const
Returns the value of the i-th test function on the reference element.
Definition: Galeri_TetQuadrature.h:264
virtual int IntegrateOverElement(const AbstractVariational &Variational, const double *x, const double *y, const double *z, const double *data, double *ElementMatrix, double *ElementRHS) const =0
Integrates the bilinear form and the right-hand side over the element.
QuadQuadrature(const int NumQuadrNodes)
Constructor.
Definition: Galeri_QuadQuadrature.h:76
double PhiZ(const int i) const
Returns the value of the z-derivative i-th basis function on the reference element.
Definition: Galeri_TriangleQuadrature.h:278
int NumQuadrNodes() const
Returns the number of quadrature node per element.
Definition: Galeri_HexQuadrature.h:370
Object(const std::string &Label="Galeri::core::Object", const int ID=0)
Definition: Galeri_core_Object.h:67
virtual void VertexCoord(const int LocalID, double *coord) const
Returns the coordinates of local vertex LocalVertex in vector coord.
Definition: Galeri_QuadRectangleGrid.h:200
virtual int NumGlobalElements() const
Returns the global number of finite elements.
Definition: Galeri_TRIANGLEGrid.h:217
virtual int NumDimensions() const
Returns the number of dimensions of the grid.
Definition: Galeri_TRIANGLEGrid.h:176
double LHS(const double Phi, const double Psi, const double PhiX, const double PsiX, const double PhiY, const double PsiY, const double PhiZ, const double PsiZ, const double x, const double y, const double z) const
Evaluates the left-hand side at point (x, y, z).
Definition: Galeri_GalerkinVariational.h:260
Definition: Galeri_problem_VectorLaplacian.h:67
int NumPsiFunctions() const
Returns the number of test function on the reference element.
Definition: Galeri_TetQuadrature.h:294
virtual double GlobalVolume() const
Returns the global volume of the grid.
Definition: Galeri_TriangleRectangleGrid.h:398
virtual double GlobalVolume() const
Returns the global volume of the grid.
Definition: Galeri_TRIANGLEGrid.h:254
virtual int IntegrateOverElement(const AbstractVariational &Variational, const double *x, const double *y, const double *z, const double *data, double *ElementMatrix, double *ElementRHS) const
Integrates the variational form and the right-hand side.
Definition: Galeri_GalerkinVariational.h:114
virtual const Epetra_Map & VertexMap() const
Returns a reference to the map representing the vertex distribution.
Definition: Galeri_QuadRectangleGrid.h:266
virtual void FaceVertices(const int LocalFace, int &tag, int *IDs) const
Returns the local vertex IDs of vertices contained in the specified boundary face.
Definition: Galeri_TriangleRectangleGrid.h:306
virtual int NumGlobalElements() const
Returns the global number of finite elements.
Definition: Galeri_HexCubeGrid.h:202
virtual ~TetCubeGrid()
Destructor.
Definition: Galeri_TetCubeGrid.h:162
Class for grid quadrilaterals.
Definition: Galeri_grid_Quad.h:69
virtual ~HexCubeGrid()
Destructor.
Definition: Galeri_HexCubeGrid.h:164
void ExportToRowMap(const Epetra_DistObject &VertexObject, Epetra_DistObject &RowObject) const
Exports distributed object from VertexMap() to RowMap().
Definition: Galeri_TetCubeGrid.h:479
virtual const Epetra_Comm & Comm() const
Returns a reference to the communicator object.
Definition: Galeri_TetCubeGrid.h:190
virtual int NumGlobalVertices() const
Returns the global number of vertices.
Definition: Galeri_FileGrid.h:384
int NumPhiFunctions() const
Returns the number of basis function on the reference element.
Definition: Galeri_TetQuadrature.h:289
~SUPGVariational()
Destructor.
Definition: Galeri_SUPGVariational.h:97
double QuadrWeight(const int QuadrNode) const
Computes the weight at the specified quadrature node.
Definition: Galeri_QuadQuadrature.h:251
virtual double MyVolume() const
Returns the volume of all local elements.
Definition: Galeri_HexCubeGrid.h:457
Quadrature formula on quadrilaterals.
Definition: Galeri_QuadQuadrature.h:66
void setComponent(const int which, const Element &what)
Sets the element type for component which.
Definition: Galeri_grid_Element.h:151
virtual double FaceArea(const int LocalFace) const
Returns the area of the specified local face.
Definition: Galeri_TetCubeGrid.h:436
virtual double PhiY(const int i) const =0
Returns the value of the y-derivative i-th basis function on the reference element.
virtual int NumGlobalVertices() const
Returns the global number of vertices.
Definition: Galeri_TRIANGLEGrid.h:229
Interfaces for quadrature over elements.
Definition: Galeri_AbstractQuadrature.h:69
virtual void FaceVertices(const int LocalFace, int &tag, int *IDs) const
Returns the local vertex IDs of vertices contained in the specified boundary face.
Definition: Galeri_TRIANGLEGrid.h:288
virtual double PhiX(const int i) const =0
Returns the value of the x-derivative i-th basis function on the reference element.
virtual double GlobalVolume() const
Returns the global volume of the grid.
Definition: Galeri_HexCubeGrid.h:462
void ElementNeighbors(int, int *) const
Returns the local IDs of neighboring elements.
Definition: Galeri_FileGrid.h:541
virtual int NumFacesPerElement() const
Returns the number of faces contained in each element.
Definition: Galeri_TRIANGLEGrid.h:188
double PhiY(const int i) const
Returns the value of the y-derivative i-th basis function on the reference element.
Definition: Galeri_TriangleQuadrature.h:273
virtual void ElementVertices(const int LocalID, int *elements) const
Returns the local vertex IDs of the specified local finite element.
Definition: Galeri_FileGrid.h:431
void ComputeDerivatives(const int QuadrNode) const
Computes the derivatives at the specified quadrature node.
Definition: Galeri_HexQuadrature.h:304
double PsiZ(const int i) const
Returns the value of the z-derivative i-th test function on the reference element.
Definition: Galeri_HexQuadrature.h:365
virtual void VertexCoord(const int Length, const int *IDs, double *x, double *y, double *z) const
Returns the coordinates of specified local vertices.
Definition: Galeri_QuadRectangleGrid.h:220
virtual std::string ElementType() const
Returns GALERI_HEX.
Definition: Galeri_HexCubeGrid.h:187
virtual int NumMyBoundaryFaces() const
Returns the number of boundary faces on the calling process.
Definition: Galeri_TetCubeGrid.h:215
void ComputeJacobian(const int QuadrNode, const double *x, const double *y, const double *z) const
Computes the Jacobian at the specified quadrature node.
Definition: Galeri_QuadQuadrature.h:194
virtual int NumVerticesPerElement() const
Returns the number of vertices contained in each element.
Definition: Galeri_TriangleRectangleGrid.h:159
~Tet()
Destructor.
Definition: Galeri_quadrature_Tet.h:126
double BC(const double x, const double y, const double z, const int Patch) const
Returns the value of the boundary condition at point (x, y, z).
Definition: Galeri_SUPGVariational.h:329
const Epetra_Map & getLinearVertexMap()
Returns a linear Epetra_Map for grid vertices.
Definition: Galeri_grid_Loadable.cpp:385
virtual int NumGlobalElements() const
Returns the global number of finite elements.
Definition: Galeri_TetCubeGrid.h:200
virtual int ElementNorm(const double *LocalSol, const double *x, const double *y, const double *z, double *Norm) const =0
Computes the norm of the computed solution over the element.
virtual const Epetra_Comm & Comm() const
Returns a reference to the communicator object.
Definition: Galeri_HexCubeGrid.h:192
virtual int NumVerticesPerFace() const
Returns the number of vertices contained in each face.
Definition: Galeri_HexCubeGrid.h:181
int NumQuadrNodes() const
Returns the number of quadrature node per element.
Definition: Galeri_QuadQuadrature.h:301
virtual int NumFacesPerElement() const
Returns the number of faces contained in each element.
Definition: Galeri_TetCubeGrid.h:174
virtual double DetJacobian(const int QuadrNode) const =0
Computes the determinant of the Jacobian matrix at the quadrature node.
virtual const Epetra_Comm & Comm() const
Returns a reference to the communicator object.
Definition: Galeri_TRIANGLEGrid.h:366
const Epetra_Map getElementMap() const
Returns the Epetra_Map associated to the element distribution.
Definition: Galeri_grid_Loadable.h:252
int NumPhiFunctions() const
Returns the number of basis function on the reference element.
Definition: Galeri_QuadQuadrature.h:306
void ComputeDerivatives(const int QuadrNode) const
Computes the derivatives at the specified quadrature node.
Definition: Galeri_TetQuadrature.h:218
virtual int NumDimensions() const
Returns the number of dimensions of the grid.
Definition: Galeri_FileGrid.h:339
double PsiZ(const int i) const
Returns the value of the z-derivative i-th test function on the reference element.
Definition: Galeri_TriangleQuadrature.h:298
Class for grid triangles.
virtual int NumVerticesPerFace() const
Returns the number of vertices contained in each face.
Definition: Galeri_QuadRectangleGrid.h:154
double PhiY(const int i) const
Returns the value of the y-derivative i-th basis function on the reference element.
Definition: Galeri_HexQuadrature.h:340
virtual std::string ElementType() const
Returns GALERI_TRIANGLE.
Definition: Galeri_TriangleRectangleGrid.h:175
virtual double RHS(const double Psi, const double PsiX, const double PsiY, const double PsiZ, const double x, const double y, const double z) const =0
Returns the value of the right-hand side (without integral) at point (x, y, z).
int getLVID(const int GVID) const
Returns the local grid vertex ID for the specified (and locally owned) global grid vertex ID.
Definition: Galeri_grid_Loadable.h:307
virtual int NumNeighborsPerElement() const
Returns the number of neighboring elements.
Definition: Galeri_HexCubeGrid.h:494
double Psi(const int i) const
Returns the value of the i-th test function on the reference element.
Definition: Galeri_TriangleQuadrature.h:283
double PsiX(const int i) const
Returns the value of the z-derivative i-th test function on the reference element.
Definition: Galeri_QuadQuadrature.h:286
int getNumVerticesPerElement() const
Returns the number of vertices per element, which is constant value across all grid elements.
Definition: Galeri_grid_Loadable.h:241
virtual double ElementVolume(const int LocalElement) const
Returns the volume of the specified local finite element.
Definition: Galeri_TriangleRectangleGrid.h:378
virtual void ElementVertices(const int LocalID, int *elements) const
Returns the local vertex IDs of the specified local finite element.
Definition: Galeri_QuadRectangleGrid.h:238
virtual void freezeConnectivity()
Freezes the grid connectivity, which cannot be modified any longer.
Definition: Galeri_grid_Loadable.cpp:149
virtual int NumGlobalVertices() const =0
Returns the global number of vertices.
virtual int NumGlobalBoundaryFaces() const
Returns the global number of boundary faces.
Definition: Galeri_HexCubeGrid.h:222
Definition: Galeri_quadrature_Quad.h:52
int NumNeighborsPerElement() const
Returns the number of neighboring elements.
Definition: Galeri_TetCubeGrid.h:329
virtual void ElementNeighbors(const int LocalElement, int *elements) const =0
Returns the local IDs of neighboring elements.
virtual const Epetra_Map & RowMap() const
Returns a reference to the map representing the distribution of rows.
Definition: Galeri_QuadRectangleGrid.h:281
int FacePatch(const int LocalFace) const
Returns the patch ID of the specified face.
Definition: Galeri_TetCubeGrid.h:324
int BC(const int PatchID) const
Returns the boundary condition type of the specified patch.
Definition: Galeri_GalerkinVariational.h:281
virtual double FaceArea(const int LocalFace) const
Returns the area of the specified local face.
Definition: Galeri_FileGrid.h:509
void ExportToRowMap(const Epetra_DistObject &VertexObject, Epetra_DistObject &RowObject) const
Exports distributed object from VertexMap() to RowMap().
Definition: Galeri_HexCubeGrid.h:488
int getNumGlobalElements() const
Returns the global number of grid elements in this object.
Definition: Galeri_grid_Loadable.h:195
virtual const Epetra_Map & RowMap() const
Returns a reference to the map representing the distribution of rows.
Definition: Galeri_TetCubeGrid.h:292
virtual int NumVerticesPerElement() const
Returns the number of vertices contained in each element.
Definition: Galeri_QuadRectangleGrid.h:144
~Quad()
Destructor.
Definition: Galeri_quadrature_Quad.h:179
virtual int ElementNorm(const double *LocalSol, int(*ExactSolution)(double, double, double, double *), const double *x, const double *y, const double *z, double *Norm) const
Computes the norm of the error over an element.
Definition: Galeri_GalerkinVariational.h:218
virtual void ElementVertices(const int LocalElement, int *elements) const =0
Returns the local vertex IDs of the specified local finite element.
virtual double MyVolume() const
Returns the volume of all local elements.
Definition: Galeri_TriangleRectangleGrid.h:393
virtual const Epetra_Map & RowMap() const
Returns a reference to the map representing the distribution of rows.
Definition: Galeri_HexCubeGrid.h:293
int NumPsiFunctions() const
Returns the number of test function on the reference element.
Definition: Galeri_QuadQuadrature.h:311
virtual double ElementMinLength(const int LocalElement) const
Returns the volume of the specified local finite element.
Definition: Galeri_TriangleRectangleGrid.h:248
int NumPhiFunctions() const
Returns the number of basis function on the reference element.
Definition: Galeri_TriangleQuadrature.h:308
Class for grid hexahedra.
virtual double ElementVolume(const int LocalElement) const
Returns the volume of the specified local finite element.
Definition: Galeri_TetCubeGrid.h:431
virtual void FaceVertices(const int LocalFace, int &tag, int *IDs) const
Returns the local vertex IDs of vertices contained in the specified boundary face.
Definition: Galeri_HexCubeGrid.h:318
virtual std::string ElementType() const
Returns GALERI_QUAD.
Definition: Galeri_QuadRectangleGrid.h:160
virtual void ExportToVertexMap(const Epetra_DistObject &RowObject, Epetra_DistObject &VertexObject) const
Exports distributed object from RowMap() to VertexMap().
Definition: Galeri_TRIANGLEGrid.h:350
int getNumVertices() const
Gets the number of vertices associated with this object.
Definition: Galeri_grid_Element.h:132
virtual int NumVerticesPerFace() const
Returns the number of vertices contained in each face.
Definition: Galeri_FileGrid.h:354
Definition: Galeri_quadrature_Triangle.h:52
virtual const Epetra_Map & RowMap() const
Returns a reference to the map representing the distribution of rows.
Definition: Galeri_TriangleRectangleGrid.h:281
virtual int NumFacesPerElement() const
Returns the number of faces contained in each element.
Definition: Galeri_HexCubeGrid.h:176
virtual std::string ElementType() const
Returns GALERI_TET.
Definition: Galeri_TetCubeGrid.h:185
int & getGlobalConnectivity(const int GID, const int index)
Sets the index-th component of the specified (and locally owned) global grid element ID to value.
Definition: Galeri_grid_Loadable.h:473
virtual double MyVolume() const
Returns the volume of all local elements.
Definition: Galeri_FileGrid.h:514
SUPGVariational(const int NumQuadratureNodes, double(*diff)(const double &, const double &, const double &), double(*bx)(const double &, const double &, const double &), double(*by)(const double &, const double &, const double &), double(*bz)(const double &, const double &, const double &), double(*source)(const double &, const double &, const double &), double(*force)(const double &, const double &, const double &), double(*bc)(const double &, const double &, const double &, const int &), int(*bc_type)(const int &))
Constructor.
Definition: Galeri_SUPGVariational.h:76
virtual double Psi(const int i) const =0
Returns the value of the i-th test function on the reference element.
int NumQuadrNodes() const
Returns the number of quadrature node per element.
Definition: Galeri_TetQuadrature.h:284
virtual Epetra_MultiVector & RHS()
Returns a reference to the multi-vector of right-hand side.
Definition: Galeri_LinearProblem.h:355
Object(const Object &rhs)
Copy constructor.
Definition: Galeri_core_Object.h:74
virtual double PsiZ(const int i) const =0
Returns the value of the z-derivative i-th test function on the reference element.
virtual void setID(const int &ID)
Sets the ID associated with this object.
Definition: Galeri_core_Object.h:107
const Epetra_Map getVertexMap() const
Returns the Epetra_Map associated to the vertex distribution.
Definition: Galeri_grid_Loadable.h:263
virtual const AbstractGrid & Grid() const =0
Returns a reference to the grid object.
virtual int ElementNorm(const double *LocalSol, int(*ExactSolution)(double, double, double, double *), const double *x, const double *y, const double *z, double *Norm) const
Computed the norm of the computed and exact solution over the element.
Definition: Galeri_SUPGVariational.h:244
Creates a grid with tetrahedral elements in a cube.
Definition: Galeri_TetCubeGrid.h:73
int getNumGlobalVertices() const
Returns the global number of grid vertices in this object.
Definition: Galeri_grid_Loadable.h:217
virtual void print(ostream &os) const
Prints the grid on os.
Definition: Galeri_grid_Loadable.cpp:208
virtual double MyVolume() const
Returns the volume of all local elements.
Definition: Galeri_QuadRectangleGrid.h:443
Base class for all grid elements.
virtual int NumMyBoundaryFaces() const
Returns the number of boundary faces on the calling process.
Definition: Galeri_TriangleRectangleGrid.h:205
double PsiZ(const int i) const
Returns the value of the z-derivative i-th test function on the reference element.
Definition: Galeri_TetQuadrature.h:279
virtual int NumGlobalVertices() const
Returns the global number of vertices.
Definition: Galeri_TetCubeGrid.h:210
virtual int NumMyBoundaryFaces() const
Returns the number of boundary faces on the calling process.
Definition: Galeri_QuadRectangleGrid.h:190
Class for grid triangles.
Definition: Galeri_grid_Triangle.h:69
virtual void VertexCoord(const int Length, const int *IDs, double *x, double *y, double *z) const
Returns the coordinates of specified local vertices.
Definition: Galeri_FileGrid.h:412
void ComputeQuadrNodes(const int ii, const double *x, const double *y, const double *z, double &xq, double &yq, double &zq) const
Maps the quadrature nodes from the reference element to the actual one.
Definition: Galeri_TetQuadrature.h:198
Definition: Galeri_problem_ScalarLaplacian.h:66
~Workspace()
Default destructor.
Definition: Galeri_core_Workspace.h:78
void ComputeJacobian(const int QuadrNode, const double *x_hex, const double *y_hex, const double *z_hex) const
Computes the Jacobian at the specified quadrature node.
Definition: Galeri_HexQuadrature.h:199
void setVertexData(const int GVID, const int which, const double val)
Sets the optional data associated to the specified (and locally owned) global grid vertex ID,...
Definition: Galeri_grid_Loadable.h:392
void ExportToRowMap(const Epetra_DistObject &VertexObject, Epetra_DistObject &RowObject) const
Exports distributed object from VertexMap() to RowMap().
Definition: Galeri_TriangleRectangleGrid.h:419
TriangleRectangleGrid(const Epetra_Comm &Comm, const int nx, const int ny, const int mx, const int my, const double lx=1.0, const double ly=1.0)
Constructor.
Definition: Galeri_TriangleRectangleGrid.h:98
Definition: Galeri_grid_Rebalance.h:61
virtual int ElementNorm(int(*ExactSolution)(double, double, double, double *), const double *x, const double *y, const double *z, double *Norm) const
Computed the norm of the exact solution over the element.
Definition: Galeri_SUPGVariational.h:218
virtual double ElementMinLength(const int LocalElement) const
Returns the volume of the specified local finite element.
Definition: Galeri_TetCubeGrid.h:259
virtual void VertexCoord(const int LocalID, double *coord) const
Returns the coordinates of local vertex LocalVertex in vector coord.
Definition: Galeri_HexCubeGrid.h:227
~GalerkinVariational()
Destructor.
Definition: Galeri_GalerkinVariational.h:93
void ExportToRowMap(const Epetra_DistObject &VertexObject, Epetra_DistObject &RowObject) const
Exports distributed object from VertexMap() to RowMap().
Definition: Galeri_FileGrid.h:530
virtual int NumMyElements() const
Returns the number of finite elements on the calling process.
Definition: Galeri_HexCubeGrid.h:197
virtual void ElementVertices(const int LocalID, int *elements) const
Returns the local vertex IDs of the specified local finite element.
Definition: Galeri_TetCubeGrid.h:253
~TriangleQuadrature()
Deastructor.
Definition: Galeri_TriangleQuadrature.h:192
int getLEID(const int GEID) const
Returns the local grid element ID for the specified (and locally owned) global grid element ID.
Definition: Galeri_grid_Loadable.h:296
virtual double FaceArea(const int LocalFace) const
Returns the area of the specified local face.
Definition: Galeri_HexCubeGrid.h:445
static const int UNINITIALIZED
Default value for uninitialized objects.
Definition: Galeri_core_Workspace.h:122
double DetJacobian(const int QuadrNode) const
Computes the determinant of the Jacobian matrix at the quadrature node.
Definition: Galeri_HexQuadrature.h:325
int BC(const int PatchID) const
Returns an integer identifying the boundary condition assigned to the specified patch.
Definition: Galeri_SUPGVariational.h:324
int NumNeighborsPerElement() const
Returns the number of neighboring elements.
Definition: Galeri_QuadRectangleGrid.h:475
virtual double ElementVolume(const int LocalElement) const
Returns the volume of the specified local finite element.
Definition: Galeri_FileGrid.h:504
Definition: Galeri_problem_Base.h:63
virtual void FaceVertices(const int LocalFace, int &tag, int *IDs) const
Returns the local vertex IDs of vertices contained in the specified boundary face.
Definition: Galeri_QuadRectangleGrid.h:306
void ExportToRowMap(const Epetra_DistObject &VertexObject, Epetra_DistObject &RowObject) const
Exports distributed object from VertexMap() to RowMap().
Definition: Galeri_QuadRectangleGrid.h:469
Abstract interface to define linear problems.
Definition: Galeri_AbstractProblem.h:78
virtual const Epetra_Map & VertexMap() const
Returns a reference to the map representing the vertex distribution.
Definition: Galeri_TRIANGLEGrid.h:338
~QuadQuadrature()
Destructor.
Definition: Galeri_QuadQuadrature.h:191
static const int MIN
Input default value for "min".
Definition: Galeri_core_Workspace.h:118
void ComputeJacobian(const int QuadrNode, const double *x_triangle, const double *y_triangle, const double *z_triangle) const
Computes the Jacobian at the specified quadrature node.
Definition: Galeri_TriangleQuadrature.h:195
HexQuadrature(const int NumQuadrNodes)
Constructor.
Definition: Galeri_HexQuadrature.h:76
virtual Epetra_RowMatrix & A()
Returns a reference to the linear system matrix.
Definition: Galeri_LinearProblem.h:344
const Epetra_Map & getNonOverlappingVertexMap()
Returns the Epetra_Map associated with grid vertices; each vertex is owned by exactly one processor.
Definition: Galeri_grid_Loadable.cpp:310
virtual double FaceArea(const int LocalFace) const
Returns the area of the specified local face.
Definition: Galeri_QuadRectangleGrid.h:434
Basic class for all Galeri/pfem objects.
Definition: Galeri_core_Object.h:62
Class for grid quadrilaterals.
double PhiX(const int i) const
Returns the value of the x-derivative i-th basis function on the reference element.
Definition: Galeri_TriangleQuadrature.h:268
virtual double ElementMaxLength(const int LocalElement) const
Returns the volume of the specified local finite element.
Definition: Galeri_TriangleRectangleGrid.h:256
virtual int NumVerticesPerElement() const
Returns the number of vertices contained in each element.
Definition: Galeri_TetCubeGrid.h:169
virtual double ElementMaxLength(const int LocalElement) const
Returns the volume of the specified local finite element.
Definition: Galeri_TetCubeGrid.h:267
virtual int ElementNorm(const double *LocalSol, const double *x, const double *y, const double *z, double *Norm) const
Computes the norm of the numerical solution over an element.
Definition: Galeri_GalerkinVariational.h:156
void initialize(const Epetra_Comm &comm, const int numGlobalElements, const int numMyElements, const Galeri::grid::Element &element, const int *myGlobalElements=0, const int numElementData=0, const int numVertexData=0)
Initialization method.
Definition: Galeri_grid_Loadable.cpp:117
Class for grid tetrahedra.
Definition: Galeri_grid_Tet.h:69
virtual int NumGlobalBoundaryFaces() const
Returns the global number of boundary faces.
Definition: Galeri_TetCubeGrid.h:220
virtual double GlobalVolume() const =0
Returns the global volume of the grid.
int getNumElementData() const
Returns the number of optional double-typed data associated to each grid element.
Definition: Galeri_grid_Loadable.h:340
Basic object for Galeri/pfem.
double QuadrWeight(const int QuadrNode) const
Computes the weight at the specified quadrature node.
Definition: Galeri_HexQuadrature.h:320
TetCubeGrid(const Epetra_Comm &Comm, const int nx, const int ny, const int nz, const int mx, const int my, const int mz, const double lx=1.0, const double ly=1.0, const double lz=1.0)
Constructor.
Definition: Galeri_TetCubeGrid.h:100
virtual int FacePatch(const int LocalFace) const
Returns the patch ID of the specified face.
Definition: Galeri_TRIANGLEGrid.h:303
virtual Epetra_RowMatrix & A()=0
Returns a reference to the linear system matrix.
virtual void FaceVertices(const int LocalFace, int &tag, int *IDs) const =0
Returns the local vertex IDs of vertices contained in the specified boundary face.
double AreaOfQuad(const double *x, const double *y, const double *z)
Computes the are of a quadrilateral in space.
Definition: Galeri_Workspace.h:113
virtual int NumVerticesPerElement() const
Returns the number of vertices contained in each element.
Definition: Galeri_HexCubeGrid.h:171
virtual double MyVolume() const
Returns the volume of all local elements.
Definition: Galeri_TRIANGLEGrid.h:247
virtual int NumGlobalBoundaryFaces() const
Returns the global number of boundary faces.
Definition: Galeri_TRIANGLEGrid.h:241
int FacePatch(const int LocalFace) const
Returns the patch ID of the specified face.
Definition: Galeri_TriangleRectangleGrid.h:313
double PhiX(const int i) const
Returns the value of the x-derivative i-th basis function on the reference element.
Definition: Galeri_HexQuadrature.h:335
virtual int FacePatch(const int LocalFace) const =0
Returns the patch ID of the specified face.
virtual void ComputeQuadrNodes(const int QuadrNode, const double *x, const double *y, const double *z, double &xq, double &yq, double &zq) const =0
Maps the quadrature nodes from the reference element to the actual one.
int NumQuadrNodes() const
Returns the number of quadrature node per element.
Definition: Galeri_TriangleQuadrature.h:303
int getGEID(const int LEID) const
Returns the global grid element ID for the specified local (and locally owned) grid element ID.
Definition: Galeri_grid_Loadable.h:274
virtual const AbstractGrid & Grid() const
Returns a reference to the grid object.
Definition: Galeri_LinearProblem.h:365
virtual int NumPhiFunctions() const =0
Returns the number of basis function on the reference element.
virtual double PhiZ(const int i) const =0
Returns the value of the z-derivative i-th basis function on the reference element.
virtual int BC(const int PatchID) const =0
Returns an integer identifying the boundary condition assigned to the specified patch.
virtual int NumMyElements() const
Returns the number of finite elements on the calling process.
Definition: Galeri_TRIANGLEGrid.h:211
Creates a grid composed by hexahedra in a cube.
Definition: Galeri_HexCubeGrid.h:74
virtual void ExportToRowMap(const Epetra_DistObject &RowObject, Epetra_DistObject &VertexObject) const =0
Exports distributed object from VertexMap() to RowMap().
double PhiY(const int i) const
Returns the value of the y-derivative i-th basis function on the reference element.
Definition: Galeri_QuadQuadrature.h:271
virtual void ExportToVertexMap(const Epetra_DistObject &RowObject, Epetra_DistObject &VertexObject) const =0
Exports distributed object from RowMap() to VertexMap().
double force(const double x, const double y, const double z) const
Evaluates the force term at point (x, y, z).
Definition: Galeri_GalerkinVariational.h:108
virtual int NumMyVertices() const
Returns the number of vertices on the calling process.
Definition: Galeri_FileGrid.h:379
double PhiZ(const int i) const
Returns the value of the z-derivative i-th basis function on the reference element.
Definition: Galeri_QuadQuadrature.h:276
virtual const Epetra_Comm & Comm() const
Returns a reference to the communicator object.
Definition: Galeri_TriangleRectangleGrid.h:180
virtual void ElementVertices(const int LocalID, int *elements) const
Returns the local vertex IDs of the specified local finite element.
Definition: Galeri_HexCubeGrid.h:255
QuadRectangleGrid(const Epetra_Comm &Comm, const int nx, const int ny, const int mx, const int my, const double lx=1.0, const double ly=1.0)
Constructor.
Definition: Galeri_QuadRectangleGrid.h:95
virtual int NumMyElements() const
Returns the number of finite elements on the calling process.
Definition: Galeri_TriangleRectangleGrid.h:185
virtual double LHS(const double Phi, const double Psi, const double PhiX, const double PsiX, const double PhiY, const double PsiY, const double PhiZ, const double PsiZ, const double x, const double y, const double z) const =0
Evaluates the bilinear form (without integral) at point (x,y,z).
virtual int ElementNorm(const double *LocalSol, const double *x, const double *y, const double *z, double *Norm) const
Computes the norm of the computed solution over the element.
Definition: Galeri_SUPGVariational.h:185
virtual Epetra_CrsMatrix & CrsA()
Returns a reference to the linear system matrix as Epetra_CrsMatrix.
Definition: Galeri_LinearProblem.h:350
int getGVID(const int LVID) const
Returns the global grid vertex ID for the specified (and locally owned) local grid vertex ID.
Definition: Galeri_grid_Loadable.h:285
Abstract interface to access finite element grids.
Definition: Galeri_AbstractGrid.h:106
~Element()
destructor.
Definition: Galeri_grid_Element.h:120
void ComputeJacobian(const int QuadrNode, const double *x, const double *y, const double *z) const
Computes the Jacobian at the specified quadrature node.
Definition: Galeri_TetQuadrature.h:146
virtual int NumDimensions() const
Returns the number of dimensions of the grid.
Definition: Galeri_HexCubeGrid.h:166
virtual double ElementMinLength(const int LocalElement) const
Returns the volume of the specified local finite element.
Definition: Galeri_HexCubeGrid.h:260
Element(const Element &rhs)
Copy constructor.
Definition: Galeri_grid_Element.h:98
virtual Epetra_MultiVector & LHS()
Returns a reference to the multi-vector of starting solution.
Definition: Galeri_LinearProblem.h:360
virtual int NumPsiFunctions() const =0
Returns the number of test function on the reference element.
virtual const Epetra_Comm & Comm() const
Returns a reference to the communicator object.
Definition: Galeri_FileGrid.h:364
virtual int NumMyBoundaryFaces() const
Returns the number of boundary faces on the calling process.
Definition: Galeri_HexCubeGrid.h:217
virtual void VertexCoord(const int LocalID, double *coord) const
Returns the coordinates of local vertex LocalVertex in vector coord.
Definition: Galeri_FileGrid.h:399
double PhiY(const int i) const
Returns the value of the y-derivative i-th basis function on the reference element.
Definition: Galeri_TetQuadrature.h:254
Definition: Galeri_TRIANGLEGrid.h:55
double Phi(const int i) const
Returns the value of the i-th basis function on the reference element.
Definition: Galeri_TriangleQuadrature.h:263
TriangleQuadrature(const int NumQuadrNodes)
Constructor.
Definition: Galeri_TriangleQuadrature.h:76
int NumNeighborsPerElement() const
Returns the number of neighboring elements.
Definition: Galeri_TriangleRectangleGrid.h:425
virtual int NumMyBoundaryFaces() const
Returns the number of boundary faces on the calling process.
Definition: Galeri_FileGrid.h:389
virtual int NumVerticesPerFace() const
Returns the number of vertices contained in each face.
Definition: Galeri_TRIANGLEGrid.h:194
double & getMyCoordinates(const int LID, const int index)
Sets the index coordinate of the specified (and locally owned) local grid vertex ID to value.
Definition: Galeri_grid_Loadable.h:435
int getNumMyVertices() const
Returns the local number of grid vertices in this object.
Definition: Galeri_grid_Loadable.h:228
int FacePatch(const int LocalFace) const
Returns the patch ID of the specified face.
Definition: Galeri_FileGrid.h:499
Definition: Galeri_MEDITInterface.h:55
virtual Epetra_MultiVector & RHS()=0
Returns a reference to the multi-vector of right-hand side.
virtual int NumGlobalElements() const =0
Returns the global number of finite elements.
double getVertexData(const int GVID, const int which) const
Returns the optional data associated to the specified (and locally owned) global grid vertex ID,...
Definition: Galeri_grid_Loadable.h:380
Quadrature formula on triangles.
Definition: Galeri_TriangleQuadrature.h:66
double Phi(const int i) const
Returns the value of the i-th basis function on the reference element.
Definition: Galeri_TetQuadrature.h:244
TetQuadrature(const int NumQuadrNodes)
Constructor.
Definition: Galeri_TetQuadrature.h:76
Class for grid points.
Definition: Galeri_grid_Point.h:67
void ExportToVertexMap(const Epetra_DistObject &RowObject, Epetra_DistObject &VertexObject) const
Exports distributed object from RowMap() to VertexMap().
Definition: Galeri_HexCubeGrid.h:482
double force(const double x, const double y, const double z) const
Evaluates the force term at point (x, y, z).
Definition: Galeri_SUPGVariational.h:112
virtual void ElementNeighbors(const int LocalElement, int *elements) const
Returns the local IDs of neighboring elements.
Definition: Galeri_HexCubeGrid.h:499
~Triangle()
Destructor.
Definition: Galeri_quadrature_Triangle.h:183
virtual double PsiX(const int i) const =0
Returns the value of the z-derivative i-th test function on the reference element.
void ComputeQuadrNodes(const int ii, const double *x, const double *y, const double *z, double &xq, double &yq, double &zq) const
Maps the quadrature nodes from the reference element to the actual one.
Definition: Galeri_HexQuadrature.h:284
virtual int NumMyBoundaryFaces() const
Returns the number of boundary faces on the calling process.
Definition: Galeri_TRIANGLEGrid.h:235
int getNumMyElements() const
Returns the local number of grid elements in this object.
Definition: Galeri_grid_Loadable.h:206
double PhiZ(const int i) const
Returns the value of the z-derivative i-th basis function on the reference element.
Definition: Galeri_TetQuadrature.h:259
virtual double Phi(const int i) const =0
Returns the value of the i-th basis function on the reference element.
Point()
default constructor
Definition: Galeri_grid_Point.h:71
double PhiX(const int i) const
Returns the value of the x-derivative i-th basis function on the reference element.
Definition: Galeri_TetQuadrature.h:249
FileGrid(const Epetra_Comm &Comm, const std::string FileName)
Constructor.
Definition: Galeri_FileGrid.h:87
static const int INITIALIZED
Default value for initialized objects (should be > UNINITIALIZED).
Definition: Galeri_core_Workspace.h:124
virtual const Epetra_Map & RowMap() const =0
Returns a reference to the map representing the distribution of rows.
double getElementData(const int GEID, const int which) const
Returns the optional data associated to the specified (and locally owned) global grid element ID,...
Definition: Galeri_grid_Loadable.h:354
virtual int NumGlobalElements() const
Returns the global number of finite elements.
Definition: Galeri_TriangleRectangleGrid.h:190
virtual int NumDimensions() const =0
Returns the number of dimensions of the grid.
double Phi(const int i) const
Returns the value of the i-th basis function on the reference element.
Definition: Galeri_QuadQuadrature.h:261
A flexible grid data structure container for distributed problems.
int getNumComponents() const
Gets the number of components associated with this object.
Definition: Galeri_grid_Element.h:145
virtual double FaceArea(const int LocalFace) const =0
Returns the area of the specified local face.
double conv_x(const double x, const double y, const double z) const
Evaluates the x-component of the convective term at point (x, y, z).
Definition: Galeri_SUPGVariational.h:118
const double & getMyCoordinates(const int LID, const int index) const
Sets the index coordinate of the specified (and locally owned) local grid vertex ID to value....
Definition: Galeri_grid_Loadable.h:446
void ElementNeighbors(int, int *) const
Returns the local IDs of neighboring elements.
Definition: Galeri_QuadRectangleGrid.h:480
virtual int NumNeighborsPerElement() const
Returns the number of neighboring elements.
Definition: Galeri_TRIANGLEGrid.h:205
int FacePatch(const int LocalFace) const
Returns the patch ID of the specified face.
Definition: Galeri_HexCubeGrid.h:325
virtual Epetra_MultiVector & LHS()=0
Returns a reference to the multi-vector of starting solution.
virtual const Epetra_Map & RowMap() const
Returns a reference to the map representing the distribution of rows.
Definition: Galeri_FileGrid.h:467
double AreaOfTriangle(const double *x, const double *y, const double *z)
Computes the area of a triangle in space.
Definition: Galeri_Workspace.h:83
double DetJacobian(const int QuadrNode) const
Computes the determinant of the Jacobian matrix at the quadrature node.
Definition: Galeri_QuadQuadrature.h:256
double diff(const double x, const double y, const double z) const
Evaluates the diffusion coefficient at point (x, y, z).
Definition: Galeri_GalerkinVariational.h:96
int getNumVertexData() const
Returns the number of optional double-typed data associated to each grid vertex.
Definition: Galeri_grid_Loadable.h:329
Class for grid hexahedra.
Definition: Galeri_grid_Hex.h:71
virtual int NumMyElements() const
Returns the number of finite elements on the calling process.
Definition: Galeri_FileGrid.h:369
virtual int NumMyBoundaryFaces() const =0
Returns the number of boundary faces on the calling process.
Function class containing a few static methods and constants, to be used as workspace tools.
Definition: Galeri_core_Workspace.h:71
void ComputeQuadrNodes(const int ii, const double *x, const double *y, const double *z, double &xq, double &yq, double &zq) const
Maps the quadrature nodes from the reference element to the actual one.
Definition: Galeri_TriangleQuadrature.h:224
int NumPhiFunctions() const
Returns the number of basis function on the reference element.
Definition: Galeri_HexQuadrature.h:375
void Write(const AbstractGrid &data, const std::string &BaseName, const Epetra_MultiVector &Field)
Definition: Galeri_MEDITInterface.h:71
virtual int NumMyVertices() const
Returns the number of vertices on the calling process.
Definition: Galeri_TRIANGLEGrid.h:223
double QuadrWeight(const int QuadrNode) const
Computes the weight at the specified quadrature node.
Definition: Galeri_TetQuadrature.h:234
virtual const Epetra_Comm & Comm() const =0
Returns a reference to the communicator object.
virtual int NumVerticesPerElement() const =0
Returns the number of vertices contained in each element.
virtual int NumFacesPerElement() const =0
Returns the number of faces contained in each element.
virtual int NumVerticesPerFace() const =0
Returns the number of vertices contained in each face.
virtual int NumNeighborsPerElement() const =0
Returns the number of neighboring elements.
const Epetra_Comm & getComm() const
Returns the communicator of this object.
Definition: Galeri_grid_Loadable.h:184
virtual void ElementNeighbors(const int LocalElement, int *elements) const
Returns the local IDs of neighboring elements.
Definition: Galeri_TRIANGLEGrid.h:296
void setGlobalCoordinates(const int GID, const int index, const double value)
Sets the index coordinate of the specified (and locally owned) global grid vertex ID to value.
Definition: Galeri_grid_Loadable.h:408