IgANet
IgANets - Isogeometric Analysis Networks
Loading...
Searching...
No Matches
iganet Namespace Reference

Namespaces

namespace  detail
 
namespace  literals
 
namespace  logging
 
namespace  utils
 
namespace  webapp
 

Classes

class  ActivationFunction
 Abstract activation function structure. More...
 
class  BatchNorm
 Batch Normalization as described in the paper. More...
 
class  BoundaryCommon
 Boundary (common high-level functionality) More...
 
class  BoundaryCore
 BoundaryCore. More...
 
class  BoundaryCore< Spline, 1 >
 BoundaryCore (1d specialization) More...
 
class  BoundaryCore< Spline, 2 >
 BoundaryCore (2d specialization) More...
 
class  BoundaryCore< Spline, 3 >
 BoundaryCore (3d specialization) More...
 
class  BoundaryCore< Spline, 4 >
 BoundaryCore (4d specialization) More...
 
class  BSplineCommon
 B-spline (common high-level functionality) More...
 
class  BSplinePatch
 Abstract patch function base class. More...
 
class  CELU
 Continuously Differentiable Exponential Linear Units activation function. More...
 
class  CreatorCore
 Abstract creator class. More...
 
class  ELU
 Exponential Linear Units activation function. More...
 
class  GELU
 Gaussian Error Linear Units activation function. More...
 
class  GLU
 Grated Linear Units activation function. More...
 
class  GroupNorm
 Group Normalization over a mini-batch of inputs as described in the paper Group Normalization, https://arxiv.org/abs/1803.08494. More...
 
class  gsObjFuncSurface
 Objective function for surface reparameterization. More...
 
class  GumbelSoftmax
 Gumbel-Softmax distribution activation function. More...
 
struct  half
 
class  Hardshrink
 Hard shrinkish activation function. More...
 
class  Hardsigmoid
 Hardsigmoid activation function. More...
 
class  Hardswish
 Hardswish activation function. More...
 
class  Hardtanh
 Hardtanh activation function. More...
 
class  Hcurl
 IGANET_FUNCTIONSPACE_TUPLE_WRAPPER(RT);. More...
 
class  Hcurl< Spline, 3 >
 H(curl) function space. More...
 
class  IgABase
 IgA base class. More...
 
class  IgABaseNoRefData
 IgA base class (no reference data) More...
 
class  IgADataset
 IgA dataset class. More...
 
class  IgADataset< false >
 
class  IgADataset< true >
 
class  IgADatasetBase
 IgA dataset base class. More...
 
class  IgANet
 IgANet. More...
 
class  IgANetCustomizable
 IgANetCustomizable. More...
 
class  IgANetGenerator
 IgANetGenerator. More...
 
class  IgANetGeneratorImpl
 IgANetGeneratorImpl. More...
 
struct  IgANetOptions
 IgANetOptions. More...
 
class  IgASolver
 IgA solver. More...
 
struct  IndexOutOfBoundsException
 IndexOutOfBounds exception. More...
 
class  InstanceNorm
 Instance Normalization as described in the paper. More...
 
class  IntervalCreator
 Interval creator class. More...
 
struct  InvalidModelAttributeException
 InvalidModelAttribute exception. More...
 
struct  InvalidModelException
 InvalidModel exception. More...
 
class  LayerNorm
 Layer Normalization as described in the paper. More...
 
class  LeakyReLU
 Leaky ReLU activation function. More...
 
class  LocalResponseNorm
 Local response Normalization. More...
 
class  LogSigmoid
 LogSigmoid activation function. More...
 
class  LogSoftmax
 LogSoftmax activation function. More...
 
class  MemoryDebugger
 Memory debugger. More...
 
class  Mish
 Mish activation function. More...
 
class  Model
 Model interface. More...
 
class  ModelAddPatch
 Model add patch. More...
 
class  ModelComputeError
 Model error computation. More...
 
class  ModelElevate
 Model degree elevation. More...
 
class  ModelEval
 Model evaluator. More...
 
class  ModelHandler
 Model handler. More...
 
class  ModelIncrease
 Model degree increase. More...
 
class  ModelManager
 Model manager. More...
 
class  ModelRefine
 Model refinement. More...
 
class  ModelRemovePatch
 Model remove patch. More...
 
class  ModelReparameterize
 Model reparameterization. More...
 
