discretize.DiffOperators.DiffOperators

class discretize.DiffOperators.DiffOperators[source]

Bases: object

Class creates the differential operators that you need!

Attributes:
aveCC2F

Construct the averaging operator on cell centers to faces.

aveCCV2F

Construct the averaging operator on cell centers to faces as a vector.

aveE2CC

Construct the averaging operator on cell edges to cell centers.

aveE2CCV

Construct the averaging operator on cell edges to cell centers.

aveEx2CC

Construct the averaging operator on cell edges in the x direction to cell centers.

aveEy2CC

Construct the averaging operator on cell edges in the y direction to cell centers.

aveEz2CC

Construct the averaging operator on cell edges in the z direction to cell centers.

aveF2CC

Construct the averaging operator on cell faces to cell centers.

aveF2CCV

Construct the averaging operator on cell faces to cell centers.

aveFx2CC

Construct the averaging operator on cell faces in the x direction to cell centers.

aveFy2CC

Construct the averaging operator on cell faces in the y direction to cell centers.

aveFz2CC

Construct the averaging operator on cell faces in the z direction to cell centers.

aveN2CC

Construct the averaging operator on cell nodes to cell centers.

aveN2E

Construct the averaging operator on cell nodes to cell edges, keeping each dimension separate.

aveN2F

Construct the averaging operator on cell nodes to cell faces, keeping each dimension separate.

cellGrad

The cell centered Gradient, takes you to cell faces.

cellGradBC

The cell centered Gradient boundary condition matrix

cellGradx

Cell centered Gradient in the x dimension.

cellGrady
cellGradz

Cell centered Gradient in the x dimension.

edgeCurl

Construct the 3D curl operator.

faceDiv

Construct divergence operator (face-stg to cell-centres).

faceDivx

Construct divergence operator in the x component (face-stg to cell-centres).

faceDivy
faceDivz

Construct divergence operator in the z component (face-stg to cell-centers).

nodalGrad

Construct gradient operator (nodes to edges).

nodalLaplacian

Construct laplacian operator (nodes to edges).

Methods

getBCProjWF(self, BC[, discretization]) The weak form boundary condition projection matrices.
getBCProjWF_simple(self[, discretization]) The weak form boundary condition projection matrices when mixed boundary condition is used
setCellGradBC(self, BC) Function that sets the boundary conditions for cell-centred derivative operators.

Attributes

DiffOperators.aveCC2F

Construct the averaging operator on cell centers to faces.

DiffOperators.aveCCV2F

Construct the averaging operator on cell centers to faces as a vector.

DiffOperators.aveE2CC

Construct the averaging operator on cell edges to cell centers.

DiffOperators.aveE2CCV

Construct the averaging operator on cell edges to cell centers.

DiffOperators.aveEx2CC

Construct the averaging operator on cell edges in the x direction to cell centers.

DiffOperators.aveEy2CC

Construct the averaging operator on cell edges in the y direction to cell centers.

DiffOperators.aveEz2CC

Construct the averaging operator on cell edges in the z direction to cell centers.

DiffOperators.aveF2CC

Construct the averaging operator on cell faces to cell centers.

DiffOperators.aveF2CCV

Construct the averaging operator on cell faces to cell centers.

DiffOperators.aveFx2CC

Construct the averaging operator on cell faces in the x direction to cell centers.

DiffOperators.aveFy2CC

Construct the averaging operator on cell faces in the y direction to cell centers.

DiffOperators.aveFz2CC

Construct the averaging operator on cell faces in the z direction to cell centers.

DiffOperators.aveN2CC

Construct the averaging operator on cell nodes to cell centers.

DiffOperators.aveN2E

Construct the averaging operator on cell nodes to cell edges, keeping each dimension separate.

DiffOperators.aveN2F

Construct the averaging operator on cell nodes to cell faces, keeping each dimension separate.

DiffOperators.cellGrad

The cell centered Gradient, takes you to cell faces.

DiffOperators.cellGradBC

The cell centered Gradient boundary condition matrix

DiffOperators.cellGradx

Cell centered Gradient in the x dimension. Has neumann boundary conditions.

DiffOperators.cellGrady
DiffOperators.cellGradz

Cell centered Gradient in the x dimension. Has neumann boundary conditions.

DiffOperators.edgeCurl

Construct the 3D curl operator.

DiffOperators.faceDiv

Construct divergence operator (face-stg to cell-centres).

DiffOperators.faceDivx

Construct divergence operator in the x component (face-stg to cell-centres).

DiffOperators.faceDivy
DiffOperators.faceDivz

Construct divergence operator in the z component (face-stg to cell-centers).

DiffOperators.nodalGrad

Construct gradient operator (nodes to edges).

DiffOperators.nodalLaplacian

Construct laplacian operator (nodes to edges).

Methods

DiffOperators.getBCProjWF(self, BC, discretization='CC')[source]

The weak form boundary condition projection matrices.

Example

# Neumann in all directions
BC = 'neumann'

# 3D, Dirichlet in y Neumann else
BC = ['neumann', 'dirichlet', 'neumann']

# 3D, Neumann in x on bottom of domain, Dirichlet else
BC = [['neumann', 'dirichlet'], 'dirichlet', 'dirichlet']
DiffOperators.getBCProjWF_simple(self, discretization='CC')[source]

The weak form boundary condition projection matrices when mixed boundary condition is used

DiffOperators.setCellGradBC(self, BC)[source]

Function that sets the boundary conditions for cell-centred derivative operators.

Example

..code:: python

# Neumann in all directions BC = ‘neumann’

# 3D, Dirichlet in y Neumann else BC = [‘neumann’, ‘dirichlet’, ‘neumann’]

# 3D, Neumann in x on bottom of domain, Dirichlet else BC = [[‘neumann’, ‘dirichlet’], ‘dirichlet’, ‘dirichlet’]