Finite Element Domain Decomposition Library
FEDDLib
Loading...
Searching...
No Matches
FEDD Namespace Reference

Adaptive Mesh Refinement. More...

Classes

class  AABBTree
 
class  AdaptiveMeshRefinement
 
class  AssembleFE
 This abstract class defining the interface for any type of element assembly rountines in the FEDDLib. More...
 
class  AssembleFE_Laplace
 
class  AssembleFE_LinElas
 
class  AssembleFE_NonLinElas
 
class  AssembleFE_NonLinElas2
 
class  AssembleFE_SCI_NH
 
class  AssembleFE_SCI_SMC_Active_Growth_Reorientation
 
class  AssembleFE_SCI_SMC_MLCK
 
class  AssembleFEBlock
 This abstract class defining the interface for any type of element assembly rountines in the FEDDLib. More...
 
class  AssembleFEFactory
 This class allows for constructing AssembleFE objects. More...
 
class  AssembleFEGeneralizedNewtonian
 
class  AssembleFENavierStokes
 
class  AssembleFENonLinLaplace
 
class  BCBuilder
 This class is responsible for setting the boundary conditions into the system and rhs. More...
 
class  BlockMap
 Block Variant of Map class. More...
 
class  BlockMatrix
 
class  BlockMultiVector
 
class  CarreauYasuda
 
class  DAESolverInTime
 
class  DataElement
 
class  DifferentiableFuncClass
 This abstract class is derived from the abstract class of general input to output mapping. It is defining the general concepts of a function and computing function evaluation and evaluation of its derivative. More...
 
class  DiffusionReaction
 
class  Dimless_Carreau
 This class is derived from the abstract class DifferentiableFuncClass and should provide functionality to evaluate the viscosity function specified by Carreau model in dimensionless form that why we need to multiply with a reference viscosity to obtain the actual viscosity value(see [1]) More...
 
class  Domain
 
class  EdgeElements
 
class  Elasticity
 Elasticity. More...
 
class  Elements
 
class  EntitiesOfElements
 
class  ErrorEstimation
 
class  ExporterParaView
 
class  ExporterParaViewAMR
 
class  ExporterTxt
 
class  FE
 
class  FiniteElement
 
class  FSI
 
class  Geometry
 
class  HDF5Export
 
class  HDF5Import
 
class  Helper
 
class  InputToOutputMappingClass
 This abstract class defining the general concepts of a mapping between an input and an output. To hold it general the input can be any high-dimensional array. More...
 
class  Laplace
 
class  LaplaceBlocks
 
class  LinearProblem
 
class  LinearSolver
 
class  LinElas
 
class  LinElasAssFE
 
class  LinElasFirstOrder
 
class  Map
 
class  Map_Xpetra
 
class  Matrix
 
class  Mesh
 
class  MeshInterface
 
class  MeshPartitioner
 
class  MeshStructured
 
class  MeshUnstructured
 
class  MinPrecProblem
 
class  MultiVector
 
class  NavierStokes
 Navier-Stokes. More...
 
class  NavierStokesAssFE
 Navier-Stokes. More...
 
class  NonLinearProblem
 
class  NonLinearSolver
 
class  NonLinElasAssFE
 
class  NonLinElasticity
 
class  NonLinLaplace
 
class  NonLinTPM
 
class  PowerLaw
 This class is derived from the abstract class DifferentiableFuncClass and should provide functionality to evaluate the viscosity function specified by PowerLaw model (see [1]) More...
 
class  PrecBlock2x2
 
class  Preconditioner
 
class  PreconditionerOperator
 
class  PrecOpFaCSI
 
class  Problem
 
class  RefinementFactory
 
class  SmallMatrix
 This class represents a templated small Matrix of type T. Primarily created for 2x2 and 3x3 matrices. Consequently, most features are limited to a certain matrix size. More...
 
class  Stokes
 
class  SurfaceElements
 
class  TimeProblem
 
class  TimeSteppingTools
 
class  TPM
 

Typedefs

typedef unsigned UN
 
typedef std::tuple< int, int > tuple_intint_Type
 
typedef std::tuple< std::string, std::string, int, int > tuple_ssii_Type
 
typedef std::tuple< std::string, double > tuple_sd_Type
 
typedef std::vector< tuple_sd_Type > tuple_sd_vec_Type
 
