Medusa  1.1
Coordinate Free Mehless Method implementation
mm Namespace Reference

Detailed Description

Root namespace for the whole library.

Namespaces

 assert_internal
 Namespace holding custom assert implementation.
 
 cad_helpers
 Namespace for helper functions used in CAD.
 
 discretization_helpers
 Namespace containing helpers for discretizing various geometric objects.
 
 integrators
 Namespace containing most known methods for integrating ODEs.
 
 kdtree_internal
 Implementation details of KDTree, contains intermediate storage class.
 
 nurbs_patch_internal
 Implementation details of NURBSPatch, contains structures for partial class specialization.
 
 nurbs_shape_internal
 Implementation details of NURBSShape, contains structures for partial class specialization.
 
 operators_internal
 Implementation details for analytical operators.
 
 resize_internal
 Contains a helper for resizing storage.
 
 sh
 Namespace holding masks for shapes.
 
 surface_fill_internal
 Internal implementations needed by GeneralSurfaceFill.
 

Classes

class  AdamsBashforth
 Class representing an AdamsBashforth method, an explicit linear multistep method. More...
 
class  BallShape
 Class for working with ball shaped domains. More...
 
class  BasicRelax
 Redistributes nodes towards more uniform distribution by minimizing potential between nodes. More...
 
class  BoxShape
 Class for working with box shaped domains. More...
 
class  CSV
 Implements support for basic CSV I/O. More...
 
class  deep_copy_unique_ptr
 Unique pointer with polymorphic deep copy semantics. More...
 
struct  Der1
 Represents a first derivative wrt. var. More...
 
struct  Der1s
 Represents a family of all first derivatives. More...
 
struct  Der2
 Represents a second derivative wrt. var1 and var2. More...
 
struct  Der2s
 Represents a family of all second derivatives. More...
 
struct  Derivative
 Represents a general derivative \(\frac{\partial^{|\alpha|}}{\partial x^\alpha}\). More...
 
class  DomainDiscretization
 Class representing domain discretization along with an associated shape. More...
 
class  DomainShape
 Base class for geometric shapes of domains. More...
 
class  ExplicitOperators
 A class for evaluating typical operators needed in spatial discretization. More...
 
class  ExplicitVectorOperators
 A class for evaluating typical operators needed in spatial discretization. More...
 
class  FindBalancedSupport
 Class representing the engine for finding directionally balanced supports. More...
 
class  FindClosest
 Class representing the engine for finding supports consisting of closest nodes. More...
 
class  Gaussian
 Gaussian Radial Basis Function. More...
 
class  GeneralFill
 Implements general n-d node placing algorithm, as described in https://arxiv.org/abs/1812.03160 If you specifically use this algorithm, we would appreciate if you cite the above publication. More...
 
class  GeneralSurfaceFill
 Implements general n-d node placing algorithm for parametrically given d-d surfaces, as described in https://arxiv.org/abs/2005.08767. More...
 
class  GrainDropFill
 Implements general n-d node placing algorithm, as described in https://arxiv.org/abs/1906.00636 This node generation algorithm simulates dropping grains with variable radius in a box. More...
 
class  Grid
 Class representing a simple n-dimensional grid structure, which supports indexing and storing values. More...
 
class  GridFill
 Discretizes the domain using n-dimensional grid with given endpoints and spacing h. More...
 
class  HalfLinksRefine
 Refine a region of nodes region by connecting every node in region to its support domain and generating new nodes at half distances. More...
 
class  HDF
 Simplified HDF5 I/O utilities. More...
 
class  ImplicitOperators
 This class represents implicit operators that fill given matrix M and right hand side rhs with appropriate coefficients approximating differential operators with shape functions from given shape storage ss. More...
 
class  ImplicitVectorOperators
 This class represents implicit vector operators that fill given matrix M and right hand side rhs with appropriate coefficients approximating differential operators with shape functions from given shape storage ss. More...
 
class  InverseMultiquadric
 Inverse Multiquadric Radial Basis Function. More...
 
class  JacobiSVDWrapper
 Extends Eigen's JacobiSVD to compute thin U and thin V by default. More...
 
class  KDGrid
 Search structure over given d-dimensional box with given cell size. More...
 
class  KDTree
 Class representing a static k-d tree data structure. More...
 
class  KDTreeMutable
 A k-d tree data structure that supports dynamic insertions and lazy-removal. More...
 
struct  Lap
 Represents the Laplacian operator. More...
 
class  Monomials
 A class representing Monomial basis. More...
 
class  Multiquadric
 Multiquadric Radial Basis Function. More...
 
class  NoScale
 Scale function that indicates no scaling is performed. More...
 
class  NoWeight
 Class representing no weight function, i.e. a constant 1. More...
 
class  NURBSPatch
 Class representing a single NURBS patch in an arbitrary dimensional space, defined on an arbitrary dimensional domain and generated by a tensor product of NURBS curves. More...
 
class  NURBSShape
 Class representing a shape made out of NURBS patches in an arbitrary dimensional space. More...
 
