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

Namespaces

namespace  detail
 
namespace  literals
 
namespace  logging
 
namespace  utils
 
namespace  v1
 

Classes

class  ActivationFunction
 Abstract activation function structure. More...
 
class  BatchNorm
 Batch Normalization as described in the paper. More...
 
class  Boundary_
 Boundary base class. 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  CollPtsHelper
 Collocation points helper
More...
 
class  CollPtsHelper< CollPts >
 
class  CreatorCore
 Abstract creator class. More...
 
class  CuboidCreator
 Cuboid creator class. More...
 
class  DLHandler
 Dynamic library handler. More...
 
class  DLLoader
 Dynamic library loader. More...
 
struct  dtype_traits
 Type trait that maps C++ types to LibTorch dtypes. More...
 
struct  dtype_traits< bool >
 LibTorch dtype mapping for bool. More...
 
struct  dtype_traits< char >
 LibTorch dtype mapping for char. More...
 
struct  dtype_traits< double >
 LibTorch dtype mapping for double. More...
 
struct  dtype_traits< float >
 LibTorch dtype mapping for float. More...
 
struct  dtype_traits< half >
 LibTorch dtype mapping for half. More...
 
struct  dtype_traits< int >
 LibTorch dtype mapping for int. More...
 
struct  dtype_traits< long >
 LibTorch dtype mapping for long. More...
 
struct  dtype_traits< long long >
 LibTorch dtype mapping for long long. More...
 
struct  dtype_traits< short >
 LibTorch dtype mapping for short. More...
 
struct  dtype_traits< std::complex< double > >
 LibTorch dtype mapping for std::complex<double>. More...
 
struct  dtype_traits< std::complex< float > >
 LibTorch dtype mapping for std::complex<float>. More...
 
struct  dtype_traits< std::complex< half > >
 LibTorch dtype mapping for std::complex<half>. More...
 
class  ELU
 Exponential Linear Units activation function. More...
 
class  EZInterpolation
 Easy-to-use interpolation class. More...
 
class  EZSolver
 Easy-to-use solver class. More...
 
class  EZSolverBase
 Easy-to-use solver base class. 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  GumbelSoftmax
 Gumbel-Softmax distribution activation function. More...
 
struct  half
 Tag type representing IEEE 754 half-precision floating-point data. More...
 
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
 H(curl) function space. More...
 
class  Hcurl< Spline, 3 >
 H(curl) function space. More...
 
class  IgABase
 IgA base class. More...
 
class  IgABase< std::tuple< Inputs... >, std::tuple< Outputs... >, std::tuple< CollPts... > >
 
class  IgABase< std::tuple< Inputs... >, std::tuple< Outputs... >, void >
 
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  IgANetCustomizable< std::tuple< Inputs... >, std::tuple< Outputs... >, std::tuple< CollPts... > >
 
class  IgANetCustomizable< std::tuple< Inputs... >, std::tuple< Outputs... >, void >
 
class  IgANetGenerator
 IgANetGenerator. More...
 
class  IgANetGeneratorImpl
 IgANetGeneratorImpl. More...
 
struct  IgANetOptions
 IgANetOptions. More...
 
class  IgASolver
 IgA solver. More...
 
class  InstanceNorm
 Instance Normalization as described in the paper. More...
 
class  IntervalCreator
 Interval creator class. 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  MultiPatch
 Multi-patch container class. More...
 
class  NE
 Nedelec like function space. 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  NE_RT_DG
 Nedelec-Raviart-Thomas-$P$ triple function space. More...
 
class  NE_RT_DG< Spline, 2 >
 Nedelec-Raviart-Thomas-$P$ triple function space. More...
 
class  NE_RT_DG< Spline, 3 >
 Nedelec-Raviart-Thomas-$P$ triple 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  NonUniformSplineCore_
 NonUniformSplineCore base class. More...
 
class  Normalize
 Lp Normalization. More...
 
struct  optimizer_options_type
 Type trait for the optimizer options type. More...
 
struct  optimizer_options_type< torch::optim::Adagrad >
 
struct  optimizer_options_type< torch::optim::Adam >
 
struct  optimizer_options_type< torch::optim::AdamW >
 
struct  optimizer_options_type< torch::optim::LBFGS >
 
struct  optimizer_options_type< torch::optim::RMSprop >
 
struct  optimizer_options_type< torch::optim::SGD >
 
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  PatchInterface
 Connection between two patch sides. 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
 Raviart-Thomas like function space. 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  Spline_
 Spline base class. More...
 
class  SplineCore_
 SplineCore base class. 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...
 
struct  type_name
 Type trait to obtain the name of a fundamental type as std::string_view. More...
 
struct  type_name< bool >
 Human-readable bool name for bool. More...
 
