NuTo
Numerics Tool
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
NuTo Namespace Reference

Namespaces

 Assembler
 
 Constitutive
 
 Constraint
 
 DofNumbering
 
 EigenCompanion
 Collection of helper functions for Eigen matrices.
 
 Element
 
 EngineeringStrainInvariants
 
 Integrands
 
 Laws
 
 Material
 
 Math
 
 Matrix
 
 Nabla
 
 NewtonRaphson
 
 NonlocalInteraction
 
 SI
 
 Test
 
 Tools
 
 UnitMeshFem
 
 Visualize
 

Classes

class  AdaptiveSolve
 
struct  Average
 calculates the cumulative moving average More...
 
class  Cell
 
class  CellData
 Extracts 'cell data' like nodal values from the cell. More...
 
struct  CellIds
 named pair for cellId and ipId to make the argument list shorter and avoid accidental mixup of both More...
 
class  CellInterface
 
class  CellIpData
 Similar to NuTo::CellData. More...
 
class  CellStorage
 stores and creates integration cells More...
 
class  CollidableBase
 Base class for all collidables. More...
 
class  CollidableParticleBase
 base class for all particles TODO: Idea: implement an interface that somehow every particle knows how to interact with every wall without explicit coding More...
 
class  CollidableParticleSphere
 class for spherical collidables More...
 
class  CollidableWallBase
 base class for walls More...
 
class  CollidableWallCylinder
 class for cylindric walls More...
 
class  CollidableWallPhysical
 class for planar physical walls More...
 
class  CollidableWallVirtual
 virtual, inner, planar wall of the specimen More...
 
class  CollisionHandler
 runs the simulation More...
 
struct  CompareDofType
 
struct  CompareVector
 
class  ConstrainedSystemSolver
 
class  DofContainer
 
struct  DofInfo
 
class  DofMatrixContainer
 dof container that is also capable of performing calculations. More...
 
class  DofType
 
class  DofVector
 
class  EigenIO
 Collection of helper functions for Eigen matrices. More...
 
class  EigenSparseSolver
 Solver usable by NewtonRaphson::Solve(...) More...
 
class  ElementCollection
 interface for all the cell operations, simply forwarding the corresponding element interfaces More...
 
class  ElementCollectionImpl
 implementation of the interface ElementCollection for arbitrary element types that are derived from ElementInterface More...
 
class  ElementFem
 
class  ElementIga
 
class  ElementInterface
 
class  EngineeringStrain
 Engineering strain. More...
 
class  EngineeringStress
 Engineering stress. More...
 
class  Event
 class for storing events More...
 
class  EventListHandler
 class for event list operations More...
 
class  Exception
 Base class for all exceptions thrown in NuTo. More...
 
class  GeometryConcrete
 
class  GmshWriter
 Writes a mesoscale concrete geometry, consisting of a matrix, several aggregates and interfaces around them. More...
 
class  Group
 Ordered container class for elements, nodes and the like. More...
 
class  Hexahedron
 
class  InputReader
 
class  Integrand
 
class  IntegrationType0DBoundary
 integration types in 0D, more like a dummy integration type More...
 
class  IntegrationType3D6NGauss1Ip
 integration types in 3D with 1 Gauss point More...
 
class  IntegrationType3D6NGauss2x3Ip
 integration types in 3D with 6 nodes Gauss integration and 2x3 integration points More...
 
class  IntegrationTypeBase
 standard abstract class for all integration types More...
 
class  IntegrationTypeTensorProduct
 integration types in 1,2,3D; tensor product of 1D Lobatto or Gauss More...
 
class  IntegrationTypeTetrahedron
 Integration types for the triangle. More...
 
class  IntegrationTypeTriangle
 Integration types for the triangle. More...
 
class  InterpolationBrickLinear
 
class  InterpolationBrickLobatto
 
class  InterpolationBrickQuadratic
 
class  InterpolationPrismLinear
 
class  InterpolationPrismQuadratic
 
class  InterpolationPyramidLinear
 
class  InterpolationQuadLinear
 
class  InterpolationQuadLobatto
 
class  InterpolationQuadQuadratic
 
class  InterpolationSimple
 Base class for the interpolation. The derived classes provide information about the actual interpolation. More...
 
class  InterpolationTetrahedronLinear
 