struct  Operator
 Base class for a differential operator. More...
 
struct  Pi
 Value of Pi in type T. Usage: More...
 
class  PolygonShape
 Shape representing a simple (i.e. non self intersecting) nonempty polygon in 2D, which is given as a sequence of points. More...
 
class  Polyharmonic
 Polyharmonic Radial Basis Function of odd order. More...
 
class  PolyhedronShape
 A polyhedron represented by a closed triangular mesh. More...
 
class  PolytopeShape
 Shape representing a simple nonempty polytope (i.e., non-self intersecting polygon in 2D and polyhedron in 3D.). More...
 
class  PUApproximant
 An efficient partition-of-unity based approximation method for gluing the local approximations together into a smooth field. More...
 
class  RaggedShapeStorage
 Efficiently stores shape functions of different lengths. More...
 
class  Range
 An extension of std::vector<T> to support additional useful operations. More...
 
class  RBFBasis
 Represents a basis of Radial Basis Functions over a local neighbourhood. More...
 
class  RBFFD
 Computes a RBF-FD approximation of given operator over local neighbourhood. More...
 
class  RBFInterpolant
 Class representing a RBF Interpolant over a set of nodes of the form. More...
 
class  RBFWeight
 Represents a weight function constructed from a Radial Basis function. More...
 
class  RKExplicit
 Class representing an explicit Runge-Kutta method. More...
 
class  RotatedShape
 Class for working with rotated (or mirrored) domain shapes. More...
 
struct  scalar_type
 Type trait for scalar fields to obtain their underlying scalar type. More...
 
struct  scalar_type< Eigen::Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >
 The scalar_type trait definition for Eigen Matrix. More...
 
struct  scalar_type< Range< T > >
 The scalar_type trait definition for Range. More...
 
struct  scalar_type< ScalarField< T > >
 The scalar_type trait definition for ScalarField. More...
 
struct  scalar_type< std::vector< T > >
 The scalar_type trait definition for std::vector. More...
 
class  ScalarField
 Represents a discretization of a scalar field, a finite collection of scalars. More...
 
class  ScaleToClosest
 Scale function that scales to the closest neighbor. More...
 
class  ScaleToFarthest
 Scale function that scales to the farthest neighbor. More...
 
class  ShapeDifference
 A class representing a set-difference of two shapes. More...
 
class  ShapeStorage
 Shape storage base class. More...
 
class  ShapeUnion
 Class representing a union of two shapes. More...
 
class  SheppardInterpolant
 Scattered interpolant using a slightly modified Sheppard's interpolation (inverse distance weighting). More...
 
class  STL
 Support for reading stereolithography files: https://en.wikipedia.org/wiki/STL_(file_format) More...
 
class  STLShape
 Class representing an object given by the STL file. More...
 
class  Stopwatch
 A simple stopwatch class: time sections of code that execute repeatedly and get average execution time. More...
 
class  Timer
 Simple timer class: add checkpoints throughout the code and measure execution time between them. More...
 
class  TranslatedShape
 Class for working with translated domain shapes. More...
 
struct  tuple_has_type
 Find type T in Tuple – declaration. More...
 
struct  tuple_has_type< T, std::tuple< T, Ts... > >
 Find type T in Tuple – success. More...
 
struct  tuple_has_type< T, std::tuple< U, Ts... > >
 Find type T in Tuple – unsuccessful, continue searching. More...
 
struct  tuple_has_type< T, std::tuple<> >
 Find type T in Tuple – failed case. More...
 
struct  tuple_index
 Returns the first index of type T in Tuple. More...
 
struct  tuple_index< T, std::tuple< T, Types... > >
 Succesful match. More...
 
struct  tuple_index< T, std::tuple< U, Types... > >
 Unsuccessful match and recursive search. More...
 
class  UniformShapeStorage
 Efficiently stores shape functions of uniform length. More...
 
class  UnknownShape
 This class represents an unknown domain shape. More...
 
struct  vector_type
 Type trait for vector fields to obtain their underlying vector type. More...
 
struct  vector_type< Eigen::Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >
 The vector_type trait definition for Eigen Matrix. More...
 
struct  vector_type< Range< T > >
 The vector_type trait definition for Range. More...
 
struct  vector_type< std::vector< T > >
 The vector_type trait definition for std::vector. More...
 
struct  vector_type< VectorField< Scalar, dim > >
 The vector_type trait definition for VectorField. More...
 
class  VectorField
 Represents a discretization of a vector field, a finite collection of vectors. More...
 
class  WLS
 A class for generating approximations using Weighted Least Squares over local neighborhoods. More...
 
class  WLSApproximant
 Class representing the function that is a WLS approximant using some basis function over some points. More...
 
class  XML
 Class for reading and storing values to XML files. More...
 

Typedefs

template<typename V >
using Gaussians = RBFBasis< Gaussian< typename V::scalar_t >, V >
 RBF basis using Gaussian RBF. Defined for convenience. More...
 