struct  type_name< char >
 Human-readable char name for char. More...
 
struct  type_name< char16_t >
 Human-readable char16_t name for char16_t. More...
 
struct  type_name< char32_t >
 Human-readable char32_t name for char32_t. More...
 
struct  type_name< char8_t >
 Human-readable char8_t name for char8_t. More...
 
struct  type_name< double >
 Human-readable double name for double. More...
 
struct  type_name< float >
 Human-readable float name for float. More...
 
struct  type_name< half >
 Human-readable half name for half. More...
 
struct  type_name< int >
 Human-readable int name for int. More...
 
struct  type_name< long >
 Human-readable long name for long. More...
 
struct  type_name< long double >
 Human-readable long double name for long double. More...
 
struct  type_name< long long >
 Human-readable long long name for long long. More...
 
struct  type_name< short >
 Human-readable short name for short. More...
 
struct  type_name< signed char >
 Human-readable signed char name for signed char. More...
 
struct  type_name< std::complex< double > >
 Human-readable type name for std::complex<double>. More...
 
struct  type_name< std::complex< float > >
 Human-readable type name for std::complex<float>. More...
 
struct  type_name< std::complex< half > >
 Human-readable type name for std::complex<half>. More...
 
struct  type_name< std::complex< long double > >
 Human-readable type name for std::complex<long double>. More...
 
struct  type_name< std::nullptr_t >
 Human-readable type name for std::nullptr_t. More...
 
struct  type_name< unsigned char >
 Human-readable unsigned char name for unsigned char. More...
 
struct  type_name< unsigned int >
 Human-readable unsigned int name for unsigned int. More...
 
struct  type_name< unsigned long >
 Human-readable unsigned long name for unsigned long. More...
 
struct  type_name< unsigned long long >
 Human-readable unsigned long long name for unsigned long long. More...
 
struct  type_name< unsigned short >
 Human-readable unsigned short name for unsigned short. More...
 
struct  type_name< void >
 Human-readable void name for void. More...
 
struct  type_name< wchar_t >
 Human-readable wchar_t name for wchar_t. 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...
 
class  UniformSplineCore_
 UniformSplineCore base class. More...
 

Concepts

concept  DType
 Concept to identify template parameters that are acceptable as DTypes.
 
concept  OptimizerType
 Concept to identify template parameters that are derived from torch::optim::Optimizer.
 
concept  BoundaryType
 Concept to identify template parameters that are derived from iganet::Boundary_.
 
concept  SplineCoreType
 Concept to identify template parameters that are derived from iganet::SplineCore_.
 
concept  UniformSplineCoreType
 Concept to identify template parameters that are derived from iganet::UniformSplineCore_.
 
concept  NonUniformSplineCoreType
 Concept to identify template parameters that are derived from iganet::NonUniformSplineCore_.
 
concept  SplineType
 Concept to identify template parameters that are derived from iganet::Spline_.
 
concept  UniformSplineType
 Concept to identify template parameters that are derived from iganet::Spline_ and iganet::UniformSplineCore_.
 
concept  NonUniformSplineType
 Concept to identify template parameters that are derived from iganet::Spline_ and iganet::NonUniformSplineCore_.
 
concept  FunctionSpaceType
 Concept to identify template parameters that are derived from iganet::details::FunctionSpaceType.
 

Typedefs

template<typename Spline >
using Boundary = BoundaryCommon< BoundaryCore< Spline, Spline::parDim()> >
 Boundary.
 
template<typename... Args>
using FunctionSpace = detail::FunctionSpace_trait< Args... >::type
 Function space alias.
 
template<typename real_t , short_t GeoDim, short_t... Degrees>
using NonUniformBSpline = BSplineCommon< NonUniformBSplineCore< real_t, GeoDim, Degrees... > >
 Provides the operator<< operation.
 
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 T >
using normalized_type_t = std::remove_cv_t< T >
 Removes top-level const and volatile qualifiers from a type.
 
template<typename Spline >
using S = FunctionSpace< Spline >
 Spline function space \( S^{\mathbf{p}}_{\mathbf{p}-1}. \).
 
using short_t = short int
 Signed short integer type used by IgANet's compact enumerations.
 
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 = 3 ,
  greville_ref2 = 4 , greville_interior_ref2 = 5 , greville_ref3 = 6 , greville_interior_ref3 = 7
}
 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  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 class  nn_init : short_t {
  constant = 0 , normal = 1 , uniform = 2 , kaiming_normal = 3 ,
  kaiming_uniform = 4 , xavier_normal = 5 , xavier_uniform = 6
}
 Enumerator for specifying the initialization of network weights. 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 real_t , iganet::short_t GeoDim, iganet::short_t ParDim>
