G+Smo  24.08.0
Geometry + Simulation Modules
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
gsPde< T > Class Template Referenceabstract

Detailed Description

template<class T>
class gismo::gsPde< T >

Abstract class representing a PDE (partial differential equation).

This is the base class for PDEs, like the Poisson equation, Stokes equation or convection diffusion equation. The instances of these classes contains the problem description:

  • the domain,
  • the boundary conditions,
  • coefficients
  • rhs functions

The description of the discretization: methods to impose conditions or discrete spaces must be provided separately.

+ Inheritance diagram for gsPde< T >:
+ Collaboration diagram for gsPde< T >:

Public Member Functions

gsBoundaryConditions< T > & boundaryConditions ()
 Returns a reference to the Pde boundary conditions. More...
 
GISMO_DEPRECATED short_t dim () const
 returns the dimension of the domain
 
gsMultiPatch< T > & domain ()
 Returns a reference to the Pde domain. More...
 
GISMO_DEPRECATED int fieldDim (index_t field_id=0)
 gives the dimension of the i-th field it returns 1 for scalar fields, 2 for 2d vectors field etc. More...
 
 gsPde (const gsMultiPatch< T > &domain, const gsBoundaryConditions< T > &bc)
 Constructor without given exact solution.
 
virtual int numRhs () const
 gives the number of rhs functions of the PDEs
 
int numUnknowns () const
 Gives the number of unknown fields of the PDEs.
 
virtual std::ostream & print (std::ostream &os) const =0
 Print a short description of the PDE.
 
virtual gsPde< T > * restrictToPatch (unsigned) const
 restrictToPatch creats a new PDE object for a single patch np. More...
 
const gsVector< unsigned > & unknownDim () const
 Gives the vector of dimensions of the unknowns.
 

Protected Attributes

gsBoundaryConditions< T > m_boundary_conditions
 Boundary conditions.
 
gsMultiPatch< T > m_domain
 Computational domain.
 
gsVector< unsigned > m_unknownDim
 Description of the unknown fields: for each one the target dimension.
 

Member Function Documentation

gsBoundaryConditions<T>& boundaryConditions ( )
inline

Returns a reference to the Pde boundary conditions.

There is also a const version returning a const reference.

gsMultiPatch<T>& domain ( )
inline

Returns a reference to the Pde domain.

There is also a const version returning a const reference.

GISMO_DEPRECATED int fieldDim ( index_t  field_id = 0)
inline

gives the dimension of the i-th field it returns 1 for scalar fields, 2 for 2d vectors field etc.

Parameters
field_idthe field index
virtual gsPde<T>* restrictToPatch ( unsigned  ) const
inlinevirtual

restrictToPatch creats a new PDE object for a single patch np.

Parameters
npthe patch index
Returns
a pointer to an allocated gsPDE<T> object.

Reimplemented in gsPoissonPde< T >.