NUMCXX  0.13.20181108
Numerical library for small projects and teaching purposes
fem2d.hxx
Go to the documentation of this file.
1 #ifndef FEM2D_H
2 #define FEM2D_H
3 
4 #include <numcxx/simplegrid.hxx>
6 
7 namespace fem2d
8 {
9 
11  const double Dirichlet=1.0e30;
12 
13 
15  const numcxx::SimpleGrid &Grid, // Discretization grid containing triangulation
16  const numcxx::DArray1& BCfac, // Array of boudary factors (per boundary region)
17  const numcxx::DArray1& BCval, // Array of boudary values (per boundary region)
18  const numcxx::DArray1& Source, // Array of source values (per node)
19  const numcxx::DArray1& Kappa, // Array of heat coefficient values (per node)
20  numcxx::DSparseMatrix &SGlobal, // Global stiffness matrix
21  numcxx::DArray1 &Rhs); // Right hand side
22 
23 
24 
26  const numcxx::SimpleGrid &grid,
27  const numcxx::DArray1& bcfac,
28  const numcxx::DArray1& bcval,
29  const numcxx::DArray1& source,
30  const numcxx::DArray1& kappa,
31  double tau,
32  double theta,
33  bool lump,
34  numcxx::DArray1 &OldSol,
35  numcxx::DSparseMatrix &SGlobal,
36  numcxx::DArray1 &Rhs);
37 
38 
39  double l2norm(const numcxx::SimpleGrid &grid,
40  const numcxx::DArray1 &u);
41 
42  double h1norm(const numcxx::SimpleGrid &grid,
43  const numcxx::DArray1 &u);
44 
45 
46 
47 
48 }
49 #endif
50 
51 
Sparse matrix class using CRS storage scheme.
Header for simple grid data class.
void assemble_heat_problem(const numcxx::SimpleGrid &Grid, const numcxx::DArray1 &BCfac, const numcxx::DArray1 &BCval, const numcxx::DArray1 &Source, const numcxx::DArray1 &Kappa, numcxx::DSparseMatrix &SGlobal, numcxx::DArray1 &Rhs)
Definition: fem2d.cxx:74
double h1norm(const numcxx::SimpleGrid &grid, const numcxx::DArray1 &u)
Definition: fem2d.cxx:302
const double Dirichlet
BC value marking Dirichlet boundary condition.
Definition: fem2d.hxx:11
void assemble_transient_heat_problem(const numcxx::SimpleGrid &grid, const numcxx::DArray1 &bcfac, const numcxx::DArray1 &bcval, const numcxx::DArray1 &source, const numcxx::DArray1 &kappa, double tau, double theta, bool lump, numcxx::DArray1 &OldSol, numcxx::DSparseMatrix &SGlobal, numcxx::DArray1 &Rhs)
Definition: fem2d.cxx:165
Header for class numcxx::TSparseMatrix.
Definition: fem2d.hxx:7
One dimensional array class.
Definition: tarray1.hxx:31
Class containing data for simple grid data structure.
Definition: simplegrid.hxx:19
double l2norm(const numcxx::SimpleGrid &grid, const numcxx::DArray1 &u)
Definition: fem2d.cxx:275