class  ModelSerialize
 Model serialization. More...
 
class  ModelXML
 Model XML serialization. More...
 
class  MultiPatch
 Multi-patch container class. More...
 
class  NE
 IGANET_FUNCTIONSPACE_TUPLE_WRAPPER(TH);. More...
 
class  NE< Spline, 1 >
 Nedelec like function space. More...
 
class  NE< Spline, 2 >
 Nedelec like function space. More...
 
class  NE< Spline, 3 >
 Nedelec like function space. More...
 
class  NE< Spline, 4 >
 Nedelec like function space. More...
 
class  None
 No-op activation function. More...
 
class  NonUniformBSplineCore
 Tensor-product non-uniform B-spline (core functionality) More...
 
class  NonUniformNurbsCore
 Tensor-product non-uniform rational B-spline with non-uniform knot vectors (core functionality) More...
 
class  Normalize
 Lp Normalization. More...
 
class  Options
 The Options class handles the automated determination of dtype from the template argument and the selection of the device. More...
 
class  Options< Options< real_t > >
 Options dispatcher. More...
 
class  Poisson2dModel
 Poisson equation in 2d model. More...
 
class  PReLU
 PReLU activation function. More...
 
class  RectangleCreator
 Rectangle creator class. More...
 
class  ReLU
 ReLU activation function. More...
 
class  ReLU6
 ReLU6 activation function. More...
 
class  RReLU
 Randomized ReLU activation function. More...
 
class  RT
 IGANET_FUNCTIONSPACE_TUPLE_WRAPPER(NE);. More...
 
class  RT< Spline, 1 >
 Raviart-Thomas like function space. More...
 
class  RT< Spline, 2 >
 Raviart-Thomas like function space. More...
 
class  RT< Spline, 3 >
 Raviart-Thomas like function space. More...
 
class  RT< Spline, 4 >
 Raviart-Thomas like function space. More...
 
class  SELU
 SELU activation function. More...
 
class  Sigmoid
 Sigmoid activation function. More...
 
class  SiLU
 Sigmoid Linear Unit activation function. More...
 
class  Softmax
 Softmax activation function. More...
 
class  Softmin
 Softmin activation function. More...
 
class  Softplus
 Softplus activation function. More...
 
class  Softshrink
 Softshrink activation function. More...
 
class  Softsign
 Softsign activation function. More...
 
class  Tanh
 Tanh activation function. More...
 
class  Tanhshrink
 Tanhshrink activation function. More...
 
class  TH
 Taylor-Hood like function space. More...
 
class  TH< Spline, 1 >
 Taylor-Hood like function space. More...
 
class  TH< Spline, 2 >
 Taylor-Hood like function space. More...
 
class  TH< Spline, 3 >
 Taylor-Hood like function space. More...
 
class  TH< Spline, 4 >
 Taylor-Hood like function space. More...
 
class  Threshold
 Threshold activation function. More...
 
class  UniformBSplineCore
 Tensor-product uniform B-spline (core functionality) More...
 
class  UniformNurbsCore
 Tensor-product non-uniform rational B-spline with uniform knot vector (core functionality) More...
 

Typedefs

template<typename Spline >
using Boundary = BoundaryCommon< BoundaryCore< Spline, Spline::parDim()> >
 Boundary.
 
template<typename... Args>
using FunctionSpace = typename detail::FunctionSpace_trait< Args... >::type
 Function space alias.
 
template<typename... T>
using is_BoundaryType = std::conjunction< std::is_base_of< detail::BoundaryType, T >... >
 Type trait to check if T is a valid Boundary type.
 
template<typename... T>
using is_SplineType = std::conjunction< std::is_base_of< detail::SplineType, T >... >
 Type trait to check if T is a valid Spline type.
 
template<typename real_t , short_t GeoDim, short_t... Degrees>
using NonUniformBSpline = BSplineCommon< NonUniformBSplineCore< real_t, GeoDim, Degrees... > >
 Tensor-product non-uniform B-spline.
 
template<typename real_t , short_t GeoDim, short_t... Degrees>
using NonUniformNurbs = BSplineCommon< NonUniformNurbsCore< real_t, GeoDim, Degrees... > >
 Tensor-product non-uniform Nurbs.
 
template<typename Spline >
using S = FunctionSpace< Spline >
 Spline function space \( S^{\mathbf{p}}_{\mathbf{p}-1} \).
 