typedef Teuchos::RCP< tuple_sd_vec_Type > tuple_sd_vec_ptr_Type
 
typedef std::vector< tuple_ssii_Type > tuple_disk_vec_Type
 
typedef Teuchos::RCP< tuple_disk_vec_Type > tuple_disk_vec_ptr_Type
 
typedef std::vector< std::string > string_vec_Type
 
typedef Teuchos::RCP< string_vec_Type > string_vec_ptr_Type
 
typedef std::vector< std::string > vec_string_Type
 
typedef std::vector< double > vec_dbl_Type
 
typedef std::vector< int > vec_int_Type
 
typedef std::vector< long long > vec_long_Type
 
typedef std::vector< default_lo > vec_LO_Type
 
typedef std::vector< default_go > vec_GO_Type
 
typedef std::vector< bool > vec_bool_Type
 
typedef std::vector< std::vector< double > > vec2D_dbl_Type
 
typedef std::vector< std::vector< int > > vec2D_int_Type
 
typedef std::vector< vec_long_Type > vec2D_long_Type
 
typedef std::vector< vec_LO_Type > vec2D_LO_Type
 
typedef std::vector< vec_GO_Type > vec2D_GO_Type
 
typedef std::vector< vec2D_dbl_Type > vec3D_dbl_Type
 
typedef std::vector< vec2D_long_Type > vec3D_long_Type
 
typedef Teuchos::RCP< vec_dbl_Type > vec_dbl_ptr_Type
 
typedef Teuchos::RCP< vec_int_Type > vec_int_ptr_Type
 
typedef Teuchos::RCP< vec_long_Type > vec_long_ptr_Type
 
typedef Teuchos::RCP< vec_GO_Type > vec_GO_ptr_Type
 
typedef Teuchos::RCP< vec2D_dbl_Type > vec2D_dbl_ptr_Type
 
typedef Teuchos::RCP< vec2D_int_Type > vec2D_int_ptr_Type
 
typedef Teuchos::RCP< vec2D_long_Type > vec2D_long_ptr_Type
 
typedef Teuchos::RCP< vec3D_dbl_Type > vec3D_dbl_ptr_Type
 
typedef std::vector< vec_long_ptr_Type > vec_long_ptr_vec_Type
 
typedef Teuchos::RCP< vec_long_ptr_vec_Type > vec_long_ptr_vec_ptr_Type
 
typedef std::vector< vec2D_int_Type > vec2D_int_vec_Type
 
typedef std::vector< vec2D_dbl_Type > vec2D_dbl_vec_Type
 
typedef std::vector< vec2D_int_ptr_Type > vec2D_int_ptr_vec_Type
 
typedef std::vector< vec2D_dbl_ptr_Type > vec2D_dbl_ptr_vec_Type
 
typedef Teuchos::RCP< vec2D_int_vec_Type > vec2D_int_vec_ptr_Type
 
typedef Teuchos::RCP< vec2D_dbl_vec_Type > vec2D_dbl_vec_ptr_Type
 
typedef Teuchos::RCP< vec2D_int_ptr_vec_Type > vec2D_int_ptr_vec_ptr_Type
 
typedef Teuchos::RCP< vec2D_dbl_ptr_vec_Type > vec2D_dbl_ptr_vec_ptr_Type
 
typedef Teuchos::RCP< vec3D_long_Type > vec3D_long_ptr_Type
 
typedef Teuchos::RCP< std::vector< vec_int_ptr_Type > > vec_int_ptr_vec_ptr_Type
 
typedef Teuchos::Time Time_Type
 
typedef Teuchos::RCP< Time_Type > TimePtr_Type
 
typedef Teuchos::TimeMonitor TimeMonitor_Type
 
typedef Teuchos::ParameterList ParameterList_Type
 
typedef Teuchos::RCP< ParameterList_Type > ParameterListPtr_Type
 
typedef Teuchos::RCP< const ParameterList_Type > ParameterListConstPtr_Type
 
typedef boost::function< double(double *x, int *parameters)> CoeffFunc_Type
 
typedef boost::function< double(double *x, double *parameters)> CoeffFuncDbl_Type
 
typedef boost::function< void(double *x, double *res, double *parameters)> RhsFunc_Type
 
typedef boost::function< void(double *x, double *res, double t, double *parameters)> GeneralFunc_Type
 