template<typename V >
using MQs = RBFBasis< Multiquadric< typename V::scalar_t >, V >
 RBF basis using Multiquadric RBF. Defined for convenience. More...
 
template<typename V >
using IMQs = RBFBasis< InverseMultiquadric< typename V::scalar_t >, V >
 RBF basis using InverseMultiquadric RBF. Defined for convenience. More...
 
template<typename V , int K = -1>
using PHs = RBFBasis< Polyharmonic< typename V::scalar_t, K >, V >
 RBF basis using Polyharmonic RBF. Defined for convenience. More...
 
template<typename V >
using GaussianWeight = RBFWeight< Gaussian< typename V::scalar_t >, V >
 RBF weight function using Gaussian RBF. Defined for convenience. More...
 
template<typename V >
using MQWeight = RBFWeight< Multiquadric< typename V::scalar_t >, V >
 RBF weight function using Multiquadric RBF. Defined for convenience. More...
 
template<typename V >
using IMQWeight = RBFWeight< InverseMultiquadric< typename V::scalar_t >, V >
 RBF weight function using InverseMultiquadric RBF. Defined for convenience. More...
 
template<typename V >
using PHWeight = RBFWeight< Polyharmonic< typename V::scalar_t, -1 >, V >
 RBF weight function using Polyharmonic RBF. Defined for convenience. More...
 
typedef ScalarField< double > ScalarFieldd
 Convenience typedef for ScalarField of doubles. More...
 
typedef ScalarField< float > ScalarFieldf
 Convenience typedef for ScalarField of floats. More...
 
template<class scalar_t , int dim>
using Vec = Eigen::Matrix< scalar_t, dim, 1, Eigen::ColMajor|Eigen::AutoAlign, dim, 1 >
 Fixed size vector type, representing a mathematical 1d/2d/3d vector. More...
 
typedef Vec< double, 1 > Vec1d
 Convenience typedef for 1d vector of doubles. More...
 
typedef Vec< double, 2 > Vec2d
 Convenience typedef for 2d vector of doubles. More...
 
typedef Vec< double, 3 > Vec3d
 Convenience typedef for 3d vector of doubles. More...
 
typedef Vec< std::complex< double >, 1 > Vec1cd
 Convenience typedef for 1d vector of complex doubles. More...
 
typedef Vec< std::complex< double >, 2 > Vec2cd
 Convenience typedef for 2d vector of complex doubles. More...
 
typedef Vec< std::complex< double >, 3 > Vec3cd
 Convenience typedef for 3d vector of complex doubles. More...
 
typedef VectorField< double, 1 > VectorField1d
 One dimensional vector field of doubles. More...
 
typedef VectorField< double, 2 > VectorField2d
 Two dimensional vector field of doubles. More...
 
typedef VectorField< double, 3 > VectorField3d
 Three dimensional vector field of doubles. More...
 
typedef std::vector< int > indexes_t
 Class representing a collection of indices. More...
 

Functions

template<class S >
std::ostream & operator<< (std::ostream &os, const Gaussian< S > &b)
 Output basic information about given Gaussian RBF. More...
 
template<class S >
std::ostream & operator<< (std::ostream &os, const InverseMultiquadric< S > &b)
 Output basic information about given basis function. More...
 
template<class V >
std::ostream & operator<< (std::ostream &os, const Monomials< V > &m)
 Output basic info about given Monomial basis. More...
 
template<class S >
std::ostream & operator<< (std::ostream &os, const Multiquadric< S > &b)
 Output basic information about given basis function. More...
 
template<typename Derived >
std::ostream & operator<< (std::ostream &os, const Operator< Derived > &op)
 Output info about given operator. More...
 
template<int d>
std::ostream & operator<< (std::ostream &os, const Der1s< d > &op)
 Output info about Der1s<d> More...
 
template<int d>
std::ostream & operator<< (std::ostream &os, const Der2s< d > &op)
 Output info about Der2s<d> More...
 
template<class S , int K>
std::ostream & operator<< (std::ostream &os, const Polyharmonic< S, K > &b)
 Output basic information about given Gaussian RBF. More...
 
template<typename V , typename R >
std::ostream & operator<< (std::ostream &os, const RBFBasis< V, R > &m)
 Output basic info about given basis. More...
 
template<class R , class V , class S , class L >
std::ostream & operator<< (std::ostream &os, const RBFFD< R, V, S, L > &e)
 Output basic info about given approximation engine. More...
 
template<typename V , typename R >
std::ostream & operator<< (std::ostream &os, const RBFWeight< V, R > &w)
 Output info about given weight function. More...
 
template<typename V >
std::ostream & operator<< (std::ostream &os, const NoWeight< V > &m)
 Output basic info about given weight function. More...
 
template<class basis_t , class weight_t , class scale_t , class solver_t >
std::ostream & operator<< (std::ostream &os, const WLS< basis_t, weight_t, scale_t, solver_t > &wls)
 Output basic info about given WLS class. More...
 
template<class vec_t >
std::ostream & operator<< (std::ostream &os, const DomainDiscretization< vec_t > &d)
 Output basic info about given domain. More...
 