using short_t = short int
 
template<typename real_t , short_t GeoDim, short_t... Degrees>
using UniformBSpline = BSplineCommon< UniformBSplineCore< real_t, GeoDim, Degrees... > >
 Tensor-product uniform B-spline.
 
template<typename real_t , short_t GeoDim, short_t... Degrees>
using UniformNurbs = BSplineCommon< UniformNurbsCore< real_t, GeoDim, Degrees... > >
 Tensor-product uniform Nurbs.
 

Enumerations

enum class  activation : short_t {
  none = 0 , batch_norm = 1 , celu = 2 , elu = 3 ,
  gelu = 4 , glu = 5 , group_norm = 6 , gumbel_softmax = 7 ,
  hardshrink = 9 , hardsigmoid = 8 , hardswish = 10 , hardtanh = 11 ,
  instance_norm = 12 , layer_norm = 13 , leaky_relu = 14 , local_response_norm = 15 ,
  logsigmoid = 16 , logsoftmax = 17 , mish = 18 , normalize = 19 ,
  prelu = 20 , relu = 21 , relu6 = 22 , rrelu = 23 ,
  selu = 24 , sigmoid = 25 , silu = 26 , softmax = 27 ,
  softmin = 28 , softplus = 29 , softshrink = 30 , softsign = 31 ,
  tanh = 32 , tanhshrink = 33 , threshold = 34
}
 Enumerator for nonlinear activation functions. More...
 
enum class  collPts : short_t {
  greville = 0 , greville_interior = 1 , greville_ref1 = 2 , greville_interior_ref1 ,
  greville_ref2 = 4 , greville_interior_ref2
}
 Enumerator for the collocation point specifier. More...
 
enum class  deriv : short_t {
  func = 0 , dx = 1 , dy = 10 , dz = 100 ,
  dt = 1000
}
 Enumerator for specifying the derivative of B-spline evaluation. More...
 
enum class  functionspace : short_t { interior = 0 , boundary = 1 }
 Enumerator for the function space component. More...
 
enum class  init : short_t {
  none = 0 , zeros = 1 , ones = 2 , linear ,
  random = 4 , greville = 5 , linspace = 6
}
 Enumerator for specifying the initialization of B-spline coefficients. More...
 
enum class  io {
  scalar = 0 , scalarfield = 1 , vectorfield = 2 , scalarfield_boundary = 3 ,
  vectorfield_boundary = 4
}
 Enumerator for specifying the output type. More...
 
enum class  log : short_t {
  none = 0 , fatal = 1 , error = 2 , warning = 3 ,
  info = 4 , debug = 5 , verbose = 6
}
 Enumerator for specifying the logging level. More...
 
enum  side {
  west = 1 , east = 2 , south = 3 , north = 4 ,
  front = 5 , back = 6 , stime = 7 , etime = 8 ,
  left = 1 , right = 2 , down = 3 , up = 4 ,
  none = 0
}
 Identifiers for topological sides. More...
 

Functions

template<typename T >
gismo::gsMultiPatch< T > convertIntoBSpline (const gismo::gsMultiPatch< T > &mp, const gismo::gsMatrix< T > &coefsMobiusIn)
 Converts a matrix of coefficients into a multi-patch B-spline object.
 
void finalize (std::ostream &os=Log(log::info))
 Finalizes the library.
 
std::string getCompilerVersion ()
 Returns the version of the compiler.
 
std::string getCppVersion ()
 Returns the version of the C++ standard.
 
std::string getCpuInfo ()
 Returns CPU information.
 
std::string getExtraLibsVersion ()
 Returns the version of extra libraries.
 
std::string getIgANetVersion ()
 Returns the IgANet version.
 
uint64_t getMemoryInBytes ()
 Returns total system memory in bytes.
 
std::string getMemoryInfo ()
 Returns memory information.
 
std::string getStdLibVersion ()
 Returns the version of the standard library.
 
std::string getVersion ()
 Returns version information.
 
int guess_device_index ()
 
void init (std::ostream &os=Log(log::info))
 Initializes the library.
 
std::string memory_summary (c10::DeviceIndex device=0)
 Return a human-readable printout of the current memory allocator statistics for a given device.
 