class  InterpolationTetrahedronQuadratic
 
class  InterpolationTriangle3rdOrder
 
class  InterpolationTriangle4thOrder
 
class  InterpolationTriangleLinear
 
class  InterpolationTriangleQuadratic
 
class  InterpolationTruss3rdOrder
 
class  InterpolationTruss4thOrder
 
class  InterpolationTrussLinear
 
class  InterpolationTrussLobatto
 
class  InterpolationTrussQuadratic
 
class  Jacobian
 
class  Line
 
struct  Log
 set of predefined global loggers More...
 
class  Logger
 logger class for redirecting output to different locations/files More...
 
class  MatrixAssembler
 Assembles an internal NuTo::DofMatrixSparse<double> from arbitrary contributions and provides access to it. More...
 
class  MeshFem
 contains the nodes, elements and interpolations for a classic finite element mesh More...
 
class  MeshGmsh
 Reads a gmsh msh-file and converts it to a MeshFEM. More...
 
class  MortonOrder
 class for sorting in Morton order (z-order as space filling curve) More...
 
class  NaturalCoordinateMemoizerMap
 
class  NodalValueMerger
 Performs our good old "NodeMerge" and should be replaced by any solution from issue #141 PDE nodal values. More...
 
class  NodeSimple
 Store node values and its dof. More...
 
class  Nurbs
 Class for NURBS curves, with IGA specific functions. NURBS specific algorithms taken from Piegl, Tiller 'The NURBS book' 1996. More...
 
class  ParticleCreator
 
class  ParticleHandler
 handles the particle list More...
 
class  PolynomialLeastSquaresFitting
 
class  Prism
 
class  Pyramid
 
class  Quadrilateral
 
class  QuasistaticSolver
 
struct  ScalarDofType
 
class  SerializeStreamBase
 Base class for the NuTo SerializeStream Used for the serialization of data values only. More...
 
class  SerializeStreamIn
 Serialize input stream. More...
 
class  SerializeStreamOut
 Serialize output stream. More...
 
class  Shape
 
class  SimpleAssembler
 
class  Specimen
 class for Specimen More...
 
class  SubBox
 class for sub box handing -> improves the performance without changing the physics More...
 
class  SubBoxHandler
 builds and handles sub boxes More...
 
class  SupportPoints
 stores the support points More...
 
class  Tetrahedron
 