typedef boost::function< void(double *x, double *res)> Func_Type
 

Functions

void dummyFuncSol (double *x, double *res)
 
void rhsFunc (double *x, double *res, double *parameters)
 
void SPP (double v[1817], ElementSpec *es, ElementData *ed, NodeSpec **ns, NodeData **nd, double *rdata, int *idata, double **gpost, double **npost)
 
char ch_cap (char ch)
 
bool ch_eqi (char ch1, char ch2)
 
int ch_to_digit (char ch)
 
void gmsh_data_read (string gmsh_filename, int node_dim, int node_num, double node_x[], int element_order, int element_num, int element_node[])
 
void gmsh_size_read (string gmsh_filename, int &node_num, int &node_dim, int &element_num, int &element_order)
 
int * gmsh_mesh2d_element_data_example (int element_num, int element_order)
 
void gmsh_mesh2d_element_size_example (int &element_num, int &element_order)
 
double * gmsh_mesh2d_node_data_example (int node_num, int node_dim)
 
void gmsh_mesh2d_node_size_example (int &node_num, int &node_dim)
 
void gmsh_mesh1d_write (string gmsh_filename, int m, int node_num, double node_x[], int element_order, int element_num, int element_node[])
 
void gmsh_mesh2d_write (string gmsh_filename, int m, int node_num, double node_x[], int element_order, int element_num, int element_node[])
 
void gmsh_mesh3d_write (string gmsh_filename, int m, int node_num, double node_x[], int element_order, int element_num, int element_node[])
 
int * i4mat_copy_new (int m, int n, int a1[])
 
void i4mat_transpose_print (int m, int n, int a[], string title)
 
void i4mat_transpose_print_some (int m, int n, int a[], int ilo, int jlo, int ihi, int jhi, string title)
 
void mesh_base_one (int node_num, int element_order, int element_num, int element_node[])
 
double r8_max (double x, double y)
 
double r8_min (double x, double y)
 
double * r8mat_copy_new (int m, int n, double a1[])
 
void r8mat_transpose_print (int m, int n, double a[], string title)
 
void r8mat_transpose_print_some (int m, int n, double a[], int ilo, int jlo, int ihi, int jhi, string title)
 
bool s_begin (string s1, string s2)
 
int s_len_trim (string s)
 
int s_to_i4 (string s, int &last, bool &error)
 
double s_to_r8 (string s, int &lchar, bool &error)
 
void timestamp ()
 
void gmsh_data_read (std::string gmsh_filename, int node_dim, int node_num, double node_x[], int element_order, int element_num, int element_node[])
 
void gmsh_size_read (std::string gmsh_filename, int &node_num, int &node_dim, int &element_num, int &element_order)
 
void gmsh_mesh1d_write (std::string gmsh_filename, int m, int node_num, double node_x[], int element_order, int element_num, int element_node[])
 
void gmsh_mesh2d_write (std::string gmsh_filename, int m, int node_num, double node_x[], int element_order, int element_num, int element_node[])
 
void gmsh_mesh3d_write (std::string gmsh_filename, int m, int node_num, double node_x[], int element_order, int element_num, int element_node[])
 
void i4mat_transpose_print (int m, int n, int a[], std::string title)
 
void i4mat_transpose_print_some (int m, int n, int a[], int ilo, int jlo, int ihi, int jhi, std::string title)
 
void r8mat_transpose_print (int m, int n, double a[], std::string title)
 
void r8mat_transpose_print_some (int m, int n, double a[], int ilo, int jlo, int ihi, int jhi, std::string title)
 
bool s_begin (std::string s1, std::string s2)
 
int s_len_trim (std::string s)
 
int s_to_i4 (std::string s, int &last, bool &error)
 
double s_to_r8 (std::string s, int &lchar, bool &error)
 
void meshReadSize (std::string mesh_filename, int &numNode, int &dim, int &numElement, int &orderElement, int &numSurface, int &orderSurface, int &numEdges, int &orderEdges)
 
template<typename T>
int NextEntry (std::string text, std::string delimiter, int fromPos, int &value, T &random)
 
template<typename T>
int NextEntry (std::string text, std::string delimiter, int fromPos, double &value, T &random)
 
