feec.pushforward#

Classes#

Inheritance diagram of psydac.feec.pushforward

Pushforward(grid[, mapping, npts_per_cell, ...])

Class used to help push-forwarding several fields using the same mapping.

Details#

class Pushforward(grid, mapping=None, npts_per_cell=None, cell_indexes=None, grid_type=None, local_domain=None, global_ends=None, grid_local=None)[source]#

Bases: object

Class used to help push-forwarding several fields using the same mapping. This class does not perform any checks on its arguments.

Parameters:
gridlist of arrays

Grid on which fields and other quantities will be evaluated. If it’s a regular tensor grid, then it is expected to be a list of 2-D arrays with number of cells as the first dimension.

mappingSplineMapping or Mapping or None

Mapping used to push-forward. None is equivalent to the identity mapping.

npts_per_celltuple of int or int, optional

Number of points per cell

cell_indexeslist of arrays of int, optional

Cell indices of the points in grid for each direction.

grid_typeint, optional

0 for irregular tensor grid, 1 for regular tensor grid, 2 for unstructured grid.

local_domain2-tuple of tuple of int

Index of the first and last cell owned by the current process for each direction given as a tuple of starting index and a tuple of ending index. This is most commonly given by the attribute TensorFemSpace.local_domain.

global_endstuple of int

Index of the last cell of the domain for each direction. This is simply the tuple of ncell - 1 in each direction.

grid_locallist of arrays

Grid that is local to the process. This is necessary when the mapping is an Analytical mapping that isn’t the identity. In serial this is the same as grid.

Notes

L2 and Hdiv push-forward algorithms use the metric determinant and not the jacobian determinant. For this reason, sign descrepancies can happen when comparing against algorithms which use the latter.

jacobian()[source]#
jacobian_inv()[source]#
sqrt_metric_det()[source]#