NuTo
Numerics Tool
Classes | Functions | Variables
ShapeFunctionMemoization.cpp File Reference
#include <benchmark/benchmark.h>
#include "nuto/mechanics/elements/ElementShapeFunctions.h"
#include "nuto/math/NaturalCoordinateMemoizer.h"
#include <memory>
#include <vector>
#include <unordered_map>

Classes

struct  NaturalCoordianteToId< TRaster >
 transforms a vector of natural node coordinates to a reasonable id More...
 
class  NaturalCoordinateMemoizer< TResult, TNaturalCoords, TIdHash >
 provides a memoization of the a std::function<TResult(TNaturalCoords)>, mainly used for element shape functions and their derivatives More...
 
struct  Lobatto
 
struct  VectorHash< TVector >
 
struct  VectorEqual< TVector >
 
class  NaturalCoordinateMemoizerUnorderedMap< TResult, TNaturalCoords, THash, TEqual >
 

Functions

template<typename TMemoizer >
void Run (benchmark::State &state)
 
 BENCHMARK_TEMPLATE (Run, NaturalCoordinateMemoizer< Eigen::MatrixXd, Eigen::Vector3d >)
 
 BENCHMARK_TEMPLATE (Run, NuTo::NaturalCoordinateMemoizerMap< Eigen::MatrixXd, Eigen::Vector3d >)
 
 BENCHMARK_TEMPLATE (Run, NaturalCoordinateMemoizerUnorderedMap< Eigen::MatrixXd, Eigen::Vector3d >)
 
 BENCHMARK_MAIN ()
 

Variables

auto testFunction = NuTo::ShapeFunctions3D::DerivativeShapeFunctionsTetrahedronOrder2
 

Function Documentation

BENCHMARK_MAIN ( )
BENCHMARK_TEMPLATE ( Run  ,
NaturalCoordinateMemoizer< Eigen::MatrixXd, Eigen::Vector3d >   
)
BENCHMARK_TEMPLATE ( Run  ,
NuTo::NaturalCoordinateMemoizerMap< Eigen::MatrixXd, Eigen::Vector3d >   
)
BENCHMARK_TEMPLATE ( Run  ,
NaturalCoordinateMemoizerUnorderedMap< Eigen::MatrixXd, Eigen::Vector3d >   
)
template<typename TMemoizer >
void Run ( benchmark::State &  state)

Variable Documentation

auto testFunction = NuTo::ShapeFunctions3D::DerivativeShapeFunctionsTetrahedronOrder2