Modules | |
Conservation Law Equations | |
Conservation law equations. | |
Electromagnetics | |
Electromagnetic equations. | |
General Purpose Equations | |
Gathers equation related classes. | |
Fluid Dynamics | |
Fluid Dynamics equations. | |
Laplace equation | |
Laplace and Poisson equations. | |
Porous Media problems | |
Porous Media equation classes. | |
Solid Mechanics | |
Solid Mechanics finite element equations. | |
Heat Transfer | |
Heat Transfer equations. | |
Input/Output | |
Input/Output utility classes. | |
Utilities | |
Utility functions and classes. | |
Physical properties of media | |
Physical properties of materials and media. | |
Global Variables | |
All global variables in the library. | |
Finite Element Mesh | |
Mesh management classes | |
Shape Function | |
Shape function classes. | |
Solver | |
Solver functions and classes. | |
Vector and Matrix | |
Vector and matrix classes. | |
Files | |
file | ICPG1D.h |
Definition file for class ICPG1D. | |
file | ICPG2DT.h |
Definition file for class ICPG2DT. | |
file | ICPG3DT.h |
Definition file for class ICPG3DT. | |
file | LCL1D.h |
Definition file for class LCL1D. | |
file | LCL2DT.h |
Definition file for class LCL2DT. | |
file | LCL3DT.h |
Definition file for class LCL3DT. | |
file | Muscl.h |
Definition file for class Muscl. | |
file | Muscl1D.h |
Definition file for class Muscl1D. | |
file | Muscl2DT.h |
Definition file for class Muscl2DT. | |
file | Muscl3DT.h |
Definition file for class Muscl3DT. | |
file | BiotSavart.h |
Definition file for class BiotSavart. | |
file | EC2D1T3.h |
Definition file for class EC2D1T3. | |
file | EC2D2T3.h |
Definition file for class EC2D2T3. | |
file | Equa_Electromagnetics.h |
Definition file for class FE_Electromagnetics. | |
file | HelmholtzBT3.h |
Definition file for class HelmholtzBT3. | |
file | Equa.h |
Definition file for abstract class Equa. | |
file | Equation.h |
Definition file for class Equation. | |
file | Equa_Fluid.h |
Definition file for class Equa_Fluid. | |
file | NSP2DQ41.h |
Definition file for class NSP2DQ41. | |
file | TINS2DT3S.h |
Definition file for class TINS2DT3S. | |
file | TINS3DT4S.h |
Definition file for class TINS3DT4S. | |
file | Equa_Laplace.h |
Definition file for class Equa_Laplace. | |
file | Laplace1DL2.h |
Definition file for class Laplace1DL2. | |
file | Laplace1DL3.h |
Definition file for class Laplace1DL3. | |
file | Laplace2DT3.h |
Definition file for class Laplace2DT3. | |
file | Laplace2DT6.h |
Definition file for class Laplace2DT6. | |
file | Laplace3DT4.h |
Definition file for class Laplace3DT4. | |
file | SteklovPoincare2DBE.h |
Definition file for class SteklovPoincare2DBE. | |
file | Equa_Porous.h |
Definition file for class Equa_Porous. | |
file | WaterPorous1D.h |
Definition file for class WaterPorous1D. | |
file | WaterPorous2D.h |
Definition file for class WaterPorous2D. | |
file | Bar2DL2.h |
Definition file for class Bar2DL2. | |
file | Beam3DL2.h |
Definition file for class Beam3DL2. | |
file | Elas2DQ4.h |
Definition file for class Elas2DQ4. | |
file | Elas2DT3.h |
Definition file for class Elas2DT3. | |
file | Elas3DH8.h |
Definition file for class Elas3DH8. | |
file | Elas3DT4.h |
Definition file for class Elas3DT4. | |
file | Equa_Solid.h |
Definition file for class Equa_Solid. | |
file | DC1DL2.h |
Definition file for class DC1DL2. | |
file | DC2DT3.h |
Definition file for class DC2DT3. | |
file | DC2DT6.h |
Definition file for class DC2DT6. | |
file | DC3DAT3.h |
Definition file for class DC3DAT3. | |
file | DC3DT4.h |
Definition file for class DC3DT4. | |
file | Equa_Therm.h |
Definition file for class Equa_Therm. | |
file | PhaseChange.h |
Definition file for class PhaseChange and its parent abstract class. | |
file | Funct.h |
Definition file for class Funct. | |
file | IOField.h |
Definition file for class IOField. | |
file | IPF.h |
Definition file for class IPF. | |
file | output.h |
File that contains some output utility functions. | |
file | Prescription.h |
Definition file for class Prescription. | |
file | saveField.h |
Prototypes for functions to save mesh in various file formats. | |
file | saveField.h |
Prototypes for functions to save mesh in various file formats. | |
file | Tabulation.h |
Definition file for class Tabulation. | |
file | BMatrix.h |
Definition file for class BMatrix. | |
file | DMatrix.h |
Definition file for class DMatrix. | |
file | DSMatrix.h |
Definition file for abstract class DSMatrix. | |
file | LocalMatrix.h |
Definition file for class LocalMatrix. | |
file | LocalVect.h |
Definition file for class LocalVect. | |
file | Matrix.h |
Definition file for abstract class Matrix. | |
file | Point.h |
Definition file and implementation for class Point. | |
file | Point2D.h |
Definition file for class Point2D. | |
file | SkMatrix.h |
Definition file for class SkMatrix. | |
file | SkSMatrix.h |
Definition file for class SkSMatrix. | |
file | SpMatrix.h |
Definition file for class SpMatrix. | |
file | TrMatrix.h |
Definition file for class TrMatrix. | |
file | Domain.h |
Definition file for class Domain. | |
file | Edge.h |
Definition file for class Edge. | |
file | Element.h |
Definition file for class Element. | |
file | Figure.h |
Definition file for figure classes. | |
file | getMesh.h |
Definition file for mesh conversion functions. | |
file | Grid.h |
Definition file for class Grid. | |
file | Material.h |
Definition file for class Material. | |
file | Mesh.h |
Definition file for class Mesh. | |
file | MeshAdapt.h |
Definition file for class MeshAdapt. | |
file | MeshExtract.h |
Definition file for classes for extracting submeshes. | |
file | MeshUtil.h |
Definitions of utility functions for meshes. | |
file | Node.h |
Definition file for class Node. | |
file | saveMesh.h |
Prototypes for functions to save mesh in various file formats. | |
file | Side.h |
Definition file for class Side. | |
file | FEShape.h |
Definition file for class FEShape. | |
file | Hexa8.h |
Definition file for class Hexa8. | |
file | Line2.h |
Definition file for class Line2. | |
file | Line3.h |
Definition file for class Line3. | |
file | Penta6.h |
Definition file for class Penta6. | |
file | Quad4.h |
Definition file for class Quad4. | |
file | Tetra4.h |
Definition file for class Tetra4. | |
file | Triang3.h |
Definition file for class Triang3. | |
file | Triang6S.h |
Definition file for class Triang6S. | |
file | BiCG.h |
Solves an unsymmetric linear system of equations using the BiConjugate Gradient method. | |
file | BSpline.h |
Function to perform a B-spline interpolation. | |
file | CG.h |
Functions to solve a symmetric positive definite linear system of equations using the Conjugate Gradient method. | |
file | CGS.h |
Solves an unsymmetric linear system of equations using the Conjugate Gradient Squared method. | |
file | EigenProblemSolver.h |
Definition file for class EigenProblemSolver. | |
file | GMRes.h |
Function to solve a linear system of equations using the Generalized Minimum Residual method. | |
file | GS.h |
Function to solve a linear system of equations using the Gauss-Seidel method. | |
file | Integration.h |
Definition file for numerical integration class. | |
file | Jacobi.h |
Function to solve a linear system of equations using the Jacobi method. | |
file | MyNLAS.h |
Definition file for abstract class MyNLAS. | |
file | MyOpt.h |
Definition file for abstract class MyOpt. | |
file | ODESolver.h |
Definition file for class ODESolver. | |
file | Prec.h |
Definition file for preconditioning classes. | |
file | Richardson.h |
Function to solve a linear system of equations using the Richardson method. | |
file | SSOR.h |
Function to solve a linear system of equations using the Symmetric Successive Over Relaxation method. | |
file | TimeStepping.h |
Definition file for class TimeStepping. | |
file | constants.h |
File that contains some widely used constants. | |
file | Gauss.h |
Definition file for struct Gauss. | |
file | qksort.h |
File that contains template quick sorting function. | |
file | Timer.h |
Definition file for class Timer. | |
file | util.h |
File that contains various utility functions. | |
Classes | |
class | LocalVect< T_, N_ > |
Handles small size vectors like element vectors. 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 | 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 | Muscl |
Parent class for hyperbolic solvers with Muscl scheme. More... | |
class | Vect< T_ > |
To handle general purpose vectors. 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 | BiotSavart |
Class to compute the magnetic induction from the current density using the Biot-Savart formula. 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 | Equa_Electromagnetics< NEN_, NEE_, NSN_, NSE_ > |
Abstract class for Electromagnetics Equation classes. More... | |
class | HelmholtzBT3 |
Builds finite element arrays for Helmholtz equations in a bounded media using 3-Node triangles. More... | |
class | Equa |
Mother abstract class to describe equation. More... | |
class | Equation< NEN_, NEE_, NSN_, NSE_ > |
Abstract class for all equation classes. More... | |
class | Equa_Fluid< NEN_, NEE_, NSN_, NSE_ > |
Abstract class for Fluid Dynamics Equation classes. 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 | 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 | 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 | Equa_Laplace< NEN_, NEE_, NSN_, NSE_ > |
Abstract class for classes about the Laplace equation. 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 | SteklovPoincare2DBE |
Solver of the Steklov Poincare problem in 2-D geometries using piecewie constant boundary elemen. More... | |
class | Equa_Porous< NEN_, NEE_, NSN_, NSE_ > |
Abstract class for Porous Media Finite Element classes. More... | |
class | WaterPorous2D |
To solve water flow equations in porous media (1-D) More... | |
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 | 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 | Equa_Solid< NEN_, NEE_, NSN_, NSE_ > |
Abstract class for Solid Mechanics Finite Element classes. 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 | Equa_Therm< NEN_, NEE_, NSN_, NSE_ > |
Abstract class for Heat transfer Finite Element classes. More... | |
class | PhaseChange |
This class enables defining phase change laws for a given material. More... | |
class | Funct |
A simple class to parse real valued functions. 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 | 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 | Tabulation |
To read and manipulate tabulated functions. More... | |
class | BMatrix< T_ > |
To handle band matrices. More... | |
class | DMatrix< T_ > |
To handle dense matrices. More... | |
class | DSMatrix< T_ > |
To handle symmetric dense matrices. More... | |
class | SkMatrix< T_ > |
To handle square matrices in skyline storage format. More... | |
class | SkSMatrix< T_ > |
To handle symmetric matrices in skyline storage format. More... | |
class | SpMatrix< T_ > |
To handle matrices in sparse storage format. More... | |
class | LocalMatrix< T_, NR_, NC_ > |
Handles small size matrices like element matrices, with a priori known size. More... | |
class | Matrix< T_ > |
Virtual class to handle matrices for all storage formats. More... | |
class | Point< T_ > |
Defines a point with arbitrary type coordinates. More... | |
class | Point2D< T_ > |
Defines a 2-D point with arbitrary type coordinates. More... | |
class | TrMatrix< T_ > |
To handle tridiagonal matrices. More... | |
class | Domain |
To store and treat finite element geometric information. More... | |
class | Edge |
To describe an edge. More... | |
class | Element |
To store and treat finite element geometric information. More... | |
class | Figure |
To store and treat a figure (or shape) information. More... | |
class | Rectangle |
To store and treat a rectangular figure. More... | |
class | Brick |
To store and treat a brick (parallelepiped) figure. More... | |
class | Circle |
To store and treat a circular figure. More... | |
class | Sphere |
To store and treat a sphere. More... | |
class | Ellipse |
To store and treat an ellipsoidal figure. More... | |
class | Triangle |
To store and treat a triangle. More... | |
class | Polygon |
To store and treat a polygonal figure. More... | |
class | Grid |
To manipulate structured grids. 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 | Mesh |
To store and manipulate finite element meshes. More... | |
class | MeshAdapt |
To adapt mesh in function of given solution. More... | |
class | NodeList |
Class to construct a list of nodes having some common properties. More... | |
class | ElementList |
Class to construct a list of elements having some common properties. More... | |
class | SideList |
Class to construct a list of sides having some common properties. More... | |
class | EdgeList |
Class to construct a list of edges having some common properties. More... | |
class | Node |
To describe a node. More... | |
class | Partition |
To partition a finite element mesh into balanced submeshes. More... | |
class | Side |
To store and treat finite element sides (edges in 2-D or faces in 3-D) More... | |
class | FEShape |
Parent class from which inherit all finite element shape classes. More... | |
class | triangle |
Defines a triangle. The reference element is the rectangle triangle with two unit edges. More... | |
class | Hexa8 |
Defines a three-dimensional 8-node hexahedral finite element using Q1-isoparametric interpolation. 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 | 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 | Quad4 |
Defines a 4-node quadrilateral finite element using Q1 isoparametric interpolation. More... | |
class | Tetra4 |
Defines a three-dimensional 4-node tetrahedral finite element using P1 interpolation. 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 | Prec< T_ > |
To set a preconditioner. 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 | Integration |
Class for numerical integration methods. More... | |
class | Iter< T_ > |
Class to drive an iterative process. More... | |
class | LinearSolver |
Class to solve systems of linear equations by direct or iterative methods. 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 | ODESolver |
To solve a system of ordinary differential equations. 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 | Gauss |
Calculate data for Gauss integration. More... | |
class | Timer |
To handle elapsed time counting. More... | |
Enumerations | |
enum | PDE_Terms { CONSISTENT_MASS = 0x00001000 , LUMPED_MASS = 0x00002000 , MASS = 0x00002000 , CAPACITY = 0x00004000 , CONSISTENT_CAPACITY = 0x00004000 , LUMPED_CAPACITY = 0x00008000 , VISCOSITY = 0x00010000 , STIFFNESS = 0x00020000 , DIFFUSION = 0x00040000 , MOBILITY = 0x00040000 , CONVECTION = 0x00080000 , DEVIATORIC = 0x00100000 , DILATATION = 0x00200000 , ELECTRIC = 0x00400000 , MAGNETIC = 0x00800000 , LOAD = 0x01000000 , HEAT_SOURCE = 0x02000000 , BOUNDARY_TRACTION = 0x04000000 , HEAT_FLUX = 0x08000000 , CONTACT = 0x10000000 , BUOYANCY = 0x20000000 , LORENTZ_FORCE = 0x40000000 } |
enum | Analysis { STATIONARY = 0 , STEADY_STATE = 0 , TRANSIENT = 1 , TRANSIENT_ONE_STEP = 2 , OPTIMIZATION = 3 , EIGEN = 4 } |
enum | TimeScheme { NONE = 0 , FORWARD_EULER = 1 , BACKWARD_EULER = 2 , CRANK_NICOLSON = 3 , HEUN = 4 , NEWMARK = 5 , LEAP_FROG = 6 , ADAMS_BASHFORTH = 7 , AB2 = 7 , RUNGE_KUTTA = 8 , 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 | AccessType |
Enumerated values for file access type. | |
enum | MatrixType { DENSE = 1 , SKYLINE = 2 , SPARSE = 4 , DIAGONAL = 8 , TRIDIAGONAL = 16 , BAND = 32 , SYMMETRIC = 64 , UNSYMMETRIC = 128 , IDENTITY = 256 } |
enum | Iteration { DIRECT_SOLVER = 0 , CG_SOLVER = 1 , CGS_SOLVER = 2 , BICG_SOLVER = 3 , BICG_STAB_SOLVER = 4 , GMRES_SOLVER = 5 } |
Choose iterative solver for the linear system. More... | |
enum | Preconditioner { IDENT_PREC = 0 , DIAG_PREC = 1 , DILU_PREC = 2 , ILU_PREC = 3 , SSOR_PREC = 4 } |
Choose preconditioner for the linear system. More... | |
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 } |
enum | IntegrationScheme { LEFT_RECTANGLE = 0 , RIGHT_RECTANGLE = 1 , MID_RECTANGLE = 2 , TRAPEZOIDAL = 3 , SIMPSON = 4 , GAUSS_LEGENDRE = 5 } |
Functions | |
T_ * | A () |
Return element matrix. More... | |
T_ * | b () |
Return element right-hand side. More... | |
T_ * | Prev () |
Return element previous vector. More... | |
IOField () | |
Default constructor. | |
IOField (const string &file, AccessType access, bool compact=true) | |
Constructor using file name. More... | |
IOField (const string &mesh_file, const string &file, Mesh &ms, AccessType access, bool compact=true) | |
Constructor using file name, mesh file and mesh. More... | |
IOField (const string &file, Mesh &ms, AccessType access, bool compact=true) | |
Constructor using file name and mesh. More... | |
IOField (const string &file, AccessType access, const string &name) | |
Constructor using file name and field name. More... | |
~IOField () | |
Destructor. | |
void | setMeshFile (const string &file) |
Set mesh file. More... | |
void | open () |
Open file. More... | |
void | open (const string &file, AccessType access) |
Open file. More... | |
void | close () |
Close file. | |
void | put (Mesh &ms) |
Store mesh in file. | |
void | put (const Vect< real_t > &v) |
Store Vect instance v in file. More... | |
real_t | get (Vect< real_t > &v) |
Get Vect v instance from file. More... | |
int | get (Vect< real_t > &v, const string &name) |
Get Vect v instance from file if the field has the given name. More... | |
int | get (DMatrix< real_t > &A, const string &name) |
Get DMatrix A instance from file if the field has the given name. More... | |
int | get (DSMatrix< real_t > &A, const string &name) |
Get DSMatrix A instance from file if the field has the given name. More... | |
int | get (Vect< real_t > &v, real_t t) |
Get Vect v instance from file corresponding to a specific time value. More... | |
void | saveGMSH (string output_file, string mesh_file) |
Save field vectors in a file using GMSH format. More... | |
ostream & | operator<< (ostream &s, const complex_t &x) |
Output a complex number. More... | |
ostream & | operator<< (ostream &s, const std::string &c) |
Output a string. More... | |
template<class T_ > | |
ostream & | operator<< (ostream &s, const vector< T_ > &v) |
Output a vector instance. More... | |
template<class T_ > | |
ostream & | operator<< (ostream &s, const std::list< T_ > &l) |
Output a vector instance. More... | |
template<class T_ > | |
ostream & | operator<< (ostream &s, const std::pair< T_, T_ > &a) |
Output a pair instance. More... | |
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. More... | |
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. More... | |
void | saveGnuplot (Mesh &mesh, string input_file, string output_file, int f=1) |
Save a vector to an input Gnuplot file. More... | |
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. More... | |
void | saveVTK (Mesh &mesh, string input_file, string output_file, int f=1) |
Save a vector to an output VTK file. More... | |
void | saveGmsh (Mesh &mesh, string input_file, string output_file, int f=1) |
Save a vector to an output Gmsh file. More... | |
Tabulation () | |
Default constructor. | |
Tabulation (string file) | |
Constructor using file name. | |
~Tabulation () | |
Destructor. | |
void | setFile (string file) |
Set file name. More... | |
real_t | getValue (string funct, real_t x) |
Return the calculated value of the function. More... | |
real_t | getDerivative (string funct, real_t x) |
Return the derivative of the function at a given point. More... | |
real_t | getValue (string funct, real_t x, real_t y) |
Return the calculated value of the function. More... | |
real_t | getValue (string funct, real_t x, real_t y, real_t z) |
Return the calculated value of the function. More... | |
real_t | getValue (string funct, real_t x, real_t y, real_t z, real_t t) |
Return the calculated value of the function. More... | |
size_t | getNbFuncts () const |
Get the Number of read functions. More... | |
size_t | getNbVar (size_t n) const |
Get number of variables of a given function. More... | |
string | getFunctName (size_t n) const |
Get the name of a read function. More... | |
size_t | getSize (size_t n, size_t i) const |
Get number of points defining tabulation. More... | |
real_t | getMinVar (size_t n, size_t i) const |
Get minimal value of a variable. More... | |
real_t | getMaxVar (size_t n, size_t i) const |
Get maximal value of a variable. More... | |
ostream & | operator<< (ostream &s, const Tabulation &t) |
Output Tabulated function data. | |
template<class T_ > | |
BMatrix< T_ > | operator* (T_ a, const BMatrix< T_ > &A) |
Operator * (Premultiplication of matrix by constant) More... | |
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. More... | |
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. More... | |
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 ) More... | |
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 ) More... | |
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) More... | |
template<class T_ , size_t N_> | |
LocalVect< T_, N_ > | operator- (const LocalVect< T_, N_ > &x, const LocalVect< T_, N_ > &y) |
Operator - (Subtract two vectors) More... | |
template<class T_ , size_t N_> | |
LocalVect< T_, N_ > | operator* (T_ a, const LocalVect< T_, N_ > &x) |
Operator * (Premultiplication of vector by constant) More... | |
template<class T_ , size_t N_> | |
LocalVect< T_, N_ > | operator/ (T_ a, const LocalVect< T_, N_ > &x) |
Operator / (Division of vector by constant) More... | |
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_> | |
ostream & | operator<< (ostream &s, const LocalVect< T_, N_ > &v) |
Output vector in output stream. | |
template<class T_ > | |
Point< T_ > | operator+ (const Point< T_ > &a, const Point< T_ > &b) |
Operator + More... | |
template<class T_ > | |
Point< T_ > | operator+ (const Point< T_ > &a, const T_ &x) |
Operator + More... | |
template<class T_ > | |
Point< T_ > | operator- (const Point< T_ > &a) |
Unary Operator - More... | |
template<class T_ > | |
Point< T_ > | operator- (const Point< T_ > &a, const Point< T_ > &b) |
Operator - More... | |
template<class T_ > | |
Point< T_ > | operator- (const Point< T_ > &a, const T_ &x) |
Operator - More... | |
template<class T_ > | |
Point< T_ > | operator* (const T_ &a, const Point< T_ > &b) |
Operator * More... | |
template<class T_ > | |
Point< T_ > | operator* (const int &a, const Point< T_ > &b) |
Operator *. More... | |
template<class T_ > | |
Point< T_ > | operator* (const Point< T_ > &b, const T_ &a) |
Operator / More... | |
template<class T_ > | |
Point< T_ > | operator* (const Point< T_ > &b, const int &a) |
Operator * More... | |
template<class T_ > | |
T_ | operator* (const Point< T_ > &a, const Point< T_ > &b) |
Operator * More... | |
template<class T_ > | |
Point< T_ > | operator/ (const Point< T_ > &b, const T_ &a) |
Operator / More... | |
Point< real_t > | CrossProduct (const Point< real_t > &lp, const Point< real_t > &rp) |
Return Cross product of two vectors lp and rp | |
template<class T_ > | |
std::ostream & | operator<< (std::ostream &s, const Point< T_ > &a) |
Output point coordinates. More... | |
template<class T_ > | |
bool | operator== (const Point2D< T_ > &a, const Point2D< T_ > &b) |
Operator ==. More... | |
template<class T_ > | |
Point2D< T_ > | operator+ (const Point2D< T_ > &a, const Point2D< T_ > &b) |
Operator +. More... | |
template<class T_ > | |
Point2D< T_ > | operator+ (const Point2D< T_ > &a, const T_ &x) |
Operator +. More... | |
template<class T_ > | |
Point2D< T_ > | operator- (const Point2D< T_ > &a) |
Unary Operator - More... | |
template<class T_ > | |
Point2D< T_ > | operator- (const Point2D< T_ > &a, const Point2D< T_ > &b) |
Operator - More... | |
template<class T_ > | |
Point2D< T_ > | operator- (const Point2D< T_ > &a, const T_ &x) |
Operator - More... | |
template<class T_ > | |
Point2D< T_ > | operator* (const T_ &a, const Point2D< T_ > &b) |
Operator *. More... | |
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 / More... | |
template<class T_ > | |
Point2D< T_ > | operator* (const Point2D< T_ > &b, const int &a) |
Operator * More... | |
template<class T_ > | |
T_ | operator* (const Point2D< T_ > &b, const Point2D< T_ > &a) |
Operator *. More... | |
template<class T_ > | |
Point2D< T_ > | operator/ (const Point2D< T_ > &b, const T_ &a) |
Operator / More... | |
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 More... | |
real_t | Distance (const Point2D< real_t > &a, const Point2D< real_t > &b) |
Return euclidean distance between points a and b More... | |
template<class T_ > | |
std::ostream & | operator<< (std::ostream &s, const Point2D< T_ > &a) |
Output point coordinates. More... | |
template<class T_ > | |
Vect< T_ > | operator* (const SkMatrix< T_ > &A, const Vect< T_ > &b) |
Operator * (Multiply vector by matrix and return resulting vector. More... | |
template<class T_ > | |
ostream & | operator<< (ostream &s, const SkMatrix< T_ > &a) |
Output matrix in output stream. More... | |
template<class T_ > | |
Vect< T_ > | operator* (const SkSMatrix< T_ > &A, const Vect< T_ > &b) |
Operator * (Multiply vector by matrix and return resulting vector. More... | |
template<class T_ > | |
ostream & | operator<< (ostream &s, const SkSMatrix< T_ > &a) |
Output matrix in output stream. More... | |
SpMatrix () | |
Default constructor. More... | |
SpMatrix (size_t nr, size_t nc) | |
Constructor that initializes current instance as a dense matrix. More... | |
SpMatrix (size_t size, int is_diagonal=false) | |
Constructor that initializes current instance as a dense matrix. More... | |
SpMatrix (Mesh &mesh, size_t dof=0, int is_diagonal=false) | |
Constructor using a Mesh instance. More... | |
SpMatrix (const Vect< RC > &I, int opt=1) | |
Constructor for a square matrix using non zero row and column indices. More... | |
SpMatrix (const Vect< RC > &I, const Vect< T_ > &a, int opt=1) | |
Constructor for a square matrix using non zero row and column indices. More... | |
SpMatrix (size_t nr, size_t nc, const vector< size_t > &row_ptr, const vector< size_t > &col_ind) | |
Constructor for a rectangle matrix. More... | |
SpMatrix (size_t nr, size_t nc, const vector< size_t > &row_ptr, const vector< size_t > &col_ind, const vector< T_ > &a) | |
Constructor for a rectangle matrix. More... | |
SpMatrix (const vector< size_t > &row_ptr, const vector< size_t > &col_ind) | |
Constructor for a rectangle matrix. More... | |
SpMatrix (const vector< size_t > &row_ptr, const vector< size_t > &col_ind, const vector< T_ > &a) | |
Constructor for a rectangle matrix. More... | |
SpMatrix (const SpMatrix &m) | |
Copy constructor. | |
~SpMatrix () | |
Destructor. | |
void | Identity () |
Define matrix as identity. | |
void | Dense () |
Define matrix as a dense one. | |
void | Diagonal () |
Define matrix as a diagonal one. | |
void | Diagonal (const T_ &a) |
Define matrix as a diagonal one with diagonal entries equal to a | |
void | Laplace1D (size_t n, real_t h) |
Sets the matrix as the one for the Laplace equation in 1-D. More... | |
void | Laplace2D (size_t nx, size_t ny) |
Sets the matrix as the one for the Laplace equation in 2-D. More... | |
void | setMesh (Mesh &mesh, size_t dof=0) |
Determine mesh graph and initialize matrix. More... | |
void | setOneDOF () |
Activate 1-DOF per node option. | |
void | setSides () |
Activate Sides option. | |
void | setDiag () |
Store diagonal entries in a separate internal vector. | |
void | DiagPrescribe (Mesh &mesh, Vect< T_ > &b, const Vect< T_ > &u) |
Impose by a diagonal method an essential boundary condition. More... | |
void | DiagPrescribe (Vect< T_ > &b, const Vect< T_ > &u) |
Impose by a diagonal method an essential boundary condition using the Mesh instance provided by the constructor. More... | |
void | setSize (size_t size) |
Set size of matrix (case where it's a square matrix). More... | |
void | setSize (size_t nr, size_t nc) |
Set size (number of rows) of matrix. More... | |
void | setGraph (const Vect< RC > &I, int opt=1) |
Set graph of matrix by giving a vector of its nonzero entries. More... | |
Vect< T_ > | getRow (size_t i) const |
Get i -th row vector. | |
Vect< T_ > | getColumn (size_t j) const |
Get j -th column vector. | |
T_ & | operator() (size_t i, size_t j) |
Operator () (Non constant version) More... | |
T_ | operator() (size_t i, size_t j) const |
Operator () (Constant version) More... | |
T_ | operator() (size_t i) const |
Operator () with one argument (Constant version) More... | |
T_ | operator[] (size_t i) const |
Operator [] (Constant version). More... | |
Vect< T_ > | operator* (const Vect< T_ > &x) const |
Operator * to multiply matrix by a vector. More... | |
SpMatrix< T_ > & | operator*= (const T_ &a) |
Operator *= to premultiply matrix by a constant. More... | |
void | getMesh (Mesh &mesh) |
Get mesh instance whose reference will be stored in current instance of SpMatrix. | |
void | Mult (const Vect< T_ > &x, Vect< T_ > &y) const |
Multiply matrix by vector and save in another one. More... | |
void | MultAdd (const Vect< T_ > &x, Vect< T_ > &y) const |
Multiply matrix by vector x and add to y . More... | |
void | MultAdd (T_ a, const Vect< T_ > &x, Vect< T_ > &y) const |
Multiply matrix by vector a*x and add to y . More... | |
void | TMult (const Vect< T_ > &x, Vect< T_ > &y) const |
Multiply transpose of matrix by vector x and save in y . More... | |
void | Axpy (T_ a, const SpMatrix< T_ > &m) |
Add to matrix the product of a matrix by a scalar. More... | |
void | Axpy (T_ a, const Matrix< T_ > *m) |
Add to matrix the product of a matrix by a scalar. More... | |
void | set (size_t i, size_t j, const T_ &val) |
Assign a value to an entry of the matrix. More... | |
void | add (size_t i, size_t j, const T_ &val) |
Add a value to an entry of the matrix. More... | |
void | operator= (const T_ &x) |
Operator =. More... | |
size_t | getColInd (size_t i) const |
Return storage information. More... | |
size_t | getRowPtr (size_t i) const |
Return Row pointer at position i . | |
int | solve (const Vect< T_ > &b, Vect< T_ > &x, bool fact=false) |
Solve the linear system of equations. More... | |
void | setSolver (Iteration solver=CG_SOLVER, Preconditioner prec=DIAG_PREC, int max_it=1000, real_t toler=1.e-8) |
Choose solver and preconditioner for an iterative procedure. More... | |
void | clear () |
brief Set all matrix entries to zero | |
T_ * | get () const |
Return C-Array. More... | |
T_ | get (size_t i, size_t j) const |
Return entry (i,j) of matrix if this one is stored, 0 otherwise. More... | |
void | add (size_t i, const T_ &val) |
Add val to entry i . | |
template<class T_ > | |
Vect< T_ > | operator* (const SpMatrix< T_ > &A, const Vect< T_ > &b) |
Operator * (Multiply vector by matrix and return resulting vector. More... | |
template<class T_ > | |
ostream & | operator<< (ostream &s, const SpMatrix< T_ > &A) |
Output matrix in output stream. More... | |
TrMatrix () | |
Default constructor. More... | |
TrMatrix (size_t size) | |
Constructor for a tridiagonal matrix with size rows. | |
TrMatrix (const TrMatrix &m) | |
Copy Constructor. | |
~TrMatrix () | |
Destructor. | |
void | Identity () |
Define matrix as identity matrix. | |
void | Diagonal () |
Define matrix as a diagonal one. | |
void | Diagonal (const T_ &a) |
Define matrix as a diagona one and assign value a to all diagonal entries. | |
void | Laplace1D (real_t h) |
Define matrix as the one of 3-point finite difference discretization of the second derivative. More... | |
void | setSize (size_t size) |
Set size (number of rows) of matrix. More... | |
void | MultAdd (const Vect< T_ > &x, Vect< T_ > &y) const |
Multiply matrix by vector x and add result to y . | |
void | MultAdd (T_ a, const Vect< T_ > &x, Vect< T_ > &y) const |
Multiply matrix by vector a*x and add result to y . | |
void | Mult (const Vect< T_ > &x, Vect< T_ > &y) const |
Multiply matrix by vector x and save result in y . | |
void | TMult (const Vect< T_ > &x, Vect< T_ > &y) const |
Multiply transpose of matrix by vector x and save result in y . | |
void | Axpy (T_ a, const TrMatrix< T_ > &m) |
Add to matrix the product of a matrix by a scalar. More... | |
void | Axpy (T_ a, const Matrix< T_ > *m) |
Add to matrix the product of a matrix by a scalar. More... | |
void | set (size_t i, size_t j, const T_ &val) |
Assign constant val to an entry (i,j) of the matrix. | |
void | add (size_t i, size_t j, const T_ &val) |
Add constant val value to an entry (i,j) of the matrix. | |
void | add (size_t i, const T_ &val) |
Add val to entry i . | |
T_ | operator() (size_t i, size_t j) const |
Operator () (Constant version). More... | |
T_ & | operator() (size_t i, size_t j) |
Operator () (Non constant version). More... | |
TrMatrix< T_ > & | operator= (const TrMatrix< T_ > &m) |
Operator =. More... | |
TrMatrix< T_ > & | operator= (const T_ &x) |
Operator = Assign matrix to identity times x . | |
TrMatrix< T_ > & | operator*= (const T_ &x) |
Operator *=. More... | |
int | solve (Vect< T_ > &b, bool fact=true) |
Solve a linear system with current matrix (forward and back substitution). More... | |
int | solve (const Vect< T_ > &b, Vect< T_ > &x, bool fact=false) |
Solve a linear system with current matrix (forward and back substitution). More... | |
T_ * | get () const |
Return C-Array. | |
T_ | get (size_t i, size_t j) const |
Return entry (i,j) of matrix. | |
template<class T_ > | |
Vect< T_ > | operator* (const TrMatrix< T_ > &A, const Vect< T_ > &b) |
Operator * (Multiply vector by matrix and return resulting vector. More... | |
template<class T_ > | |
TrMatrix< T_ > | operator* (T_ a, const TrMatrix< T_ > &A) |
Operator * (Premultiplication of matrix by constant) More... | |
template<class T_ > | |
ostream & | operator<< (ostream &s, const TrMatrix< T_ > &A) |
Output matrix in output stream. More... | |
template<class T_ > | |
Vect< T_ > | operator+ (const Vect< T_ > &x, const Vect< T_ > &y) |
Operator + (Addition of two instances of class Vect) More... | |
template<class T_ > | |
Vect< T_ > | operator- (const Vect< T_ > &x, const Vect< T_ > &y) |
Operator - (Difference between two vectors of class Vect) More... | |
template<class T_ > | |
Vect< T_ > | operator* (const T_ &a, const Vect< T_ > &x) |
Operator * (Premultiplication of vector by constant) More... | |
template<class T_ > | |
Vect< T_ > | operator* (const Vect< T_ > &x, const T_ &a) |
Operator * (Postmultiplication of vector by constant) More... | |
template<class T_ > | |
Vect< T_ > | operator/ (const Vect< T_ > &x, const T_ &a) |
Operator / (Divide vector entries by constant) More... | |
template<class T_ > | |
T_ | Dot (const Vect< T_ > &x, const Vect< T_ > &y) |
Calculate dot product of two vectors. More... | |
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 More... | |
template<class T_ > | |
ostream & | operator<< (ostream &s, const Vect< T_ > &v) |
Output vector in output stream. More... | |
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 set subtraction of two Figure instances. More... | |
Grid () | |
Construct a default grid with 10 intervals in each direction. | |
Grid (real_t xm, real_t xM, size_t npx) | |
Construct a 1-D structured grid given its extremal coordinates and number of intervals. More... | |
Grid (real_t xm, real_t xM, real_t ym, real_t yM, size_t npx, size_t npy) | |
Construct a 2-D structured grid given its extremal coordinates and number of intervals. More... | |
Grid (Point< real_t > m, Point< real_t > M, size_t npx, size_t npy) | |
Construct a 2-D structured grid given its extremal coordinates and number of intervals. More... | |
Grid (real_t xm, real_t xM, real_t ym, real_t yM, real_t zm, real_t zM, size_t npx, size_t npy, size_t npz) | |
Construct a 3-D structured grid given its extremal coordinates and number of intervals. More... | |
Grid (Point< real_t > m, Point< real_t > M, size_t npx, size_t npy, size_t npz) | |
Construct a 3-D structured grid given its extremal coordinates and number of intervals. More... | |
~Grid () | |
Destructor. | |
void | setXMin (const Point< real_t > &x) |
Set min. coordinates of the domain. More... | |
void | setXMax (const Point< real_t > &x) |
void | setDomain (real_t xmin, real_t xmax) |
Set Dimensions of the domain: 1-D case. More... | |
void | setDomain (real_t xmin, real_t xmax, real_t ymin, real_t ymax) |
Set Dimensions of the domain: 2-D case. More... | |
void | setDomain (real_t xmin, real_t xmax, real_t ymin, real_t ymax, real_t zmin, real_t zmax) |
Set Dimensions of the domain: 3-D case. More... | |
void | setDomain (Point< real_t > xmin, Point< real_t > xmax) |
Set Dimensions of the domain: 3-D case. More... | |
const Point< real_t > & | getXMin () const |
Return min. Coordinates of the domain. | |
const Point< real_t > & | getXMax () const |
Return max. Coordinates of the domain. | |
void | setN (size_t nx, size_t ny=0, size_t nz=0) |
Set number of grid intervals in the x , y and z -directions. More... | |
void | setNbDOF (size_t n) |
Set number of degrees of freedom for a node [Default: 1 ]. | |
size_t | getNx () const |
Return number of grid intervals in the x -direction. | |
size_t | getNy () const |
Return number of grid intervals in the y -direction. More... | |
size_t | getNz () const |
Return number of grid intervals in the z-direction. More... | |
real_t | getHx () const |
Return grid size in the x-direction. | |
real_t | getHy () const |
Return grid size in the y-direction. | |
real_t | getHz () const |
Return grid size in the z-direction. | |
Point< real_t > | getCoord (size_t i) const |
Return coordinates a point with label i in a 1-D grid. | |
Point< real_t > | getCoord (size_t i, size_t j) const |
Return coordinates a point with label (i,j) in a 2-D grid. | |
Point< real_t > | getCoord (size_t i, size_t j, size_t k) const |
Return coordinates a point with label (i,j,k) in a 3-D grid. | |
size_t | getNbNodes () const |
Return total number of grid nodes. | |
size_t | getNbDOF () const |
Return total number of dof. | |
real_t | getX (size_t i) const |
Return x-coordinate of point with index i | |
real_t | getY (size_t j) const |
Return y-coordinate of point with index j | |
real_t | getZ (size_t k) const |
Return z-coordinate of point with index k | |
Point2D< real_t > | getXY (size_t i, size_t j) const |
Return coordinates of point with indices (i,j) | |
Point< real_t > | getXYZ (size_t i, size_t j, size_t k) const |
Return coordinates of point with indices (i,j,k) | |
real_t | getCenter (size_t i) const |
Return coordinates of center of a 1-D cell with indices i , i+1 | |
Point< real_t > | getCenter (size_t i, size_t j) const |
Return coordinates of center of a 2-D cell with indices (i,j) , (i+1,j) , (i+1,j+1) , (i,j+1) | |
Point< real_t > | getCenter (size_t i, size_t j, size_t k) const |
Return coordinates of center of a 3-D cell with indices (i,j,k) , (i+1,j,k) , (i+1,j+1,k) , (i,j+1,k) , (i,j,k+1) , (i+1,j,k+1) , (i+1,j+1,k+1) , (i,j+1,k+1) | |
void | setCode (string exp, int code) |
Set a code for some grid points. More... | |
void | setCode (int side, int code) |
Set a code for grid points on sides. More... | |
int | getCode (int side) const |
Return code for a side number. More... | |
int | getCode (size_t i, size_t j) const |
Return code for a grid point. More... | |
int | getCode (size_t i, size_t j, size_t k) const |
Return code for a grid point. More... | |
size_t | getDim () const |
Return space dimension. | |
void | Deactivate (size_t i) |
Change state of a cell from active to inactive (1-D grid) More... | |
void | Deactivate (size_t i, size_t j) |
Change state of a cell from active to inactive (2-D grid) More... | |
void | Deactivate (size_t i, size_t j, size_t k) |
Change state of a cell from active to inactive (2-D grid) More... | |
int | isActive (size_t i) const |
Say if cell is active or not (1-D grid) More... | |
int | isActive (size_t i, size_t j) const |
Say if cell is active or not (2-D grid) More... | |
int | isActive (size_t i, size_t j, size_t k) const |
Say if cell is active or not (3-D grid) More... | |
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. More... | |
ostream & | operator<< (ostream &s, const MeshAdapt &a) |
Output MeshAdapt class data. | |
ostream & | operator<< (ostream &s, const NodeList &nl) |
Output NodeList instance. More... | |
ostream & | operator<< (ostream &s, const ElementList &el) |
Output ElementList instance. More... | |
ostream & | operator<< (ostream &s, const SideList &sl) |
Output SideList instance. More... | |
ostream & | operator<< (ostream &s, const EdgeList &el) |
Output EdgeList instance. More... | |
size_t | Label (const Element &el) |
Return label of a given element. More... | |
size_t | Label (const Side &sd) |
Return label of a given side. More... | |
size_t | Label (const Edge &ed) |
Return label of a given edge. More... | |
size_t | NodeLabel (const Side &sd, size_t n) |
Return global label of node local label in side. More... | |
int | Code (const Element &el) |
Return code of a given element. More... | |
int | Code (const Side &sd, size_t i=1) |
Return code of a given (degree of freedom of) side. More... | |
bool | operator== (const Element &el1, const Element &el2) |
Check equality between 2 elements. More... | |
bool | operator== (const Side &sd1, const Side &sd2) |
Check equality between 2 sides. More... | |
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. More... | |
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. More... | |
ostream & | operator<< (ostream &s, const Node &nd) |
Output node data. More... | |
void | saveGmsh (const string &file, const Mesh &mesh) |
This function outputs a Mesh instance in a file in Gmsh format. More... | |
void | saveGnuplot (const string &file, const Mesh &mesh) |
This function outputs a Mesh instance in a file in Gmsh format. More... | |
void | saveTecplot (const string &file, const Mesh &mesh) |
This function outputs a Mesh instance in a file in Tecplot format. More... | |
void | saveVTK (const string &file, const Mesh &mesh) |
This function outputs a Mesh instance in a file in VTK format. More... | |
ostream & | operator<< (ostream &s, const Side &sd) |
Output side data. More... | |
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. More... | |
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. More... | |
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. More... | |
ostream & | operator<< (ostream &s, const EigenProblemSolver &es) |
Output eigenproblem information. | |
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. More... | |
ostream & | operator<< (ostream &s, const ODESolver &de) |
Output differential system information. | |
ostream & | operator<< (ostream &s, TimeStepping &ts) |
Output differential system information. More... | |
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. More... | |
real_t | Sgn (real_t a, real_t b) |
Return |a| if b>0 , -|a| if not. | |
real_t | Abs2 (real_t a) |
Return square of real number 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 | |
complex_t | Conjg (complex_t a) |
Return complex conjugate of complex number a | |
template<class T_ > | |
const T_ & | Max (const T_ &a, const T_ &b) |
Return maximum 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 | |
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 More... | |
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 More... | |
template<class T_ > | |
void | Scale (T_ a, vector< T_ > &x) |
Mutiply vector x by a More... | |
template<class T_ > | |
void | Xpy (const vector< T_ > &x, vector< T_ > &y) |
Add vector x to y More... | |
template<class T_ > | |
void | Axpy (size_t n, T_ a, T_ *x, T_ *y) |
Multiply array x by a and add result to y More... | |
template<class T_ > | |
void | Axpy (T_ a, const vector< T_ > &x, vector< T_ > &y) |
Multiply vector x by a and add result to y More... | |
template<class T_ > | |
void | Copy (size_t n, T_ *x, T_ *y) |
Copy array x to y n is the arrays size. | |
template<class T_ > | |
T_ | Dot (size_t n, T_ *x, T_ *y) |
Return dot product of arrays x and y More... | |
real_t | Dot (const vector< real_t > &x, const vector< real_t > &y) |
Return dot product of vectors x and y . More... | |
real_t | operator* (const vector< real_t > &x, const vector< real_t > &y) |
Operator * (Dot product of 2 vector instances) More... | |
template<class T_ > | |
T_ | Dot (const Point< T_ > &x, const Point< T_ > &y) |
Return dot product of x and y | |
template<class T_ > | |
void | clear (Vect< T_ > &v) |
Assign 0 to all entries of a vector. More... | |
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 | |
Iter () | |
Default Constructor. More... | |
Iter (int max_it, real_t toler) | |
Constructor with iteration parameters. More... | |
bool | check (Vect< T_ > &u, const Vect< T_ > &v, int opt=2) |
Check convergence. More... | |
bool | check (T_ &u, const T_ &v) |
Check convergence for a scalar case (one equation) More... | |
Detailed Description
Enumeration Type Documentation
◆ Analysis
enum Analysis |
◆ BCType
enum BCType |
To select special boundary conditions.
◆ EigenMethod
enum EigenMethod |
◆ FEType
enum FEType |
Choose Finite Element Type
◆ IntegrationScheme
enum IntegrationScheme |
Choose numerical integration scheme
◆ Iteration
enum Iteration |
◆ MatrixType
enum MatrixType |
◆ PDE_Terms
enum PDE_Terms |
Enumerate variable that selects various terms in partial differential equations
◆ Preconditioner
enum Preconditioner |
◆ TimeScheme
enum TimeScheme |
Selects Time integration scheme
Function Documentation
◆ Grid() [1/5]
Construct a 2-D structured grid given its extremal coordinates and number of intervals.
- Parameters
-
[in] m Minimal coordinate value [in] M Maximal coordinate value [in] npx Number of grid intervals in the x
-direction[in] npy Number of grid intervals in the y
-direction
◆ Grid() [2/5]
Construct a 3-D structured grid given its extremal coordinates and number of intervals.
- Parameters
-
[in] m Minimal coordinate value [in] M Maximal coordinate value [in] npx Number of grid intervals in the x
-direction[in] npy Number of grid intervals in the y
-direction[in] npz Number of grid intervals in the z
-direction
◆ Grid() [3/5]
Grid | ( | real_t | xm, |
real_t | xM, | ||
real_t | ym, | ||
real_t | yM, | ||
real_t | zm, | ||
real_t | zM, | ||
size_t | npx, | ||
size_t | npy, | ||
size_t | npz | ||
) |
Construct a 3-D structured grid given its extremal coordinates and number of intervals.
- Parameters
-
[in] xm Minimal value for x
[in] xM Maximal value for x
[in] ym Minimal value for y
[in] yM Maximal value for y
[in] zm Minimal value for z
[in] zM Maximal value for z
[in] npx Number of grid intervals in the x
-direction[in] npy Number of grid intervals in the y
-direction[in] npz Number of grid intervals in the z
-direction
◆ Grid() [4/5]
Construct a 2-D structured grid given its extremal coordinates and number of intervals.
- Parameters
-
[in] xm Minimal value for x
[in] xM Maximal value for x
[in] ym Minimal value for y
[in] yM Maximal value for y
[in] npx Number of grid intervals in the x
-direction[in] npy Number of grid intervals in the y
-direction
◆ Grid() [5/5]
Construct a 1-D structured grid given its extremal coordinates and number of intervals.
- Parameters
-
[in] xm Minimal value for x
[in] xM Maximal value for x
[in] npx Number of grid intervals in the x
-direction
◆ IOField() [1/4]
IOField | ( | const string & | file, |
AccessType | access, | ||
bool | compact = true |
||
) |
Constructor using file name.
- Parameters
-
[in] file File name. [in] access Access code. This number is to be chosen among two enumerated values: -
IOField::IN
to read the file -
IOField::OUT
to write on it
[in] compact Flag to choose a compact storage or not [Default: true
] -
◆ IOField() [2/4]
IOField | ( | const string & | file, |
AccessType | access, | ||
const string & | name | ||
) |
Constructor using file name and field name.
- Parameters
-
[in] file File that contains field stored or to store [in] access Access code. This number is to be chosen among two enumerated values: -
IOField::IN
to read the file -
IOField::OUT
to write on it
[in] name Seek a specific field with given name -
◆ IOField() [3/4]
IOField | ( | const string & | file, |
Mesh & | ms, | ||
AccessType | access, | ||
bool | compact = true |
||
) |
Constructor using file name and mesh.
- Parameters
-
[in] file File that contains field stored or to store [in] ms Mesh instance [in] access Access code. This number is to be chosen among two enumerated values: -
IOField::IN
to read the file -
IOField::OUT
to write on it
[in] compact Flag to choose a compact storage or not [Default: true
] -
◆ IOField() [4/4]
IOField | ( | const string & | mesh_file, |
const string & | file, | ||
Mesh & | ms, | ||
AccessType | access, | ||
bool | compact = true |
||
) |
Constructor using file name, mesh file and mesh.
- Parameters
-
[in] mesh_file File containing mesh [in] file File that contains field stored or to store [in] ms Mesh instance [in] access Access code. This number is to be chosen among two enumerated values: -
IOField::IN
to read the file -
IOField::OUT
to write on it
[in] compact Flag to choose a compact storage or not [Default: true
] -
◆ Iter() [1/2]
Default Constructor.
This constructor set default values: the maximal number of iterations is set to 100
and the tolerance to 1.e-8
◆ Iter() [2/2]
Constructor with iteration parameters.
- Parameters
-
[in] max_it Maximum number of iterations [in] toler Tolerance value for convergence
◆ SpMatrix() [1/10]
SpMatrix | ( | ) |
Default constructor.
Initialize a zero-dimension matrix
◆ SpMatrix() [2/10]
Constructor for a square matrix using non zero row and column indices.
- Parameters
-
[in] I Vector containing pairs of row and column indices [in] a Vector containing matrix entries in the same order than the one given by I
[in] opt Flag indicating if vector I
is cleaned and ordered (opt=1
: default) or not (opt=0
). In the latter case, this vector can have the same contents more than once and are not necessarily ordered
◆ SpMatrix() [3/10]
Constructor for a square matrix using non zero row and column indices.
- Parameters
-
[in] I Vector containing pairs of row and column indices [in] opt Flag indicating if vectors I is cleaned and ordered (opt=1) or not (opt=0). In the latter case, this vector can have the same contents more than once and are not necessarily ordered
◆ SpMatrix() [4/10]
SpMatrix | ( | const vector< size_t > & | row_ptr, |
const vector< size_t > & | col_ind | ||
) |
Constructor for a rectangle matrix.
- Parameters
-
[in] row_ptr Vector of row pointers (See the above description of this class). [in] col_ind Vector of column indices (See the above description of this class).
◆ SpMatrix() [5/10]
SpMatrix | ( | const vector< size_t > & | row_ptr, |
const vector< size_t > & | col_ind, | ||
const vector< T_ > & | a | ||
) |
Constructor for a rectangle matrix.
- Parameters
-
[in] row_ptr Vector of row pointers (See the above description of this class). [in] col_ind Vector of column indices (See the above description of this class). [in] a vector instance that contain matrix entries stored row by row.
Number of rows is extracted from vectorrow_ptr
.
◆ SpMatrix() [6/10]
Constructor using a Mesh instance.
- Parameters
-
[in] mesh Mesh instance from which matrix graph is extracted. [in] dof Option parameter, with default value 0
.
dof=1
means that only one degree of freedom for each node (or element or side) is taken to determine matrix structure. The valuedof=0
means that matrix structure is determined using all DOFs.[in] is_diagonal Boolean argument to say is the matrix is actually a diagonal matrix or not.
◆ SpMatrix() [7/10]
SpMatrix | ( | size_t | nr, |
size_t | nc | ||
) |
Constructor that initializes current instance as a dense matrix.
Normally, for a dense matrix this is not the right class.
- Parameters
-
[in] nr Number of matrix rows. [in] nc Number of matrix columns.
◆ SpMatrix() [8/10]
SpMatrix | ( | size_t | nr, |
size_t | nc, | ||
const vector< size_t > & | row_ptr, | ||
const vector< size_t > & | col_ind | ||
) |
Constructor for a rectangle matrix.
- Parameters
-
[in] nr Number of rows [in] nc Number of columns [in] row_ptr Vector of row pointers (See the above description of this class). [in] col_ind Vector of column indices (See the above description of this class).
◆ SpMatrix() [9/10]
SpMatrix | ( | size_t | nr, |
size_t | nc, | ||
const vector< size_t > & | row_ptr, | ||
const vector< size_t > & | col_ind, | ||
const vector< T_ > & | a | ||
) |
Constructor for a rectangle matrix.
- Parameters
-
[in] nr Number of rows [in] nc Number of columns [in] row_ptr Vector of row pointers (See the above description of this class). [in] col_ind Vector of column indices (See the above description of this class).
[in] a vector instance containing matrix entries stored columnwise
◆ SpMatrix() [10/10]
SpMatrix | ( | size_t | size, |
int | is_diagonal = false |
||
) |
Constructor that initializes current instance as a dense matrix.
Normally, for a dense matrix this is not the right class.
- Parameters
-
[in] size Number of matrix rows (and columns). [in] is_diagonal Boolean argument to say is the matrix is actually a diagonal matrix or not.
◆ TrMatrix()
TrMatrix | ( | ) |
Default constructor.
Initialize a zero dimension tridiagonal matrix
◆ A()
T_ * OFELI::A | ( | ) |
Return element matrix.
Matrix is returned as a C-array
◆ add()
|
virtual |
Add a value to an entry of the matrix.
- Parameters
-
[in] i Row index [in] j Column index [in] val Constant value to add to a(i,j)
Implements Matrix< T_ >.
◆ Axpy() [1/6]
void Axpy | ( | size_t | n, |
T_ | a, | ||
T_ * | x, | ||
T_ * | y | ||
) |
Multiply array x
by a
and add result to y
n
is the arrays size.
◆ Axpy() [2/6]
|
virtual |
Add to matrix the product of a matrix by a scalar.
- Parameters
-
[in] a Scalar to premultiply [in] m Pointer to Matrix by which a
is multiplied. The result is added to current instance
Implements Matrix< T_ >.
◆ Axpy() [3/6]
|
virtual |
Add to matrix the product of a matrix by a scalar.
- Parameters
-
[in] a Scalar to premultiply [in] m Matrix by which a
is multiplied. The result is added to current instance
Implements Matrix< T_ >.
◆ Axpy() [4/6]
void Axpy | ( | T_ | a, |
const SpMatrix< T_ > & | m | ||
) |
Add to matrix the product of a matrix by a scalar.
- Parameters
-
[in] a Scalar to premultiply [in] m Matrix by which a
is multiplied. The result is added to current instance
◆ Axpy() [5/6]
void Axpy | ( | T_ | a, |
const TrMatrix< T_ > & | m | ||
) |
Add to matrix the product of a matrix by a scalar.
- Parameters
-
[in] a Scalar to premultiply [in] m Matrix by which a
is multiplied. The result is added to current instance
◆ Axpy() [6/6]
void Axpy | ( | T_ | a, |
const vector< T_ > & | x, | ||
vector< T_ > & | y | ||
) |
Multiply vector x
by a
and add result to y
x
and y
are instances of class vector<T_>
◆ b()
T_ * OFELI::b | ( | ) |
Return element right-hand side.
Right-hand side is returned as a C-array
◆ BiCG()
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.
This function uses the preconditioned Biconjugate Conjugate Gradient algorithm to solve a linear system with a sparse matrix.
The global variable Verbosity enables choosing output message level
- Verbosity < 2 : No output message
- Verbosity > 1 : Notify executing the function CG
- Verbosity > 2 : Notify convergence with number of performed iterations or divergence
- Verbosity > 3 : Output each iteration number and residual
- Verbosity > 6 : Print final solution if convergence
- Verbosity > 10 : Print obtained solution at each iteration
- Parameters
-
[in] A Problem matrix (Instance of class SpMatrix). [in] prec Enum variable selecting a preconditioner, among the values IDENT_PREC
,DIAG_PREC
,ILU_PREC
orSSOR_PREC
[in] b Right-hand side vector (class Vect) [in,out] x Vect instance containing initial solution guess in input and solution of the linear system in output (If iterations have succeeded). [in] max_it Maximum number of iterations. toler [in] Tolerance for convergence (measured in relative weighted 2-Norm).
- Returns
- Number of performed iterations,
- Template Parameters
-
<T_> Data type (double, float, complex<double>, ...)
- Copyright
- GNU Lesser Public License
◆ CG()
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.
This function uses the preconditioned Conjugate Gradient algorithm to solve a linear system with a sparse matrix.
The global variable Verbosity enables choosing output message level
- Verbosity < 2 : No output message
- Verbosity > 1 : Notify executing the function CG
- Verbosity > 2 : Notify convergence with number of performed iterations or divergence
- Verbosity > 3 : Output each iteration number and residual
- Verbosity > 6 : Print final solution if convergence
- Verbosity > 10 : Print obtained solution at each iteration
- Parameters
-
[in] A Problem matrix (Instance of abstract class SpMatrix). [in] prec Enum variable selecting a preconditioner, among the values IDENT_PREC
,DIAG_PREC
,ILU_PREC
orSSOR_PREC
[in] b Right-hand side vector (class Vect) [in,out] x Vect instance containing initial solution guess in input and solution of the linear system in output (If iterations have succeeded). [in] max_it Maximum number of iterations. [in] toler Tolerance for convergence (measured in relative weighted 2-Norm).
- Returns
- Number of performed iterations,
- Template Parameters
-
<T_> Data type (double, float, complex<double>, ...)
- Copyright
- GNU Lesser Public License
◆ CGS()
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.
This function uses the preconditioned Conjugate Gradient Squared algorithm to solve a linear system with a sparse matrix.
The global variable Verbosity enables choosing output message level
- Verbosity < 2 : No output message
- Verbosity > 1 : Notify executing the function CG
- Verbosity > 2 : Notify convergence with number of performed iterations or divergence
- Verbosity > 3 : Output each iteration number and residual
- Verbosity > 6 : Print final solution if convergence
- Verbosity > 10 : Print obtained solution at each iteration
- Parameters
-
[in] A Problem matrix (Instance of class SpMatrix). [in] prec Enum variable selecting a preconditioner, among the values IDENT_PREC
,DIAG_PREC
,ILU_PREC
orSSOR_PREC
[in] b Right-hand side vector (class Vect) [in,out] x Vect instance containing initial solution guess in input and solution of the linear system in output (If iterations have succeeded). [in] max_it Maximum number of iterations. [in] toler Tolerance for convergence (measured in relative weighted 2-Norm).
- Returns
- Number of performed iterations
- Template Parameters
-
<T_> Data type (real_t, float, complex<real_t>, ...)
- Copyright
- GNU Lesser Public License
◆ check() [1/2]
bool check | ( | T_ & | u, |
const T_ & | v | ||
) |
Check convergence for a scalar case (one equation)
- Parameters
-
[in,out] u Solution at previous iteration [in] v Solution at current iteration
- Returns
- true if convergence criterion is satisfied, false if not
After checking, this function copied v
into u
.
◆ check() [2/2]
Check convergence.
- Parameters
-
[in,out] u Solution vector at previous iteration [in] v Solution vector at current iteration [in] opt Vector norm for convergence checking 1
: 1-norm,2
: 2-norm, 0: Max. norm [Default:2
]
- Returns
- true if convergence criterion is satisfied, false if not
After checking, this function copied v
into u
.
◆ clear()
void clear | ( | Vect< T_ > & | v | ) |
Assign 0
to all entries of a vector.
- Parameters
-
[in] v Vector to clear
◆ Code() [1/2]
int Code | ( | const Element & | el | ) |
Return code of a given element.
- Parameters
-
[in] el Reference to Element instance
- Returns
- Code of element
- Copyright
- GNU Lesser Public License
◆ Code() [2/2]
int Code | ( | const Side & | sd, |
size_t | i = 1 |
||
) |
Return code of a given (degree of freedom of) side.
- Parameters
-
[in] sd Reference to Side instance [in] i Label of dof [Default: 1
]
- Returns
- Code of dof of side
- Copyright
- GNU Lesser Public License
◆ Deactivate() [1/3]
void Deactivate | ( | size_t | i | ) |
Change state of a cell from active to inactive (1-D grid)
- Parameters
-
[in] i grid cell to remove
◆ Deactivate() [2/3]
void Deactivate | ( | size_t | i, |
size_t | j | ||
) |
Change state of a cell from active to inactive (2-D grid)
- Parameters
-
[in] i i
-th index for grid cell to remove. If this value is0
, all cells(*,j)
are deactivated[in] j j
-th index for grid cell to remove If this value is0
, all cells(i,*)
are deactivated
- Remarks
- if
i
andj
have value0
all grid cells are deactivated !!
◆ Deactivate() [3/3]
void Deactivate | ( | size_t | i, |
size_t | j, | ||
size_t | k | ||
) |
Change state of a cell from active to inactive (2-D grid)
- Parameters
-
[in] i i
-th index for grid cell to remove. If this value is0
, all cells(*,j,k)
are deactivated[in] j j
-th index for grid cell to remove If this value is0
, all cells(i,*,k)
are deactivated[in] k k
-th index for grid cell to remove If this value is0
, all cells(i,j,*)
are deactivated
◆ DiagPrescribe() [1/2]
Impose by a diagonal method an essential boundary condition.
This member function modifies diagonal terms in matrix and terms in vector that correspond to degrees of freedom with nonzero code in order to impose a boundary condition. The penalty parameter is defined by default equal to 1.e20. It can be modified by member function setPenal(..).
◆ DiagPrescribe() [2/2]
Impose by a diagonal method an essential boundary condition using the Mesh instance provided by the constructor.
This member function modifies diagonal terms in matrix and terms in vector that correspond to degrees of freedom with nonzero code in order to impose a boundary condition. The penalty parameter is defined by default equal to 1.e20. It can be modified by member function setPenal(..).
◆ Discrepancy()
Return discrepancy between 2 vectors x
and y
- Parameters
-
[in,out] x First vector (Instance of class Vect). On output, x
is assigned the vectory
[in] y Second vector (Instance of class Vect) [in] n Type of norm - 1: Weighted 1-Norm
- 2: Weighted 2-Norm
- 0: Max-Norm
[in] type Discrepancy type (0: Absolute, 1: Relative [Default])
- Returns
- Computed discrepancy value
◆ Distance()
Return euclidean distance between points a
and b
- Copyright
- GNU Lesser Public License
◆ Dot() [1/3]
Calculate dot product of two vectors.
- Returns
- Dot (inner or scalar) product Calculate dot (scalar) product of two vectors
◆ Dot() [2/3]
Return dot product of vectors x
and y
.
x
and y
are instances of class vector<double>
◆ Dot() [3/3]
T_ Dot | ( | size_t | n, |
T_ * | x, | ||
T_ * | y | ||
) |
Return dot product of arrays x
and y
n
is the arrays size.
◆ get() [1/7]
T_ * get | ( | ) | const |
Return C-Array.
Non zero terms of matrix is stored row by row.
◆ get() [2/7]
◆ get() [3/7]
◆ get() [4/7]
|
virtual |
Return entry (i,j)
of matrix if this one is stored, 0
otherwise.
- Parameters
-
[in] i Row index (Starting from 1) [in] j Column index (Starting from 1)
Implements Matrix< T_ >.
◆ get() [5/7]
Get Vect v
instance from file.
First time step is read from the XML
file.
◆ get() [6/7]
◆ get() [7/7]
Get Vect v
instance from file corresponding to a specific time value.
The sought vector corresponding to the time value is read from the XML
file.
- Parameters
-
[in,out] v Vector instance [in] t Time value
◆ getCode() [1/3]
int getCode | ( | int | side | ) | const |
Return code for a side number.
- Parameters
-
[in] side Side for which code is returned. Possible values are: MIN_X
,MAX_X
,MIN_Y
,MAX_Y
,MIN_Z
,MAX_Z
◆ getCode() [2/3]
int getCode | ( | size_t | i, |
size_t | j | ||
) | const |
Return code for a grid point.
- Parameters
-
[in] i i
-th index for node for which code is to be returned.[in] j j
-th index for node for which code is to be returned.
◆ getCode() [3/3]
int getCode | ( | size_t | i, |
size_t | j, | ||
size_t | k | ||
) | const |
Return code for a grid point.
- Parameters
-
[in] i i
-th index for node for which code is to be returned.[in] j j
-th index for node for which code is to be returned.[in] k k
-th index for node for which code is to be returned.
◆ getColInd()
|
virtual |
Return storage information.
- Returns
- Column index of the
i
-th stored element in matrix
Reimplemented from Matrix< T_ >.
◆ getDerivative()
Return the derivative of the function at a given point.
Case of a function of one variable
- Parameters
-
[in] funct Name of the function to be evaluated, as read from input file [in] x Value of the variable
- Returns
- Derivative value
◆ getFunctName()
string getFunctName | ( | size_t | n | ) | const |
Get the name of a read function.
- Parameters
-
[in] n index of function
- Returns
- Name of function
◆ getMaxVar()
real_t getMaxVar | ( | size_t | n, |
size_t | i | ||
) | const |
Get maximal value of a variable.
- Parameters
-
[in] n index of function [in] i index of variable (between 1 and 3)
- Returns
◆ getMinVar()
real_t getMinVar | ( | size_t | n, |
size_t | i | ||
) | const |
Get minimal value of a variable.
- Parameters
-
[in] n index of function [in] i index of variable (Between 1 and 3)
- Returns
- Minimal value
◆ getNbFuncts()
size_t getNbFuncts | ( | ) | const |
Get the Number of read functions.
- Returns
- size_t Number of functions
◆ getNbVar()
size_t getNbVar | ( | size_t | n | ) | const |
Get number of variables of a given function.
- Parameters
-
[in] n index of function
- Returns
- Number of variables
◆ getNy()
size_t getNy | ( | ) | const |
Return number of grid intervals in the y
-direction.
ny=0
for 1-D domains (segments)
◆ getNz()
size_t getNz | ( | ) | const |
Return number of grid intervals in the z-direction.
nz=0
for 1-D (segments) and 2-D domains (rectangles)
◆ getSize()
size_t getSize | ( | size_t | n, |
size_t | i | ||
) | const |
Get number of points defining tabulation.
- Parameters
-
[in] n index of function (Starting from 1) [in] i index of variable (Between 1 and 3)
- Returns
- Size
◆ getValue() [1/4]
Return the calculated value of the function.
Case of a function of one variable
- Parameters
-
[in] funct Name of the function to be evaluated, as read from input file [in] x Value of the variable
- Returns
- Computed value of the function
◆ getValue() [2/4]
Return the calculated value of the function.
Case of a function of two variables
- Parameters
-
[in] funct Name of the function to be evaluated, as read from input file [in] x Value of the first variable [in] y Value of the second variable
- Returns
- Computed value of the function
◆ getValue() [3/4]
Return the calculated value of the function.
Case of a function of three variables
- Parameters
-
[in] funct Name of the funct to be evaluated, as read from input file [in] x Value of the first variable [in] y Value of the second variable [in] z Value of the third variable
- Returns
- Computed value of the function
◆ getValue() [4/4]
Return the calculated value of the function.
Case of a function of three variables
- Parameters
-
[in] funct Name of the funct to be evaluated, as read from input file [in] x Value of the first variable [in] y Value of the second variable [in] z Value of the third variable [in] t Value of the fourth variable
- Returns
- Computed value of the function
◆ GMRes()
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.
This function uses the preconditioned GMRES algorithm to solve a linear system with a sparse matrix.
The global variable Verbosity enables choosing output message level
- Verbosity < 2 : No output message
- Verbosity > 1 : Notify executing the function CG
- Verbosity > 2 : Notify convergence with number of performed iterations or divergence
- Verbosity > 3 : Output each iteration number and residual
- Verbosity > 6 : Print final solution if convergence
- Verbosity > 10 : Print obtained solution at each iteration
- Parameters
-
[in] A Problem matrix (Instance of class SpMatrix). [in] prec Enum variable selecting a preconditioner, among the values IDENT_PREC
,DIAG_PREC
,ILU_PREC
orSSOR_PREC
[in] b Right-hand side vector (class Vect) [in,out] x Vect instance containing initial solution guess in input and solution of the linear system in output (If iterations have succeeded). [in] m Number of subspaces to generate for iterations. [in] max_it Maximum number of iterations. [in] toler Tolerance for convergence (measured in relative weighted 2-Norm).
- Returns
- Number of performed iterations,
- Template Parameters
-
<T_> Data type (double, float, complex<double>, ...)
- Copyright
- GNU Lesser Public License
◆ isActive() [1/3]
int isActive | ( | size_t | i | ) | const |
Say if cell is active or not (1-D grid)
- Parameters
-
[in] i Index of cell
- Returns
1
if cell is active,0
if not
◆ isActive() [2/3]
int isActive | ( | size_t | i, |
size_t | j | ||
) | const |
Say if cell is active or not (2-D grid)
- Parameters
-
[in] i i
-th index of cell[in] j j
-th index of cell
- Returns
1
if cell is active,0
if not
◆ isActive() [3/3]
int isActive | ( | size_t | i, |
size_t | j, | ||
size_t | k | ||
) | const |
Say if cell is active or not (3-D grid)
- Parameters
-
[in] i i
-th index of cell[in] j j
-th index of cell[in] k k
-th index of cell
- Returns
1
if cell is active,0
if not
◆ Label() [1/3]
size_t Label | ( | const Edge & | ed | ) |
Return label of a given edge.
- Parameters
-
[in] ed Reference to Edge instance
- Returns
- Label of edge
- Copyright
- GNU Lesser Public License
◆ Label() [2/3]
size_t Label | ( | const Element & | el | ) |
Return label of a given element.
- Parameters
-
[in] el Reference to Element instance
- Returns
- Label of element
- Copyright
- GNU Lesser Public License
◆ Label() [3/3]
size_t Label | ( | const Side & | sd | ) |
Return label of a given side.
- Parameters
-
[in] sd Reference to Side instance
- Returns
- Label of side
- Copyright
- GNU Lesser Public License
◆ Laplace1D() [1/2]
void Laplace1D | ( | real_t | h | ) |
Define matrix as the one of 3-point finite difference discretization of the second derivative.
- Parameters
-
[in] h mesh size
◆ Laplace1D() [2/2]
void Laplace1D | ( | size_t | n, |
real_t | h | ||
) |
Sets the matrix as the one for the Laplace equation in 1-D.
The matrix is initialized as the one resulting from P1 finite element discretization of the classical elliptic operator -u'' = f with homogeneous Dirichlet boundary conditions
- Remarks
- This function is available for real valued matrices only.
- Parameters
-
[in] n Size of matrix (Number of rows) [in] h Mesh size (assumed constant)
◆ Laplace2D()
void Laplace2D | ( | size_t | nx, |
size_t | ny | ||
) |
Sets the matrix as the one for the Laplace equation in 2-D.
The matrix is initialized as the one resulting from P1 finite element discretization of the classical elliptic operator -Delta u = f with homogeneous Dirichlet boundary conditions
- Remarks
- This function is available for real valued matrices only.
- Parameters
-
[in] nx Number of unknowns in the x
-direction[in] ny Number of unknowns in the y
-direction
- Remarks
- The number of rows is equal to
nx*ny
◆ MeshToMesh() [1/2]
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.
The program interpolates (piecewise linear) first the vector on a finer structured grid. Then the values on the new mesh nodes are computed.
- Remarks
- For efficiency the number of grid cells must be large enough so that interpolation provides efficient accuracy
- Parameters
-
[in] u1 Input vector of nodal values defined on first mesh. This vector instance must contain Mesh instance [out] u2 Output vector of nodal values defined on second mesh. This vector instance must contain Mesh instance [in] nx Number of cells in the x
-direction in the fine structured grid[in] ny Number of cells in the y
-direction in the fine structured grid The default value ofny
is0
, i.e. a 1-D grid[in] nz Number of cells in the z
-direction in the fine structured grid The default value ofnz
is0
, i.e. a 1-D or 2-D grid[in] dof Label of degree of freedom of vector u
. Only this dof is considered. [Default:1
]
- Note
- The input vector
u1
is a one degree of freedom per node vector, i.e. its size must be equal (or greater than) the total number of nodes of meshm1
. The size of vectoru2
is deduced from the meshm2
- Copyright
- GNU Lesser Public License
◆ MeshToMesh() [2/2]
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.
The program interpolates (piecewise linear) first the vector on a finer structured grid. Then the values on the new mesh nodes are computed. In this function the grid rectangle is defined so that this one can cover only a submesh of m1
.
- Remarks
- For efficiency the number of grid cells must be large enough so that interpolation provides efficient accuracy
- Parameters
-
[in] m1 Reference to the first mesh instance [out] m2 Reference to the second mesh instance [in] u1 Input vector of nodal values defined on first mesh [out] u2 Output vector of nodal values defined on second mesh [in] xmin Point instance containing minimal coordinates of the rectangle that defines the grid [in] xmax Point instance containing maximal coordinates of the rectangle that defines the grid [in] nx Number of cells in the x
-direction in the fine structured grid[in] ny Number of cells in the y
-direction in the fine structured grid The default value ofny
is0
, i.e. a 1-D grid[in] nz Number of cells in the z
-direction in the fine structured grid The default value ofnz
is0
, i.e. a 1-D or 2-D grid[in] dof Label of degree of freedom of vector u
. Only this dof is considered. [Default:1
]
- Note
- The input vector
u1
is a one degree of freedom per node vector, i.e. its size must be equal (or greater than) the total number of nodes of meshm1
. The size of vectoru2
is deduced from the meshm2
- Copyright
- GNU Lesser Public License
◆ Mult()
Multiply matrix by vector and save in another one.
- Parameters
-
[in] x Vector to multiply by matrix [out] y Vector that contains on output the result.
Implements Matrix< T_ >.
◆ MultAdd() [1/2]
Multiply matrix by vector x
and add to y
.
- Parameters
-
[in] x Vector to multiply by matrix [out] y Vector to add to the result. y
contains on output the result.
Implements Matrix< T_ >.
◆ MultAdd() [2/2]
Multiply matrix by vector a*x
and add to y
.
- Parameters
-
[in] a Constant to multiply by matrix [in] x Vector to multiply by matrix [out] y Vector to add to the result. y
contains on output the result.
Implements Matrix< T_ >.
◆ NodeLabel()
size_t NodeLabel | ( | const Side & | sd, |
size_t | n | ||
) |
Return global label of node local label in side.
- Parameters
-
[in] sd Reference to Side instance [in] n Local label of node in side
- Returns
- Global label of node
- Copyright
- GNU Lesser Public License
◆ open() [1/2]
void open | ( | ) |
Open file.
Case where file name has been previously given (in the constructor).
◆ open() [2/2]
void open | ( | const string & | file, |
AccessType | access | ||
) |
Open file.
- Parameters
-
[in] file File name. [in] access Access code. This number is to be chosen among two enumerated values: -
IOField::IN
to read the file -
IOField::OUT
to write on it
-
◆ operator()() [1/5]
T_ operator() | ( | size_t | i | ) | const |
Operator ()
with one argument (Constant version)
Returns i
-th position in the array storing matrix entries. The first entry is at location 1
. Entries are stored row by row.
◆ operator()() [2/5]
|
virtual |
Operator () (Non constant version)
- Parameters
-
[in] i Row index [in] j Column index
Implements Matrix< T_ >.
◆ operator()() [3/5]
|
virtual |
Operator () (Non constant version).
- Parameters
-
[in] i Row index [in] j Column index
Implements Matrix< T_ >.
◆ operator()() [4/5]
|
virtual |
◆ operator()() [5/5]
|
virtual |
Operator () (Constant version).
- Parameters
-
[in] i Row index [in] j Column index
Implements Matrix< T_ >.
◆ operator*() [1/25]
◆ operator*() [2/25]
◆ operator*() [3/25]
Operator *.
Return point b
divided by integer constant a
- Copyright
- GNU Lesser Public License
◆ operator*() [4/25]
Operator *.
Return point b
divided by integer constant a
- Copyright
- GNU Lesser Public License
◆ operator*() [5/25]
LocalVect< T_, NR_, NC_ > operator* | ( | const LocalMatrix< T_, NR_, NC_ > & | x, |
const LocalVect< T_, NC_ > & | x | ||
) |
Operator *
(Multiply matrix A
by vector x
)
This function performs a matrix-vector product and returns resulting vector as a reference to LocalVect instance
- Returns
A*x
◆ operator*() [6/25]
Operator *
Return point b
postmultiplied by constant a
- Copyright
- GNU Lesser Public License
◆ operator*() [7/25]
Operator *.
Return point b postmultiplied by integer constant a.
- Copyright
- GNU Lesser Public License
◆ operator*() [8/25]
Operator /
Return point b
postmultiplied by constant a
- Copyright
- GNU Lesser Public License
◆ operator*() [9/25]
Operator *
Return inner (scalar) product of points a
and b
- Copyright
- GNU Lesser Public License
◆ operator*() [10/25]
Operator *
Return point b
postmultiplied by constant a
- Copyright
- GNU Lesser Public License
◆ operator*() [11/25]
Operator /
Return point b
multiplied by constant a
◆ operator*() [12/25]
◆ operator*() [13/25]
◆ operator*() [14/25]
◆ operator*() [15/25]
Operator *.
Return point b
premultiplied by constant a
- Copyright
- GNU Lesser Public License
◆ operator*() [16/25]
Operator *
Return point b
premultiplied by constant a
- Copyright
- GNU Lesser Public License
◆ operator*() [17/25]
Operator * (Premultiplication of vector by constant)
- Returns
a*x
◆ operator*() [18/25]
◆ operator*() [19/25]
Operator *
to multiply matrix by a vector.
- Parameters
-
[in] x Vect instance to multiply by
- Returns
- Vector product of matrix by
x
◆ operator*() [20/25]
Operator * (Postmultiplication of vector by constant)
- Returns
x*a
◆ operator*() [21/25]
Operator * (Dot product of 2 vector instances)
- Returns
x.y
◆ operator*() [22/25]
Operator * (Premultiplication of matrix by constant)
- Returns
- a*A
◆ operator*() [23/25]
LocalMatrix< T_, NR_, NC_ > operator* | ( | T_ | a, |
const LocalMatrix< T_, NR_, NC_ > & | x | ||
) |
Operator * (Multiply matrix x
by scalar a
)
- Returns
a*x
◆ operator*() [24/25]
Operator * (Premultiplication of vector by constant)
- Returns
- a*x
◆ operator*() [25/25]
Operator * (Premultiplication of matrix by constant)
- Returns
- a*A
- Copyright
- GNU Lesser Public License
◆ operator*=() [1/2]
SpMatrix< T_ > & operator*= | ( | const T_ & | a | ) |
Operator *=
to premultiply matrix by a constant.
- Parameters
-
[in] a Constant to multiply matrix by
- Returns
- Resulting matrix
◆ operator*=() [2/2]
TrMatrix< T_ > & operator*= | ( | const T_ & | x | ) |
Operator *=.
Premultiply matrix entries by constant value x
.
◆ operator+() [1/6]
Operator + (Add two vectors)
- Returns
- x+y
◆ operator+() [2/6]
Operator +.
Return sum of two points a
and b
- Copyright
- GNU Lesser Public License
◆ operator+() [3/6]
Operator +.
Translate a
by x
- Copyright
- GNU Lesser Public License
◆ operator+() [4/6]
Operator +
Return sum of two points a
and b
- Copyright
- GNU Lesser Public License
◆ operator+() [5/6]
Operator +
Translate a
by x
- Copyright
- GNU Lesser Public License
◆ operator+() [6/6]
Operator + (Addition of two instances of class Vect)
- Returns
x + y
◆ operator-() [1/9]
◆ operator-() [2/9]
Operator - (Subtract two vectors)
- Returns
- x-y
◆ operator-() [3/9]
Unary Operator -
Return minus a
- Copyright
- GNU Lesser Public License
◆ operator-() [4/9]
Operator -
Return point a
minus point b
- Copyright
- GNU Lesser Public License
◆ operator-() [5/9]
Operator -
Translate a
by -x
- Copyright
- GNU Lesser Public License
◆ operator-() [6/9]
Unary Operator -
Return minus a
- Copyright
- GNU Lesser Public License
◆ operator-() [7/9]
Operator -
Return point a
minus point b
- Copyright
- GNU Lesser Public License
◆ operator-() [8/9]
Operator -
Translate a
by -x
- Copyright
- GNU Lesser Public License
◆ operator-() [9/9]
Operator - (Difference between two vectors of class Vect)
- Returns
x - y
◆ operator/() [1/4]
Operator /
Return point b
divided by constant a
- Copyright
- GNU Lesser Public License
◆ operator/() [2/4]
Operator /
Return point b
divided by constant a
- Copyright
- GNU Lesser Public License
◆ operator/() [3/4]
Operator / (Divide vector entries by constant)
- Returns
x/a
◆ operator/() [4/4]
Operator / (Division of vector by constant)
- Returns
- x/a
◆ operator<<() [1/20]
ostream & operator<< | ( | ostream & | s, |
const complex_t & | x | ||
) |
Output a complex number.
- Copyright
- GNU Lesser Public License
◆ operator<<() [2/20]
ostream & operator<< | ( | ostream & | s, |
const EdgeList & | el | ||
) |
Output EdgeList instance.
- Copyright
- GNU Lesser Public License
◆ operator<<() [3/20]
ostream & operator<< | ( | ostream & | s, |
const ElementList & | el | ||
) |
Output ElementList instance.
- Copyright
- GNU Lesser Public License
◆ operator<<() [4/20]
ostream & operator<< | ( | ostream & | s, |
const Mesh & | ms | ||
) |
Output mesh data.
Level of mesh output depends on the global variable Verbosity
- If Verbosity=0 or Verbosity=1, this function outputs only principal mesh parameters: number of nodes, number of elements, ...
- If Verbosity>1, this function outputs in addition the list of 10 first nodes, elements and sides
- If Verbosity>2, this function outputs in addition the list of 50 first nodes, elements and sides
- If Verbosity>3, this function outputs all mesh data
◆ operator<<() [5/20]
ostream & operator<< | ( | ostream & | s, |
const Node & | nd | ||
) |
Output node data.
- Copyright
- GNU Lesser Public License
◆ operator<<() [6/20]
ostream & operator<< | ( | ostream & | s, |
const NodeList & | nl | ||
) |
Output NodeList instance.
- Copyright
- GNU Lesser Public License
◆ operator<<() [7/20]
ostream & operator<< | ( | ostream & | s, |
const Side & | sd | ||
) |
Output side data.
- Copyright
- GNU Lesser Public License
◆ operator<<() [8/20]
ostream & operator<< | ( | ostream & | s, |
const SideList & | sl | ||
) |
Output SideList instance.
- Copyright
- GNU Lesser Public License
◆ operator<<() [9/20]
ostream & operator<< | ( | ostream & | s, |
const SkMatrix< T_ > & | a | ||
) |
Output matrix in output stream.
- Copyright
- GNU Lesser Public License
- Copyright
- GNU Lesser Public License
◆ operator<<() [10/20]
ostream & operator<< | ( | ostream & | s, |
const SkSMatrix< T_ > & | a | ||
) |
Output matrix in output stream.
- Copyright
- GNU Lesser Public License
◆ operator<<() [11/20]
ostream & operator<< | ( | ostream & | s, |
const SpMatrix< T_ > & | A | ||
) |
Output matrix in output stream.
- Copyright
- GNU Lesser Public License
◆ operator<<() [12/20]
ostream & operator<< | ( | ostream & | s, |
const std::list< T_ > & | l | ||
) |
Output a vector instance.
- Copyright
- GNU Lesser Public License
◆ operator<<() [13/20]
ostream & operator<< | ( | ostream & | s, |
const std::pair< T_, T_ > & | a | ||
) |
Output a pair instance.
- Copyright
- GNU Lesser Public License
◆ operator<<() [14/20]
ostream & operator<< | ( | ostream & | s, |
const std::string & | c | ||
) |
Output a string.
- Copyright
- GNU Lesser Public License
◆ operator<<() [15/20]
ostream & operator<< | ( | ostream & | s, |
const TrMatrix< T_ > & | a | ||
) |
Output matrix in output stream.
- Copyright
- GNU Lesser Public License
◆ operator<<() [16/20]
ostream & operator<< | ( | ostream & | s, |
const Vect< T_ > & | v | ||
) |
Output vector in output stream.
Level of vector output depends on the global variable Verbosity
- If Verbosity=0, this function outputs vector size only.
- If Verbosity>0, this function outputs vector size, vector name, value of time, and number of components
- If Verbosity>1, this function outputs in addition the first 10 entries in vector
- If Verbosity>2, this function outputs in addition the first 50 entries in vector
- If Verbosity>3, this function outputs in addition the first 100 entries in vector
- If Verbosity>4, this function outputs all vector entries
- Copyright
- GNU Lesser Public License
◆ operator<<() [17/20]
ostream & operator<< | ( | ostream & | s, |
const vector< T_ > & | v | ||
) |
Output a vector instance.
- Copyright
- GNU Lesser Public License
◆ operator<<() [18/20]
ostream & operator<< | ( | ostream & | s, |
TimeStepping & | ts | ||
) |
Output differential system information.
- Copyright
- GNU Lesser Public License
◆ operator<<() [19/20]
ostream & operator<< | ( | std::ostream & | s, |
const Point2D< T_ > & | a | ||
) |
Output point coordinates.
- Copyright
- GNU Lesser Public License
◆ operator<<() [20/20]
ostream & operator<< | ( | std::ostream & | s, |
const Point< T_ > & | a | ||
) |
Output point coordinates.
- Copyright
- GNU Lesser Public License
◆ operator=() [1/2]
void operator= | ( | const T_ & | x | ) |
Operator =.
Assign constant value x
to all matrix entries.
◆ operator=() [2/2]
Operator =.
Copy matrix m
to current matrix instance.
◆ operator==() [1/3]
◆ operator==() [2/3]
Operator ==.
Return true
if a=b
, false if not.
- Copyright
- GNU Lesser Public License
◆ operator==() [3/3]
◆ operator[]()
T_ operator[] | ( | size_t | i | ) | const |
Operator []
(Constant version).
Returns i
-th position in the array storing matrix entries. The first entry is at location 0
. Entries are stored row by row.
◆ Prev()
T_ * OFELI::Prev | ( | ) |
Return element previous vector.
This is the vector given in time dependent constructor. It is returned as a C-array.
◆ put()
◆ qksort()
void qksort | ( | std::vector< T_ > & | a, |
int | begin, | ||
int | end, | ||
C_ | compare | ||
) |
Function to sort a vector according to a key function.
qksort uses the famous quick sorting algorithm.
- Parameters
-
[in,out] a Vector to sort. [in] begin index of starting index (0 for the beginning of the vector) [in] end index of ending index [in] compare A function object that implements the ordering. The user must provide this function that returns a boolean function that is true if the first argument is less than the second and false if not.
- Copyright
- GNU Lesser Public License
◆ saveField() [1/2]
Save a vector to an output file in a given file format.
Case where the vector does not contain mesh information
- Parameters
-
[in] v Vect instance to save [in] mesh Mesh instance [in] output_file Output file where to save the vector [in] opt Option to choose file format to save. This is to be chosen among enumerated values: GMSH
,GNUPLOT
,MATLAB
,TECPLOT
,VTK
- Copyright
- GNU Lesser Public License
◆ saveField() [2/2]
Save a vector to an output file in a given file format, for a structured grid data.
- Parameters
-
[in] v Vect instance to save [in] g Grid instance [in] output_file Output file where to save the vector [in] opt Option to choose file format to save. This is to be chosen among enumerated values: GMSH
,VTK
- Copyright
- GNU Lesser Public License
◆ saveGmsh() [1/2]
void saveGmsh | ( | const string & | file, |
const Mesh & | mesh | ||
) |
This function outputs a Mesh instance in a file in Gmsh format.
- Note
- Gmsh is a free mesh generator that can be downloaded from the site: http://www.geuz.org/gmsh/
- Parameters
-
[in] file Output file in Gmsh format. [in] mesh Mesh instance to save.
- Copyright
- GNU Lesser Public License
◆ saveGmsh() [2/2]
void saveGmsh | ( | Mesh & | mesh, |
string | input_file, | ||
string | output_file, | ||
int | f = 1 |
||
) |
Save a vector to an output Gmsh file.
Gmsh is a free mesh generator and postprocessor that can be downloaded from the site:
http://www.geuz.org/gmsh/
- Parameters
-
[in] mesh Reference to Mesh instance [in] input_file Input file (OFELI XML file containing a field). [in] output_file Output file (Gmsh format file) [in] f Field is stored each f
time step [Default:1
]
- Copyright
- GNU Lesser Public License
◆ saveGMSH()
void saveGMSH | ( | string | output_file, |
string | mesh_file | ||
) |
Save field vectors in a file using GMSH format.
This member function enables avoiding the use of cfield
. It must be used once all field vectors have been stored in output file. It closes this file and copies its contents to a GMSH file.
- Parameters
-
[in] output_file Output file name where to store using GMSH format [in] mesh_file File containing mesh data
◆ saveGnuplot() [1/2]
void saveGnuplot | ( | const string & | file, |
const Mesh & | mesh | ||
) |
This function outputs a Mesh instance in a file in Gmsh format.
- Note
- Gnuplot is a command-line driven program for producing 2D and 3D plots. It is under the GNU General Public License. Available information can be found in the site:
http://www.gnuplot.info/
- Parameters
-
[out] file Output file in Gnuplot format. [in] mesh Mesh instance to save.
- Copyright
- GNU Lesser Public License
◆ saveGnuplot() [2/2]
void saveGnuplot | ( | Mesh & | mesh, |
string | input_file, | ||
string | output_file, | ||
int | f = 1 |
||
) |
Save a vector to an input Gnuplot file.
Gnuplot is a command-line driven program for producing 2D and 3D plots. It is under the GNU General Public License. Available information can be found in the site:
http://www.gnuplot.info/
- Parameters
-
[in] mesh Reference to Mesh instance [in] input_file Input file (OFELI XML file containing a field). [in] output_file Output file (gnuplot format file) [in] f Field is stored each f
time step [Default:1
]
- Copyright
- GNU Lesser Public License
◆ saveTecplot() [1/2]
void saveTecplot | ( | const string & | file, |
const Mesh & | mesh | ||
) |
This function outputs a Mesh instance in a file in Tecplot format.
- Note
- Tecplot is high quality post graphical commercial processing program developed by Amtec. Available information can be found in the site:
http://www.tecplot.com
- Parameters
-
[out] file Output file in Tecplot format. [in] mesh Mesh instance to save.
- Copyright
- GNU Lesser Public License
◆ saveTecplot() [2/2]
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.
Tecplot is high quality post graphical commercial processing program developed by Amtec. Available information can be found in the site: http://www.tecplot.com
- Parameters
-
[in] mesh Reference to Mesh instance [in] input_file Input file (OFELI XML file containing a field). [in] output_file Output file (gnuplot format file) [in] f Field is stored each f
time step [Default:1
]
- Copyright
- GNU Lesser Public License
◆ saveVTK() [1/2]
void saveVTK | ( | const string & | file, |
const Mesh & | mesh | ||
) |
This function outputs a Mesh instance in a file in VTK format.
- Note
- The Visualization ToolKit (VTK) is an open source, freely available software system for 3D computer graphics. Available information can be found in the site:
http://public.kitware.com/VTK/
- Parameters
-
[out] file Output file in VTK format. [in] mesh Mesh instance to save.
- Copyright
- GNU Lesser Public License
◆ saveVTK() [2/2]
saveVTK | ( | Mesh & | mesh, |
string | input_file, | ||
string | output_file, | ||
int | f = 1 |
||
) |
Save a vector to an output VTK file.
The Visualization ToolKit (VTK) is an open source, freely available software system for 3D computer graphics. Available information can be found in the site:
http://public.kitware.com/VTK/
- Parameters
-
[in] mesh Reference to Mesh instance [in] input_file Input file (OFELI XML file containing a field). [in] output_file Output file (VTK format file) [in] f Field is stored each f
time step [Default:1
]
- Copyright
- GNU Lesser Public License
◆ Scale() [1/3]
Mutiply vector x
by a
and save result in vector y
x
and y
are instances of class Vect<T_>
◆ Scale() [2/3]
void Scale | ( | T_ | a, |
const vector< T_ > & | x, | ||
vector< T_ > & | y | ||
) |
Mutiply vector x
by a
and save result in vector y
x
and y
are instances of class vector<T_>
◆ Scale() [3/3]
void Scale | ( | T_ | a, |
vector< T_ > & | x | ||
) |
Mutiply vector x
by a
x
is an instance of class vector<T_>
◆ set()
|
virtual |
Assign a value to an entry of the matrix.
- Parameters
-
[in] i Row index [in] j Column index [in] val Value to assign to a(i,j)
Implements Matrix< T_ >.
◆ setCode() [1/2]
void setCode | ( | int | side, |
int | code | ||
) |
Set a code for grid points on sides.
- Parameters
-
[in] side Side for which code is assigned. Possible values are: MIN_X
,MAX_X
,MIN_Y
,MAX_Y
,MIN_Z
,MAX_Z
[in] code Code to assign.
◆ setCode() [2/2]
void setCode | ( | string | exp, |
int | code | ||
) |
Set a code for some grid points.
- Parameters
-
[in] exp Regular expression that determines the set of grid points on which the code is applied. [in] code Code to assign.
◆ setDomain() [1/4]
Set Dimensions of the domain: 3-D case.
- Parameters
-
[in] xmin Minimal coordinate value [in] xmax Maximal coordinate value
◆ setDomain() [2/4]
Set Dimensions of the domain: 1-D case.
- Parameters
-
[in] xmin Minimal value of x
-coordinate[in] xmax Maximal value of x
-coordinate
◆ setDomain() [3/4]
Set Dimensions of the domain: 2-D case.
- Parameters
-
[in] xmin Minimal value of x
-coordinate[in] xmax Maximal value of x
-coordinate[in] ymin Minimal value of y
-coordinate[in] ymax Maximal value of y
-coordinate
◆ setDomain() [4/4]
Set Dimensions of the domain: 3-D case.
- Parameters
-
[in] xmin Minimal value of x
-coordinate[in] xmax Maximal value of x
-coordinate[in] ymin Minimal value of y
-coordinate[in] ymax Maximal value of y
-coordinate[in] zmin Minimal value of z
-coordinate[in] zmax Maximal value of z
-coordinate
◆ setFile()
void setFile | ( | string | file | ) |
Set file name.
This function is to be used when the default constructor is invoked.
◆ setGraph()
void setGraph | ( | const Vect< RC > & | I, |
int | opt = 1 |
||
) |
Set graph of matrix by giving a vector of its nonzero entries.
- Parameters
-
[in] I Vector containing pairs of row and column indices [in] opt Flag indicating if vector I
is cleaned and ordered (opt=1
: default) or not (opt=0
). In the latter case, this vector can have the same contents more than once and are not necessarily ordered
◆ setMesh()
void setMesh | ( | Mesh & | mesh, |
size_t | dof = 0 |
||
) |
Determine mesh graph and initialize matrix.
This member function is called by constructor with the same arguments
- Parameters
-
[in] mesh Mesh instance for which matrix graph is determined. [in] dof Option parameter, with default value 0
.
dof=1
means that only one degree of freedom for each node (or element or side) is taken to determine matrix structure. The valuedof=0
means that matrix structure is determined using all DOFs.
◆ setMeshFile()
void setMeshFile | ( | const string & | file | ) |
Set mesh file.
- Parameters
-
[in] file Mesh file
◆ setN()
void setN | ( | size_t | nx, |
size_t | ny = 0 , |
||
size_t | nz = 0 |
||
) |
Set number of grid intervals in the x
, y
and z
-directions.
Number of points is the number of intervals plus one in each direction
- Parameters
-
[in] nx Number of grid intervals in the x
-direction[in] ny Number of grid intervals in the y
-direction (Default=0
: 1-D grid)[in] nz Number of grid intervals in the z
-direction (Default=0
: 1-D or 2-D grid)
- Remarks
- : The size of the grid (
xmin
andxmax
) must have been defined before.
◆ setSize() [1/3]
void setSize | ( | size_t | nr, |
size_t | nc | ||
) |
Set size (number of rows) of matrix.
- Parameters
-
[in] nr Number of rows [in] nc Number of columns
◆ setSize() [2/3]
void setSize | ( | size_t | size | ) |
Set size of matrix (case where it's a square matrix).
- Parameters
-
[in] size Number of rows and columns.
◆ setSize() [3/3]
void setSize | ( | size_t | size | ) |
Set size (number of rows) of matrix.
- Parameters
-
[in] size Number of rows and columns.
◆ setSolver()
void setSolver | ( | Iteration | solver = CG_SOLVER , |
Preconditioner | prec = DIAG_PREC , |
||
int | max_it = 1000 , |
||
real_t | toler = 1.e-8 |
||
) |
Choose solver and preconditioner for an iterative procedure.
- Parameters
-
[in] solver Option to choose iterative solver in an enumerated variable -
CG_SOLVER
: Conjugate Gradient [default] -
CGS_SOLVER
: Squared conjugate gradient -
BICG_SOLVER
: Biconjugate gradient -
BICG_STAB_SOLVER
: Biconjugate gradient stabilized -
GMRES_SOLVER
: Generalized Minimal Residual
CG_SOLVER
[in] prec Option to choose preconditioner in an enumerated variable -
IDENT_PREC
: Identity preconditioner (no preconditioning) -
DIAG_PREC
: Diagonal preconditioner [default] -
SSOR_PREC
: SSOR (Symmetric Successive Over Relaxation) preconditioner -
DILU_PREC
: ILU (Diagonal Incomplete factorization) preconditioner -
ILU_PREC
: ILU (Incomplete factorization) preconditioner
DIAG_PREC
[in] max_it Maximum number of allowed iterations. Default value is 1000
.[in] toler Tolerance for convergence. Default value is 1.e-8
-
◆ setXMax()
Set max. coordinates of the domain.
- Parameters
-
[in] x Maximal values of coordinates
◆ setXMin()
Set min. coordinates of the domain.
- Parameters
-
[in] x Minimal values of coordinates
◆ solve() [1/3]
Solve the linear system of equations.
The default parameters are:
-
CG_SOLVER
for solver -
DIAG_PREC
for preconditioner -
Max. Number of iterations is
1000
-
Tolerance is
1.e-8
To change these values, call function setSolver before this function
- Parameters
-
[in] b Vector that contains right-hand side [out] x Vector that contains the obtained solution [in] fact Unused argument
- Returns
- Number of actual performed iterations
Implements Matrix< T_ >.
◆ solve() [2/3]
Solve a linear system with current matrix (forward and back substitution).
- Parameters
-
[in] b Vect instance that contains right-hand side. [out] x Vect instance that contains solution. [in] fact Unused argument
- Returns
-
0
if solution was normally performed, -
n
if then
-th pivot is null.
-
Warning: Matrix is modified after this function.
Implements Matrix< T_ >.
◆ solve() [3/3]
|
virtual |
Solve a linear system with current matrix (forward and back substitution).
- Parameters
-
[in,out] b Vect instance that contains right-hand side on input and solution on output. [in] fact Ununsed argument
- Returns
-
0
if solution was normally performed, -
n
if then
-th pivot is null.
-
Warning: Matrix is modified after this function.
Implements Matrix< T_ >.
◆ SqrDistance()
Return squared euclidean distance between points a
and b
- Copyright
- GNU Lesser Public License
◆ TMult()
Multiply transpose of matrix by vector x
and save in y
.
- Parameters
-
[in] x Vector to multiply by matrix [out] y Vector that contains on output the result.
Implements Matrix< T_ >.
◆ Xpy()
void Xpy | ( | const vector< T_ > & | x, |
vector< T_ > & | y | ||
) |
Add vector x
to y
x
and y
are instances of class vector<T_>