class  TimeDependentProblem
 Equation system that contains R(u, u') + M u'' = 0 with R = Gradient dR/du = Hessian0 dR/du' = Hessian1 M = Hessian2. More...
 
class  Timer
 prints the lifetime of a Timer object on destruction More...
 
class  Triangle
 
class  UniqueId
 This class provides a unique id (beginning at 0 and incrementing for each object). More...
 
class  ValueVector
 container that stores values of T and keeps references to these values valid More...
 
class  VectorAssembler
 Assembles an internal NuTo::DofVector<double> from arbitrary contributions and provides access to it. More...
 
struct  Voigt
 

Typedefs

typedef std::vector< Event * > LocalEvents
 
typedef std::set< EventGlobalEvents
 
typedef std::vector< CollidableParticleSphere * > ParticleContainer
 
template<int TDim>
using EngineeringTangent = Eigen::Matrix< double, Voigt::Dim(TDim), Voigt::Dim(TDim)>
 
template<typename T >
using DofMatrix = DofMatrixContainer< Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic >>
 dof container that is also capable of performing calculations. More...
 
template<typename T >
using DofMatrixSparse = DofMatrixContainer< Eigen::SparseMatrix< T >>
 dof container that is also capable of performing calculations. More...
 
using ElementCollectionFem = ElementCollectionImpl< NuTo::ElementFem >
 
template<int TDimParameter>
using ElementCollectionIga = ElementCollectionImpl< NuTo::ElementIga< TDimParameter >>
 
typedef Eigen::Matrix< double, Eigen::Dynamic, 1, Eigen::ColMajor, NuTo::maxDim, 1 > NaturalCoords
 
typedef Eigen::Matrix< double, Eigen::Dynamic, 1, Eigen::ColMajor, NuTo::maxDim, 1 > GlobalCoords
 

Enumerations

enum  eShape {
  eShape::Line, eShape::Triangle, eShape::Quadrilateral, eShape::Tetrahedron,
  eShape::Hexahedron, eShape::Prism, eShape::Pyramid
}
 
enum  ePlaneState { ePlaneState::PLANE_STRESS, ePlaneState::PLANE_STRAIN }
 
enum  eDirection { eDirection::X = 0, eDirection::Y = 1, eDirection::Z = 2 }
 
enum  eIntegrationMethod { eIntegrationMethod::GAUSS, eIntegrationMethod::LOBATTO }
 
enum  eCellTypes {
  eCellTypes::VERTEX, eCellTypes::LINE, eCellTypes::TRIANGLE, eCellTypes::QUAD,
  eCellTypes::TETRAEDER, eCellTypes::HEXAHEDRON, eCellTypes::POLYGON, eCellTypes::WEDGE,
  eCellTypes::PYRAMID, eCellTypes::LINE2NDORDER, eCellTypes::TRIANGLE2NDORDER, eCellTypes::QUAD2NDORDER,
  eCellTypes::TETRAEDER2NDORDER, eCellTypes::HEXAHEDRON2NDORDER
}
 
enum  eVisualizationType { eVisualizationType::VORONOI_CELL, eVisualizationType::EXTRAPOLATION_TO_NODES, eVisualizationType::POINTS }
 
enum  eVisualizeWhat {
  eVisualizeWhat::BOND_STRESS, eVisualizeWhat::SLIP, eVisualizeWhat::DISPLACEMENTS, eVisualizeWhat::ENGINEERING_STRESS,
  eVisualizeWhat::ENGINEERING_STRAIN, eVisualizeWhat::SHRINKAGE_STRAIN, eVisualizeWhat::THERMAL_STRAIN, eVisualizeWhat::NONLOCAL_EQ_STRAIN,
  eVisualizeWhat::LOCAL_EQ_STRAIN, eVisualizeWhat::TOTAL_INELASTIC_EQ_STRAIN, eVisualizeWhat::DAMAGE, eVisualizeWhat::CRACK_PHASE_FIELD,
  eVisualizeWhat::CRACK_PHASE_FIELD_VELOCITY, eVisualizeWhat::ENGINEERING_PLASTIC_STRAIN, eVisualizeWhat::PRINCIPAL_ENGINEERING_STRESS, eVisualizeWhat::PARTICLE_RADIUS,
  eVisualizeWhat::LATTICE_STRAIN, eVisualizeWhat::LATTICE_STRESS, eVisualizeWhat::LATTICE_PLASTIC_STRAIN, eVisualizeWhat::ROTATION,
  eVisualizeWhat::VELOCITY, eVisualizeWhat::ANGULAR_VELOCITY, eVisualizeWhat::ACCELERATION, eVisualizeWhat::ANGULAR_ACCELERATION,
  eVisualizeWhat::TEMPERATURE, eVisualizeWhat::HEAT_FLUX, eVisualizeWhat::RELATIVE_HUMIDITY, eVisualizeWhat::WATER_VOLUME_FRACTION,
  eVisualizeWhat::ELECTRIC_FIELD, eVisualizeWhat::ELECTRIC_POTENTIAL, eVisualizeWhat::ELECTRIC_DISPLACEMENT
}
 

Functions

template<typename T >
Group< T > Unite (const Group< T > &one, const Group< T > &two)
 Unite two groups. More...
 
template<typename T , typename... TArgs>
Group< T > Unite (const Group< T > &one, const TArgs &...args)
 Unite multiple groups. More...
 
template<typename T >
Group< T > Difference (const Group< T > &one, const Group< T > &two)
 Returns group with elements of group one that are not in group two. More...
 
template<typename T >
Group< T > Intersection (const Group< T > &one, const Group< T > &two)
 Returns group with elements that are in both groups. More...
 
template<typename T >
Group< T > SymmetricDifference (const Group< T > &one, const Group< T > &two)
 Returns group with elements that are only in one group not in both. More...
 
NuTo::Loggeroperator<< (NuTo::Logger &rLogger, const char &t)
 
NuTo::Loggeroperator<< (NuTo::Logger &rLogger, const std::string &t)
 
NuTo::Loggeroperator<< (NuTo::Logger &rLogger, const char *t)
 
template<typename T >
Loggeroperator<< (Logger &rLogger, const T &t)
 Generic output command. More...
 
std::ostream & operator<< (std::ostream &rOutStream, const CollidableBase *rCollidable)
 
std::ostream & operator<< (std::ostream &rOutStream, const Event &rEvent)
 
template<typename TSolver >
Eigen::VectorXd SolveWithSolver (const Eigen::SparseMatrix< double > &A, const Eigen::VectorXd &b)
 
Eigen::VectorXd EigenSparseSolve (const Eigen::SparseMatrix< double > &A, const Eigen::VectorXd &b, std::string solver)
 Solve a sparse linear system \(A x = b\) made of Eigen types. More...
 
template<class T , class Preconditioner = Eigen::DiagonalPreconditioner<double>>
int Gmres (const T &A, const Eigen::VectorXd &rhs, Eigen::VectorXd &x, const int maxNumRestarts, const double tolerance, const int krylovDimension)
 Generalized minimal residual method. More...
 
bool operator== (const Shape &lhs, const Shape &rhs)
 
bool operator!= (const Shape &lhs, const Shape &rhs)
 
int ToComponentIndex (eDirection direction)
 
template<typename T >
int TotalRows (const DofMatrixSparse< T > &v, std::vector< DofType > dofs)
 
template<typename T >
int TotalCols (const DofMatrixSparse< T > &v, std::vector< DofType > dofs)
 
template<typename T >
int TotalNonZeros (const DofMatrixSparse< T > &v, std::vector< DofType > dofs)
 
template<typename T >
Eigen::SparseMatrix< T > ToEigen (const DofMatrixSparse< T > &v, std::vector< DofType > dofs)
 export the dofs entries of a DofMatrixSparse to a Eigen::SparseMatrix More...
 
template<typename T >
int TotalRows (const DofVector< T > &v, const std::vector< DofType > &dofs)
 
template<typename T >
Eigen::Matrix< T, Eigen::Dynamic, 1 > ToEigen (const DofVector< T > &v, std::vector< DofType > dofs)
 export the dofs entries of a DofVector to a Eigen::VectorXT More...
 
template<typename T >
void FromEigen (const Eigen::Matrix< T, Eigen::Dynamic, 1 > &source, std::vector< DofType > dofs, DofVector< T > *rDestination)
 imports a values into a properly sized DofVector More...
 
Eigen::VectorXd Interpolate (const ElementInterface &element, NaturalCoords ipCoords)
 
template<typename TObject , typename TReturn >
auto Bind (TObject &object, TReturn(TObject::*f)(const NuTo::CellIpData &, double))
 automatically create the lambda [&](cellIpData) {return integrand.Gradient(cellIpData, 0); } More...
 
template<typename TObject , typename TReturn >
auto Bind (TObject &object, TReturn(TObject::*f)(const NuTo::CellIpData &))
 automatically create the lambda [&](cellIpData) {return integrand.Gradient(cellIpData); } More...
 
std::unique_ptr< IntegrationTypeBaseCreateGaussIntegrationType (const Shape &shape, int order)
 Create a new integrationtype (Gauss integration) from a given shape and order. More...
 
std::unique_ptr< IntegrationTypeBaseCreateLobattoIntegrationType (const Shape &shape, int order)
 Create a new integrationtype (Lobatto integration) from a given shape and order. More...
 
std::unique_ptr< InterpolationSimpleCreateLagrangeInterpolation (const Shape &shape, int order)
 Create a new Lagrange interpolation from a given shape and order. More...
 
std::unique_ptr< InterpolationSimpleCreateLobattoInterpolation (const Shape &shape, int order)
 Create a new Lobatto interpolation from a given shape and order. More...
 
NuTo::InterpolationSimplenew_clone (const NuTo::InterpolationSimple &interpolation)
 clone methods that enables a boost::ptr_container<this> to copy itself More...
 
void AddDofInterpolation (NuTo::MeshFem *rMesh, DofType dofType, boost::optional< const InterpolationSimple & > optionalInterpolation=boost::none)
 add a new layer of nodes for dofType More...
 
void AddDofInterpolation (NuTo::MeshFem *rMesh, DofType dofType, Group< ElementCollectionFem > elements, boost::optional< const InterpolationSimple & > optionalInterpolation=boost::none)
 add a new layer of nodes for dofType but only for elements in given group More...
 
DofVector< double > Solve (const DofMatrixSparse< double > &K, const DofVector< double > &f, Constraint::Constraints &bcs, std::vector< DofType > dofs, std::string solver="EigenSparseLU")
 
DofVector< double > SolveTrialState (const DofMatrixSparse< double > &K, const DofVector< double > &f, double oldTime, double newTime, Constraint::Constraints &bcs, std::vector< DofType > dofs, std::string solver="EigenSparseLU")
 

Variables

const std::string Version = "${commit_nr}"
 
constexpr int maxDim = 3
 

Typedef Documentation

template<typename T >
using NuTo::DofMatrix = typedef DofMatrixContainer<Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic>>

dof container that is also capable of performing calculations.

template<typename T >
using NuTo::DofMatrixSparse = typedef DofMatrixContainer<Eigen::SparseMatrix<T>>

dof container that is also capable of performing calculations.

template<int TDimParameter>
using NuTo::ElementCollectionIga = typedef ElementCollectionImpl<NuTo::ElementIga<TDimParameter>>
template<int TDim>
using NuTo::EngineeringTangent = typedef Eigen::Matrix<double, Voigt::Dim(TDim), Voigt::Dim(TDim)>
typedef Eigen::Matrix<double, Eigen::Dynamic, 1, Eigen::ColMajor, NuTo::maxDim, 1> NuTo::GlobalCoords
typedef std::set<Event> NuTo::GlobalEvents
typedef std::vector<Event*> NuTo::LocalEvents
typedef Eigen::Matrix<double, Eigen::Dynamic, 1, Eigen::ColMajor, NuTo::maxDim, 1> NuTo::NaturalCoords

Enumeration Type Documentation

enum NuTo::eCellTypes
strong
Enumerator
VERTEX 
LINE 
TRIANGLE 
QUAD 
TETRAEDER 
HEXAHEDRON 
POLYGON 
WEDGE 
PYRAMID 
LINE2NDORDER 
TRIANGLE2NDORDER 
QUAD2NDORDER 
TETRAEDER2NDORDER 
HEXAHEDRON2NDORDER 
enum NuTo::eDirection
strong
Enumerator
Enumerator
GAUSS 
LOBATTO 
enum NuTo::ePlaneState
strong
Enumerator
PLANE_STRESS 
PLANE_STRAIN 
enum NuTo::eShape
strong
Enumerator
Line 
Triangle 
Quadrilateral 
Tetrahedron 
Hexahedron 
Prism 
Pyramid 
Enumerator
VORONOI_CELL 

Decomposes the element into smaller cells.

EXTRAPOLATION_TO_NODES 

Extrapolates integration point data to nodes.

POINTS 

Visualize integration point data as vertex elements.

enum NuTo::eVisualizeWhat
strong
Enumerator
BOND_STRESS 

visualize bond stress

SLIP 

visualize slip (relative displacement)

DISPLACEMENTS 

visualize displacements

ENGINEERING_STRESS 

visualize engineering stress tensor

ENGINEERING_STRAIN 

visualize engineering strain tensor

SHRINKAGE_STRAIN 

visualize shrinkage strain tensor

THERMAL_STRAIN 

visualize thermal strain tensor

NONLOCAL_EQ_STRAIN 

visualize nonlocal equivalent strains

LOCAL_EQ_STRAIN 

visualize local equivalent strains

TOTAL_INELASTIC_EQ_STRAIN 

visualize inelastic equivalent strain

DAMAGE 

visualize damage

CRACK_PHASE_FIELD 

visualize crack phase-field

CRACK_PHASE_FIELD_VELOCITY 

visualize crack phase-field velocity

ENGINEERING_PLASTIC_STRAIN 

visualize engineering plastic strain

PRINCIPAL_ENGINEERING_STRESS 

visualize principal stresses

PARTICLE_RADIUS 

visualize radius of particles/nodes

LATTICE_STRAIN 

visualize strain of lattice models

LATTICE_STRESS 

visualize stress of lattice models

LATTICE_PLASTIC_STRAIN 

visualize plastic strain of lattice models

ROTATION 

visualize rotations

VELOCITY 

visualize velocity

ANGULAR_VELOCITY 

visualize angular velocity

ACCELERATION 

visualize acceleration

ANGULAR_ACCELERATION 

visualize angular acceleration

TEMPERATURE 

visualize temperature

HEAT_FLUX 

visualize heat flux

RELATIVE_HUMIDITY 

visualize relative humidity

WATER_VOLUME_FRACTION 

visualize water volume fraction

ELECTRIC_FIELD 
ELECTRIC_POTENTIAL 
ELECTRIC_DISPLACEMENT 

Function Documentation

void NuTo::AddDofInterpolation ( NuTo::MeshFem rMesh,
DofType  dofType,
boost::optional< const InterpolationSimple & >  optionalInterpolation = boost::none 
)

add a new layer of nodes for dofType

Parameters
rMeshfem mesh, return argument with r and weird pointer syntax to make it clear
dofTypedof type
optionalInterpolationinterpolation type for the dof type. If you do not provide a argument here (or boost::none) each new dof element will use the underlying coordinate interpolation resulting in an isoparametric element. This will also work for mixed meshes consisting of multiple interpolation types
void NuTo::AddDofInterpolation ( NuTo::MeshFem rMesh,
DofType  dofType,
Group< ElementCollectionFem elements,
boost::optional< const InterpolationSimple & >  optionalInterpolation = boost::none 
)

add a new layer of nodes for dofType but only for elements in given group

template<typename TObject , typename TReturn >
auto NuTo::Bind ( TObject &  object,
TReturn(TObject::*)(const NuTo::CellIpData &, double)  f 
)

automatically create the lambda [&](cellIpData) {return integrand.Gradient(cellIpData, 0); }

template<typename TObject , typename TReturn >
auto NuTo::Bind ( TObject &  object,
TReturn(TObject::*)(const NuTo::CellIpData &)  f 
)

automatically create the lambda [&](cellIpData) {return integrand.Gradient(cellIpData); }

std::unique_ptr< IntegrationTypeBase > NuTo::CreateGaussIntegrationType ( const Shape shape,
int  order 
)

Create a new integrationtype (Gauss integration) from a given shape and order.

std::unique_ptr< InterpolationSimple > NuTo::CreateLagrangeInterpolation ( const Shape shape,
int  order 
)

Create a new Lagrange interpolation from a given shape and order.

std::unique_ptr< IntegrationTypeBase > NuTo::CreateLobattoIntegrationType ( const Shape shape,
int  order 
)

Create a new integrationtype (Lobatto integration) from a given shape and order.

std::unique_ptr< InterpolationSimple > NuTo::CreateLobattoInterpolation ( const Shape shape,
int  order 
)

Create a new Lobatto interpolation from a given shape and order.

template<typename T >
Group<T> NuTo::Difference ( const Group< T > &  one,
const Group< T > &  two 
)

Returns group with elements of group one that are not in group two.

Eigen::VectorXd NuTo::EigenSparseSolve ( const Eigen::SparseMatrix< double > &  A,
const Eigen::VectorXd &  b,
std::string  solver 
)

Solve a sparse linear system \(A x = b\) made of Eigen types.

Parameters
ASparse matrix.
bRight hand side vector.
solverString representation of solver.

Choose among the following solvers:

Built-in

Direct solvers:

  • EigenSparseLU
  • EigenSparseQR
  • EigenSimplicialLLT
  • EigenSimplicialLDLT

Iteratitive solvers:

  • EigenConjugateGradient
  • EigenLeastSquaresConjugateGradient
  • EigenBiCGSTAB

External (need to be installed seperately)

SuiteSparse solvers:

  • SuiteSparseLU
  • SuiteSparseSupernodalLLT

MUMPS solvers:

  • MumpsLU
  • MumpsLDLT
template<typename T >
void NuTo::FromEigen ( const Eigen::Matrix< T, Eigen::Dynamic, 1 > &  source,
std::vector< DofType dofs,
DofVector< T > *  rDestination 
)
inline

imports a values into a properly sized DofVector

Parameters
sourceeigen vector whose values are imported
dofsdof types to import
rDestinationproperly sized dof vector
template<class T , class Preconditioner = Eigen::DiagonalPreconditioner<double>>
int NuTo::Gmres ( const T &  A,
const Eigen::VectorXd &  rhs,
Eigen::VectorXd &  x,
const int  maxNumRestarts,
const double  tolerance,
const int  krylovDimension 
)

Generalized minimal residual method.

Eigen::VectorXd NuTo::Interpolate ( const ElementInterface element,
NaturalCoords  ipCoords 
)
inline
template<typename T >
Group<T> NuTo::Intersection ( const Group< T > &  one,
const Group< T > &  two 
)

Returns group with elements that are in both groups.

NuTo::InterpolationSimple* NuTo::new_clone ( const NuTo::InterpolationSimple interpolation)
inline

clone methods that enables a boost::ptr_container<this> to copy itself

Parameters
interpolationreference to the InterpolationSimple
Returns
cloned owning raw pointer of interpolation
bool NuTo::operator!= ( const Shape lhs,
const Shape rhs 
)
inline
Logger & NuTo::operator<< ( NuTo::Logger rLogger,
const char &  t 
)
Logger & NuTo::operator<< ( NuTo::Logger rLogger,
const std::string &  t 
)
Logger & NuTo::operator<< ( NuTo::Logger rLogger,
const char *  t 
)
std::ostream& NuTo::operator<< ( std::ostream &  rOutStream,
const CollidableBase rCollidable 
)
Parameters
rOutStreamoperator RHS: output stream
rCollidableoperator LHS: object added to the output stream
Returns
modified output stream
template<typename T >
Logger& NuTo::operator<< ( Logger rLogger,
const T &  t 
)
inline

Generic output command.

std::ostream& NuTo::operator<< ( std::ostream &  rOutStream,
const Event rEvent 
)
bool NuTo::operator== ( const Shape lhs,
const Shape rhs 
)
inline
DofVector< double > NuTo::Solve ( const DofMatrixSparse< double > &  K,
const DofVector< double > &  f,
Constraint::Constraints bcs,
std::vector< DofType dofs,
std::string  solver = "EigenSparseLU" 
)
DofVector< double > NuTo::SolveTrialState ( const DofMatrixSparse< double > &  K,
const DofVector< double > &  f,
double  oldTime,
double  newTime,
Constraint::Constraints bcs,
std::vector< DofType dofs,
std::string  solver = "EigenSparseLU" 
)
template<typename TSolver >
Eigen::VectorXd NuTo::SolveWithSolver ( const Eigen::SparseMatrix< double > &  A,
const Eigen::VectorXd &  b 
)
template<typename T >
Group<T> NuTo::SymmetricDifference ( const Group< T > &  one,
const Group< T > &  two 
)

Returns group with elements that are only in one group not in both.

int NuTo::ToComponentIndex ( eDirection  direction)
inline
template<typename T >
Eigen::Matrix<T, Eigen::Dynamic, 1> NuTo::ToEigen ( const DofVector< T > &  v,
std::vector< DofType dofs 
)
inline

export the dofs entries of a DofVector to a Eigen::VectorXT

Template Parameters
Tnumeric type
Parameters
vdof vector to export
dofsdof types to export
Returns
continuous vector containing the combined subvectors of v
template<typename T >
Eigen::SparseMatrix<T> NuTo::ToEigen ( const DofMatrixSparse< T > &  v,
std::vector< DofType dofs 
)
inline

export the dofs entries of a DofMatrixSparse to a Eigen::SparseMatrix

Template Parameters
Tnumeric type
Parameters
vdof matrix to export
dofsdof types to export
Returns
continuous matrix containing the combined submatrices of v
template<typename T >
int NuTo::TotalCols ( const DofMatrixSparse< T > &  v,
std::vector< DofType dofs 
)
inline
template<typename T >
int NuTo::TotalNonZeros ( const DofMatrixSparse< T > &  v,
std::vector< DofType dofs 
)
inline
template<typename T >
int NuTo::TotalRows ( const DofVector< T > &  v,
const std::vector< DofType > &  dofs 
)
inline
template<typename T >
int NuTo::TotalRows ( const DofMatrixSparse< T > &  v,
std::vector< DofType dofs 
)
inline
template<typename T >
Group<T> NuTo::Unite ( const Group< T > &  one,
const Group< T > &  two 
)

Unite two groups.

template<typename T , typename... TArgs>
Group<T> NuTo::Unite ( const Group< T > &  one,
const TArgs &...  args 
)

Unite multiple groups.

Variable Documentation

constexpr int NuTo::maxDim = 3
const std::string NuTo::Version = "${commit_nr}"