template<typename T>
void readEntity (std::ifstream &file, std::string &text, std::vector< T > &entity, std::vector< int > &entityFlags, const int &numEntity, const int &orderEntity, const std::string &delimiter, bool isNode=false, int dim=3)
 
template<typename T>
void meshReadData (const std::string &mesh_filename, const std::string &type, const std::string &delimiter, const int &dim, const int &numEntity, const int &orderEntity, std::vector< T > &entity, std::vector< int > &entityFlag)
 
template<class ForwardIt, class GO>
ForwardIt uniqueWithCombines (ForwardIt first, ForwardIt last, std::vector< std::vector< GO > > &combines)
 
template<typename T>
std::vector< T > sort_from_ref (std::vector< T > const &in, std::vector< int > const &reference)
 
template<typename T>
std::vector< T > sort_from_ref (std::vector< T > const &in, std::vector< long long > const &reference)
 
template<typename T>
void sort2byFirst (std::vector< std::vector< T > > &in, std::vector< T > &in2)
 
template<typename T, class GO>
void make_unique (std::vector< std::vector< T > > &in, vec2D_GO_Type &combinedElements, std::vector< GO > &globaIDs)
 
template<typename T>
void make_unique (std::vector< std::vector< T > > &in)
 
template<typename T>
void make_unique (std::vector< std::vector< T > > &in, vec2D_GO_Type &combinedElements)
 
template<typename T>
std::vector< T > operator+ (const std::vector< T > &a, const std::vector< T > &b)
 
template<typename T>
std::vector< T > operator- (const std::vector< T > &a, const std::vector< T > &b)
 
template<typename T>
void make_unique (std::vector< T > &in)
 
void ZeroFErhsFunc2D (double *x, double *result, double *parameters)
 
void ZeroFErhsFunc3D (double *x, double *result, double *parameters)
 
double HeuristicScaling (double *x, double *parameter)
 
void rhsFunc2D (double *x, double *result, double *parameters)
 
void rhsFunc3D (double *x, double *result, double *parameters)
 
void ZeroDirichlet (double *x, double *res, double t, double *parameters)
 
double OneFunction (double *x, int *parameter)
 
void myTPM (int material, double h, std::vector< double > &matrix)
 
void myTPMold (int material, double h, std::vector< double > &matrix)
 
void myTPMSingleMat (int material, double h, std::vector< double > &matrix)
 

Detailed Description

Adaptive Mesh Refinement.

TPM.

Stokes.

NonLinTPM.

NonLinLaplace.

NonLinElasticity.

Navier-Stokes.

LaplaceBlocks.

Laplace.

Elasticity.

Diffusion Reaction Equation.

Diffusion.

TimeSteppingTools.

PrecOpFaCSI.

PreconditionerOperator, copied from.

PreconditionerOperator.

Preconditioner.

PrecBlock2x2.

NonLinearSolver.

LinearSolver.

DAESolverInTime.

TimeProblem.

Problem.

NonLinearProblem.

MinPrecProblem.

MinPrecProblem, this class is a minimal interface to a Problem. It provides all the information needed to build a preconditioner: the underlying system in BlockMatrix form and the corresponding domains. It is a concrete problem and not abstract.

LinearProblem.

MeshUnstructured.

MeshStructured.

MeshPartitioner.

MeshInterface.

MeshFileReader.

This class reads data from a given .mesh-file.

Mesh.

AABBTree.

MultiVector.

Matrix.

Map.

BlockMultiVector.

BlockMatrix.

BlockMap.

SmallMatrix.

HDF5Import.

HDF5Export.

ExporterTxt.

BCBuilder.

SurfaceElements.

FiniteElement.

FE.

EntitiesOfElements.

EdgeElements.

Elements.

Domain.

RefinementFactory.

ExporterParaView.

ErrorEstimation.

Declaration of Adaptive Mesh Refinement

Author
Lea Saßmannshausen

Declaration of ErrorEstimation

Author
Lea Saßmannshausen
Version
1.0

Declaration of ExporterParaViewAMR

Author
Lea Saßmannshausen

Definition of ExporterParaView

Author
Lea Saßmannshausen

Declaration of RefinementFactory

Author
Lea Saßmannshausen
Version
1.0

Declaration of Domain

Author
Christian Hochmuth
Version
1.0

Definition of Domain

Author
Christian Hochmuth
Version
1.0