template<typename V >
std::ostream & operator<< (std::ostream &os, const DomainShape< V > &shape)
 Output info about given shape to ostream. More...
 
template<typename scalar_t , int num_steps>
std::ostream & operator<< (std::ostream &os, const AdamsBashforth< scalar_t, num_steps > &method)
 Output the method's tableau for debugging. More...
 
template<typename scalar_t , int num_stages>
std::ostream & operator<< (std::ostream &os, const RKExplicit< scalar_t, num_stages > &method)
 Output the method's tableau for debugging. More...
 
std::ostream & operator<< (std::ostream &os, const STL::Point &p)
 Print a STL point. More...
 
std::ostream & operator<< (std::ostream &os, const STL::Triangle &v)
 Print a STL triangle. More...
 
template<>
std::string XML::get< std::string > (const std::string &path) const
 String specialization. More...
 
template<typename approx_t , typename shape_storage_t , typename ... OpFamilies>
void computeShapes (const DomainDiscretization< typename approx_t::vector_t > &domain, approx_t approx, const indexes_t &indexes, const std::tuple< OpFamilies... > &operators, shape_storage_t *storage)
 Computes shape functions (stencil weights) for given nodes using support domains from domain and approximations provided by approx. More...
 
template<typename S >
std::ostream & operator<< (std::ostream &os, const ExplicitOperators< S > &op)
 Output basic information about given operators. More...
 
template<typename S >
std::ostream & operator<< (std::ostream &os, const ExplicitVectorOperators< S > &op)
 Output basic info about given operators. More...
 
template<typename S , typename M , typename R >
std::ostream & operator<< (std::ostream &os, const ImplicitOperators< S, M, R > &op)
 Output basic info about given operators. More...
 
template<typename S , typename M , typename R >
std::ostream & operator<< (std::ostream &os, const ImplicitVectorOperators< S, M, R > &op)
 Output basic info about given operators. More...
 
template<typename D , typename V , typename O >
std::ostream & operator<< (std::ostream &os, const ShapeStorage< D, V, O > &shapes)
 Output basic info about this shape storage. More...
 
template<class V >
std::ostream & operator<< (std::ostream &os, const KDTree< V > &tree)
 Output basic info about given tree. More...
 
template<class V >
std::ostream & operator<< (std::ostream &os, const KDTreeMutable< V > &tree)
 Output basic info about given tree. More...
 
template<class T , class Allocator = std::allocator<T>>
std::vector< T, Allocator > operator+ (const std::vector< T, Allocator > &v1, const std::vector< T, Allocator > &v2)
 Concatenate two vectors. More...
 
void print_red (const std::string &s)
 Prints given text in bold red. More...
 
void print_white (const std::string &s)
 Prints given text in bold white. More...
 
void print_green (const std::string &s)
 Prints given text in bold green. More...
 
std::string mem2str (std::size_t bytes)
 Simple function to help format memory amounts for printing. More...
 
template<typename container_t >
std::size_t mem_used (const container_t &v)
 Returns number of bytes the container uses in memory. More...
 
template<typename T >
int iceil (T x)
 Ceils a floating point to an integer. More...
 
template<typename T >
int ifloor (T x)
 Floors a floating point to an integer. More...
 
template<unsigned int exponent>
double ipow (double base)
 Compile time integer power, returns base raised to power exponent. More...
 
template<>
double ipow< 0 > (double)
 Compile time integer power (base case 0) More...
 
template<typename T >
ipow (T b, int e)
 Compute non-negative integer power b^e. More...
 
template<typename T >
ipowneg (T b, int e)
 Compute possibly negative integer power b^e. More...
 
template<typename T >
constexpr int signum (T x, std::false_type)
 Signum overload for unsigned types. More...
 
template<typename T >
constexpr int signum (T x, std::true_type)
 Signum overload for unsigned types. More...
 
template<typename T >
constexpr int signum (T x)
 Signum function: determines a sign of a number x. More...
 
template<int dim>
bool incrementCounter (Vec< int, dim > &counter, const Vec< int, dim > &limit)
 Increments a multi-dimensional counter with given limits. More...
 
template<int dim>
bool incrementCounter (Vec< int, dim > &counter, const Vec< int, dim > &low, const Vec< int, dim > &high)
 Increments a multi-dimensional counter with given upper and lower limits. More...
 
template<int dim>
bool incrementCyclicCounter (Vec< int, dim > &counter, const Vec< int, dim > &low, const Vec< int, dim > &high, const Vec< int, dim > &size)
 Increments a multi-dimensional counter with given upper and lower limits and global upper size, looping around to 0 if needed. More...
 
template<class scalar_t , int dim>
Range< Vec< scalar_t, dim > > linspace (const Vec< scalar_t, dim > &beg, const Vec< scalar_t, dim > &end, const Vec< int, dim > &counts, const Vec< bool, dim > include_boundary=true)
 Multidimensional clone of Matlab's linspace function. More...
 
