GooseFEM 1.4.1.dev2+g78f16df
Loading...
Searching...
No Matches
GooseFEM Namespace Reference

Toolbox to perform finite element computations. More...

Namespaces

namespace  array_type
 Container type.
 
namespace  Element
 Element quadrature and interpolation.
 
namespace  Iterate
 Support function for iterations in end-user programs.
 
namespace  Mesh
 Generic mesh operations, and simple mesh definitions.
 
namespace  Tyings
 Tools to store and apply nodal/DOF tyings.
 

Classes

class  Matrix
 Sparse matrix. More...
 
class  MatrixBase
 CRTP base class for a matrix. More...
 
class  MatrixDiagonal
 Diagonal matrix. More...
 
class  MatrixDiagonalBase
 CRTP base class for a partitioned matrix with tying. More...
 
class  MatrixDiagonalPartitioned
 Diagonal and partitioned matrix. More...
 
class  MatrixPartitioned
 Sparse matrix partitioned in an unknown and a prescribed part. More...
 
class  MatrixPartitionedBase
 CRTP base class for a partitioned matrix. More...
 
class  MatrixPartitionedSolver
 Solve \( x_u = A_{uu}^{-1} (b_u - A_{up} * x_p) \) for A of the MatrixPartitioned() class. More...
 
class  MatrixPartitionedTyings
 Sparse matrix from with dependent DOFs are eliminated, and the remaining (small) independent system is partitioned in an unknown and a prescribed part. More...
 
class  MatrixPartitionedTyingsBase
 CRTP base class for a partitioned matrix with tying. More...
 
class  MatrixPartitionedTyingsSolver
 Solver for MatrixPartitionedTyings(). More...
 
class  MatrixSolver
 Solve \( x = A^{-1} b \), for A of the GooseFEM::Matrix() class. More...
 
class  MatrixSolverBase
 CRTP base class for a solver class. More...
 
class  MatrixSolverPartitionedBase
 CRTP base class for a extra functions for a partitioned solver class. More...
 
class  MatrixSolverSingleBase
 CRTP base class for a solver class. More...
 
class  Vector
 Class to switch between storage types. More...
 
class  VectorPartitioned
 Class to switch between storage types, based on a mesh and DOFs that are partitioned in: More...
 
class  VectorPartitionedTyings
 Class to switch between storage types. More...
 

Functions

template<class T , class R >
void asTensor (const T &arg, R &ret)
 "Broadcast" a scalar stored in an array (e.g.
 
template<class T , class S >
auto AsTensor (const T &arg, const S &shape)
 "Broadcast" a scalar stored in an array (e.g.
 
template<class T , class I , size_t L>
auto AsTensor (const T &arg, const I(&shape)[L])
 "Broadcast" a scalar stored in an array (e.g.
 
template<size_t rank, class T >
auto AsTensor (const T &arg, size_t n)
 "Broadcast" a scalar stored in an array (e.g.
 
template<class T >
auto AsTensor (size_t rank, const T &arg, size_t n)
 "Broadcast" a scalar stored in an array (e.g.
 
template<class T >
T as3d (const T &arg)
 Zero-pad columns to a matrix until is that shape [m, 3].
 
template<class T >
bool is_unique (const T &arg)
 Returns true is a list is unique (has not duplicate items).
 
std::string version ()
 Return version string, e.g.
 
std::vector< std::string > version_dependencies ()
 Return versions of this library and of all of its dependencies.
 

Detailed Description

Toolbox to perform finite element computations.

Function Documentation

◆ as3d()

template<class T >
T GooseFEM::as3d ( const T & arg)
inline

Zero-pad columns to a matrix until is that shape [m, 3].

Parameters
argA "nodevec" (arg.shape(1) <= 3).
Returns
Corresponding "nodevec" in 3-d (ret.shape(1) == 3)

Definition at line 223 of file Allocate.h.

◆ AsTensor() [1/4]

template<class T , class I , size_t L>
auto GooseFEM::AsTensor ( const T & arg,
const I(&) shape[L] )
inline

"Broadcast" a scalar stored in an array (e.g.

[r, s]) to the same scalar of all tensor components of a tensor of certain rank (e.g. for rank 2: [r, s, i, j]).

Parameters
argAn array with scalars.
shapeThe shape of the added tensor dimensions (e.g.: [i, j]).
Returns
Corresponding array with tensors.

Definition at line 176 of file Allocate.h.

◆ AsTensor() [2/4]

template<class T , class S >
auto GooseFEM::AsTensor ( const T & arg,
const S & shape )
inline

"Broadcast" a scalar stored in an array (e.g.

[r, s]) to the same scalar of all tensor components of a tensor of certain rank (e.g. for rank 2: [r, s, i, j]).

Parameters
argAn array with scalars.
shapeThe shape of the added tensor dimensions (e.g.: [i, j]).
Returns
Corresponding array with tensors.

Definition at line 167 of file Allocate.h.

◆ asTensor()

template<class T , class R >
void GooseFEM::asTensor ( const T & arg,
R & ret )
inline

"Broadcast" a scalar stored in an array (e.g.

[r, s]) to the same scalar of all tensor components of a tensor of certain rank (e.g. for rank 2: [r, s, i, j]).

Parameters
argAn array with scalars.
retCorresponding array with tensors.

Definition at line 153 of file Allocate.h.

◆ AsTensor() [3/4]

template<size_t rank, class T >
auto GooseFEM::AsTensor ( const T & arg,
size_t n )
inline

"Broadcast" a scalar stored in an array (e.g.

[r, s]) to the same scalar of all tensor components of a tensor of certain rank (e.g. for rank 2: [r, s, n, n]).

Template Parameters
rankNumber of tensor dimensions (number of dimensions to add to the input).
Parameters
argAn array with scalars.
nThe shape along each of the added dimensions.
Returns
Corresponding array with tensors.

Definition at line 192 of file Allocate.h.

◆ AsTensor() [4/4]

template<class T >
auto GooseFEM::AsTensor ( size_t rank,
const T & arg,
size_t n )
inline

"Broadcast" a scalar stored in an array (e.g.

[r, s]) to the same scalar of all tensor components of a tensor of certain rank (e.g. for rank 2: [r, s, n, n]).

Parameters
rankNumber of tensor dimensions (number of dimensions to add to the input).
argAn array with scalars.
nThe shape along each of the added dimensions.
Returns
Corresponding array with tensors.

Definition at line 209 of file Allocate.h.

◆ is_unique()

template<class T >
bool GooseFEM::is_unique ( const T & arg)
inline

Returns true is a list is unique (has not duplicate items).

Parameters
argArray-like.
Returns
true if arg is unique.

Definition at line 20 of file assertions.h.

◆ version()

std::string GooseFEM::version ( )
inline

Return version string, e.g.

"0.8.0"

Returns
String.

Definition at line 55 of file version.h.

◆ version_dependencies()

std::vector< std::string > GooseFEM::version_dependencies ( )
inline

Return versions of this library and of all of its dependencies.

The output is a list of strings, e.g.::

 "goosefem=0.7.0",
 "xtensor=0.20.1"
 ...
Returns
List of strings.

Definition at line 70 of file version.h.