std::shared_ptr< iganet::BSplinePatch< real_t, GeoDim, ParDim > > createNonUniformBSpline (const nlohmann::json &json, iganet::Options< real_t > options=iganet::Options< real_t >{})
 Creates a tensor-product non-uniform B-spline from a JSON object.
 
template<typename real_t , iganet::short_t GeoDim, iganet::short_t ParDim>
std::shared_ptr< iganet::BSplinePatch< real_t, GeoDim, ParDim > > createNonUniformBSpline (const pugi::xml_document &doc, int id=0, const std::string &label="", int index=-1, iganet::Options< real_t > options=iganet::Options< real_t >{})
 Creates a tensor-product non-uniform B-spline from an XML document.
 
template<typename real_t , iganet::short_t GeoDim, iganet::short_t ParDim>
std::shared_ptr< iganet::BSplinePatch< real_t, GeoDim, ParDim > > createNonUniformBSpline (const pugi::xml_node &root, int id=0, const std::string &label="", int index=-1, iganet::Options< real_t > options=iganet::Options< real_t >{})
 Creates a tensor-product non-uniform B-spline from an XML node.
 
template<typename real_t , iganet::short_t GeoDim, iganet::short_t ParDim>
std::shared_ptr< iganet::BSplinePatch< real_t, GeoDim, ParDim > > createNonUniformBSpline (const std::array< iganet::short_t, ParDim > &degrees, const std::array< int64_t, ParDim > &ncoeffs, enum iganet::init init=iganet::init::greville, iganet::Options< real_t > options=iganet::Options< real_t >{})
 Create tensor-product non-uniform B-spline.
 
template<typename real_t , iganet::short_t GeoDim, iganet::short_t ParDim>
std::shared_ptr< iganet::BSplinePatch< real_t, GeoDim, ParDim > > createUniformBSpline (const nlohmann::json &json, iganet::Options< real_t > options=iganet::Options< real_t >{})
 Creates a tensor-product uniform B-spline from a JSON object.
 
template<typename real_t , iganet::short_t GeoDim, iganet::short_t ParDim>
std::shared_ptr< iganet::BSplinePatch< real_t, GeoDim, ParDim > > createUniformBSpline (const pugi::xml_document &doc, int id=0, const std::string &label="", int index=-1, iganet::Options< real_t > options=iganet::Options< real_t >{})
 Creates a tensor-product uniform B-spline from an XML document.
 
template<typename real_t , iganet::short_t GeoDim, iganet::short_t ParDim>
std::shared_ptr< iganet::BSplinePatch< real_t, GeoDim, ParDim > > createUniformBSpline (const pugi::xml_node &root, int id=0, const std::string &label="", int index=-1, iganet::Options< real_t > options=iganet::Options< real_t >{})
 Creates a tensor-product uniform B-spline from an XML node.
 
template<typename real_t , iganet::short_t GeoDim, iganet::short_t ParDim>
std::shared_ptr< iganet::BSplinePatch< real_t, GeoDim, ParDim > > createUniformBSpline (const std::array< iganet::short_t, ParDim > &degrees, const std::array< int64_t, ParDim > &ncoeffs, enum iganet::init init=iganet::init::greville, iganet::Options< real_t > options=iganet::Options< real_t >{})
 Create tensor-product uniform B-spline.
 
template<FunctionSpaceType GeometryMap, FunctionSpaceType Variable>
auto ezinterp (const GeometryMap &geometryMap, const Variable &variable, const std::function< std::array< torch::Tensor, Variable::template geoDim< 0 >()>(const std::array< torch::Tensor, Variable::template parDim< 0 >()> &)> mapping)
 Easy-to-use interpolation function.
 
template<FunctionSpaceType GeometryMap, FunctionSpaceType Variable>
auto ezpoisson (const GeometryMap &geometryMap, const Variable &variable, const std::function< std::array< torch::Tensor, Variable::template geoDim< 0 >()>(const std::array< torch::Tensor, Variable::template parDim< 0 >()> &)> rhs)
 Easy-to-use Poisson solver function.
 
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::filesystem::path getDataPath (std::string name="")
 
std::filesystem::path getExecutablePath ()
 Returns the path of the executable.
 
std::string getExtraLibsVersion ()
 Returns the version of extra libraries.
 
constexpr std::string_view getIgANetVersion () noexcept
 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 ()
 Guesses the accelerator device index for the current process.
 
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.
 
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 >
requires SplineType<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)
 Prints 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 Inputs , typename Outputs , typename CollPts >
requires OptimizerType<Optimizer>
std::ostream & operator<< (std::ostream &os, const IgANet< Optimizer, Inputs, Outputs, CollPts > &obj)
 Prints an IgANet object.
 
template<typename Inputs , typename Outputs , typename CollPts >
std::ostream & operator<< (std::ostream &os, const IgASolver< Inputs, Outputs, CollPts > &obj)
 Prints an IgASolver object.
 