template<typename T >
void mobiusTransform (const gismo::gsAsConstVector< T > &c, const gismo::gsVector< T, 2 > &uv, gismo::gsVector< T, 2 > &xieta, gismo::gsMatrix< T, 2, 2 > &jac)
 Computes the Mobius transformation.
 
constexpr auto operator+ (deriv lhs, deriv rhs)
 Adds two enumerators for specifying the derivative of B-spline evaluation.
 
std::ostream & operator<< (std::ostream &os, const ActivationFunction &obj)
 Print (as string) an ActivationFunction object.
 
template<typename Spline >
std::ostream & operator<< (std::ostream &os, const Boundary< Spline > &obj)
 Print (as string) a Boundary object.
 
template<typename real_t , short_t GeoDim, short_t ParDim>
std::ostream & operator<< (std::ostream &os, const BSplinePatch< real_t, GeoDim, ParDim > &obj)
 Print (as string) a BSplinePatch object.
 
template<typename T >
std::ostream & operator<< (std::ostream &os, const CreatorCore< T > &obj)
 Print (as string) a CreatorCore object.
 
template<typename Splines , typename Boundaries >
std::ostream & operator<< (std::ostream &os, const FunctionSpace< Splines, Boundaries > &obj)
 Print (as string) a function space object.
 
template<typename Optimizer , typename GeometryMap , typename Variable >
std::ostream & operator<< (std::ostream &os, const IgANet< Optimizer, GeometryMap, Variable > &obj)
 Print (as string) a IgANet object.
 
template<std::size_t id>
std::ostream & operator<< (std::ostream &os, const MemoryDebugger< id > &obj)
 Print (as string) a memory debugger object.
 
std::ostream & operator<< (std::ostream &os, const ModelManager &obj)
 Print (as string) a model manager object.
 
template<typename real_t , short_t GeoDim, short_t... Degrees>
std::ostream & operator<< (std::ostream &os, const NonUniformBSpline< real_t, GeoDim, Degrees... > &obj)
 Print (as string) a UniformBSpline object.
 
template<typename real_t , short_t GeoDim, short_t... Degrees>
std::ostream & operator<< (std::ostream &os, const NonUniformNurbs< real_t, GeoDim, Degrees... > &obj)
 Print (as string) a NonUniformNurbs object.
 
template<typename real_t >
std::ostream & operator<< (std::ostream &os, const Options< real_t > &obj)
 Print (as string) a Options object.
 
template<typename real_t , short_t GeoDim, short_t... Degrees>
std::ostream & operator<< (std::ostream &os, const UniformBSpline< real_t, GeoDim, Degrees... > &obj)
 Print (as string) a UniformBSpline object.
 
template<typename real_t , short_t GeoDim, short_t... Degrees>
std::ostream & operator<< (std::ostream &os, const UniformNurbs< real_t, GeoDim, Degrees... > &obj)
 Print (as string) a UniformNurbs object.
 
template<typename real_t , short_t GeoDim, short_t... Degrees>
torch::serialize::OutputArchive & operator<< (torch::serialize::OutputArchive &archive, const UniformBSplineCore< real_t, GeoDim, Degrees... > &obj)
 Serializes a B-spline object.
 
template<typename real_t , short_t GeoDim, short_t... Degrees>
torch::serialize::InputArchive & operator>> (torch::serialize::InputArchive &archive, UniformBSplineCore< real_t, GeoDim, Degrees... > &obj)
 De-serializes a B-spline object.
 
constexpr auto operator^ (deriv lhs, short_t rhs)
 Raises an enumerator for specifying the derivative of B-spline evaluation to a higher exponent.
 

Variables

static MemoryDebugger< std::numeric_limits< std::size_t >::max()> global_memory_debugger
 System-wide memory debugger.
 
template<typename... T>
constexpr bool is_BoundaryType_v = is_BoundaryType<T...>::value
 Alias to the value of is_BoundaryType.
 
template<typename... T>
constexpr bool is_SplineType_v = is_SplineType<T...>::value
 Alias to the value of is_SplineType.
 
