OFELI Namespace Reference

A namespace to group all library classes, functions, ... More...

Classes

class  Bar2DL2
 To build element equations for Planar Elastic Bar element with 2 DOF (Degrees of Freedom) per node. More...
 
class  Beam3DL2
 To build element equations for 3-D beam equations using 2-node lines. More...
 
class  BiotSavart
 Class to compute the magnetic induction from the current density using the Biot-Savart formula. More...
 
class  BMatrix
 To handle band matrices. More...
 
class  Brick
 To store and treat a brick (parallelepiped) figure. More...
 
class  Circle
 To store and treat a circular figure. More...
 
class  DC1DL2
 Builds finite element arrays for thermal diffusion and convection in 1-D using 2-Node elements. More...
 
class  DC2DT3
 Builds finite element arrays for thermal diffusion and convection in 2-D domains using 3-Node triangles. More...
 
class  DC2DT6
 Builds finite element arrays for thermal diffusion and convection in 2-D domains using 6-Node triangles. More...
 
class  DC3DAT3
 Builds finite element arrays for thermal diffusion and convection in 3-D domains with axisymmetry using 3-Node triangles. More...
 
class  DC3DT4
 Builds finite element arrays for thermal diffusion and convection in 3-D domains using 4-Node tetrahedra. More...
 
class  DG
 Enables preliminary operations and utilities for the Discontinous Galerkin method. More...
 
class  DMatrix
 To handle dense matrices. More...
 
class  Domain
 To store and treat finite element geometric information. More...
 
class  DSMatrix
 To handle symmetric dense matrices. More...
 
class  EC2D1T3
 Eddy current problems in 2-D domains using solenoidal approximation. More...
 
class  EC2D2T3
 Eddy current problems in 2-D domains using transversal approximation. More...
 
class  Edge
 To describe an edge. More...
 
class  EdgeList
 Class to construct a list of edges having some common properties. More...
 
class  EigenProblemSolver
 Class to find eigenvalues and corresponding eigenvectors of a given matrix in a generalized eigenproblem, i.e. Find scalars l and non-null vectors v such that [K]{v} = l[M]{v} where [K] and [M] are symmetric matrices. The eigenproblem can be originated from a PDE. For this, we will refer to the matrices K and M as Stiffness and Mass matrices respectively. More...
 
class  Elas2DQ4
 To build element equations for 2-D linearized elasticity using 4-node quadrilaterals. More...
 
class  Elas2DT3
 To build element equations for 2-D linearized elasticity using 3-node triangles. More...
 
class  Elas3DH8
 To build element equations for 3-D linearized elasticity using 8-node hexahedra. More...
 
class  Elas3DT4
 To build element equations for 3-D linearized elasticity using 4-node tetrahedra. More...
 
class  Element
 To store and treat finite element geometric information. More...
 
class  ElementList
 Class to construct a list of elements having some common properties. More...
 
class  Ellipse
 To store and treat an ellipsoidal figure. More...
 
class  Equa
 Mother abstract class to describe equation. More...
 
class  Equa_Acoustics
 Abstract class for Wave Finite Element classes. More...
 
class  Equa_Electromagnetics
 Abstract class for Electromagnetics Equation classes. More...
 
class  Equa_Fluid
 Abstract class for Fluid Dynamics Equation classes. More...
 
class  Equa_Laplace
 Abstract class for classes about the Laplace equation. More...
 
class  Equa_LinearPDE
 Abstract class for Finite Element classes for lienar PDEs'. More...
 
class  Equa_Porous
 Abstract class for Porous Media Finite Element classes. More...
 
class  Equa_Solid
 Abstract class for Solid Mechanics Finite Element classes. More...
 
class  Equa_Therm
 Abstract class for Heat transfer Finite Element classes. More...
 
class  Equation
 Abstract class for all equation classes. More...
 
class  Estimator
 To calculate an a posteriori estimator of the solution. More...
 
class  FastMarching
 class for the fast marching algorithm on uniform grids More...
 
class  FastMarching1DG
 class for the fast marching algorithm on 1-D uniform grids More...
 
class  FastMarching2DG
 class for the fast marching algorithm on 2-D uniform grids More...
 
class  FastMarching3DG
 class for the fast marching algorithm on 3-D uniform grids More...
 
class  FEShape
 Parent class from which inherit all finite element shape classes. More...
 
class  Figure
 To store and treat a figure (or shape) information. More...
 
class  FuncApprox
 To set function approximation methods. More...
 
class  Funct
 A simple class to parse real valued functions. More...
 
class  Gauss
 Calculate data for Gauss integration. More...
 
class  GeoModel
 To set geometry modelling. More...
 
class  Grid
 To manipulate structured grids. More...
 
class  HelmholtzBT3
 Builds finite element arrays for Helmholtz equations in a bounded media using 3-Node triangles. More...
 
class  Hexa8
 Defines a three-dimensional 8-node hexahedral finite element using Q1-isoparametric interpolation. More...
 
class  ICPG1D
 Class to solve the Inviscid compressible fluid flows (Euler equations) for perfect gas in 1-D. More...
 
class  ICPG2DT
 Class to solve the Inviscid compressible fluid flows (Euler equations) for perfect gas in 2-D. More...
 
class  ICPG3DT
 Class to solve the Inviscid compressible fluid flows (Euler equations) for perfect gas in 3-D. More...
 
class  Integration
 Class for numerical integration methods. More...
 
class  IOField
 Enables working with files in the XML Format. More...
 
class  IPF
 To read project parameters from a file in IPF format. More...
 
class  Iter
 Class to drive an iterative process. More...
 
class  Laplace1DL2
 To build element equation for a 1-D elliptic equation using the 2-Node line element (P1). More...
 
class  Laplace1DL3
 To build element equation for the 1-D elliptic equation using the 3-Node line (P2). More...
 
class  Laplace2DT3
 To build element equation for the Laplace equation using the 2-D triangle element (P1). More...
 
class  Laplace2DT6
 To build element equation for the Laplace equation using the 2-D triangle element (P2). More...
 
class  Laplace3DT4
 To build element equation for the Laplace equation using the 3-D tetrahedral element (P1). More...
 
class  LaplaceDG2DP1
 To build and solve the linear system for the Poisson problem using the DG P1 2-D triangle element. More...
 
class  LCL1D
 Class to solve the linear conservation law (Hyperbolic equation) in 1-D by a MUSCL Finite Volume scheme. More...
 
class  LCL2DT
 Class to solve the linear hyperbolic equation in 2-D by a MUSCL Finite Volume scheme on triangles. More...
 
