![]() |
IgANet
IgANets - Isogeometric Analysis Networks
|
Multivariate B-splines. More...
#include <algorithm>
#include <exception>
#include <filesystem>
#include <functional>
#include <regex>
#include <core.hpp>
#include <options.hpp>
#include <patch.hpp>
#include <utils/blocktensor.hpp>
#include <utils/container.hpp>
#include <utils/fqn.hpp>
#include <utils/index_sequence.hpp>
#include <utils/integer_pow.hpp>
#include <utils/linalg.hpp>
#include <utils/serialize.hpp>
#include <utils/tensorarray.hpp>
#include <utils/vslice.hpp>
Go to the source code of this file.
Classes | |
class | iganet::BSplineCommon< BSplineCore > |
B-spline (common high-level functionality) More... | |
class | iganet::detail::SplineType |
Spline type. More... | |
class | iganet::NonUniformBSplineCore< real_t, GeoDim, Degrees > |
Tensor-product non-uniform B-spline (core functionality) More... | |
class | iganet::UniformBSplineCore< real_t, GeoDim, Degrees > |
Tensor-product uniform B-spline (core functionality) More... | |
Namespaces | |
namespace | iganet |
namespace | iganet::detail |
Macros | |
#define | GENERATE_EXPR_SEQ (curl)(div)(grad)(hess)(jac)(lapl) |
Sequence of expression (parametric coordinates) | |
#define | GENERATE_IEXPR_SEQ (icurl)(idiv)(igrad)(ihess)(ijac)(ilapl) |
Sequence of expression (physical coordinates) | |
Typedefs | |
template<typename... T> | |
using | iganet::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 | iganet::NonUniformBSpline = BSplineCommon< NonUniformBSplineCore< real_t, GeoDim, Degrees... > > |
Tensor-product non-uniform B-spline. | |
template<typename real_t , short_t GeoDim, short_t... Degrees> | |
using | iganet::UniformBSpline = BSplineCommon< UniformBSplineCore< real_t, GeoDim, Degrees... > > |
Tensor-product uniform B-spline. | |
Enumerations | |
enum class | iganet::deriv : short_t { iganet::func = 0 , iganet::dx = 1 , iganet::dy = 10 , iganet::dz = 100 , iganet::dt = 1000 } |
Enumerator for specifying the derivative of B-spline evaluation. More... | |
enum class | iganet::init : short_t { iganet::none = 0 , iganet::zeros = 1 , iganet::ones = 2 , iganet::linear , iganet::random = 4 , iganet::greville = 5 , iganet::linspace = 6 } |
Enumerator for specifying the initialization of B-spline coefficients. More... | |
Functions | |
constexpr auto | iganet::operator+ (deriv lhs, deriv rhs) |
Adds two enumerators for specifying the derivative of B-spline evaluation. | |
template<typename real_t , short_t GeoDim, short_t... Degrees> | |
std::ostream & | iganet::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 & | iganet::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> | |
torch::serialize::OutputArchive & | iganet::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 & | iganet::operator>> (torch::serialize::InputArchive &archive, UniformBSplineCore< real_t, GeoDim, Degrees... > &obj) |
De-serializes a B-spline object. | |
constexpr auto | iganet::operator^ (deriv lhs, short_t rhs) |
Raises an enumerator for specifying the derivative of B-spline evaluation to a higher exponent. | |
Variables | |
template<typename... T> | |
constexpr bool | iganet::is_SplineType_v = is_SplineType<T...>::value |
Alias to the value of is_SplineType. | |
Multivariate B-splines.
Abstract patch function base class.
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#define GENERATE_EXPR_SEQ (curl)(div)(grad)(hess)(jac)(lapl) |
Sequence of expression (parametric coordinates)
For each item in this sequence corresponding expressions will be generated for function spaces, boundary spaces, etc.
#define GENERATE_IEXPR_SEQ (icurl)(idiv)(igrad)(ihess)(ijac)(ilapl) |
Sequence of expression (physical coordinates)
For each item in this sequence corresponding expressions will be generated for function spaces, boundary spaces, etc.