struct { 
 
enum log level = log::info
 Log level.
 
logging::NullOStream nullStream
 Dummy output stream.
 
std::ofstream outputFile
 Output file.
 
std::ostream & outputStream = std::cout
 Output stream.
 
Log 
 Logger.
 

Class Documentation

◆ iganet::half

struct iganet::half

◆ iganet::Hcurl

class iganet::Hcurl
template<typename Spline, short_t = Spline::parDim()>
class iganet::Hcurl< Spline, short_t >

IGANET_FUNCTIONSPACE_TUPLE_WRAPPER(RT);.

H(curl) function space

◆ iganet::IgADataset

class iganet::IgADataset
template<bool solution = false>
class iganet::IgADataset< solution >

IgA dataset class.

This class implements the specialization of the torch dataset class for IgA solvers and nets

◆ iganet::NE

class iganet::NE
template<typename Spline, short_t = Spline::parDim()>
class iganet::NE< Spline, short_t >

IGANET_FUNCTIONSPACE_TUPLE_WRAPPER(TH);.

Nedelec like function space

◆ iganet::RT

class iganet::RT
template<typename Spline, short_t = Spline::parDim()>
class iganet::RT< Spline, short_t >

IGANET_FUNCTIONSPACE_TUPLE_WRAPPER(NE);.

Raviart-Thomas like function space

◆ iganet::TH

class iganet::TH
template<typename Spline, short_t = Spline::parDim()>
class iganet::TH< Spline, short_t >

Taylor-Hood like function space.

Typedef Documentation

◆ Boundary

template<typename Spline >
using iganet::Boundary = typedef BoundaryCommon<BoundaryCore<Spline, Spline::parDim()> >

Boundary.

◆ FunctionSpace

template<typename... Args>
using iganet::FunctionSpace = typedef typename detail::FunctionSpace_trait<Args...>::type

Function space alias.

◆ is_BoundaryType

template<typename... T>
using iganet::is_BoundaryType = typedef std::conjunction<std::is_base_of<detail::BoundaryType, T>...>

Type trait to check if T is a valid Boundary type.

◆ is_SplineType

template<typename... T>
using iganet::is_SplineType = typedef std::conjunction<std::is_base_of<detail::SplineType, T>...>

Type trait to check if T is a valid Spline type.

◆ NonUniformBSpline

template<typename real_t , short_t GeoDim, short_t... Degrees>
using iganet::NonUniformBSpline = typedef BSplineCommon<NonUniformBSplineCore<real_t, GeoDim, Degrees...> >

Tensor-product non-uniform B-spline.

◆ NonUniformNurbs

template<typename real_t , short_t GeoDim, short_t... Degrees>
using iganet::NonUniformNurbs = typedef BSplineCommon<NonUniformNurbsCore<real_t, GeoDim, Degrees...> >

Tensor-product non-uniform Nurbs.

◆ S

template<typename Spline >
using iganet::S = typedef FunctionSpace<Spline>

Spline function space \( S^{\mathbf{p}}_{\mathbf{p}-1} \).

This class implements the function space

\[ S^{\mathbf{p}}_{\mathbf{p}-1} = S^{p_1,\dots,p_{n_{d_\text{par}}}}_{p_1-1,\dots,p_{n_{d_\text{par}}}-1} \]

where the superscript \( \mathbf{p} \) denotes the degrees of the B-spline basis functions and the subscript \( \mathbf{p-1} \) the regularity assuming that the knot vector does not contain any repeated knots.

Template Parameters
SplineType of the spline objects

◆ short_t

◆ UniformBSpline

template<typename real_t , short_t GeoDim, short_t... Degrees>
using iganet::UniformBSpline = typedef BSplineCommon<UniformBSplineCore<real_t, GeoDim, Degrees...> >

Tensor-product uniform B-spline.

◆ UniformNurbs

template<typename real_t , short_t GeoDim, short_t... Degrees>
using iganet::UniformNurbs = typedef BSplineCommon<UniformNurbsCore<real_t, GeoDim, Degrees...> >

Tensor-product uniform Nurbs.

Enumeration Type Documentation

◆ activation

Enumerator for nonlinear activation functions.

Enumerator
none 
batch_norm 
celu 
elu 
gelu 
glu 
group_norm 
gumbel_softmax 
hardshrink 
hardsigmoid 
hardswish 
hardtanh 
instance_norm 
layer_norm 
leaky_relu 
local_response_norm 
logsigmoid 
logsoftmax 
mish 
normalize 
prelu 
relu 
relu6 
rrelu 
selu 
sigmoid 
silu 
softmax 
softmin 
softplus 
softshrink 
softsign 
tanh 
tanhshrink 
threshold 

◆ collPts

Enumerator for the collocation point specifier.

Enumerator
greville 

Greville points

greville_interior 

Greville points in the interior

greville_ref1 

Greville points, once refined

greville_interior_ref1 

Greville points in the interior, once refined

greville_ref2 

Greville points, twice refined

greville_interior_ref2 

Greville points in the interior, twice refined

◆ deriv

Enumerator for specifying the derivative of B-spline evaluation.

Examples

