|
Intrepid
|
Example building mass and stiffness matrices and right hand side for a div-curl system on a hexahedral mesh using div-conforming (face) 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_HDIV_HEX_I1_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.
Example building mass and stiffness matrices and right hand side for a div-curl system on a hexahedral mesh using div-conforming (face) elements.
curl u = g in Omega
div u = h in Omega
u.n = 0 on Gamma
Discrete linear system for face element coeficients (x):
(Kd + Md*Dc*McInv*Dc'*Md)x = b
Kd - Hdiv stiffness matrix
Md - Hdiv mass matrix
Dc - Edge to Face incidence matrix
McInv - Hcurl mass matrix inverse
b - right hand side vector
./Intrepid_example_Drivers_Example_02.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_02.cpp.