template<std::size_t id>
std::ostream & operator<< (std::ostream &os, const MemoryDebugger< id > &obj)
 Prints a memory debugger object.
 
template<typename Patch >
std::ostream & operator<< (std::ostream &os, const MultiPatch< Patch > &obj)
 Writes a human-readable multi-patch representation to a stream.
 
template<typename real_t , short_t GeoDim, short_t... Degrees>
std::ostream & operator<< (std::ostream &os, const NonUniformBSpline< real_t, GeoDim, Degrees... > &obj)
 Prints a NonUniformBSpline object.
 
template<typename real_t , short_t GeoDim, short_t... Degrees>
std::ostream & operator<< (std::ostream &os, const NonUniformNurbs< real_t, GeoDim, Degrees... > &obj)
 Prints a NonUniformNurbs object.
 
template<typename real_t >
std::ostream & operator<< (std::ostream &os, const Options< real_t > &obj)
 Prints an 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)
 Prints 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)
 Prints a UniformNurbs object.
 
template<typename Patch >
torch::serialize::OutputArchive & operator<< (torch::serialize::OutputArchive &archive, const MultiPatch< Patch > &obj)
 Serializes a multi-patch 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 Patch >
torch::serialize::InputArchive & operator>> (torch::serialize::InputArchive &archive, MultiPatch< Patch > &obj)
 Deserializes a multi-patch 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)
 Deserializes 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.
 
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::CollPtsHelper

class iganet::CollPtsHelper
template<typename>
class iganet::CollPtsHelper< typename >

Collocation points helper

◆ iganet::dtype_traits

struct iganet::dtype_traits
template<typename T>
struct iganet::dtype_traits< T >

Type trait that maps C++ types to LibTorch dtypes.

Template Parameters
TC++ type to map; unsupported primary-template instantiations are intentionally undefined.

◆ iganet::half

struct iganet::half

Tag type representing IEEE 754 half-precision floating-point data.

◆ iganet::Hcurl

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

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::IgANetCustomizable

class iganet::IgANetCustomizable
template<typename, typename, typename = void>
class iganet::IgANetCustomizable< typename, typename, typename >

IgANetCustomizable.

This class implements a customizable variant of IgANets that provides types and attributes for precomputing indices and basis functions.

◆ iganet::NE

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

Nedelec like function space.

◆ iganet::NE_RT_DG

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

Nedelec-Raviart-Thomas-$P$ triple function space.

◆ iganet::optimizer_options_type

struct iganet::optimizer_options_type
template<typename Optimizer>
requires OptimizerType<Optimizer>
struct iganet::optimizer_options_type< Optimizer >

Type trait for the optimizer options type.

◆ iganet::optimizer_options_type< torch::optim::Adagrad >

struct iganet::optimizer_options_type< torch::optim::Adagrad >
Class Members
typedef AdagradOptions type

◆ iganet::optimizer_options_type< torch::optim::Adam >

struct iganet::optimizer_options_type< torch::optim::Adam >
Class Members
typedef AdamOptions type

◆ iganet::optimizer_options_type< torch::optim::AdamW >

struct iganet::optimizer_options_type< torch::optim::AdamW >
Class Members
typedef AdamWOptions type

◆ iganet::optimizer_options_type< torch::optim::LBFGS >

struct iganet::optimizer_options_type< torch::optim::LBFGS >
Class Members
typedef LBFGSOptions type

◆ iganet::optimizer_options_type< torch::optim::RMSprop >

struct iganet::optimizer_options_type< torch::optim::RMSprop >
Class Members
typedef RMSpropOptions type

◆ iganet::optimizer_options_type< torch::optim::SGD >

struct iganet::optimizer_options_type< torch::optim::SGD >
Class Members
typedef SGDOptions type

◆ iganet::RT

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

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.

◆ iganet::type_name

struct iganet::type_name
template<typename T>
struct iganet::type_name< T >

Type trait to obtain the name of a fundamental type as std::string_view.

Template Parameters
TType whose human-readable name is requested.

Typedef Documentation

◆ Boundary

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

Boundary.

◆ FunctionSpace

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

Function space alias.

◆ NonUniformBSpline

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

Provides the operator<< operation.

Parameters
osOutput stream.
objObject to process.
Returns
Result of the operation.

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.

◆ normalized_type_t

template<typename T >
using iganet::normalized_type_t = typedef std::remove_cv_t<T>

Removes top-level const and volatile qualifiers from a type.

Template Parameters
TType to normalize.

◆ 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

using iganet::short_t = typedef short int

Signed short integer type used by IgANet's compact enumerations.

◆ 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

enum class iganet::activation : short_t
strong

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

enum class iganet::collPts : short_t
strong

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.

