Finite Element Domain Decomposition Library
FEDDLib
|
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 |
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) |
Adaptive Mesh Refinement.
TPM.
Navier-Stokes.
Diffusion Reaction Equation.
Diffusion.
PreconditionerOperator, copied from.
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.
MeshFileReader.
This class reads data from a given .mesh-file.
Mesh.
Map.
FE.
Declaration of Adaptive Mesh Refinement
Declaration of ErrorEstimation
Declaration of ExporterParaViewAMR
Definition of ExporterParaView
Declaration of RefinementFactory
Declaration of Domain
Definition of Domain
Definition of Elements
Declaration of EdgeElements
Declaration of Elements
Definition of EntitiesOfElements
Declaration of EntitiesOfElements
Declaration of FE
Definition of FiniteElement
Declaration of FiniteElement
Declaration of SurfaceElements
Declaration of BCBuilder
Definition of BCBuilder
Declaration of ExporterParaView
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
Definition of ExporterTxt
Declaration of ExporterTxt
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
Declaration of ParameterListParser
Declaration of BlockMap
Definition of BlockMap
Declaration of BlockMatrix
Definition of BlockMatrix
Declaration of BlockMultiVector
Defintion of BlockMultiVector
Declaration of Map
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
Defintion of Matrix
Declaration of MultiVector
Defintion of MultiVector
Declaration of AABBTree
Definition of AABBTree
Defintion of Mesh
Definition of Mesh
Definition of MeshFileReader
Declaration of MeshFileReader
Declaration of MeshInterface
Definition of MeshPartitioner
Declaration of MeshStructured
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
Declaration of MeshUnstructured
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
Definition of LinearProblem
Declaration of MinPrecProblem
Definition of MinPrecProblem
Declaration of NonLinearProblem
Definition of NonLinearProblem
Declaration of Problem
Declaration of TimeProblem
Definition of TimeProblem
Declaration of DAESolverInTime
Definition of DAESolverInTime
Declaration of LinearSolver
Definition of LinearSolver
Declaration of NonLinearSolver
Definition of NonLinearSolver
Declaration of PrecBlock2x2
Definition of PrecBlock2x2
Declaration of Preconditioner
Definition of Preconditioner
Declaration of PreconditionerOperator
Definition of PreconditionerOperator
Declaration of PrecOpFaCSI
Definition of PrecOpFaCSI
Definition of TimeSteppingTools
Declaration of TimeSteppingTools
Declaration of DiffusionReaction
Definition of Diffusion Reaction Equation
Definition of Elasticity
Declaration of Laplace
Definition of Laplace
Declaration of LaplaceBlocks
Definition of LaplaceBlocks
Declaration of Navier-Stokes
Definition of Navier-Stokes
Declaration of NonLinElasticity
Definition of NonLinElasticity
Declaration of NonLinLaplace
Definition of NonLinLaplace
Declaration of NonLinTPM
Definition of NonLinTPM
Definition of Stokes
Declaration of TPM
Definition of TPM