IgANet
IGAnets - Isogeometric Analysis Networks
Loading...
Searching...
No Matches
iganet::IgASolver< Inputs, Outputs, CollPts > Class Template Referenceabstract

IgA solver. More...

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

Inheritance diagram for iganet::IgASolver< Inputs, Outputs, CollPts >:
iganet::IgABase< typename, typename, typename > iganet::utils::FullQualifiedName

Public Types

using Base = IgABase< Inputs, Outputs, CollPts >
 Base type.
 

Public Member Functions

virtual void assemble ()
 Assembles the solver.
 
virtual void assembleLhs ()=0
 Assembles the left-hand side of the solver.
 
virtual void assembleRhs ()=0
 Assembles the right-hand side of the solver.
 
virtual void init ()=0
 Initializes 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.
 

Protected Attributes

torch::Tensor lhs_
 Left-hand side tensor.
 
torch::Tensor rhs_
 Right-hand side tensor.
 

Additional Inherited Members

- Private Member Functions inherited from iganet::utils::FullQualifiedName
virtual ~FullQualifiedName ()=default
 
virtual const std::string & name () const noexcept
 Returns the full qualified name of the object.
 
- Private Attributes inherited from iganet::utils::FullQualifiedName
at::optional< std::string > name_
 String storing the full qualified name of the object.
 

Detailed Description

template<typename Inputs, typename Outputs, typename CollPts = void>
class iganet::IgASolver< Inputs, Outputs, CollPts >

IgA solver.

This class implements the core functionality of IgA solvers

Member Typedef Documentation

◆ Base

template<typename Inputs , typename Outputs , typename CollPts = void>
using iganet::IgASolver< Inputs, Outputs, CollPts >::Base = IgABase<Inputs, Outputs, CollPts>

Base type.

Member Function Documentation

◆ assemble()

template<typename Inputs , typename Outputs , typename CollPts = void>
virtual void iganet::IgASolver< Inputs, Outputs, CollPts >::assemble ( )
inlinevirtual

Assembles the solver.

◆ assembleLhs()

template<typename Inputs , typename Outputs , typename CollPts = void>
virtual void iganet::IgASolver< Inputs, Outputs, CollPts >::assembleLhs ( )
pure virtual

Assembles the left-hand side of the solver.

Implemented in iganet::EZSolver< GeometryMap, Variable >, and iganet::EZInterpolation< GeometryMap, Variable >.

◆ assembleRhs()

template<typename Inputs , typename Outputs , typename CollPts = void>
virtual void iganet::IgASolver< Inputs, Outputs, CollPts >::assembleRhs ( )
pure virtual

Assembles the right-hand side of the solver.

Implemented in iganet::EZSolver< GeometryMap, Variable >, and iganet::EZInterpolation< GeometryMap, Variable >.

◆ init()

template<typename Inputs , typename Outputs , typename CollPts = void>
virtual void iganet::IgASolver< Inputs, Outputs, CollPts >::init ( )
pure virtual

Initializes the solver.

Implemented in iganet::EZSolverBase< GeometryMap, Variable >.

◆ lhs() [1/2]

template<typename Inputs , typename Outputs , typename CollPts = void>
constexpr auto & iganet::IgASolver< Inputs, Outputs, CollPts >::lhs ( )
inlineconstexpr

Returns a non-constant reference to the left-hand side object.

◆ lhs() [2/2]

template<typename Inputs , typename Outputs , typename CollPts = void>
constexpr const auto & iganet::IgASolver< Inputs, Outputs, CollPts >::lhs ( ) const
inlineconstexpr

Returns a constant reference to the left-hand side object.

◆ pretty_print()

template<typename Inputs , typename Outputs , typename CollPts = void>
void iganet::IgASolver< Inputs, Outputs, CollPts >::pretty_print ( std::ostream &  os) const
inlineoverridevirtualnoexcept

Returns a string representation of the IgASolver object.

Implements iganet::utils::FullQualifiedName.

◆ rhs() [1/2]

template<typename Inputs , typename Outputs , typename CollPts = void>
constexpr auto & iganet::IgASolver< Inputs, Outputs, CollPts >::rhs ( )
inlineconstexpr

Returns a non-constant reference to the right-hand side object.

◆ rhs() [2/2]

template<typename Inputs , typename Outputs , typename CollPts = void>
constexpr const auto & iganet::IgASolver< Inputs, Outputs, CollPts >::rhs ( ) const
inlineconstexpr

Returns a constant reference to the right-hand side object.

◆ solve()

template<typename Inputs , typename Outputs , typename CollPts = void>
torch::Tensor iganet::IgASolver< Inputs, Outputs, CollPts >::solve ( ) const
inline

Computes the solution vector.

Member Data Documentation

◆ lhs_

template<typename Inputs , typename Outputs , typename CollPts = void>
torch::Tensor iganet::IgASolver< Inputs, Outputs, CollPts >::lhs_
protected

Left-hand side tensor.

◆ rhs_

template<typename Inputs , typename Outputs , typename CollPts = void>
torch::Tensor iganet::IgASolver< Inputs, Outputs, CollPts >::rhs_
protected

Right-hand side tensor.


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