greville_ref3 

Greville points, three times refined.

greville_interior_ref3 

Greville points in the interior, three times refined.

◆ deriv

enum class iganet::deriv : short_t
strong

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

enum class iganet::functionspace : short_t
strong

Enumerator for the function space component.

Enumerator
interior 

interior component.

boundary 

boundary component.

◆ init

enum class iganet::init : short_t
strong

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).

◆ log

enum class iganet::log : short_t
strong

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.

◆ nn_init

enum class iganet::nn_init : short_t
strong

Enumerator for specifying the initialization of network weights.

Enumerator
constant 

initialize weights to constant value.

normal 

initialize weights with values drawn from a normal distribution parameterized by 'mean' and 'std'.

uniform 

initialize weights with values drawn from a uniform distribution parameterized by 'low' and 'high'.

kaiming_normal 

initialize weights as proposed by Kaiming He using a normal distribution.

kaiming_uniform 

initialize weights as proposed by Kaiming He using a uniform distribution.

xavier_normal 

initialize weights as proposed by Xavier Glorot using a normal distribution.

xavier_uniform 

initialize weights as proposed by Xavier Glorot using a uniform distribution.

◆ side

Identifiers for topological sides.

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

Function Documentation

◆ createNonUniformBSpline() [1/4]

template<typename real_t , iganet::short_t GeoDim, iganet::short_t ParDim>
std::shared_ptr< iganet::BSplinePatch< real_t, GeoDim, ParDim > > iganet::createNonUniformBSpline ( const nlohmann::json &  json,
iganet::Options< real_t >  options = iganet::Options<real_t>{} 
)

Creates a tensor-product non-uniform B-spline from a JSON object.

Exceptions
std::runtime_errorif parsing or spline validation fails.
Template Parameters
real_tTemplate parameter real_t.
GeoDimTemplate parameter GeoDim.
ParDimTemplate parameter ParDim.
Parameters
jsonJSON value to process.
optionsConfiguration options.
Returns
Result of the operation.

◆ createNonUniformBSpline() [2/4]

template<typename real_t , iganet::short_t GeoDim, iganet::short_t ParDim>
std::shared_ptr< iganet::BSplinePatch< real_t, GeoDim, ParDim > > iganet::createNonUniformBSpline ( const pugi::xml_document &  doc,
int  id = 0,
const std::string &  label = "",
int  index = -1,
iganet::Options< real_t >  options = iganet::Options<real_t>{} 
)

Creates a tensor-product non-uniform B-spline from an XML document.

Exceptions
std::runtime_errorif parsing or spline validation fails.
Template Parameters
real_tTemplate parameter real_t.
GeoDimTemplate parameter GeoDim.
ParDimTemplate parameter ParDim.
Parameters
docValue of doc.
idObject identifier.
labelObject label.
indexObject index.
optionsConfiguration options.
Returns
Result of the operation.

◆ createNonUniformBSpline() [3/4]

template<typename real_t , iganet::short_t GeoDim, iganet::short_t ParDim>
std::shared_ptr< iganet::BSplinePatch< real_t, GeoDim, ParDim > > iganet::createNonUniformBSpline ( const pugi::xml_node &  root,
int  id = 0,
const std::string &  label = "",
int  index = -1,
iganet::Options< real_t >  options = iganet::Options<real_t>{} 
)

Creates a tensor-product non-uniform B-spline from an XML node.

Exceptions
std::runtime_errorif parsing or spline validation fails.
Template Parameters
real_tTemplate parameter real_t.
GeoDimTemplate parameter GeoDim.
ParDimTemplate parameter ParDim.
Parameters
rootRoot XML node.
idObject identifier.
labelObject label.
indexObject index.
optionsConfiguration options.
Returns
Result of the operation.

◆ createNonUniformBSpline() [4/4]

template<typename real_t , iganet::short_t GeoDim, iganet::short_t ParDim>
std::shared_ptr< iganet::BSplinePatch< real_t, GeoDim, ParDim > > iganet::createNonUniformBSpline ( const std::array< iganet::short_t, ParDim > &  degrees,
const std::array< int64_t, ParDim > &  ncoeffs,
enum iganet::init  init = iganet::init::greville,
iganet::Options< real_t >  options = iganet::Options<real_t>{} 
)

Create tensor-product non-uniform B-spline.

Template Parameters
real_tScalar type.
GeoDimGeometric dimension.
ParDimParametric dimension.
Parameters
degreesPolynomial degrees in each parametric direction.
ncoeffsNumber of coefficients in each parametric direction.
initCoefficient initialization method.
optionsConfiguration options.
Returns
The dynamically created B-spline patch.

◆ createUniformBSpline() [1/4]

template<typename real_t , iganet::short_t GeoDim, iganet::short_t ParDim>
std::shared_ptr< iganet::BSplinePatch< real_t, GeoDim, ParDim > > iganet::createUniformBSpline ( const nlohmann::json &  json,
iganet::Options< real_t >  options = iganet::Options<real_t>{} 
)

Creates a tensor-product uniform B-spline from a JSON object.

Parsing and conversion exceptions raised inside the JIT library propagate unchanged to the caller.

Exceptions
std::runtime_errorif parsing, spline validation, or conversion to a canonical uniform B-spline fails.

◆ createUniformBSpline() [2/4]

template<typename real_t , iganet::short_t GeoDim, iganet::short_t ParDim>
std::shared_ptr< iganet::BSplinePatch< real_t, GeoDim, ParDim > > iganet::createUniformBSpline ( const pugi::xml_document &  doc,
int  id = 0,
const std::string &  label = "",
int  index = -1,
iganet::Options< real_t >  options = iganet::Options<real_t>{} 
)

Creates a tensor-product uniform B-spline from an XML document.

Exceptions
std::runtime_errorif parsing, validation, or conversion fails.
Template Parameters
real_tTemplate parameter real_t.
GeoDimTemplate parameter GeoDim.
ParDimTemplate parameter ParDim.
Parameters
docValue of doc.
idObject identifier.
labelObject label.
indexObject index.
optionsConfiguration options.
Returns
Result of the operation.

◆ createUniformBSpline() [3/4]

template<typename real_t , iganet::short_t GeoDim, iganet::short_t ParDim>
std::shared_ptr< iganet::BSplinePatch< real_t, GeoDim, ParDim > > iganet::createUniformBSpline ( const pugi::xml_node &  root,
int  id = 0,
const std::string &  label = "",
int  index = -1,
iganet::Options< real_t >  options = iganet::Options<real_t>{} 
)

Creates a tensor-product uniform B-spline from an XML node.

Parsing and conversion exceptions raised inside the JIT library propagate unchanged to the caller.

Exceptions
std::runtime_errorif parsing, spline validation, or conversion to a canonical uniform B-spline fails.
Template Parameters
real_tTemplate parameter real_t.
GeoDimTemplate parameter GeoDim.
ParDimTemplate parameter ParDim.
Parameters
rootRoot XML node.
idObject identifier.
labelObject label.
indexObject index.
optionsConfiguration options.
Returns
Result of the operation.

◆ createUniformBSpline() [4/4]

template<typename real_t , iganet::short_t GeoDim, iganet::short_t ParDim>
std::shared_ptr< iganet::BSplinePatch< real_t, GeoDim, ParDim > > iganet::createUniformBSpline ( const std::array< iganet::short_t, ParDim > &  degrees,
const std::array< int64_t, ParDim > &  ncoeffs,
enum iganet::init  init = iganet::init::greville,
iganet::Options< real_t >  options = iganet::Options<real_t>{} 
)

Create tensor-product uniform B-spline.

Template Parameters
real_tTemplate parameter real_t.
GeoDimTemplate parameter GeoDim.
ParDimTemplate parameter ParDim.
Parameters
degreesValue of degrees.
ncoeffsValue of ncoeffs.
initValue of init.
optionsConfiguration options.
Returns
Result of the operation.

◆ ezinterp()

template<FunctionSpaceType GeometryMap, FunctionSpaceType Variable>
auto iganet::ezinterp ( const GeometryMap &  geometryMap,
const Variable &  variable,
const std::function< std::array< torch::Tensor, Variable::template geoDim< 0 >()>(const std::array< torch::Tensor, Variable::template parDim< 0 >()> &)>  mapping 
)

Easy-to-use interpolation function.

This function interpolates the given mapping functions in the Greville points of the variable function space.

◆ ezpoisson()

template<FunctionSpaceType GeometryMap, FunctionSpaceType Variable>
auto iganet::ezpoisson ( const GeometryMap &  geometryMap,
const Variable &  variable,
const std::function< std::array< torch::Tensor, Variable::template geoDim< 0 >()>(const std::array< torch::Tensor, Variable::template parDim< 0 >()> &)>  rhs 
)

Easy-to-use Poisson solver function.

◆ finalize()

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

Finalizes the library.

Parameters
osStream that receives the final status message.
Exceptions
std::runtime_errorIf MPI support is enabled and MPI cannot be finalized.

◆ get_iomanip()

int iganet::get_iomanip ( )
inline

Stream manipulators.

Returns the stream-local index used to store IgANet verbosity.

Returns
An index allocated by std::ios_base::xalloc.

◆ getCompilerVersion()

std::string iganet::getCompilerVersion ( )
inline

Returns the version of the compiler.

Returns
Compiler name and version, or an unknown-compiler marker when the compiler cannot be identified.

◆ getCppVersion()

std::string iganet::getCppVersion ( )
inline

Returns the version of the C++ standard.

Returns
A string containing the active C++ language-standard value.

◆ getCpuInfo()

std::string iganet::getCpuInfo ( )
inline

Returns CPU information.

Returns
CPU brand information, or an unknown-CPU marker when unavailable.

◆ getDataPath()

std::filesystem::path iganet::getDataPath ( std::string  name = "")

◆ getExecutablePath()

std::filesystem::path iganet::getExecutablePath ( )
inline

Returns the path of the executable.

Returns
Directory containing the running executable.
Exceptions
std::runtime_errorOn Windows or macOS when the executable path cannot be queried with the available buffer.
std::filesystem::filesystem_errorIf canonicalizing the executable path fails.

◆ getExtraLibsVersion()

std::string iganet::getExtraLibsVersion ( )
inline

Returns the version of extra libraries.

Returns
A comma-separated list of enabled third-party libraries and their versions; the string is empty if none are detected.

◆ getIgANetVersion()

constexpr std::string_view iganet::getIgANetVersion ( )
inlineconstexprnoexcept

Returns the IgANet version.

Returns
Version string configured when IgANet was built.

◆ getMemoryInBytes()

uint64_t iganet::getMemoryInBytes ( )
inline

Returns total system memory in bytes.

Returns
Total physical system memory, or zero when it cannot be determined.

◆ getMemoryInfo()

std::string iganet::getMemoryInfo ( )
inline

Returns memory information.

Returns
Total physical memory formatted with a binary unit, or Unknown-Memory when unavailable.

◆ getStdLibVersion()

std::string iganet::getStdLibVersion ( )
inline

Returns the version of the standard library.

Returns
Standard-library implementation and version, or Unknown-STD when it cannot be identified.

◆ getVersion()

std::string iganet::getVersion ( )
inline

Returns version information.

Returns
A multi-line summary of IgANet, compiler, system, threading, and available device information.

◆ guess_device_index()

int iganet::guess_device_index ( )
inline

Guesses the accelerator device index for the current process.

Returns
With MPI enabled, the process rank modulo the configured or detected device count; otherwise zero.
Note
The IGANET_DEVICE_COUNT environment variable overrides automatic device-count detection.

◆ init()

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

Initializes the library.

Parameters
osStream that receives version and runtime information.
Exceptions
std::runtime_errorIf MPI support is enabled and MPI cannot be initialized.

◆ is_verbose()

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

Tests whether verbose output is enabled on a stream.

Parameters
osStream whose verbosity flag is queried.
Returns
true if verbose output is enabled; otherwise false.

◆ 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.

Parameters
deviceIndex of the CUDA or HIP device to inspect.
Returns
A formatted allocator report, or an availability message when IgANet was built without CUDA or HIP support.

◆ 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/16]

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

Print (as string) an ActivationFunction object.

Parameters
osOutput stream.
objObject to process.
Returns
Result of the operation.

◆ operator<<() [2/16]

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

Print (as string) a Boundary object.

Template Parameters
SplineTemplate parameter Spline.
SplineTemplate parameter Spline.
Parameters
osOutput stream.
objObject to process.
Returns
Result of the operation.

◆ operator<<() [3/16]

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/16]

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

Prints a CreatorCore object.

Template Parameters
TScalar type used by the creator.
Parameters
osOutput stream.
objCreator object to print.
Returns
os after the representation has been written.

◆ operator<<() [5/16]

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

Print (as string) a function space object.

Template Parameters
ArgsTemplate parameter Args.
SplinesTemplate parameter Splines.
BoundariesTemplate parameter Boundaries.
Parameters
osOutput stream.
objObject to process.
Returns
Result of the operation.

◆ operator<<() [6/16]

template<typename Optimizer , typename Inputs , typename Outputs , typename CollPts >
requires OptimizerType<Optimizer>
std::ostream & iganet::operator<< ( std::ostream &  os,
const IgANet< Optimizer, Inputs, Outputs, CollPts > &  obj 
)
inline

Prints an IgANet object.

Parameters
osOutput stream.
objObject to process.
Returns
Result of the operation.

◆ operator<<() [7/16]

template<typename Inputs , typename Outputs , typename CollPts >
std::ostream & iganet::operator<< ( std::ostream &  os,
const IgASolver< Inputs, Outputs, CollPts > &  obj 
)
inline

Prints an IgASolver object.

Template Parameters
InputsTemplate parameter Inputs.
OutputsTemplate parameter Outputs.
CollPtsTemplate parameter CollPts.
Parameters
osOutput stream.
objObject to process.
Returns
Result of the operation.

◆ operator<<() [8/16]

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

Prints a memory debugger object.