class  LCL3DT
 Class to solve the linear conservation law equation in 3-D by a MUSCL Finite Volume scheme on tetrahedra. More...
 
class  LeastSquare
 To compute a least square approximation. More...
 
class  Line2
 To describe a 2-Node planar line finite element. More...
 
class  Line3
 To describe a 3-Node quadratic planar line finite element. More...
 
class  LinearPDE1D
 Solves a generic linear PDE in 1-D using 2-Node line finite elements. More...
 
class  LinearPDE2D
 Solves a generic linear PDE in 2-D using 3-Node triangular finite elements. More...
 
class  LinearSolver
 Class to solve systems of linear equations by direct or iterative methods. More...
 
class  LocalMatrix
 Handles small size matrices like element matrices, with a priori known size. More...
 
class  LocalVect
 Handles small size vectors like element vectors. More...
 
class  LPSolver
 To solve a linear programming problem. More...
 
class  Material
 To treat material data. This class enables reading material data in material data files. It also returns these informations by means of its members. More...
 
class  Matrix
 Virtual class to handle matrices for all storage formats. More...
 
class  Mesh
 To store and manipulate finite element meshes. More...
 
class  MeshAdapt
 To adapt mesh in function of given solution. More...
 
class  Muscl
 Parent class for hyperbolic solvers with Muscl scheme. More...
 
class  Muscl1D
 Class for 1-D hyperbolic solvers with Muscl scheme. More...
 
class  Muscl2DT
 Class for 2-D hyperbolic solvers with Muscl scheme. More...
 
class  Muscl3DT
 Class for 3-D hyperbolic solvers with Muscl scheme using tetrahedra. More...
 
class  MyNLAS
 Abstract class to define by user specified function. More...
 
class  MyOpt
 Abstract class to define by user specified optimization function. More...
 
class  NLASSolver
 To solve a system of nonlinear algebraic equations of the form f(u) = 0. More...
 
class  Node
 To describe a node. More...
 
class  NodeList
 Class to construct a list of nodes having some common properties. More...
 
class  NSP2DQ41
 Builds finite element arrays for incompressible Navier-Stokes equations in 2-D domains using Q1/P0 element and a penaly formulation for the incompressibility condition. More...
 
class  ODESolver
 To solve a system of ordinary differential equations. More...
 
class  OptSolver
 To solve an optimization problem with bound constraints. More...
 
class  Partition
 To partition a finite element mesh into balanced submeshes. More...
 
class  Penta6
 Defines a 6-node pentahedral finite element using P1 interpolation in local coordinates (s.x,s.y) and Q1 isoparametric interpolation in local coordinates (s.x,s.z) and (s.y,s.z). More...
 
class  PhaseChange
 This class enables defining phase change laws for a given material. More...
 
class  Point
 Defines a point with arbitrary type coordinates. More...
 
class  Point2D
 Defines a 2-D point with arbitrary type coordinates. More...
 
class  Polygon
 To store and treat a polygonal figure. More...
 
class  Prec
 To set a preconditioner. More...
 
class  Pres1DL2
 Builds finite element arrays for acoustic propagation in 1-D using 2-Node elements. More...
 
class  Pres2DT3
 Builds finite element arrays for wave propagation in 2-D using 3-Node elements. More...
 
class  Prescription
 To prescribe various types of data by an algebraic expression. Data may consist in boundary conditions, forces, tractions, fluxes, initial condition. All these data types can be defined through an enumerated variable. More...
 
class  Quad4
 Defines a 4-node quadrilateral finite element using Q1 isoparametric interpolation. More...
 
class  Reconstruction
 To perform various reconstruction operations. More...
 
class  Rectangle
 To store and treat a rectangular figure. More...
 
class  Side
 To store and treat finite element sides (edges in 2-D or faces in 3-D) More...
 
class  SideList
 Class to construct a list of sides having some common properties. More...
 
class  SkMatrix
 To handle square matrices in skyline storage format. More...
 
class  SkSMatrix
 To handle symmetric matrices in skyline storage format. More...
 
class  SpaceTime
 Defines a space-time point. More...
 
class  Sphere
 To store and treat a sphere. More...
 
class  SpMatrix
 To handle matrices in sparse storage format. More...
 
class  SteklovPoincare2DBE
 Solver of the Steklov Poincare problem in 2-D geometries using piecewie constant boundary elemen. More...
 
class  Tabulation
 To read and manipulate tabulated functions. More...
 
class  Tetra4
 Defines a three-dimensional 4-node tetrahedral finite element using P1 interpolation. More...
 
class  Timer
 To handle elapsed time counting. More...
 