template<class scalar_t , int dim>
Range< Vec< scalar_t, dim > > linspace (const Vec< scalar_t, dim > &beg, const Vec< scalar_t, dim > &end, const Vec< int, dim > &counts, bool include_boundary)
 Overload for bool argument of include_boundary. More...
 
template<typename scalar_t >
Range< scalar_tlinspace (scalar_t beg, scalar_t end, int count, bool include_boundary=true)
 Overload for 1 dimension. More...
 
template<typename function_t , typename input_t , typename output_t , bool verbose = false>
input_t bisection (const function_t &f, input_t lo, input_t hi, output_t target=0.0, input_t tolerance=1e-4, int max_iter=40)
 Solves f(x) = target using bisection. More...
 
unsigned int get_seed ()
 Return a random seed. More...
 
template<typename T , typename URNG >
random_choice (const Range< T > &elements, const Range< double > &weights, bool normed, URNG &generator)
 Overload for custom generator. More...
 
template<typename T >
random_choice (const Range< T > &elements, const Range< double > &weights={}, bool normed=false)
 Randomly returns one of the specified elements with distribution according to given weights. More...
 
std::vector< std::string > split (const std::string &s, const std::string &delim)
 Splits string by delim, returning a vector of tokens (including empty). More...
 
std::vector< std::string > split (const std::string &s, char delim)
 Overload for char. More...
 
std::string join (const std::vector< std::string > &parts, const std::string &joiner)
 Joins a vector of strings back together. More...
 
std::string join (const std::vector< std::string > &parts, char joiner)
 Overload for char. More...
 
template<typename container_t >
container_t & sort (container_t &v)
 Sorts a container inplace. More...
 
template<typename container_t , typename predicate_t >
container_t & sort (container_t &v, const predicate_t &pred)
 Sorts a container inplace according to ordering defined by pred. More...
 
template<typename container_t >
container_t sorted (container_t v)
 Returns a sorted copy of container. More...
 
template<typename container_t , typename predicate_t >
container_t sorted (container_t v, const predicate_t &pred)
 Returns a sorted copy of container ordered according to pred. More...
 
template<typename container_t , typename T >
container_t pad (container_t container, T value)
 Pads a ragged array with given value. More...
 
template<>
std::string HDF::readAttribute< std::string > (const std::string &attr_name) const
 Specialization for std::string. More...
 
std::ostream & operator<< (std::ostream &os, const XML &xml)
 Prints the contents of currently loaded XML document. More...
 
std::ostream & operator<< (std::ostream &os, const Stopwatch &stopwatch)
 Output average lap times for all labels. More...
 

Variables

Eigen::IOFormat CleanFmt
 Clean readable multiline aligned format. More...
 
Eigen::IOFormat InlineFmt
 Readable inline format. More...
 
Eigen::IOFormat MatlabFmt
 Full precision format understood by Matlab/Octave. More...
 
Eigen::IOFormat MathematicaFmt
 Full precision output understood by Wolfram Mathematica. More...
 
Eigen::IOFormat CSVFmt
 Valid CSV format. More...
 
static const double PI = Pi<double>::value
 Mathematical constant pi in double precision. More...
 
static const double INF = 1.0 / 0.0
 Infinite floating point value. More...
 
static const double NaN = 0.0 / 0.0
 Not-a-number floating point value. More...
 

Typedef Documentation

◆ Gaussians

template<typename V >
using mm::Gaussians = typedef RBFBasis<Gaussian<typename V::scalar_t>, V>

RBF basis using Gaussian RBF. Defined for convenience.

Examples
test/end2end/cantilever_beam_implicit.cpp.

Definition at line 139 of file RBFBasis_fwd.hpp.

◆ GaussianWeight

template<typename V >
using mm::GaussianWeight = typedef RBFWeight<Gaussian<typename V::scalar_t>, V>

RBF weight function using Gaussian RBF. Defined for convenience.

Definition at line 103 of file WeightFunction_fwd.hpp.

◆ IMQs

template<typename V >
using mm::IMQs = typedef RBFBasis<InverseMultiquadric<typename V::scalar_t>, V>

RBF basis using InverseMultiquadric RBF. Defined for convenience.

Definition at line 147 of file RBFBasis_fwd.hpp.

◆ IMQWeight

template<typename V >
using mm::IMQWeight = typedef RBFWeight<InverseMultiquadric<typename V::scalar_t>, V>

RBF weight function using InverseMultiquadric RBF. Defined for convenience.

Definition at line 111 of file WeightFunction_fwd.hpp.

◆ indexes_t

typedef std::vector<int> mm::indexes_t

Class representing a collection of indices.

Examples
test/domains/DomainDiscretization_test.cpp, test/types/ScalarField_test.cpp, and test/types/VectorField_test.cpp.

Definition at line 36 of file Config.hpp.

◆ MQs

template<typename V >
using mm::MQs = typedef RBFBasis<Multiquadric<typename V::scalar_t>, V>

RBF basis using Multiquadric RBF. Defined for convenience.

