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

Detailed Description

template<class T>
class gismo::gsBiharmonicPde< T >

A Biharmonic PDE.

This class describes a Biharmonic PDE, with an arbitrary right-hand side function.

It has an extra gsBoundaryConditions object since the biharmonic has two essential (Dirichlet) and two natural (Neumann). The second gsBoundaryConditions contains the second kind of BC.

The first kind of BCs Dirichlet: Enforce \(v = 0 \) on the boundary Neumann: Add \( (g,v)_\Gamma \) on the right-hand side, where \(g = -\nabla \Delta u \cdot \mathbf{n}\)

The second kind of BCs Dirichlet: Enforce \( \nabla v \cdot \mathbf{n} = 0 \) on the boundary Neumann: Add \( (g,\nabla v \cdot \mathbf{n})_\Gamma \) on the right-hand side, where \(g = \Delta u \)

+ Inheritance diagram for gsBiharmonicPde< T >:
+ Collaboration diagram for gsBiharmonicPde< 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...
 
 gsBiharmonicPde (const gsMultiPatch< T > &domain, const gsBoundaryConditions< T > &bc1, const gsBoundaryConditions< T > &bc2, const gsPiecewiseFunction< T > &rhs)
 Constructor.
 
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.
 
std::ostream & print (std::ostream &os) const
 Prints the object as a string.
 
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.
 
gsBoundaryConditions< T > m_boundary_conditions_second
 Boundary conditions of the second kind.
 
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 ( )
inlineinherited

Returns a reference to the Pde boundary conditions.

There is also a const version returning a const reference.

gsMultiPatch<T>& domain ( )
inlineinherited

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)
inlineinherited

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
inlinevirtualinherited

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 >.