Template Parameters
idIdentifier of the debugger instance.
Parameters
osOutput stream.
objMemory debugger to print.
Returns
os after the report has been written.

◆ operator<<() [9/16]

template<typename Patch >
std::ostream & iganet::operator<< ( std::ostream &  os,
const MultiPatch< Patch > &  obj 
)

Writes a human-readable multi-patch representation to a stream.

Template Parameters
PatchTemplate parameter Patch.
Parameters
osOutput stream.
objObject to process.
Returns
Result of the operation.

◆ operator<<() [10/16]

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

Prints a NonUniformBSpline object.

Template Parameters
real_tTemplate parameter real_t.
GeoDimTemplate parameter GeoDim.
DegreesTemplate parameter Degrees.
real_tTemplate parameter real_t.
GeoDimTemplate parameter GeoDim.
DegreesTemplate parameter Degrees.
Parameters
osOutput stream.
objObject to process.
Returns
Result of the operation.

◆ operator<<() [11/16]

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

Prints a NonUniformNurbs object.

Template Parameters
real_tTemplate parameter real_t.
GeoDimTemplate parameter GeoDim.
DegreesTemplate parameter Degrees.
real_tTemplate parameter real_t.
GeoDimTemplate parameter GeoDim.
DegreesTemplate parameter Degrees.
Parameters
osOutput stream.
objObject to process.
Returns
Result of the operation.

◆ operator<<() [12/16]

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

Prints an Options object.

Template Parameters
real_tScalar type represented by the options.
Parameters
osOutput stream.
objOptions object to print.
Returns
os after the representation has been written.

◆ operator<<() [13/16]

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

Prints a UniformBSpline object.

Template Parameters
real_tTemplate parameter real_t.
GeoDimTemplate parameter GeoDim.
DegreesTemplate parameter Degrees.
real_tTemplate parameter real_t.
GeoDimTemplate parameter GeoDim.
DegreesTemplate parameter Degrees.
Parameters
osOutput stream.
objObject to process.
Returns
Result of the operation.

◆ operator<<() [14/16]

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

Prints a UniformNurbs object.

Template Parameters
real_tTemplate parameter real_t.
GeoDimTemplate parameter GeoDim.
DegreesTemplate parameter Degrees.
real_tTemplate parameter real_t.
GeoDimTemplate parameter GeoDim.
DegreesTemplate parameter Degrees.
Parameters
osOutput stream.
objObject to process.
Returns
Result of the operation.

◆ operator<<() [15/16]

template<typename Patch >
torch::serialize::OutputArchive & iganet::operator<< ( torch::serialize::OutputArchive &  archive,
const MultiPatch< Patch > &  obj 
)

Serializes a multi-patch object.

Template Parameters
PatchTemplate parameter Patch.
Parameters
archiveSerialization archive.
objObject to process.
Returns
Result of the operation.

◆ operator<<() [16/16]

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.

Template Parameters
real_tTemplate parameter real_t.
GeoDimTemplate parameter GeoDim.
DegreesTemplate parameter Degrees.
Parameters
archiveSerialization archive.
objObject to process.
Returns
Result of the operation.

◆ operator>>() [1/2]

template<typename Patch >
torch::serialize::InputArchive & iganet::operator>> ( torch::serialize::InputArchive &  archive,
MultiPatch< Patch > &  obj 
)

Deserializes a multi-patch object.

Template Parameters
PatchTemplate parameter Patch.
Parameters
archiveSerialization archive.
objObject to process.
Returns
Result of the operation.

◆ operator>>() [2/2]

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

Deserializes a B-spline object.

Template Parameters
real_tTemplate parameter real_t.
GeoDimTemplate parameter GeoDim.
DegreesTemplate parameter Degrees.
Parameters
archiveSerialization archive.
objObject to process.
Returns
Result of the operation.

◆ 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

Disables verbose output on a stream.

Parameters
osStream whose verbosity flag is modified.
Returns
os, allowing use as a stream manipulator.

◆ verbose()

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

Enables verbose output on a stream.

Parameters
osStream whose verbosity flag is modified.
Returns
os, allowing use as a stream manipulator.

Variable Documentation

◆ dtype_v

template<DType T>
constexpr torch::Dtype iganet::dtype_v
inlineconstexpr
Initial value:
=
dtype_traits<normalized_type_t<T>>::value

Determines the LibTorch dtype from a template parameter.

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

◆ global_memory_debugger

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

System-wide memory debugger.

◆ [struct]

struct { ... } iganet::Log

Logger.

◆ type_name_v

template<typename T >
constexpr std::string_view iganet::type_name_v
inlineconstexpr
Initial value:
=
type_name<normalized_type_t<T>>::value

Human-readable name associated with a supported C++ type.

Template Parameters
TType whose name is requested.
Returns
Name supplied by the corresponding type_name specialization.