OFELI_Config.h File Reference

File that contains some macros. More...

Namespaces

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

Macros

#define GRAPH_MEMORY   1000000
 Memory necessary to store matrix graph.
 
#define MAX_NB_INPUT_FIELDS   3
 Maximum number of fields for an equation.
 
#define MAX_NB_MESHES   10
 Maximum number of meshes.
 
#define MAX_NB_ELEMENTS   10000
 Maximal Number of elements.
 
#define MAX_NB_NODES   10000
 Maximal number of nodes.
 
#define MAX_NB_SIDES   30000
 Maximal number of sides in.
 
#define MAX_NB_EDGES   30000
 Maximal Number of edges.
 
#define MAX_NBDOF_NODE   6
 Maximum number of DOF supported by each node.
 
#define MAX_NBDOF_SIDE   6
 Maximum number of DOF supported by each side.
 
#define MAX_NBDOF_EDGE   2
 Maximum number of DOF supported by each edge.
 
#define MAX_NB_ELEMENT_NODES   20
 Maximum number of nodes by element.
 
#define MAX_NB_ELEMENT_EDGES   10
 Maximum number of edges by element.
 
#define MAX_NB_SIDE_NODES   9
 Maximum number of nodes by side.
 
#define MAX_NB_ELEMENT_SIDES   8
 Maximum number of sides by element.
 
#define MAX_NB_ELEMENT_DOF   27
 Maximum number of dof by element.
 
#define MAX_NB_SIDE_DOF   4
 Maximum number of dof by side.
 
#define MAX_NB_INT_PTS   20
 Maximum number of integration points in element.
 
#define MAX_NB_MATERIALS   10
 Maximum number of materials.
 
#define MAX_NB_PAR   50
 Maximum number of parameters.
 
#define MAX_ARRAY_SIZE   100
 Maximum array size.
 
#define MAX_INPUT_STRING_LENGTH   100
 Maximum string length.
 
#define FILENAME_LENGTH   150
 Length of a string defining a file name.
 
#define MAX_FFT_SIZE   15
 Maximal size for the FFT Table This table can be used by the FFT for any number of points from 2 up to MAX_FFT_SIZE. For example, if MAX_FFT_SIZE = 14, then we can transform anywhere from 2 to 2^15 = 32,768 points, using the same sine and cosine table.
 

Enumerations

enum  FieldName {
  TEMPERATURE = 0 ,
  DISPLACEMENT = 1 ,
  VELOCITY = 2 ,
  PRESSURE = 3 ,
  ELECTRIC_FIELD = 4 ,
  MAGNETIC_FIELD = 5 ,
  POTENTIAL = 6 ,
  CONCENTRATION = 7 ,
  STRESS = 8 ,
  INTERNAL_ENERGY = 9 ,
  DENSITY = 10 ,
  MOMENTUM = 11
}
 Enumerate variable that selects field. More...
 
enum class  EType {
  NO_TYPE = 0 ,
  DDOMAIN = 1 ,
  MESH = 2 ,
  GRID = 3 ,
  VECTOR = 4 ,
  MATRIX = 5 ,
  PROJECT = 6 ,
  INPUT = 7 ,
  MATERIAL = 8 ,
  PRESCRIBE = 9 ,
  FUNCTION = 10 ,
  INITIAL = 11 ,
  SOLUTION = 11 ,
  BOUNDARY_CONDITION = 12 ,
  DIRICHLET = 12 ,
  BODY_FORCE = 13 ,
  SOURCE = 13 ,
  BOUNDARY_FORCE = 14 ,
  FLUX = 14 ,
  TRACTION = 14 ,
  NEUMANN = 14 ,
  POINT_FORCE = 15 ,
  AUX_INPUT_FIELD_1 = 16 ,
  AUX_INPUT_FIELD_2 = 17 ,
  AUX_INPUT_FIELD_3 = 18 ,
  AUX_INPUT_FIELD_4 = 19 ,
  DISPLACEMENT = 20 ,
  VELOCITY = 21 ,
  PRESSURE = 22 ,
  TEMPERATURE = 23
}
 
enum  DOFSupport {
  NONE = 0 ,
  NODE_DOF = 1 ,
  ELEMENT_DOF = 2 ,
  SIDE_DOF = 3 ,
  BOUNDARY_SIDE_DOF = 4 ,
  EDGE_DOF = 5
}
 Choose Support of degrees of freedom. More...
 
enum  ElementShape {
  NO_ELEMENT = 0 ,
  POINT = 1 ,
  LINE = 2 ,
  TRIANGLE = 3 ,
  QUADRILATERAL = 4 ,
  TETRAHEDRON = 5 ,
  HEXAHEDRON = 6 ,
  PENTAHEDRON = 7 ,
  PRISM = 8 ,
  PYRAMID = 9
}
 Enumerate list for element shapes. More...
 
enum  ExternalFileFormat {
  OFELI_FF ,
  GMSH ,
  GNUPLOT ,
  MATLAB ,
  VTK ,
  TECPLOT ,
  EASYMESH ,
  GAMBIT ,
  BAMG ,
  NETGEN ,
  TETGEN ,
  TRIANGLE_FF
}
 ExternalFileFormat. More...
 