Definition of Elements

Author
Christian Hochmuth
Version
1.0

Declaration of EdgeElements

Author
Christian Hochmuth
Version
1.0

Declaration of Elements

Author
Christian Hochmuth
Version
1.0

Definition of EntitiesOfElements

Author
Christian Hochmuth
Version
1.0

Declaration of EntitiesOfElements

Author
Christian Hochmuth
Version
1.0

Declaration of FE

Author
Christian Hochmuth
Version
1.0

Definition of FiniteElement

Author
Christian Hochmuth
Version
1.0

Declaration of FiniteElement

Author
Christian Hochmuth
Version
1.0

Declaration of SurfaceElements

Author
Christian Hochmuth
Version
1.0

Declaration of BCBuilder

Author
Christian Hochmuth
Version
1.0

Definition of BCBuilder

Author
Christian Hochmuth
Version
1.0

Declaration of ExporterParaView

Author
Christian Hochmuth
Version
1.0

Moving mesh are possible, here connections are constant but coordinates can be shifted between exports. Use set the following paramter in your parameter list in order to export updated mesh points sublist("Exporter")->get("Write new mesh") = true

Definition of ExporterParaView

Author
Christian Hochmuth
Version
1.0

Definition of ExporterTxt

Author
Christian Hochmuth
Version
1.0

Declaration of ExporterTxt

Author
Christian Hochmuth
Version
1.0

Exporting a HDF5 file

Based on Epetra_Ext it is popssible to export a MultiVector to a HDF5 file with the command 'write'. The use must provide the corresponding writemap, to correctly store the (parallely distributed) vector and the file and variable name to stroe it in.

The Structure is as follows: The HDF5 file which stores data is set up via Create(filename) -> We have a HDF5 file The file can now contain one or more variables with different MultiVectors, but they all correspond to the same map When we use more than one variable, the different variables can correspond ie. to different time steps -> This can be useful for restarts, where we can then import the different time steps

Importing a HDF5 file

Based on Epetra_Ext it is popssible to import a HDF5 file with the command 'read'. The use must provide the corresponding map, to distribute the vector and the correct file and variable name.

Importing a HDF5 file

Based on Epetra_Ext it is popssible to import a HDF5 file with the command 'read'. The use must provide the corresponding map, to distribute the vector and the correct file and variable name.

Declaration of SmallMatrix

Author
Christian Hochmuth
Version
1.0

Declaration of ParameterListParser

Author
Alexander Heinlein
Version
1.0

Declaration of BlockMap

Author
Christian Hochmuth
Version
1.0

Definition of BlockMap

Author
Christian Hochmuth
Version
1.0

Declaration of BlockMatrix

Author
Christian Hochmuth
Version
1.0

Definition of BlockMatrix

Author
Christian Hochmuth
Version
1.0

Declaration of BlockMultiVector

Author
Christian Hochmuth
Version
1.0

Defintion of BlockMultiVector

Author
Christian Hochmuth
Version
1.0

Declaration of Map

Author
Christian Hochmuth
Version
1.0

Declaration of Map

June 2024: Transition from XPetra to TPetra. In most instances XPetra interface works through a Factory + Build-call. We replaced this with a direct call to the TPetra functions which can be seen in the corresponding XPetra::Factories.

Declaration of Matrix

Author
Christian Hochmuth
Version
1.0

Defintion of Matrix

Author
Christian Hochmuth
Version
1.0

Declaration of MultiVector

Author
Christian Hochmuth
Version
1.0

Defintion of MultiVector

Author
Christian Hochmuth
Version
1.0

Declaration of AABBTree

Author
Viktor Grimm
Version
1.0

Definition of AABBTree

Author
Viktor Grimm
Version
1.0

Defintion of Mesh

Author
Christian Hochmuth
Version
1.0

Definition of Mesh

Author
Christian Hochmuth
Version
1.0

Definition of MeshFileReader

Author
Christian Hochmuth
Version
1.0

Declaration of MeshFileReader

Author
Christian Hochmuth
Version
1.0

Declaration of MeshInterface

Author
Christian Hochmuth
Version
1.0

Definition of MeshPartitioner

Author
Christian Hochmuth
Version
1.0

Declaration of MeshStructured

Author
Christian Hochmuth
Version
1.0

