template<typename Optimizer, typename GeometryMap, typename Variable, template< typename, typename > typename IgABase = ::iganet::IgABase>
requires OptimizerType<Optimizer> && FunctionSpaceType<GeometryMap> && FunctionSpaceType<Variable>
class iganet::IgANet< Optimizer, GeometryMap, Variable, IgABase >
IgANet.
This class implements the core functionality of IgANets
template<typename Optimizer , typename GeometryMap , typename Variable , template< typename, typename > typename IgABase = ::iganet::IgABase>
template<std::size_t Coeffs>
Constructor: number of layers, activation functions, and number of spline coefficients (same for geometry map and variables)
template<typename Optimizer , typename GeometryMap , typename Variable , template< typename, typename > typename IgABase = ::iganet::IgABase>
template<std::size_t... Coeffs>
Constructor: number of layers, activation functions, and number of spline coefficients (same for geometry map and variables)
template<typename Optimizer , typename GeometryMap , typename Variable , template< typename, typename > typename IgABase = ::iganet::IgABase>
template<std::size_t GeometryMapNumCoeffs, std::size_t VariableNumCoeffs>
iganet::IgANet< Optimizer, GeometryMap, Variable, IgABase >::IgANet |
( |
const std::vector< int64_t > & |
layers, |
|
|
const std::vector< std::vector< std::any > > & |
activations, |
|
|
std::array< int64_t, GeometryMapNumCoeffs > |
geometryMapNumCoeffs, |
|
|
std::array< int64_t, VariableNumCoeffs > |
variableNumCoeffs, |
|
|
IgANetOptions |
defaults = {} , |
|
|
iganet::Options< typename Base::value_type > |
options = iganet::Options<typename Base::value_type>{} |
|
) |
| |
|
inline |
Constructor: number of layers, activation functions, and number of spline coefficients (different for geometry map and variables)
template<typename Optimizer , typename GeometryMap , typename Variable , template< typename, typename > typename IgABase = ::iganet::IgABase>
template<std::size_t... GeometryMapNumCoeffs, std::size_t... VariableNumCoeffs>
iganet::IgANet< Optimizer, GeometryMap, Variable, IgABase >::IgANet |
( |
const std::vector< int64_t > & |
layers, |
|
|
const std::vector< std::vector< std::any > > & |
activations, |
|
|
std::tuple< std::array< int64_t, GeometryMapNumCoeffs >... > |
geometryMapNumCoeffs, |
|
|
std::tuple< std::array< int64_t, VariableNumCoeffs >... > |
variableNumCoeffs, |
|
|
IgANetOptions |
defaults = {} , |
|
|
iganet::Options< typename Base::value_type > |
options = iganet::Options<typename Base::value_type>{} |
|
) |
| |
|
inline |
Constructor: number of layers, activation functions, and number of spline coefficients (different for geometry map and variables)
template<typename Optimizer , typename GeometryMap , typename Variable , template< typename, typename > typename IgABase = ::iganet::IgABase>
virtual torch::Tensor iganet::IgANet< Optimizer, GeometryMap, Variable, IgABase >::inputs |
( |
int64_t |
epoch | ) |
const |
|
inlinevirtual |
Returns the network inputs.
In the default implementation the inputs are the controll points of the geometry and the reference spline objects. This behavior can be changed by overriding this virtual function in a derived class.