enum  ElementType {
  LINE2 = 0 ,
  TRIANG3 = 1 ,
  QUAD4 = 2 ,
  TETRA4 = 3 ,
  HEXA8 = 4 ,
  PENTA6 = 5
}
 Choose finite element type. More...
 
enum  NonLinearIter {
  BISECTION = 0 ,
  REGULA_FALSI = 1 ,
  PICARD = 2 ,
  SECANT = 3 ,
  NEWTON = 4
}
 

Variables

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

Detailed Description

File that contains some macros.

All these macros can be modified before compiling the library.

Enumeration Type Documentation

◆ DOFSupport

enum DOFSupport

Choose Support of degrees of freedom.

Enumerator
NONE 

No support assigned to DOFs.

NODE_DOF 

DOFs are supported by nodes.

ELEMENT_DOF 

DOFs are supported by elements.

SIDE_DOF 

DOFs are supported by sides.

BOUNDARY_SIDE_DOF 

DOFs are supported by sides.

EDGE_DOF 

DOFs are supported by edges.

◆ ElementShape

Enumerate list for element shapes.

Enumerator
NO_ELEMENT 

Mesh with no element

POINT 

Elements are single points

LINE 

Elements are segment lines

TRIANGLE 

Elements are triangles

QUADRILATERAL 

Elements are quadrilaterals

TETRAHEDRON 

Elements are tetrahedra

HEXAHEDRON 

Elements are hexahedra (bricks)

PENTAHEDRON 

Elements are pentahedra

PRISM 

Elements are prisms

PYRAMID 

Elements are pyramids

◆ ElementType

Choose finite element type.

Enumerator
LINE2 

Line element with 2 nodes (P1)

TRIANG3 

Triangular element with 3 nodes (P1)

QUAD4 

Quadrilateral element with 4 nodes (Q1)

TETRA4 

Tetrahedral element with 4 nodes (P1)

HEXA8 

Hexahedral element with 8 nodes (Q1)

PENTA6 

Pentahedral element with 6 nodes (P1*Q1)

◆ EType

enum class EType
strong

Enumerate variable that selects equation data type

Enumerator
NO_TYPE 

No type prescribed

DDOMAIN 

Domain

MESH 

Finite element mesh

GRID 

Grid

VECTOR 

Vector or Field

MATRIX 

Matrix

PROJECT 

Project name

INPUT 

Input

MATERIAL 

Material data

PRESCRIBE 

Prescribe data

FUNCTION 

Function to define a tabulation

INITIAL 

Initial condition or solution

SOLUTION 

Initial condition or solution

BOUNDARY_CONDITION 

Boundary condition data

DIRICHLET 

Boundary condition data

BODY_FORCE 

Body force data

SOURCE 

Body force data

BOUNDARY_FORCE 

Body force data

FLUX 

Body force data

TRACTION 

Body force data

NEUMANN 

Body force data

POINT_FORCE 

Localized (at point) force

AUX_INPUT_FIELD_1 

Auxiliary input field 1

AUX_INPUT_FIELD_2 

Auxiliary input field 2

AUX_INPUT_FIELD_3 

Auxiliary input field 3

AUX_INPUT_FIELD_4 

Auxiliary input field 4

DISPLACEMENT 

A displacement field

VELOCITY 

A velocity field

PRESSURE 

A pressure field

TEMPERATURE 

A temperature field

◆ ExternalFileFormat

ExternalFileFormat.

Enumerate variable that selects external file formats

Enumerator
OFELI_FF 

OFELI file format.

GMSH 

Gmsh file format.

GNUPLOT 

Gnuplot file format.

MATLAB 

Matlab m-file.

VTK 

VTK file format.

TECPLOT 

Tecplot file format.

EASYMESH 

Easymesh file format.

GAMBIT 

Gambit file format.

BAMG 

Bamg file format.

NETGEN 

Netgen file format.

TETGEN 

Tetgen file format.

TRIANGLE_FF 

Triangle file format.

◆ FieldName

enum FieldName

Enumerate variable that selects field.

Enumerator
TEMPERATURE 

Temperature scalar field.

DISPLACEMENT 

Displacement vector field.

VELOCITY 

Velocity vector field.

PRESSURE 

Pressure scalar field.

ELECTRIC_FIELD 

Electric vector field.

MAGNETIC_FIELD 

Magnetic vector field.

POTENTIAL 

Potential vector field.

CONCENTRATION 

Concentration field.

STRESS 

Stress vector field.

INTERNAL_ENERGY 

Internal energy.

DENSITY 

Density.

MOMENTUM 

Momentum.

◆ NonLinearIter

Selects iteration method for solving nonlinear problems

Enumerator
BISECTION 

Bisection method

REGULA_FALSI 

Regula Falsi method

PICARD 

Picard's iteration method

SECANT 

Secant method

NEWTON 

Newton's method