  • 3d Laplace operator dx^2+dy^2+dz^2
  • 2d convection operator with time derivative dt+dx+dy`
Enumerator
func 

function value

dx 

first derivative in x-direction

dy 

first derivative in y-direction

dz 

first derivative in z-direction

dt 

first derivative in t-direction

◆ functionspace

Enumerator for the function space component.

Enumerator
interior 

interior component

boundary 

boundary component

◆ init

Enumerator for specifying the initialization of B-spline coefficients.

Enumerator
none 

leave coefficient values uninitialized

zeros 

set coefficient values to zero

ones 

set coefficient values to one

linear 

set coefficient values to \(0,1,\dots \#\text{coeffs}-1\)

random 

set coefficient values to random numbers

greville 

set coefficient values to the Greville abscissae

linspace 

set coefficient values to \(0,1,\dots\) pattern (mostly for testing)

◆ io

Enumerator for specifying the output type.

Enumerator
scalar 

scalar value

scalarfield 

scalar field

vectorfield 

vector field

scalarfield_boundary 

scalar field at the boundary

vectorfield_boundary 

vector field at the boundary

◆ log

Enumerator for specifying the logging level.

Enumerator
none 

no logging

fatal 

log fatal errors

error 

log errors

warning 

log warnings

info 

log information

debug 

log debug information

verbose 

log everything

◆ side

Identifiers for topological sides.

Enumerator
west 
east 
south 
north 
front 
back 
stime 
etime 
left 
right 
down 
up 
none 

Function Documentation

◆ convertIntoBSpline()

template<typename T >
gismo::gsMultiPatch< T > iganet::convertIntoBSpline ( const gismo::gsMultiPatch< T > &  mp,
const gismo::gsMatrix< T > &  coefsMobiusIn 
)

Converts a matrix of coefficients into a multi-patch B-spline object.

◆ dtype()

template<typename T >
constexpr torch::Dtype iganet::dtype ( )
inlineconstexpr

Determines the LibTorch dtype from template parameter

Template Parameters
TC++ type
Returns
Torch type corresponding to the C++ type

◆ dtype< bool >()

template<>
constexpr torch::Dtype iganet::dtype< bool > ( )
inlineconstexpr

Determines the LibTorch dtype from template parameter

Template Parameters
TC++ type
Returns
Torch type corresponding to the C++ type

◆ dtype< char >()

template<>
constexpr torch::Dtype iganet::dtype< char > ( )
inlineconstexpr

Determines the LibTorch dtype from template parameter

Template Parameters
TC++ type
Returns
Torch type corresponding to the C++ type

◆ dtype< double >()

template<>
constexpr torch::Dtype iganet::dtype< double > ( )
inlineconstexpr

Determines the LibTorch dtype from template parameter

Template Parameters
TC++ type
Returns
Torch type corresponding to the C++ type

◆ dtype< float >()

template<>
constexpr torch::Dtype iganet::dtype< float > ( )
inlineconstexpr

Determines the LibTorch dtype from template parameter

Template Parameters
TC++ type
Returns
Torch type corresponding to the C++ type

◆ dtype< half >()

template<>
constexpr torch::Dtype iganet::dtype< half > ( )
inlineconstexpr

Determines the LibTorch dtype from template parameter

Template Parameters
TC++ type
Returns
Torch type corresponding to the C++ type

◆ dtype< int >()

template<>
constexpr torch::Dtype iganet::dtype< int > ( )
inlineconstexpr

Determines the LibTorch dtype from template parameter

Template Parameters
TC++ type
Returns
Torch type corresponding to the C++ type

◆ dtype< long >()

template<>
constexpr torch::Dtype iganet::dtype< long > ( )
inlineconstexpr

Determines the LibTorch dtype from template parameter

Template Parameters
TC++ type
Returns
Torch type corresponding to the C++ type

◆ dtype< long long >()

template<>
constexpr torch::Dtype iganet::dtype< long long > ( )
inlineconstexpr

Determines the LibTorch dtype from template parameter

Template Parameters
TC++ type
Returns
Torch type corresponding to the C++ type

◆ dtype< short >()

template<>
constexpr torch::Dtype iganet::dtype< short > ( )
inlineconstexpr

Determines the LibTorch dtype from template parameter

Template Parameters
TC++ type
Returns
Torch type corresponding to the C++ type

◆ dtype< std::complex< double > >()

template<>
constexpr torch::Dtype iganet::dtype< std::complex< double > > ( )
inlineconstexpr

Determines the LibTorch dtype from template parameter

Template Parameters
TC++ type
Returns
Torch type corresponding to the C++ type

◆ dtype< std::complex< float > >()

template<>
constexpr torch::Dtype iganet::dtype< std::complex< float > > ( )
inlineconstexpr

Determines the LibTorch dtype from template parameter

Template Parameters
TC++ type
Returns
Torch type corresponding to the C++ type

◆ dtype< std::complex< half > >()

template<>
constexpr torch::Dtype iganet::dtype< std::complex< half > > ( )
inlineconstexpr

Determines the LibTorch dtype from template parameter

Template Parameters
TC++ type
Returns
Torch type corresponding to the C++ type

◆ finalize()

void iganet::finalize ( std::ostream &  os = Log(log::info))
inline

Finalizes the library.

◆ get_iomanip()

int iganet::get_iomanip ( )
inline

Stream manipulator

◆ getCompilerVersion()

std::string iganet::getCompilerVersion ( )
inline

Returns the version of the compiler.

◆ getCppVersion()

std::string iganet::getCppVersion ( )
inline

Returns the version of the C++ standard.

◆ getCpuInfo()

std::string iganet::getCpuInfo ( )
inline

Returns CPU information.

◆ getExtraLibsVersion()

std::string iganet::getExtraLibsVersion ( )
inline

Returns the version of extra libraries.

◆ getIgANetVersion()

std::string iganet::getIgANetVersion ( )
inline

Returns the IgANet version.

◆ getMemoryInBytes()

uint64_t iganet::getMemoryInBytes ( )
inline

Returns total system memory in bytes.

◆ getMemoryInfo()

std::string iganet::getMemoryInfo ( )
inline

Returns memory information.

◆ getStdLibVersion()

std::string iganet::getStdLibVersion ( )
inline

Returns the version of the standard library.

◆ getVersion()

std::string iganet::getVersion ( )
inline

Returns version information.

◆ guess_device_index()

int iganet::guess_device_index ( )
inline

◆ init()

void iganet::init ( std::ostream &  os = Log(log::info))
inline

Initializes the library.

◆ is_verbose()

bool iganet::is_verbose ( std::ostream &  os)
inline

Stream manipulator

◆ memory_summary()

std::string iganet::memory_summary ( c10::DeviceIndex  device = 0)
inline

Return a human-readable printout of the current memory allocator statistics for a given device.

◆ mobiusTransform()

template<typename T >
void iganet::mobiusTransform ( const gismo::gsAsConstVector< T > &  c,
const gismo::gsVector< T, 2 > &  uv,
gismo::gsVector< T, 2 > &  xieta,
gismo::gsMatrix< T, 2, 2 > &  jac 
)
inline

Computes the Mobius transformation.

◆ operator+()

constexpr auto iganet::operator+ ( deriv  lhs,
deriv  rhs 
)
inlineconstexpr

Adds two enumerators for specifying the derivative of B-spline evaluation.

Parameters
[in]lhsFirst derivative enumerator
[in]rhsSecond derivative enumerator
Returns
Sum of the two enumerators

◆ operator<<() [1/14]

std::ostream & iganet::operator<< ( std::ostream &  os,
const ActivationFunction obj 
)
inline

Print (as string) an ActivationFunction object.

◆ operator<<() [2/14]

template<typename Spline >
std::ostream & iganet::operator<< ( std::ostream &  os,
const Boundary< Spline > &  obj 
)
inline

Print (as string) a Boundary object.

◆ operator<<() [3/14]

template<typename real_t , short_t GeoDim, short_t ParDim>
std::ostream & iganet::operator<< ( std::ostream &  os,
const BSplinePatch< real_t, GeoDim, ParDim > &  obj 
)
inline

Print (as string) a BSplinePatch object.

◆ operator<<() [4/14]

template<typename T >
std::ostream & iganet::operator<< ( std::ostream &  os,
const CreatorCore< T > &  obj 
)
inline

Print (as string) a CreatorCore object.

◆ operator<<() [5/14]

std::ostream & iganet::operator<< ( std::ostream &  os,
const FunctionSpace< Splines, Boundaries > &  obj 
)
inline

Print (as string) a function space object.

◆ operator<<() [6/14]

std::ostream & iganet::operator<< ( std::ostream &  os,
const IgANet< Optimizer, GeometryMap, Variable > &  obj 
)
inline

Print (as string) a IgANet object.

◆ operator<<() [7/14]

template<std::size_t id>
std::ostream & iganet::operator<< ( std::ostream &  os,
const MemoryDebugger< id > &  obj 
)
inline

Print (as string) a memory debugger object.

◆ operator<<() [8/14]

std::ostream & iganet::operator<< ( std::ostream &  os,
const ModelManager obj 
)
inline

Print (as string) a model manager object.

◆ operator<<() [9/14]

template<typename real_t , short_t GeoDim, short_t... Degrees>
std::ostream & iganet::operator<< ( std::ostream &  os,
const NonUniformBSpline< real_t, GeoDim, Degrees... > &  obj 
)
inline

Print (as string) a UniformBSpline object.

◆ operator<<() [10/14]

template<typename real_t , short_t GeoDim, short_t... Degrees>
std::ostream & iganet::operator<< ( std::ostream &  os,
const NonUniformNurbs< real_t, GeoDim, Degrees... > &  obj 
)
inline

Print (as string) a NonUniformNurbs object.

◆ operator<<() [11/14]

template<typename real_t >
std::ostream & iganet::operator<< ( std::ostream &  os,
const Options< real_t > &  obj 
)
inline

Print (as string) a Options object.

◆ operator<<() [12/14]

template<typename real_t , short_t GeoDim, short_t... Degrees>
std::ostream & iganet::operator<< ( std::ostream &  os,
const UniformBSpline< real_t, GeoDim, Degrees... > &  obj 
)
inline

Print (as string) a UniformBSpline object.

◆ operator<<() [13/14]

template<typename real_t , short_t GeoDim, short_t... Degrees>
std::ostream & iganet::operator<< ( std::ostream &  os,
const UniformNurbs< real_t, GeoDim, Degrees... > &  obj 
)
inline

Print (as string) a UniformNurbs object.

◆ operator<<() [14/14]

template<typename real_t , short_t GeoDim, short_t... Degrees>
torch::serialize::OutputArchive & iganet::operator<< ( torch::serialize::OutputArchive &  archive,
const UniformBSplineCore< real_t, GeoDim, Degrees... > &  obj 
)
inline

Serializes a B-spline object.

◆ operator>>()

template<typename real_t , short_t GeoDim, short_t... Degrees>
torch::serialize::InputArchive & iganet::operator>> ( torch::serialize::InputArchive &  archive,
UniformBSplineCore< real_t, GeoDim, Degrees... > &  obj 
)
inline

De-serializes a B-spline object.

◆ operator^()

constexpr auto iganet::operator^ ( deriv  lhs,
short_t  rhs 
)
inlineconstexpr

Raises an enumerator for specifying the derivative of B-spline evaluation to a higher exponent.

Parameters
[in]lhsDerivative enumerator
[in]rhsExponent
Returns
Derivative enumerator raised to the exponent

◆ regular()

std::ostream & iganet::regular ( std::ostream &  os)
inline

Stream manipulator

◆ verbose()

std::ostream & iganet::verbose ( std::ostream &  os)
inline

Stream manipulator

Variable Documentation

◆ global_memory_debugger

MemoryDebugger<std::numeric_limits<std::size_t>::max()> iganet::global_memory_debugger
static

System-wide memory debugger.

◆ is_BoundaryType_v

template<typename... T>
constexpr bool iganet::is_BoundaryType_v = is_BoundaryType<T...>::value
inlineconstexpr

Alias to the value of is_BoundaryType.

◆ is_SplineType_v

template<typename... T>
constexpr bool iganet::is_SplineType_v = is_SplineType<T...>::value
inlineconstexpr

Alias to the value of is_SplineType.

◆ [struct]

struct { ... } iganet::Log

Logger.