api.feec#

Classes#

Inheritance diagram of psydac.api.feec

DiscreteDerham(mapping, *spaces)

A discrete de Rham sequence built over a single-patch geometry.

Details#

class DiscreteDerham(mapping, *spaces)[source]#

Bases: BasicDiscrete

A discrete de Rham sequence built over a single-patch geometry.

Parameters:
mappingMapping or None

Symbolic mapping from the logical space to the physical space, if any.

*spaceslist of FemSpace

The discrete spaces of the de Rham sequence.

Notes

  • The basic type Mapping is defined in module sympde.topology.mapping. A discrete mapping (spline or NURBS) may be attached to it.

  • This constructor should not be called directly, but rather from the discretize_derham function in psydac.api.discretization.

  • For the multipatch counterpart of this class please see MultipatchDiscreteDerham in psydac.feec.multipatch.api.

property dim#

Dimension of the physical and logical domains, which are assumed to be the same.

property V0#

First space of the de Rham sequence : H1 space

property V1#

Second space of the de Rham sequence : - 1d : L2 space - 2d : either Hdiv or Hcurl space - 3d : Hcurl space

property V2#

Third space of the de Rham sequence : - 2d : L2 space - 3d : Hdiv space

property V3#

Fourth space of the de Rham sequence : L2 space in 3d

property H1vec#

Vector-valued H1 space built as the Cartesian product of N copies of V0, where N is the dimension of the (logical) domain.

property spaces#

Spaces of the proper de Rham sequence (excluding Hvec).

property mapping#

The mapping from the logical space to the physical space.

property callable_mapping#

The mapping as a callable.

property derivatives_as_matrices#

Differential operators of the De Rham sequence as LinearOperator objects.

property derivatives#

Differential operators of the De Rham sequence as DiffOperator objects.

Those are objects with domain and codomain properties that are FemSpace, they act on FemField (they take a FemField of their domain as input and return a FemField of their codomain.

projectors(*, kind='global', nquads=None)[source]#

Projectors mapping callable functions of the physical coordinates to a corresponding FemField object in the De Rham sequence.

Parameters:
kindstr

Type of the projection : at the moment, only global is accepted and returns geometric commuting projectors based on interpolation/histopolation for the De Rham sequence (GlobalProjector objects).

nquadslist(int) | tuple(int)

Number of quadrature points along each direction, to be used in Gauss quadrature rule for computing the (approximated) degrees of freedom.

Returns:
P0, …, Pncallables

Projectors that can be called on any callable function that maps from the physical space to R (scalar case) or R^d (vector case) and returns a FemField belonging to the i-th space of the De Rham sequence