Definition at line 143 of file RBFBasis_fwd.hpp.

◆ MQWeight

template<typename V >
using mm::MQWeight = typedef RBFWeight<Multiquadric<typename V::scalar_t>, V>

RBF weight function using Multiquadric RBF. Defined for convenience.

Definition at line 107 of file WeightFunction_fwd.hpp.

◆ PHs

template<typename V , int K = -1>
using mm::PHs = typedef RBFBasis<Polyharmonic<typename V::scalar_t, K>, V>

RBF basis using Polyharmonic RBF. Defined for convenience.

Definition at line 151 of file RBFBasis_fwd.hpp.

◆ PHWeight

template<typename V >
using mm::PHWeight = typedef RBFWeight<Polyharmonic<typename V::scalar_t, -1>, V>

RBF weight function using Polyharmonic RBF. Defined for convenience.

Definition at line 115 of file WeightFunction_fwd.hpp.

◆ ScalarFieldd

◆ ScalarFieldf

typedef ScalarField<float> mm::ScalarFieldf

Convenience typedef for ScalarField of floats.

Definition at line 73 of file ScalarField_fwd.hpp.

◆ Vec1cd

typedef Vec<std::complex<double >, 1> mm::Vec1cd

Convenience typedef for 1d vector of complex doubles.

Definition at line 37 of file Vec_fwd.hpp.

◆ Vec1d

◆ Vec2cd

typedef Vec<std::complex<double >, 2> mm::Vec2cd

Convenience typedef for 2d vector of complex doubles.

Definition at line 39 of file Vec_fwd.hpp.

◆ Vec2d

typedef Vec<double, 2> mm::Vec2d

Convenience typedef for 2d vector of doubles.

Examples
test/approximations/Monomials_test.cpp, test/approximations/operators_test.cpp, test/approximations/RBFBasis_test.cpp, test/approximations/RBFFD_test.cpp, test/approximations/RBFInterpolant_test.cpp, test/approximations/WeightFunction_test.cpp, test/approximations/WLS_test.cpp, test/approximations/WLSApproximant_test.cpp, test/domains/BallShape_test.cpp, test/domains/BasicRelax_test.cpp, test/domains/BoxShape_test.cpp, test/domains/cad_helpers_test.cpp, test/domains/compute_normal_test.cpp, test/domains/discretization_helpers_test.cpp, test/domains/DomainDiscretization_test.cpp, test/domains/FindBalancedSupport_test.cpp, test/domains/FindClosest_test.cpp, test/domains/GeneralFill_test.cpp, test/domains/GeneralSurfaceFill_test.cpp, test/domains/GrainDropFill_test.cpp, test/domains/HalfLinksRefine_test.cpp, test/domains/NURBSPatch_test.cpp, test/domains/PolygonShape_test.cpp, test/domains/RotatedShape_test.cpp, test/domains/TranslatedShape_test.cpp, test/end2end/cantilever_beam_implicit.cpp, test/end2end/diffusion_explicit.cpp, test/end2end/poisson_implicit.cpp, test/interpolants/PUApproximant_test.cpp, test/interpolants/SheppardInterpolant_test.cpp, test/operators/ExplicitOperators_test.cpp, test/operators/ExplicitVectorOperators_test.cpp, test/operators/ImplicitOperators_test.cpp, test/operators/ImplicitVectorOperators_test.cpp, test/spatial_search/KDGrid_test.cpp, test/spatial_search/KDTree_test.cpp, test/spatial_search/KDTreeMutable_test.cpp, test/types/Vec_test.cpp, test/types/VectorField_test.cpp, and test/utils/numutils_test.cpp.

Definition at line 34 of file Vec_fwd.hpp.

◆ Vec3cd

typedef Vec<std::complex<double >, 3> mm::Vec3cd

Convenience typedef for 3d vector of complex doubles.

Definition at line 41 of file Vec_fwd.hpp.

◆ Vec3d

◆ VectorField1d

typedef VectorField<double, 1> mm::VectorField1d

One dimensional vector field of doubles.

Examples
test/operators/ExplicitVectorOperators_test.cpp.

Definition at line 151 of file VectorField_fwd.hpp.

◆ VectorField2d

typedef VectorField<double, 2> mm::VectorField2d

Two dimensional vector field of doubles.

Examples
test/operators/ExplicitVectorOperators_test.cpp, and test/types/VectorField_test.cpp.

Definition at line 152 of file VectorField_fwd.hpp.

◆ VectorField3d

typedef VectorField<double, 3> mm::VectorField3d

Three dimensional vector field of doubles.

Examples
test/types/VectorField_test.cpp.

Definition at line 153 of file VectorField_fwd.hpp.

Function Documentation

◆ HDF::readAttribute< std::string >()

template<>
std::string mm::HDF::readAttribute< std::string > ( const std::string &  attr_name) const

Specialization for std::string.

See also
HDF::readAttribute.

Definition at line 87 of file HDF.cpp.

◆ join()

std::string mm::join ( const std::vector< std::string > &  parts,
char  joiner 
)

