IgANet
IGAnets - Isogeometric Analysis Networks
Loading...
Searching...
No Matches
iganet::EZInterpolation< GeometryMap, Variable > Class Template Reference

Easy-to-use interpolation class. More...

#include </home/runner/work/iganet/iganet/include/solver/ezsolver.hpp>

Inheritance diagram for iganet::EZInterpolation< GeometryMap, Variable >:
iganet::EZSolverBase< GeometryMap, Variable > iganet::IgASolver< std::tuple< GeometryMap >, std::tuple< Variable > > iganet::IgANetCustomizable< std::tuple< GeometryMap >, std::tuple< Variable > > iganet::IgABase< typename, typename, typename > iganet::utils::FullQualifiedName

Public Member Functions

 EZInterpolation (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)
 Constructor.
 
void assembleLhs () override
 Assembles the left-hand side as the mass matrix.
 
void assembleRhs () override
 Assembles the right-hand side from the given function.
 
- Public Member Functions inherited from iganet::EZSolverBase< GeometryMap, Variable >
template<std::size_t GeometryMapNumCoeffs, std::size_t VariableNumCoeffs>
 EZSolverBase (const std::array< int64_t, GeometryMapNumCoeffs > &geometryMapNumCoeffs, const std::array< int64_t, VariableNumCoeffs > &variableNumCoeffs)
 Constructor.
 
auto const & collPts () const
 Returns a constant reference to the collocation points.
 
auto & G ()
 Returns a non-constant reference to the geometry.
 
auto const & G () const
 Returns a constant reference to the geometry.
 
void init () override
 Initializes the solver.
 
auto & u ()
 Returns a non-constant reference to the variable.
 
auto const & u () const
 Returns a constant reference to the variable.
 
- Public Member Functions inherited from iganet::IgASolver< std::tuple< GeometryMap >, std::tuple< Variable > >
virtual void assemble ()
 Assembles the solver.
 
constexpr auto & lhs ()
 Returns a non-constant reference to the left-hand side object.
 
constexpr const auto & lhs () const
 Returns a constant reference to the left-hand side object.
 
void pretty_print (std::ostream &os) const noexcept override
 Returns a string representation of the IgASolver object.
 
constexpr auto & rhs ()
 Returns a non-constant reference to the right-hand side object.
 
constexpr const auto & rhs () const
 Returns a constant reference to the right-hand side object.
 
torch::Tensor solve () const
 Computes the solution vector.
 

Private Types

using Base = EZSolverBase< GeometryMap, Variable >
 Base class.
 

Private Attributes

std::function< std::array< torch::Tensor, Variable::template geoDim< 0 >()>(const std::array< torch::Tensor, Variable::template parDim< 0 >()> &) > rhs_
 Right-hand side function.
 

Additional Inherited Members

- Public Types inherited from iganet::IgASolver< std::tuple< GeometryMap >, std::tuple< Variable > >
using Base = IgABase< std::tuple< GeometryMap >, std::tuple< Variable >, void >
 Base type.
 
- Protected Types inherited from iganet::EZSolverBase< GeometryMap, Variable >
using Base = iganet::IgASolver< std::tuple< GeometryMap >, std::tuple< Variable > >
 Type of the base class.
 
using Customizable = iganet::IgANetCustomizable< std::tuple< GeometryMap >, std::tuple< Variable > >
 Type of the customizable class.
 
- Protected Attributes inherited from iganet::EZSolverBase< GeometryMap, Variable >
Base::template collPts_t< 0 > collPts_
 Collocation points.
 
Customizable::template input_interior_knot_indices_t< 0 > G_knot_indices_
 Knot indices of the geometry map.
 
Customizable::template input_boundary_knot_indices_t< 0 > G_knot_indices_boundary_
 Knot indices of the geometry map at the boundary.
 
Customizable::template output_interior_knot_indices_t< 0 > var_knot_indices_
 Knot indices of variables.
 
Customizable::template output_boundary_knot_indices_t< 0 > var_knot_indices_boundary_
 Knot indices of variables at the boundary.
 
- Protected Attributes inherited from iganet::IgASolver< std::tuple< GeometryMap >, std::tuple< Variable > >
torch::Tensor lhs_
 Left-hand side tensor.
 
torch::Tensor rhs_
 Right-hand side tensor.
 

Detailed Description

template<FunctionSpaceType GeometryMap, FunctionSpaceType Variable>
class iganet::EZInterpolation< GeometryMap, Variable >

Easy-to-use interpolation class.

This class implements an easy-to-use interpolation that takes a geometry map and a variable function space as inputs.

Member Typedef Documentation

◆ Base

template<FunctionSpaceType GeometryMap, FunctionSpaceType Variable>
using iganet::EZInterpolation< GeometryMap, Variable >::Base = EZSolverBase<GeometryMap, Variable>
private

Base class.

Constructor & Destructor Documentation

◆ EZInterpolation()

template<FunctionSpaceType GeometryMap, FunctionSpaceType Variable>
iganet::EZInterpolation< GeometryMap, Variable >::EZInterpolation ( 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 
)
inline

Constructor.

Member Function Documentation

◆ assembleLhs()

template<FunctionSpaceType GeometryMap, FunctionSpaceType Variable>
void iganet::EZInterpolation< GeometryMap, Variable >::assembleLhs ( )
inlineoverridevirtual

Assembles the left-hand side as the mass matrix.

Implements iganet::IgASolver< std::tuple< GeometryMap >, std::tuple< Variable > >.

◆ assembleRhs()

template<FunctionSpaceType GeometryMap, FunctionSpaceType Variable>
void iganet::EZInterpolation< GeometryMap, Variable >::assembleRhs ( )
inlineoverridevirtual

Assembles the right-hand side from the given function.

Implements iganet::IgASolver< std::tuple< GeometryMap >, std::tuple< Variable > >.

Member Data Documentation

◆ rhs_

template<FunctionSpaceType GeometryMap, FunctionSpaceType Variable>
std::function< std::array<torch::Tensor, Variable::template geoDim<0>()>( const std::array<torch::Tensor, Variable::template parDim<0>()>& ) > iganet::EZInterpolation< GeometryMap, Variable >::rhs_
private

Right-hand side function.


The documentation for this class was generated from the following file: