Intrepid
|
Example building mass and stiffness matrices and right hand side for a div-curl system on a hexahedral mesh using curl-conforming (edge) elements. More...
#include "Intrepid_FunctionSpaceTools.hpp"
#include "Intrepid_FieldContainer.hpp"
#include "Intrepid_CellTools.hpp"
#include "Intrepid_ArrayTools.hpp"
#include "Intrepid_HCURL_HEX_I1_FEM.hpp"
#include "Intrepid_HGRAD_HEX_C1_FEM.hpp"
#include "Intrepid_RealSpaceTools.hpp"
#include "Intrepid_DefaultCubatureFactory.hpp"
#include "Intrepid_Utils.hpp"
#include "Epetra_Time.h"
#include "Epetra_Map.h"
#include "Epetra_SerialComm.h"
#include "Epetra_FECrsMatrix.h"
#include "Epetra_FEVector.h"
#include "Epetra_Vector.h"
#include "Teuchos_oblackholestream.hpp"
#include "Teuchos_RCP.hpp"
#include "Teuchos_BLAS.hpp"
#include "Shards_CellTopology.hpp"
#include "EpetraExt_RowMatrixOut.h"
#include "EpetraExt_MultiVectorOut.h"
Go to the source code of this file.
Functions | |
int | evalu (double &uExact0, double &uExact1, double &uExact2, double &x, double &y, double &z) |
double | evalDivu (double &x, double &y, double &z) |
int | evalCurlu (double &curlu0, double &curlu1, double &curlu2, double &x, double &y, double &z) |
int | evalGradDivu (double &gradDivu0, double &gradDivu1, double &gradDivu2, double &x, double &y, double &z) |
int | main (int argc, char *argv[]) |
Example building mass and stiffness matrices and right hand side for a div-curl system on a hexahedral mesh using curl-conforming (edge) elements.
curl u = g in Omega div u = h in Omega u x n = 0 on Gamma Discrete linear system for edge element coeficients (x): (Kc + Mc*Dg*MgInv*Dg'*Mc)x = b Kc - Hcurl stiffness matrix Mc - Hcurl mass matrix Dg - Node to edge incidence matrix MgInv - Hgrad mass matrix inverse b - right hand side vector
./Intrepid_example_Drivers_Example_01.exe NX NY NZ randomMesh mu1 mu2 mu1LX mu1RX mu1LY mu1RY mu1LZ mu1RZ verbose int NX - num intervals in x direction (assumed box domain, -1,1) int NY - num intervals in y direction (assumed box domain, -1,1) int NZ - num intervals in z direction (assumed box domain, -1,1) int randomMesh - 1 if mesh randomizer is to be used 0 if not double mu1 - material property value for region 1 double mu2 - material property value for region 2 double mu1LX - left X boundary for region 1 double mu1RX - right X boundary for region 1 double mu1LY - left Y boundary for region 1 double mu1RY - right Y boundary for region 1 double mu1LZ - bottom Z boundary for region 1 double mu1RZ - top Z boundary for region 1 verbose (optional) - any character, indicates verbose output
Definition in file example_01.cpp.
int evalCurlu | ( | double & | curlu0, |
double & | curlu1, | ||
double & | curlu2, | ||
double & | x, | ||
double & | y, | ||
double & | z | ||
) |
Definition at line 1143 of file example_01.cpp.
double evalDivu | ( | double & | x, |
double & | y, | ||
double & | z | ||
) |
Definition at line 1118 of file example_01.cpp.
int evalGradDivu | ( | double & | gradDivu0, |
double & | gradDivu1, | ||
double & | gradDivu2, | ||
double & | x, | ||
double & | y, | ||
double & | z | ||
) |
Definition at line 1188 of file example_01.cpp.
int evalu | ( | double & | uExact0, |
double & | uExact1, | ||
double & | uExact2, | ||
double & | x, | ||
double & | y, | ||
double & | z | ||
) |
Definition at line 1090 of file example_01.cpp.
int main | ( | int | argc, |
char * | argv[] | ||
) |
Definition at line 132 of file example_01.cpp.