Overload for char.

See also
split

◆ operator+()

template<class T , class Allocator = std::allocator<T>>
std::vector<T, Allocator> mm::operator+ ( const std::vector< T, Allocator > &  v1,
const std::vector< T, Allocator > &  v2 
)

Concatenate two vectors.

std::vector<int> a = {1, 2, 3};
std::vector<int> b = {4, 5, 6};
std::vector<int> c = a + b; // c = {1, 2, 3, 4, 5, 6};

Definition at line 265 of file Range_fwd.hpp.

◆ operator<<() [1/28]

template<typename scalar_t , int num_steps>
std::ostream& mm::operator<< ( std::ostream &  os,
const AdamsBashforth< scalar_t, num_steps > &  method 
)

Output the method's tableau for debugging.

Definition at line 39 of file AdamsBashforth.hpp.

◆ operator<<() [2/28]

template<int d>
std::ostream& mm::operator<< ( std::ostream &  os,
const Der1s< d > &  op 
)

Output info about Der1s<d>

Definition at line 113 of file Operators_fwd.hpp.

◆ operator<<() [3/28]

template<int d>
std::ostream& mm::operator<< ( std::ostream &  os,
const Der2s< d > &  op 
)

Output info about Der2s<d>

Definition at line 136 of file Operators_fwd.hpp.

◆ operator<<() [4/28]

template<class vec_t >
std::ostream& mm::operator<< ( std::ostream &  os,
const DomainDiscretization< vec_t > &  d 
)

Output basic info about given domain.

Definition at line 491 of file DomainDiscretization_fwd.hpp.

◆ operator<<() [5/28]

template<typename V >
std::ostream& mm::operator<< ( std::ostream &  os,
const DomainShape< V > &  shape 
)

Output info about given shape to ostream.

Calls polymorphic DomainShape::print function.

See also
print

Definition at line 220 of file DomainShape_fwd.hpp.

◆ operator<<() [6/28]

template<typename S >
std::ostream& mm::operator<< ( std::ostream &  os,
const ExplicitOperators< S > &  op 
)

Output basic information about given operators.

Definition at line 80 of file ExplicitOperators.hpp.

◆ operator<<() [7/28]

template<typename S >
std::ostream& mm::operator<< ( std::ostream &  os,
const ExplicitVectorOperators< S > &  op 
)

Output basic info about given operators.

Definition at line 151 of file ExplicitVectorOperators.hpp.

◆ operator<<() [8/28]

template<class S >
std::ostream& mm::operator<< ( std::ostream &  os,
const Gaussian< S > &  b 
)

Output basic information about given Gaussian RBF.

Definition at line 37 of file Gaussian.hpp.

◆ operator<<() [9/28]

template<typename S , typename M , typename R >
std::ostream& mm::operator<< ( std::ostream &  os,
const ImplicitOperators< S, M, R > &  op 
)

Output basic info about given operators.

Definition at line 65 of file ImplicitOperators.hpp.

◆ operator<<() [10/28]

template<typename S , typename M , typename R >
std::ostream& mm::operator<< ( std::ostream &  os,
const ImplicitVectorOperators< S, M, R > &  op 
)

Output basic info about given operators.

Definition at line 43 of file ImplicitVectorOperators.hpp.

◆ operator<<() [11/28]

template<class S >
std::ostream& mm::operator<< ( std::ostream &  os,
const InverseMultiquadric< S > &  b 
)

Output basic information about given basis function.

Definition at line 49 of file InverseMultiquadric.hpp.

◆ operator<<() [12/28]

template<class V >
std::ostream& mm::operator<< ( std::ostream &  os,
const KDTree< V > &  tree 
)

Output basic info about given tree.

Definition at line 42 of file KDTree.hpp.

◆ operator<<() [13/28]

template<class V >
std::ostream& mm::operator<< ( std::ostream &  os,
const KDTreeMutable< V > &  tree 
)

Output basic info about given tree.

Definition at line 17 of file KDTreeMutable.hpp.

◆ operator<<() [14/28]

template<class V >
std::ostream& mm::operator<< ( std::ostream &  os,
const Monomials< V > &  m 
)

Output basic info about given Monomial basis.

Definition at line 269 of file Monomials.hpp.

◆ operator<<() [15/28]

template<class S >
std::ostream& mm::operator<< ( std::ostream &  os,
const Multiquadric< S > &  b 
)

Output basic information about given basis function.

Definition at line 48 of file Multiquadric.hpp.

◆ operator<<() [16/28]

template<typename V >
std::ostream& mm::operator<< ( std::ostream &  os,
const NoWeight< V > &  m 
)

Output basic info about given weight function.

Definition at line 43 of file WeightFunction_fwd.hpp.

◆ operator<<() [17/28]

template<typename Derived >
std::ostream& mm::operator<< ( std::ostream &  os,
const Operator< Derived > &  op 
)

Output info about given operator.

Definition at line 81 of file Operators_fwd.hpp.

◆ operator<<() [18/28]