Extension of mesh class. In MeshStructured meshes are build inside the FEDDLib from scratch and distributed among the processors - structured partition.

!!! Please note that the P1-P2 node structure differs from the 'buildP2Mesh' process in unstructured meshes !!! (P2 nodes are generally build on top of P1 nodes and added to the P1 element list.)

Possible FEType are in general P1 or P2. For most cases a Q2-P1 (disc) discretization is available.

Definition of MeshStructured

Author
Christian Hochmuth
Version
1.0

Declaration of MeshUnstructured

Author
Christian Hochmuth
Version
1.0

Extension of mesh class. MeshUnstructured represents meshes that are read through .mesh input file. In contrast to structured meshes which are meshes we build internally. Features functions to read a mesh and extend it to a P2 mesh.

Declaration of LinearProblem

Author
Christian Hochmuth
Version
1.0

Definition of LinearProblem

Author
Christian Hochmuth
Version
1.0

Declaration of MinPrecProblem

Author
Christian Hochmuth
Version
1.0

Definition of MinPrecProblem

Author
Christian Hochmuth
Version
1.0

Declaration of NonLinearProblem

Author
Christian Hochmuth
Version
1.0

Definition of NonLinearProblem

Author
Christian Hochmuth
Version
1.0

Declaration of Problem

Author
Christian Hochmuth
Version
1.0

Declaration of TimeProblem

Author
Christian Hochmuth
Version
1.0

Definition of TimeProblem

Author
Christian Hochmuth
Version
1.0

Declaration of DAESolverInTime

Author
Christian Hochmuth
Version
1.0

Definition of DAESolverInTime

Author
Christian Hochmuth
Version
1.0

Declaration of LinearSolver

Author
Christian Hochmuth
Version
1.0

Definition of LinearSolver

Author
Christian Hochmuth
Version
1.0

Declaration of NonLinearSolver

Author
Christian Hochmuth
Version
1.0

Definition of NonLinearSolver

Author
Christian Hochmuth
Version
1.0

Declaration of PrecBlock2x2

Author
Christian Hochmuth
Version
1.0

Definition of PrecBlock2x2

Author
Christian Hochmuth
Version
1.0

Declaration of Preconditioner

Author
Christian Hochmuth
Version
1.0

Definition of Preconditioner

Author
Christian Hochmuth
Version
1.0

Declaration of PreconditionerOperator

Author
Christian Hochmuth
Version
1.0

Definition of PreconditionerOperator

Author
Christian Hochmuth
Version
1.0

Declaration of PrecOpFaCSI

Author
Christian Hochmuth
Version
1.0

Definition of PrecOpFaCSI

Author
Christian Hochmuth
Version
1.0

Definition of TimeSteppingTools

Author
Christian Hochmuth
Version
1.0

Declaration of TimeSteppingTools

Author
Christian Hochmuth
Version
1.0

Declaration of DiffusionReaction

Author
Lea Sassmannshausen
Version
1.0

Definition of Diffusion Reaction Equation

Author
Lea Sassmannshausen
Version
1.0

Definition of Elasticity

Author
Christian Hochmuth
Version
1.0

Declaration of Laplace

Author
Christian Hochmuth
Version
1.0

Definition of Laplace

Author
Christian Hochmuth
Version
1.0

Declaration of LaplaceBlocks

Author
Christian Hochmuth
Version
1.0

Definition of LaplaceBlocks

Author
Christian Hochmuth
Version
1.0

Declaration of Navier-Stokes

Author
Christian Hochmuth
Version
1.0

Definition of Navier-Stokes

Author
Christian Hochmuth
Version
1.0

Declaration of NonLinElasticity

Author
Christian Hochmuth
Version
1.0

Definition of NonLinElasticity

Author
Christian Hochmuth
Version
1.0

Declaration of NonLinLaplace

Author
Kyrill Ho
Version
1.0

Definition of NonLinLaplace

Author
Kyrill Ho
Version
1.0

Declaration of NonLinTPM

Author
Christian Hochmuth
Version
1.0

Definition of NonLinTPM

Author
Christian Hochmuth
Version
1.0

Definition of Stokes

Author
Christian Hochmuth
Version
1.0

Declaration of TPM

Author
Christian Hochmuth
Version
1.0

Definition of TPM

Author
Christian Hochmuth
Version
1.0