class  TimeStepping
 To solve time stepping problems, i.e. systems of linear ordinary differential equations of the form [A2]{y"} + [A1]{y'} + [A0]{y} = {b}. More...
 
class  TINS2DT3S
 Builds finite element arrays for transient incompressible fluid flow using Navier-Stokes equations in 2-D domains. Numerical approximation uses stabilized 3-node triangle finite elements for velocity and pressure. 2nd-order projection scheme is used for time integration. More...
 
class  TINS3DT4S
 Builds finite element arrays for transient incompressible fluid flow using Navier-Stokes equations in 3-D domains. Numerical approximation uses stabilized 4-node tatrahedral finite elements for velocity and pressure. 2nd-order projection scheme is used for time integration. More...
 
class  Triang3
 Defines a 3-Node (P1) triangle. More...
 
class  Triang6S
 Defines a 6-Node straight triangular finite element using P2 interpolation. More...
 
class  triangle
 Defines a triangle. The reference element is the rectangle triangle with two unit edges. More...
 
class  Triangle
 To store and treat a triangle. More...
 
class  TrMatrix
 To handle tridiagonal matrices. More...
 
class  Vect
 To handle general purpose vectors. More...
 
class  WaterPorous2D
 To solve water flow equations in porous media (1-D) More...
 

Enumerations

enum class  PDE_Terms : int {
  NOTERM = 0x00000000 ,
  CONSISTENT_MASS = 0x00000010 ,
  CONSISTENT_CAPACITY = 0x00000010 ,
  LUMPED_MASS = 0x00000020 ,
  MASS = 0x00000020 ,
  LUMPED_CAPACITY = 0x00000020 ,
  CAPACITY = 0x00000020 ,
  VISCOSITY = 0x00000040 ,
  STIFFNESS = 0x00000080 ,
  DIFFUSION = 0x00000100 ,
  MOBILITY = 0x00000200 ,
  CONVECTION = 0x00000400 ,
  DEVIATORIC = 0x00000800 ,
  DILATATION = 0x00001000 ,
  ELECTRIC = 0x00002000 ,
  MAGNETIC = 0x00004000 ,
  BODY_RHS = 0x00008000 ,
  LOAD = 0x00008000 ,
  SOURCE = 0x00008000 ,
  BOUNDARY_RHS = 0x00010000 ,
  NEUMANN = 0x00010000 ,
  FLUX = 0x00010000 ,
  BOUNDARY_TRACTION = 0x00010000 ,
  CONTACT = 0x00020000 ,
  BUOYANCY = 0x00040000 ,
  LORENTZ_FORCE = 0x00080000 ,
  DAMPING = 0x00100000 ,
  L00 = 0x00200000 ,
  L10 = 0x00400000 ,
  L20 = 0x00800000 ,
  L01 = 0x01000000 ,
  L02 = 0x02000000 ,
  L11 = 0x04000000
}
 
enum  Analysis {
}
 
enum  TimeScheme {
  NONE = 0 ,
  FORWARD_EULER = 1 ,
  BACKWARD_EULER = 2 ,
  CRANK_NICOLSON = 3 ,
  HEUN = 4 ,
  NEWMARK = 5 ,
  LEAP_FROG = 6 ,
  ADAMS_BASHFORTH ,
  AB2 = 7 ,
  RUNGE_KUTTA ,
  RK4 = 8 ,
  RK3_TVD = 9 ,
  BDF2 = 10 ,
  BUILTIN = 11
}
 
enum  FEType {
  FE_2D_3N ,
  FE_2D_6N ,
  FE_2D_4N ,
  FE_3D_AXI_3N ,
  FE_3D_4N ,
  FE_3D_8N
}
 
enum class  PDECoefType
 
enum  MatrixType {
  DENSE = 1 ,
  SKYLINE = 2 ,
  SPARSE = 4 ,
  DIAGONAL = 8 ,
  TRIDIAGONAL = 16 ,
  BAND = 32 ,
  SYMMETRIC = 64 ,
  UNSYMMETRIC = 128 ,
  IDENTITY = 256
}
 
enum  Iteration {
  DIRECT_SOLVER = 1 ,
  CG_SOLVER = 2 ,
  CGS_SOLVER = 3 ,
  BICG_SOLVER = 4 ,
  BICG_STAB_SOLVER = 5 ,
  GMRES_SOLVER = 6
}
 Choose iterative solver for the linear system. More...
 
enum  Preconditioner {
  IDENT_PREC = 1 ,
  DIAG_PREC = 2 ,
  DILU_PREC = 3 ,
  ILU_PREC = 4 ,
  SSOR_PREC = 5
}
 Choose preconditioner for the linear system. More...
 
enum  NormType {
  NORM1 ,
  WNORM1 ,
  NORM2 ,
  WNORM2 ,
  NORM_MAX
}
 
enum  BCType {
  PERIODIC_A = 9999 ,
  PERIODIC_B = -9999 ,
  CONTACT_BC = 9998 ,
  CONTACT_M = 9997 ,
  CONTACT_S = -9997 ,
  SLIP = 9996
}
 
enum  EigenMethod {
  SUBSPACE = 1 ,
  QR = 2
}
 Enumerate methods to solve the eigenvalue problem. More...
 
enum  IntegrationScheme {
  LEFT_RECTANGLE = 0 ,
  RIGHT_RECTANGLE = 1 ,
  MID_RECTANGLE = 2 ,
  TRAPEZOIDAL = 3 ,
  SIMPSON = 4 ,
  GAUSS_LEGENDRE = 5
}
 

Functions

ostream & operator<< (ostream &s, const Muscl3DT &m)
 Output mesh data as calculated in class Muscl3DT.
 
T_ * A ()
 Return element matrix.
 
T_ * b ()
 Return element right-hand side.
 
T_ * Prev ()
 Return element previous vector.
 
ostream & operator<< (ostream &s, const complex_t &x)
 Output a complex number.
 
ostream & operator<< (ostream &s, const std::string &c)
 Output a string.
 
template<class T_ >
ostream & operator<< (ostream &s, const vector< T_ > &v)
 Output a vector instance.
 
template<class T_ >
ostream & operator<< (ostream &s, const std::list< T_ > &l)
 Output a vector instance.
 
template<class T_ >
ostream & operator<< (ostream &s, const std::pair< T_, T_ > &a)
 Output a pair instance.
 
void saveField (Vect< real_t > &v, string output_file, int opt)
 Save a vector to an output file in a given file format.
 
void saveField (const Vect< real_t > &v, const Mesh &mesh, string output_file, int opt)
 Save a vector to an output file in a given file format.
 
void saveField (Vect< real_t > &v, const Grid &g, string output_file, int opt)
 Save a vector to an output file in a given file format, for a structured grid data.
 
void saveGnuplot (string input_file, string output_file, string mesh_file, int f=1)
 Save a vector to an input Gnuplot file.
 
void saveGnuplot (Mesh &mesh, string input_file, string output_file, int f=1)
 Save a vector to an input Gnuplot file.
 
void saveTecplot (string input_file, string output_file, string mesh_file, int f=1)
 Save a vector to an output file to an input Tecplot file.
 
void saveTecplot (Mesh &mesh, string input_file, string output_file, int f=1)
 Save a vector to an output file to an input Tecplot file.
 
void saveVTK (string input_file, string output_file, string mesh_file, int f=1)
 Save a vector to an output VTK file.
 
void saveVTK (Mesh &mesh, string input_file, string output_file, int f=1)
 Save a vector to an output VTK file.
 
void saveGmsh (string input_file, string output_file, string mesh_file, int f=1)
 Save a vector to an output Gmsh file.
 
void saveGmsh (Mesh &mesh, string input_file, string output_file, int f=1)
 Save a vector to an output Gmsh file.
 
ostream & operator<< (ostream &s, const Tabulation &t)
 Output Tabulated function data.
 
template<class T_ , size_t N_, class E_ >
void element_assembly (const E_ &e, const LocalVect< T_, N_ > &be, Vect< T_ > &b)
 Assemble local vector into global vector.
 
template<class T_ , size_t N_, class E_ >
void element_assembly (const E_ &e, const LocalMatrix< T_, N_, N_ > &ae, Vect< T_ > &b)
 Assemble diagonal local vector into global vector.
 
template<class T_ , size_t N_, class E_ >
void element_assembly (const E_ &e, const LocalMatrix< T_, N_, N_ > &ae, Matrix< T_ > *A)
 Assemble local matrix into global matrix.
 
template<class T_ , size_t N_, class E_ >
void element_assembly (const E_ &e, const LocalMatrix< T_, N_, N_ > &ae, SkMatrix< T_ > &A)
 Assemble local matrix into global skyline matrix.
 
template<class T_ , size_t N_, class E_ >
void element_assembly (const E_ &e, const LocalMatrix< T_, N_, N_ > &ae, SkSMatrix< T_ > &A)
 Assemble local matrix into global symmetric skyline matrix.
 
template<class T_ , size_t N_, class E_ >
void element_assembly (const E_ &e, const LocalMatrix< T_, N_, N_ > &ae, SpMatrix< T_ > &A)
 Assemble local matrix into global sparse matrix.
 
template<class T_ , size_t N_>
void side_assembly (const Element &e, const LocalMatrix< T_, N_, N_ > &ae, SpMatrix< T_ > &A)
 Side assembly of local matrix into global matrix (as instance of class SpMatrix).
 
template<class T_ , size_t N_>
void side_assembly (const Element &e, const LocalMatrix< T_, N_, N_ > &ae, SkSMatrix< T_ > &A)
 Side assembly of local matrix into global matrix (as instance of class SkSMatrix).
 
template<class T_ , size_t N_>
void side_assembly (const Element &e, const LocalMatrix< T_, N_, N_ > &ae, SkMatrix< T_ > &A)
 Side assembly of local matrix into global matrix (as instance of class SkMatrix).
 
template<class T_ , size_t N_>
void side_assembly (const Element &e, const LocalVect< T_, N_ > &be, Vect< T_ > &b)
 Side assembly of local vector into global vector.
 
template<class T_ >
Vect< T_ > operator* (const BMatrix< T_ > &A, const Vect< T_ > &b)
 Operator * (Multiply vector by matrix and return resulting vector.
 
template<class T_ >
BMatrix< T_ > operator* (T_ a, const BMatrix< T_ > &A)
 Operator * (Premultiplication of matrix by constant)
 
template<class T_ >
ostream & operator<< (ostream &s, const BMatrix< T_ > &a)
 Output matrix in output stream.
 
template<class T_ >
Vect< T_ > operator* (const DMatrix< T_ > &A, const Vect< T_ > &b)
 Operator * (Multiply vector by matrix and return resulting vector.
 
template<class T_ >
ostream & operator<< (ostream &s, const DMatrix< T_ > &a)
 Output matrix in output stream.
 
template<class T_ >
Vect< T_ > operator* (const DSMatrix< T_ > &A, const Vect< T_ > &b)
 Operator * (Multiply vector by matrix and return resulting vector.
 
template<class T_ >
ostream & operator<< (ostream &s, const DSMatrix< T_ > &a)
 Output matrix in output stream.
 
template<class T_ , size_t NR_, size_t NC_>
LocalMatrix< T_, NR_, NC_ > operator* (T_ a, const LocalMatrix< T_, NR_, NC_ > &x)
 Operator * (Multiply matrix x by scalar a)
 
template<class T_ , size_t NR_, size_t NC_>
LocalVect< T_, NR_ > operator* (const LocalMatrix< T_, NR_, NC_ > &A, const LocalVect< T_, NC_ > &x)
 Operator * (Multiply matrix A by vector x)
 
template<class T_ , size_t NR_, size_t NC_>
LocalMatrix< T_, NR_, NC_ > operator/ (T_ a, const LocalMatrix< T_, NR_, NC_ > &x)
 Operator / (Divide matrix x by scalar a)
 
template<class T_ , size_t NR_, size_t NC_>
LocalMatrix< T_, NR_, NC_ > operator+ (const LocalMatrix< T_, NR_, NC_ > &x, const LocalMatrix< T_, NR_, NC_ > &y)
 Operator + (Add matrix x to y)
 
template<class T_ , size_t NR_, size_t NC_>
LocalMatrix< T_, NR_, NC_ > operator- (const LocalMatrix< T_, NR_, NC_ > &x, const LocalMatrix< T_, NR_, NC_ > &y)
 Operator - (Subtract matrix y from x)
 
template<class T_ , size_t NR_, size_t NC_>
ostream & operator<< (ostream &s, const LocalMatrix< T_, NR_, NC_ > &A)
 Output vector in output stream.
 
template<class T_ , size_t N_>
LocalVect< T_, N_ > operator+ (const LocalVect< T_, N_ > &x, const LocalVect< T_, N_ > &y)
 Operator + (Add two vectors)
 
template<class T_ , size_t N_>
LocalVect< T_, N_ > operator- (const LocalVect< T_, N_ > &x, const LocalVect< T_, N_ > &y)
 Operator - (Subtract two vectors)
 
template<class T_ , size_t N_>
LocalVect< T_, N_ > operator* (T_ a, const LocalVect< T_, N_ > &x)
 Operator * (Premultiplication of vector by constant)
 
template<class T_ , size_t N_>
LocalVect< T_, N_ > operator/ (T_ a, const LocalVect< T_, N_ > &x)
 Operator / (Division of vector by constant)
 
template<class T_ , size_t N_>
real_t Dot (const LocalVect< T_, N_ > &a, const LocalVect< T_, N_ > &b)
 Calculate dot product of 2 vectors (instances of class LocalVect)
 
template<class T_ , size_t N_>
void Scale (T_ a, const LocalVect< T_, N_ > &x, LocalVect< T_, N_ > &y)
 Multiply vector x by constant a and store result in y.
 
template<class T_ , size_t N_>
void Scale (T_ a, LocalVect< T_, N_ > &x)
 Multiply vector x by constant a and store result in x.
 
template<class T_ , size_t N_>
void Axpy (T_ a, const LocalVect< T_, N_ > &x, LocalVect< T_, N_ > &y)
 Add a*x to vector y.
 
template<class T_ , size_t N_>
void Copy (const LocalVect< T_, N_ > &x, LocalVect< T_, N_ > &y)
 Copy vector x into vector y.
 
template<class T_ , size_t N_>
ostream & operator<< (ostream &s, const LocalVect< T_, N_ > &v)
 Output vector in output stream.
 
template<class T_ >
bool operator== (const Point< T_ > &a, const Point< T_ > &b)
 Operator ==
 
template<class T_ >
Point< T_ > operator+ (const Point< T_ > &a, const Point< T_ > &b)
 Operator +
 
template<class T_ >
Point< T_ > operator+ (const Point< T_ > &a, const T_ &x)
 Operator +
 
template<class T_ >
Point< T_ > operator- (const Point< T_ > &a)
 Unary Operator -
 
template<class T_ >
Point< T_ > operator- (const Point< T_ > &a, const Point< T_ > &b)
 Operator -
 
template<class T_ >
Point< T_ > operator- (const Point< T_ > &a, const T_ &x)
 Operator -
 
template<class T_ >
Point< T_ > operator* (const T_ &a, const Point< T_ > &b)
 Operator *
 
template<class T_ >
Point< T_ > operator* (const int &a, const Point< T_ > &b)
 Operator *.
 
template<class T_ >
Point< T_ > operator* (const Point< T_ > &b, const T_ &a)
 Operator /
 
template<class T_ >
Point< T_ > operator* (const Point< T_ > &b, const int &a)
 Operator *
 
template<class T_ >
T_ operator* (const Point< T_ > &a, const Point< T_ > &b)
 Operator *
 
template<class T_ >
Point< T_ > operator/ (const Point< T_ > &b, const T_ &a)
 Operator /
 
Point< real_t > CrossProduct (const Point< real_t > &lp, const Point< real_t > &rp)
 Return Cross product of two vectors lp and rp
 
bool areClose (const Point< real_t > &a, const Point< real_t > &b, real_t toler=OFELI_TOLERANCE)
 Return true if both instances of class Point<double> are distant with less then toler
 
real_t SqrDistance (const Point< real_t > &a, const Point< real_t > &b)
 Return squared euclidean distance between points a and b
 
real_t Distance (const Point< real_t > &a, const Point< real_t > &b)
 Return euclidean distance between points a and b
 
bool operator< (const Point< size_t > &a, const Point< size_t > &b)
 Comparison operator. Returns true if all components of first vector are lower than those of second one.
 
template<class T_ >
std::ostream & operator<< (std::ostream &s, const Point< T_ > &a)
 Output point coordinates.
 
template<class T_ >
bool operator== (const Point2D< T_ > &a, const Point2D< T_ > &b)
 Operator ==.
 
template<class T_ >
Point2D< T_ > operator+ (const Point2D< T_ > &a, const Point2D< T_ > &b)
 Operator +.
 
template<class T_ >
Point2D< T_ > operator+ (const Point2D< T_ > &a, const T_ &x)
 Operator +.
 
template<class T_ >
Point2D< T_ > operator- (const Point2D< T_ > &a)
 Unary Operator -
 
template<class T_ >
Point2D< T_ > operator- (const Point2D< T_ > &a, const Point2D< T_ > &b)
 Operator -
 
template<class T_ >
Point2D< T_ > operator- (const Point2D< T_ > &a, const T_ &x)
 Operator -
 
template<class T_ >
Point2D< T_ > operator* (const T_ &a, const Point2D< T_ > &b)
 Operator *.
 
template<class T_ >
Point2D< T_ > operator* (const int &a, const Point2D< T_ > &b)
 
template<class T_ >
Point2D< T_ > operator* (const Point2D< T_ > &b, const T_ &a)
 Operator /
 
template<class T_ >
Point2D< T_ > operator* (const Point2D< T_ > &b, const int &a)
 Operator *
 
template<class T_ >
T_ operator* (const Point2D< T_ > &b, const Point2D< T_ > &a)
 Operator *.
 
template<class T_ >
Point2D< T_ > operator/ (const Point2D< T_ > &b, const T_ &a)
 Operator /
 
bool areClose (const Point2D< real_t > &a, const Point2D< real_t > &b, real_t toler=OFELI_TOLERANCE)
 Return true if both instances of class Point2D<real_t> are distant with less then toler [Default: OFELI_EPSMCH].
 
real_t SqrDistance (const Point2D< real_t > &a, const Point2D< real_t > &b)
 Return squared euclidean distance between points a and b
 
real_t Distance (const Point2D< real_t > &a, const Point2D< real_t > &b)
 Return euclidean distance between points a and b
 
template<class T_ >
std::ostream & operator<< (std::ostream &s, const Point2D< T_ > &a)
 Output point coordinates.
 
template<class T_ >
Vect< T_ > operator* (const SkMatrix< T_ > &A, const Vect< T_ > &b)
 Operator * (Multiply vector by matrix and return resulting vector.
 
template<class T_ >
ostream & operator<< (ostream &s, const SkMatrix< T_ > &a)
 Output matrix in output stream.
 
template<class T_ >
Vect< T_ > operator* (const SkSMatrix< T_ > &A, const Vect< T_ > &b)
 Operator * (Multiply vector by matrix and return resulting vector.
 
template<class T_ >
ostream & operator<< (ostream &s, const SkSMatrix< T_ > &a)
 Output matrix in output stream.
 
bool operator== (const SpaceTime &a, const SpaceTime &b)
 Operator ==
 
SpaceTime operator+ (const SpaceTime &a, const SpaceTime &b)
 Operator +
 
SpaceTime operator+ (const SpaceTime &a, const real_t &x)
 Operator +
 
SpaceTime operator- (const SpaceTime &a)
 Unary Operator -
 
SpaceTime operator- (const SpaceTime &a, const SpaceTime &b)
 Operator -
 
SpaceTime operator- (const SpaceTime &a, const real_t &x)
 Operator -
 
SpaceTime operator* (const real_t &a, const SpaceTime &b)
 Operator *
 
SpaceTime operator* (const int &a, const SpaceTime &b)
 Operator *.
 
SpaceTime operator* (const SpaceTime &b, const real_t &a)
 Operator /
 
SpaceTime operator* (const SpaceTime &b, const int &a)
 Operator *
 
real_t operator* (const SpaceTime &a, const SpaceTime &b)
 Operator *
 
SpaceTime operator/ (const SpaceTime &b, const real_t &a)
 Operator /
 
SpaceTime CrossProduct (const SpaceTime &lp, const SpaceTime &rp)
 Return Cross product of two vectors lp and rp
 
bool areClose (const SpaceTime &a, const SpaceTime &b, real_t toler=OFELI_TOLERANCE)
 Return true if both instances of class Point<double> are distant with less then toler
 
real_t SqrDistance (const SpaceTime &a, const SpaceTime &b)
 Return squared euclidean distance between points a and b
 
real_t Distance (const SpaceTime &a, const SpaceTime &b)
 Return euclidean distance between points a and b
 
bool operator< (const SpaceTime &a, const SpaceTime &b)
 Comparison operator. Returns true if all components of first vector are lower than those of second one.
 
std::ostream & operator<< (std::ostream &s, const SpaceTime &a)
 Output space-time point coordinates.
 
template<class T_ >
Vect< T_ > operator* (const SpMatrix< T_ > &A, const Vect< T_ > &b)
 Operator * (Multiply vector by matrix and return resulting vector.
 
template<class T_ >
ostream & operator<< (ostream &s, const SpMatrix< T_ > &A)
 Output matrix in output stream.
 
template<class T_ >
Vect< T_ > operator* (const TrMatrix< T_ > &A, const Vect< T_ > &b)
 Operator * (Multiply vector by matrix and return resulting vector.
 
template<class T_ >
TrMatrix< T_ > operator* (T_ a, const TrMatrix< T_ > &A)
 Operator * (Premultiplication of matrix by constant)
 
template<class T_ >
ostream & operator<< (ostream &s, const TrMatrix< T_ > &A)
 Output matrix in output stream.
 
template<class T_ >
Vect< T_ > operator+ (const Vect< T_ > &x, const Vect< T_ > &y)
 Operator + (Addition of two instances of class Vect)
 
template<class T_ >
Vect< T_ > operator- (const Vect< T_ > &x, const Vect< T_ > &y)
 Operator - (Difference between two vectors of class Vect)
 
template<class T_ >
Vect< T_ > operator* (const T_ &a, const Vect< T_ > &x)
 Operator * (Premultiplication of vector by constant)
 
template<class T_ >
Vect< T_ > operator* (const Vect< T_ > &x, const T_ &a)
 Operator * (Postmultiplication of vector by constant)
 
template<class T_ >
Vect< T_ > operator/ (const Vect< T_ > &x, const T_ &a)
 Operator / (Divide vector entries by constant)
 
template<class T_ >
T_ Dot (const Vect< T_ > &x, const Vect< T_ > &y)
 Calculate dot product of two vectors.
 
real_t Discrepancy (Vect< real_t > &x, const Vect< real_t > &y, int n, int type=1)
 Return discrepancy between 2 vectors x and y
 
real_t Discrepancy (Vect< complex_t > &x, const Vect< complex_t > &y, int n, int type=1)
 Return discrepancy between 2 vectors x and y
 
void Modulus (const Vect< complex_t > &x, Vect< real_t > &y)
 Calculate modulus of complex vector.
 
void Real (const Vect< complex_t > &x, Vect< real_t > &y)
 Calculate real part of complex vector.
 
void Imag (const Vect< complex_t > &x, Vect< real_t > &y)
 Calculate imaginary part of complex vector.
 
template<class T_ >
istream & operator>> (istream &s, Vect< T_ > &v)
 
template<class T_ >
ostream & operator<< (ostream &s, const Vect< T_ > &v)
 Output vector in output stream.
 
ostream & operator<< (ostream &s, const Edge &ed)
 Output edge data.
 
ostream & operator<< (ostream &s, const Element &el)
 Output element data.
 
Figure operator&& (const Figure &f1, const Figure &f2)
 Function to define a Figure instance as the intersection of two Figure instances.
 
Figure operator|| (const Figure &f1, const Figure &f2)
 Function to define a Figure instance as the union of two Figure instances.
 
Figure operator- (const Figure &f1, const Figure &f2)
 Function to define a Figure instance as the set subtraction of two Figure instances.
 
void getMesh (string file, ExternalFileFormat form, Mesh &mesh, size_t nb_dof=1)
 Construct an instance of class Mesh from a mesh file stored in an external file format.
 
void getBamg (string file, Mesh &mesh, size_t nb_dof=1)
 Construct an instance of class Mesh from a mesh file stored in Bamg format.
 
void getEasymesh (string file, Mesh &mesh, size_t nb_dof=1)
 Construct an instance of class Mesh from a mesh file stored in Easymesh format.
 
void getGambit (string file, Mesh &mesh, size_t nb_dof=1)
 Construct an instance of class Mesh from a mesh file stored in Gambit neutral format.
 
void getGmsh (string file, Mesh &mesh, size_t nb_dof=1)
 Construct an instance of class Mesh from a mesh file stored in Gmsh format.
 
void getMatlab (string file, Mesh &mesh, size_t nb_dof=1)
 Construct an instance of class Mesh from a Matlab mesh data.
 
void getNetgen (string file, Mesh &mesh, size_t nb_dof=1)
 Construct an instance of class Mesh from a mesh file stored in Netgen format.
 
void getTetgen (string file, Mesh &mesh, size_t nb_dof=1)
 Construct an instance of class Mesh from a mesh file stored in Tetgen format.
 
void getTriangle (string file, Mesh &mesh, size_t nb_dof=1)
 Construct an instance of class Mesh from a mesh file stored in Triangle format.
 
ostream & operator<< (ostream &s, const Grid &g)
 Output grid data.
 
ostream & operator<< (ostream &s, const Material &m)
 Output material data.
 
ostream & operator<< (ostream &s, const Mesh &ms)
 Output mesh data.
 
ostream & operator<< (ostream &s, const MeshAdapt &a)
 Output MeshAdapt class data.
 
ostream & operator<< (ostream &s, const NodeList &nl)
 Output NodeList instance.
 
ostream & operator<< (ostream &s, const ElementList &el)
 Output ElementList instance.
 
ostream & operator<< (ostream &s, const SideList &sl)
 Output SideList instance.
 
ostream & operator<< (ostream &s, const EdgeList &el)
 Output EdgeList instance.
 
size_t Label (const Node &nd)
 Return label of a given node.
 
size_t Label (const Element &el)
 Return label of a given element.
 
size_t Label (const Side &sd)
 Return label of a given side.
 
size_t Label (const Edge &ed)
 Return label of a given edge.
 
size_t NodeLabel (const Element &el, size_t n)
 Return global label of node local label in element.
 
size_t NodeLabel (const Side &sd, size_t n)
 Return global label of node local label in side.
 
Point< real_t > Coord (const Node &nd)
 Return coordinates of a given node.
 
int Code (const Node &nd, size_t i=1)
 Return code of a given (degree of freedom of) node.
 
int Code (const Element &el)
 Return code of a given element.
 
int Code (const Side &sd, size_t i=1)
 Return code of a given (degree of freedom of) side.
 
bool operator== (const Element &el1, const Element &el2)
 Check equality between 2 elements.
 
bool operator== (const Side &sd1, const Side &sd2)
 Check equality between 2 sides.
 
void DeformMesh (Mesh &mesh, const Vect< real_t > &u, real_t rate=0.2)
 Calculate deformed mesh using a displacement field.
 
void MeshToMesh (Mesh &m1, Mesh &m2, const Vect< real_t > &u1, Vect< real_t > &u2, size_t nx, size_t ny=0, size_t nz=0, size_t dof=1)
 Function to redefine a vector defined on a mesh to a new mesh.
 
void MeshToMesh (const Vect< real_t > &u1, Vect< real_t > &u2, size_t nx, size_t ny=0, size_t nz=0, size_t dof=1)
 Function to redefine a vector defined on a mesh to a new mesh.
 
void MeshToMesh (Mesh &m1, Mesh &m2, const Vect< real_t > &u1, Vect< real_t > &u2, const Point< real_t > &xmin, const Point< real_t > &xmax, size_t nx, size_t ny, size_t nz, size_t dof=1)
 Function to redefine a vector defined on a mesh to a new mesh.
 
real_t getMaxSize (const Mesh &m)
 Return maximal size of element edges for given mesh.
 
real_t getMinSize (const Mesh &m)
 Return minimal size of element edges for given mesh.
 
real_t getMinElementMeasure (const Mesh &m)
 Return minimal measure (length, area or volume) of elements of given mesh.
 
real_t getMaxElementMeasure (const Mesh &m)
 Return maximal measure (length, area or volume) of elements of given mesh.
 
real_t getMinSideMeasure (const Mesh &m)
 Return minimal measure (length or area) of sides of given mesh.
 
real_t getMaxSideMeasure (const Mesh &m)
 Return maximal measure (length or area) of sides of given mesh.
 
real_t getMeanElementMeasure (const Mesh &m)
 Return average measure (length, area or volume) of elements of given mesh.
 
real_t getMeanSideMeasure (const Mesh &m)
 Return average measure (length or area) of sides of given mesh.
 
void setNodeCodes (Mesh &m, const string &exp, int code, size_t dof=1)
 Assign a given code to all nodes satisfying a boolean expression using node coordinates.
 
void setBoundaryNodeCodes (Mesh &m, const string &exp, int code, size_t dof=1)
 Assign a given code to all nodes on boundary that satisfy a boolean expression using node coordinates.
 
int NodeInElement (const Node *nd, const Element *el)
 Say if a given node belongs to a given element.
 
int NodeInSide (const Node *nd, const Side *sd)
 Say if a given node belongs to a given side.
 
int SideInElement (const Side *sd, const Element *el)
 Say if a given side belongs to a given element.
 
ostream & operator<< (ostream &s, const Node &nd)
 Output node data.
 
void saveMesh (const string &file, const Mesh &mesh, ExternalFileFormat form)
 This function saves mesh data a file for a given external format.
 
void saveGmsh (const string &file, const Mesh &mesh)
 This function outputs a Mesh instance in a file in Gmsh format.
 
void saveGnuplot (const string &file, const Mesh &mesh)
 This function outputs a Mesh instance in a file in Gmsh format.
 
void saveMatlab (const string &file, const Mesh &mesh)
 This function outputs a Mesh instance in a file in Matlab format.
 
void saveTecplot (const string &file, const Mesh &mesh)
 This function outputs a Mesh instance in a file in Tecplot format.
 
void saveVTK (const string &file, const Mesh &mesh)
 This function outputs a Mesh instance in a file in VTK format.
 
ostream & operator<< (ostream &s, const Side &sd)
 Output side data.
 
template<class T_ >
int BiCG (const SpMatrix< T_ > &A, const Prec< T_ > &P, const Vect< T_ > &b, Vect< T_ > &x, int max_it, real_t &toler)
 Biconjugate gradient solver function.
 
template<class T_ >
int BiCG (const SpMatrix< T_ > &A, int prec, const Vect< T_ > &b, Vect< T_ > &x, int max_it, real_t toler)
 Biconjugate gradient solver function.
 
void BSpline (size_t n, size_t t, Vect< Point< real_t > > &control, Vect< Point< real_t > > &output, size_t num_output)
 Function to perform a B-spline interpolation.
 
template<class T_ >
int CG (const SpMatrix< T_ > &A, const Prec< T_ > &P, const Vect< T_ > &b, Vect< T_ > &x, int max_it, real_t toler)
 Conjugate gradient solver function.
 
template<class T_ >
int CG (const SpMatrix< T_ > &A, int prec, const Vect< T_ > &b, Vect< T_ > &x, int max_it, real_t toler)
 Conjugate gradient solver function.
 
template<class T_ >
int CGS (const SpMatrix< T_ > &A, const Prec< T_ > &P, const Vect< T_ > &b, Vect< T_ > &x, int max_it, real_t toler)
 Conjugate Gradient Squared solver function.
 
template<class T_ >
int CGS (const SpMatrix< T_ > &A, int prec, const Vect< T_ > &b, Vect< T_ > &x, int max_it, real_t toler)
 Conjugate Gradient Squared solver function.
 
ostream & operator<< (ostream &s, const EigenProblemSolver &es)
 Output eigenproblem information.
 
template<class T_ >
int GMRes (const SpMatrix< T_ > &A, const Prec< T_ > &P, const Vect< T_ > &b, Vect< T_ > &x, size_t m, int max_it, real_t toler)
 GMRes solver function.
 
template<class T_ >
int GMRes (const SpMatrix< T_ > &A, int prec, const Vect< T_ > &b, Vect< T_ > &x, size_t m, int max_it, real_t toler)
 GMRes solver function.
 
template<class T_ >
int GS (const SpMatrix< T_ > &A, const Vect< T_ > &b, Vect< T_ > &x, real_t omega, int max_it, real_t toler)
 Gauss-Seidel solver function.
 
template<class T_ >
int Jacobi (const SpMatrix< T_ > &A, const Vect< T_ > &b, Vect< T_ > &x, real_t omega, int max_it, real_t toler)
 Jacobi solver function.
 
ostream & operator<< (ostream &s, const ODESolver &de)
 Output differential system information.
 
template<class T_ , class M_ >
int Richardson (const M_ &A, const Vect< T_ > &b, Vect< T_ > &x, real_t omega, int max_it, real_t toler, int verbose)
 Richardson solver function.
 
template<class T_ >
void Schur (SkMatrix< T_ > &A, SpMatrix< T_ > &U, SpMatrix< T_ > &L, SpMatrix< T_ > &D, Vect< T_ > &b, Vect< T_ > &c)
 Solve a linear system of equations with a 2x2-block matrix.
 
template<class T_ , class M_ >
int SSOR (const M_ &A, const Vect< T_ > &b, Vect< T_ > &x, int max_it, real_t toler)
 SSOR solver function.
 
ostream & operator<< (ostream &s, TimeStepping &ts)
 Output differential system information.
 
void banner (const string &prog=" ")
 Outputs a banner as header of any developed program.
 
template<class T_ >
void QuickSort (std::vector< T_ > &a, int begin, int end)
 Function to sort a vector.
 
template<class T_ >
void qksort (std::vector< T_ > &a, int begin, int end)
 Function to sort a vector.
 
template<class T_ , class C_ >
void qksort (std::vector< T_ > &a, int begin, int end, C_ compare)
 Function to sort a vector according to a key function.
 
int Sgn (real_t a)
 Return sign of a: -1 or 1.
 
real_t Sgn (real_t a, real_t b)
 Return |a| if b>0, -|a| if not.
 
real_t Abs2 (complex_t a)
 Return square of modulus of complex number a
 
real_t Abs2 (real_t a)
 Return square of real number a
 
real_t Abs (real_t a)
 Return absolute value of a
 
real_t Abs (complex_t a)
 Return modulus of complex number a
 
real_t Abs (const Point< real_t > &p)
 Return norm of vector a
 
real_t Conjg (real_t a)
 Return complex conjugate of real number a
 
complex_t Conjg (complex_t a)
 Return complex conjugate of complex number a
 
string out_complex (complex_t z)
 Return string to conveniently display a complex number.
 
string out_complex (real_t x, real_t y)
 Return string to conviently display a complex number.
 
real_t Max (real_t a, real_t b, real_t c)
 Return maximum value of real numbers a, b and c
 
int Kronecker (int i, int j)
 Return Kronecker delta of i and j.
 
template<class T_ >
const T_ & Max (const T_ &a, const T_ &b)
 Return maximum value of elements a and b
 
template<class T_ >
const T_ & Min (const T_ &a, const T_ &b)
 Return minimum value of elements a and b
 
int Max (int a, int b, int c)
 Return maximum value of integer numbers a, b and c
 
real_t Min (real_t a, real_t b, real_t c)
 Return minimum value of real numbers a, b and c
 
int Min (int a, int b, int c)
 Return minimum value of integer numbers a, b and c
 
real_t Max (real_t a, real_t b, real_t c, real_t d)
 Return maximum value of integer numbers a, b, c and d
 
int Max (int a, int b, int c, int d)
 Return maximum value of integer numbers a, b, c and d
 
real_t Min (real_t a, real_t b, real_t c, real_t d)
 Return minimum value of real numbers a, b, c and d
 
int Min (int a, int b, int c, int d)
 Return minimum value of integer numbers a, b, c and d
 
real_t Arg (complex_t x)
 Return argument of complex number x
 
complex_t Log (complex_t x)
 Return principal determination of logarithm of complex number x
 
template<class T_ >
T_ Sqr (T_ x)
 Return square of value x
 
template<class T_ >
void Scale (T_ a, const vector< T_ > &x, vector< T_ > &y)
 Mutiply vector x by a and save result in vector y
 
template<class T_ >
void Scale (T_ a, const Vect< T_ > &x, Vect< T_ > &y)
 Mutiply vector x by a and save result in vector y
 
template<class T_ >
void Scale (T_ a, vector< T_ > &x)
 Mutiply vector x by a
 
template<class T_ >
void Xpy (size_t n, T_ *x, T_ *y)
 Add array x to y
 
template<class T_ >
void Xpy (const vector< T_ > &x, vector< T_ > &y)
 Add vector x to y
 
template<class T_ >
void Axpy (size_t n, T_ a, T_ *x, T_ *y)
 Multiply array x by a and add result to y
 
template<class T_ >
void Axpy (T_ a, const vector< T_ > &x, vector< T_ > &y)
 Multiply vector x by a and add result to y
 
template<class T_ >
void Copy (size_t n, T_ *x, T_ *y)
 Copy array x to y n is the arrays size.
 
real_t Error2 (const vector< real_t > &x, const vector< real_t > &y)
 Return absolute L2 error between vectors x and y
 
real_t RError2 (const vector< real_t > &x, const vector< real_t > &y)
 Return absolute L2 error between vectors x and y
 
real_t ErrorMax (const vector< real_t > &x, const vector< real_t > &y)
 Return absolute Max. error between vectors x and y
 
real_t RErrorMax (const vector< real_t > &x, const vector< real_t > &y)
 Return relative Max. error between vectors x and y
 
template<class T_ >
T_ Dot (size_t n, T_ *x, T_ *y)
 Return dot product of arrays x and y
 
real_t Dot (const vector< real_t > &x, const vector< real_t > &y)
 Return dot product of vectors x and y.
 
real_t operator* (const vector< real_t > &x, const vector< real_t > &y)
 Operator * (Dot product of 2 vector instances)
 
template<class T_ >
T_ Dot (const Point< T_ > &x, const Point< T_ > &y)
 Return dot product of x and y
 
real_t exprep (real_t x)
 Compute the exponential function with avoiding over and underflows.
 
template<class T_ >
void Assign (vector< T_ > &v, const T_ &a)
 Assign the value a to all entries of a vector v
 
template<class T_ >
void clear (vector< T_ > &v)
 Assign 0 to all entries of a vector.
 
template<class T_ >
void clear (Vect< T_ > &v)
 Assign 0 to all entries of a vector.
 
real_t Nrm2 (size_t n, real_t *x)
 Return 2-norm of array x
 
real_t Nrm2 (const vector< real_t > &x)
 Return 2-norm of vector x
 
template<class T_ >
real_t Nrm2 (const Point< T_ > &a)
 Return 2-norm of a
 
bool Equal (real_t x, real_t y, real_t toler=OFELI_EPSMCH)
 Function to return true if numbers x and y are close up to a given tolerance toler
 
char itoc (int i)
 Function to convert an integer to a character.
 
template<class T_ >
std::string toString (const T_ x)
 Function to convert any value to a string.
 
template<class T_ >
T_ stringTo (const std::string &s)
 Function to convert a string to a template type parameter.
 

Variables

NodetheNode
 A pointer to Node.
 
ElementtheElement
 A pointer to Element.
 
SidetheSide
 A pointer to Side.
 
EdgetheEdge
 A pointer to Edge.
 
int Verbosity
 Verbosity parameter.
 
int theStep
 Time step counter.
 
int theIteration
 Iteration counter.
 
int NbTimeSteps
 Number of time steps.
 
int MaxNbIterations
 Maximal number of iterations.
 
real_t theTimeStep
 Time step label.
 
real_t theTime
 Time value.
 
real_t theFinalTime
 Final time value.
 
real_t theTolerance
 Tolerance value for convergence.
 
real_t theDiscrepancy
 Value of discrepancy for an iterative procedure Its default value is 1.0.
 
bool Converged
 Boolean variable to say if an iterative procedure has converged.
 
bool InitPetsc
 

Detailed Description

A namespace to group all library classes, functions, ...

Namespace OFELI groups all OFELI library classes, functions and global variables.

Enumeration Type Documentation

◆ NormType

enum NormType

Choose type of vector norm to compute

Enumerator
NORM1 

1-norm

WNORM1 

Weighted 1-norm (Discrete L1-Norm)

NORM2 

2-norm

WNORM2 

Weighted 2-norm (Discrete L2-Norm)

NORM_MAX 

Max-norm (Infinity norm)