template<class S , int K>
std::ostream& mm::operator<< ( std::ostream &  os,
const Polyharmonic< S, K > &  b 
)

Output basic information about given Gaussian RBF.

Definition at line 47 of file Polyharmonic.hpp.

◆ operator<<() [19/28]

template<typename V , typename R >
std::ostream& mm::operator<< ( std::ostream &  os,
const RBFBasis< V, R > &  m 
)

Output basic info about given basis.

Definition at line 139 of file RBFBasis.hpp.

◆ operator<<() [20/28]

template<class R , class V , class S , class L >
std::ostream& mm::operator<< ( std::ostream &  os,
const RBFFD< R, V, S, L > &  e 
)

Output basic info about given approximation engine.

Definition at line 161 of file RBFFD_fwd.hpp.

◆ operator<<() [21/28]

template<typename V , typename R >
std::ostream& mm::operator<< ( std::ostream &  os,
const RBFWeight< V, R > &  w 
)

Output info about given weight function.

Output basic info about given weight function.

Definition at line 17 of file WeightFunction.hpp.

◆ operator<<() [22/28]

template<typename scalar_t , int num_stages>
std::ostream& mm::operator<< ( std::ostream &  os,
const RKExplicit< scalar_t, num_stages > &  method 
)

Output the method's tableau for debugging.

Definition at line 235 of file RKExplicit_fwd.hpp.

◆ operator<<() [23/28]

template<typename D , typename V , typename O >
std::ostream& mm::operator<< ( std::ostream &  os,
const ShapeStorage< D, V, O > &  shapes 
)

Output basic info about this shape storage.

Definition at line 176 of file ShapeStorage.hpp.

◆ operator<<() [24/28]

std::ostream & mm::operator<< ( std::ostream &  os,
const STL::Point p 
)

Print a STL point.

Definition at line 38 of file STL.cpp.

◆ operator<<() [25/28]

std::ostream & mm::operator<< ( std::ostream &  os,
const STL::Triangle v 
)

Print a STL triangle.

Definition at line 41 of file STL.cpp.

◆ operator<<() [26/28]

std::ostream& mm::operator<< ( std::ostream &  os,
const Stopwatch stopwatch 
)

Output average lap times for all labels.

Definition at line 76 of file Stopwatch.cpp.

◆ operator<<() [27/28]

template<class basis_t , class weight_t , class scale_t , class solver_t >
std::ostream& mm::operator<< ( std::ostream &  os,
const WLS< basis_t, weight_t, scale_t, solver_t > &  wls 
)

Output basic info about given WLS class.

Definition at line 105 of file WLS.hpp.

◆ operator<<() [28/28]

std::ostream& mm::operator<< ( std::ostream &  os,
const XML xml 
)

Prints the contents of currently loaded XML document.

Definition at line 49 of file XML.cpp.

◆ print_green()

void mm::print_green ( const std::string &  s)
inline

Prints given text in bold green.

Parameters
stext to print.

Definition at line 95 of file assert.hpp.

◆ print_red()

void mm::print_red ( const std::string &  s)
inline

Prints given text in bold red.

Parameters
stext to print.

Definition at line 85 of file assert.hpp.

◆ print_white()

void mm::print_white ( const std::string &  s)
inline

Prints given text in bold white.

Parameters
stext to print.

Definition at line 90 of file assert.hpp.

◆ signum() [1/2]

template<typename T >
constexpr int mm::signum ( x,
std::false_type   
)
inlineconstexpr

Signum overload for unsigned types.

Examples
test/utils/numutils_test.cpp.

Definition at line 79 of file numutils.hpp.

◆ signum() [2/2]

template<typename T >
constexpr int mm::signum ( x,
std::true_type   
)
inlineconstexpr

Signum overload for unsigned types.

Definition at line 84 of file numutils.hpp.

◆ split()

std::vector< std::string > mm::split ( const std::string &  s,
char  delim 
)

Overload for char.

See also
split

Definition at line 24 of file stdtypesutils.cpp.

◆ XML::get< std::string >()

template<>
std::string mm::XML::get< std::string > ( const std::string &  path) const

String specialization.

Variable Documentation

◆ CleanFmt

Eigen::IOFormat mm::CleanFmt

Clean readable multiline aligned format.

◆ CSVFmt

Eigen::IOFormat mm::CSVFmt

Valid CSV format.

◆ INF

const double mm::INF = 1.0 / 0.0
static

Infinite floating point value.

Definition at line 45 of file Config.hpp.

◆ InlineFmt

Eigen::IOFormat mm::InlineFmt

Readable inline format.

◆ MathematicaFmt

Eigen::IOFormat mm::MathematicaFmt

Full precision output understood by Wolfram Mathematica.

◆ MatlabFmt

Eigen::IOFormat mm::MatlabFmt

Full precision format understood by Matlab/Octave.

◆ NaN

const double mm::NaN = 0.0 / 0.0
static

Not-a-number floating point value.

Definition at line 46 of file Config.hpp.

◆ PI