discretize.CurvilinearMesh

Inheritance diagram of CurvilinearMesh
class discretize.CurvilinearMesh(node_list, **kwargs)[source]

Curvilinear mesh class.

Curvilinear meshes are numerical grids whose cells are general quadrilaterals (2D) or cuboid (3D); unlike tensor meshes (see TensorMesh) whose cells are rectangles or rectangular prisms. That being said, the combinatorial structure (i.e. connectivity of mesh cells) of curvilinear meshes is the same as tensor meshes.

Parameters
node_listlist of array_like

List array_like containing the gridded x, y (and z) node locations.

  • For a 2D curvilinear mesh, node_list = [X, Y] where X and Y have shape (n_nodes_x, n_nodes_y)

  • For a 3D curvilinear mesh, node_list = [X, Y, Z] where X, Y and Z have shape (n_nodes_x, n_nodes_y, n_nodes_z)

Examples

Using the example_curvilinear_grid() utility, we provide an example of a curvilinear mesh.

>>> from discretize import CurvilinearMesh
>>> from discretize.utils import example_curvilinear_grid
>>> import matplotlib.pyplot as plt

The example grid slightly rotates the nodes in the center of the mesh,

>>> x, y = example_curvilinear_grid([10, 10], "rotate")
>>> x.shape
(11, 11)
>>> y.shape
(11, 11)
>>> curvilinear_mesh = CurvilinearMesh([x, y])
>>> curvilinear_mesh.shape_nodes
(11, 11)
>>> fig = plt.figure(figsize=(5,5))
>>> ax = fig.add_subplot(111)
>>> curvilinear_mesh.plot_grid(ax=ax)
>>> plt.show()

(Source code, png, pdf)

../../_images/discretize-CurvilinearMesh-1.png

Attributes

area

area has been deprecated.

average_cell_to_edge

Averaging operator from cell centers to edges (scalar quantities).

average_cell_to_face

Averaging operator from cell centers to faces (scalar quantities).

average_cell_vector_to_face

Averaging operator from cell centers to faces (vector quantities).

average_edge_to_cell

Averaging operator from edges to cell centers (scalar quantities).

average_edge_to_cell_vector

Averaging operator from edges to cell centers (vector quantities).

average_edge_to_face_vector

Averaging operator from edges to faces (vector quantities).

average_edge_x_to_cell

Averaging operator from x-edges to cell centers (scalar quantities).

average_edge_y_to_cell

Averaging operator from y-edges to cell centers (scalar quantities).

average_edge_z_to_cell

Averaging operator from z-edges to cell centers (scalar quantities).

average_face_to_cell

Averaging operator from faces to cell centers (scalar quantities).

average_face_to_cell_vector

Averaging operator from faces to cell centers (vector quantities).

average_face_x_to_cell

Averaging operator from x-faces to cell centers (scalar quantities).

average_face_y_to_cell

Averaging operator from y-faces to cell centers (scalar quantities).

average_face_z_to_cell

Averaging operator from z-faces to cell centers (scalar quantities).

average_node_to_cell

Averaging operator from nodes to cell centers (scalar quantities).

average_node_to_edge

Averaging operator from nodes to edges (scalar quantities).

average_node_to_face

Averaging operator from nodes to faces (scalar quantities).

axis_u

Deprecated since version 0.7.0.

axis_v

Deprecated since version 0.7.0.

axis_w

Deprecated since version 0.7.0.

boundary_edge_vector_integral

Represents the operation of integrating a vector function on the boundary

boundary_edges

Gridded boundary edge locations

boundary_face_outward_normals

Outward normals of boundary faces

boundary_face_scalar_integral

Represents the operation of integrating a scalar function on the boundary

boundary_faces

Gridded locations of non-hanging x-faces

boundary_node_vector_integral

Represents the operation of integrating a vector function dotted with the boundary normal

boundary_nodes

Gridded boundary node locations

cellGrad

cellGrad has been deprecated.

cellGradBC

cellGradBC has been deprecated.

cellGradx

cellGradx has been deprecated.

cellGrady

cellGrady has been deprecated.

cellGradz

cellGradz has been deprecated.

cell_centers

Gridded cell center locations (staggered grid)

cell_gradient

Cell gradient operator (cell centers to faces)

cell_gradient_BC

Boundary conditions matrix for the cell gradient operator (Deprecated)

cell_gradient_x

X-derivative operator (cell centers to x-faces)

cell_gradient_y

Y-derivative operator (cell centers to y-faces)

cell_gradient_z

Z-derivative operator (cell centers to z-faces)

cell_volumes

Return cell volumes

dim

The dimension of the mesh (1, 2, or 3).

edge

edge has been deprecated.

edgeCurl

edgeCurl has been deprecated.

edge_curl

Edge curl operator (edges to faces)

edge_lengths

Returns the lengths of all edges in the mesh

edge_tangents

Gridded edge tangents directions for all mesh edges

edges

Gridded edge locations (staggered grid)

edges_x

Gridded x-edge locations (staggered grid)

edges_y

Gridded y-edge locations (staggered grid)

edges_z

Gridded z-edge locations (staggered grid)

faceDiv

faceDiv has been deprecated.

faceDivx

faceDivx has been deprecated.

faceDivy

faceDivy has been deprecated.

faceDivz

faceDivz has been deprecated.

face_areas

Returns the areas of all faces in the mesh

face_divergence

Face divergence operator (faces to cell-centres)

face_normals

Gridded average face normals for all mesh faces.

face_x_divergence

X-derivative operator (x-faces to cell-centres)

face_y_divergence

Y-derivative operator (y-faces to cell-centres)

face_z_divergence

Z-derivative operator (z-faces to cell-centres)

faces

Gridded face locations (staggered grid)

faces_x

Gridded x-face locations (staggered grid)

faces_y

Gridded y-face locations (staggered grid)

faces_z

Gridded z-face locations (staggered grid)

nCx

Number of cells in the x direction

nCy

Number of cells in the y direction

nCz

Number of cells in the z direction

nNx

Number of nodes in the x-direction

nNy

Number of nodes in the y-direction

nNz

Number of nodes in the z-direction

n_cells

Total number of cells in the mesh.

n_edges

Total number of edges in the mesh

n_edges_per_direction

The number of edges in each direction

n_edges_x

Number of x-edges in the mesh

n_edges_y

Number of y-edges in the mesh

n_edges_z

Number of z-edges in the mesh

n_faces

Total number of faces in the mesh

n_faces_per_direction

The number of faces in each axis direction

n_faces_x

Number of x-faces in the mesh

n_faces_y

Number of y-faces in the mesh

n_faces_z

Number of z-faces in the mesh

n_nodes

Total number of nodes in the mesh

nodalGrad

nodalGrad has been deprecated.

nodalLaplacian

nodalLaplacian has been deprecated.

nodal_gradient

Nodal gradient operator (nodes to edges)

nodal_laplacian

Nodal scalar Laplacian operator (nodes to nodes)

node_list

Returns the gridded x, y (and z) node locations used to create the mesh.

nodes

Gridded node locations (staggered grid)

normals

normals has been deprecated.

orientation

Rotation matrix defining mesh axes relative to Cartesian

origin

Origin or 'anchor point' of the mesh

project_edge_to_boundary_edge

Projection matrix from all edges to boundary edges.

project_face_to_boundary_face

Projection matrix from all faces to boundary faces.

project_node_to_boundary_node

Projection matrix from all nodes to boundary nodes.

reference_is_rotated

Indicates whether mesh uses standard coordinate axes

reference_system

Coordinate reference system

rotation_matrix

Alias for orientation

shape_cells

The number of cells in each coordinate direction.

shape_edges_x

Number of x-edges along each axis direction

shape_edges_y

Number of y-edges along each axis direction

shape_edges_z

Number of z-edges along each axis direction

shape_faces_x

Number of x-faces along each axis direction

shape_faces_y

Number of y-faces along each axis direction

shape_faces_z

Number of z-faces along each axis direction

shape_nodes

Returns the number of nodes along each axis direction

stencil_cell_gradient

Stencil for cell gradient operator (cell centers to faces)

stencil_cell_gradient_x

Differencing operator along x-direction (cell centers to x-faces)

stencil_cell_gradient_y

Differencing operator along y-direction (cell centers to y-faces)

stencil_cell_gradient_z

Differencing operator along z-direction (cell centers to z-faces)

tangents

tangents has been deprecated.

vol

vol has been deprecated.

x0

An alias for the origin

Methods

cell_gradient_weak_form_robin([alpha, beta, ...])

Robin conditions for weak form of the cell gradient operator (cell centers to faces)

copy()

Make a copy of the current mesh

deserialize(value, **kwargs)

edge_divergence_weak_form_robin([alpha, ...])

Robin conditions for weak form of the edge divergence operator (edges to nodes)

equals(other_mesh)

Compares current mesh with another mesh to determine if they are identical

from_omf(element)

Convert an OMF element to it's proper discretize type.

getBCProjWF(*args, **kwargs)

getBCProjWF has been deprecated.

getBCProjWF_simple(*args, **kwargs)

getBCProjWF_simple has been deprecated.

getEdgeInnerProduct(*args, **kwargs)

getEdgeInnerProduct has been deprecated.

getEdgeInnerProductDeriv(*args, **kwargs)

getEdgeInnerProductDeriv has been deprecated.

getFaceInnerProduct(*args, **kwargs)

getFaceInnerProduct has been deprecated.

getFaceInnerProductDeriv(*args, **kwargs)

getFaceInnerProductDeriv has been deprecated.

get_BC_projections(BC[, discretization])

The weak form boundary condition projection matrices.

get_BC_projections_simple([discretization])

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

get_edge_inner_product([model, ...])

Generate the edge inner product matrix or its inverse.

get_edge_inner_product_deriv(model[, ...])

Function handle to multiply vector with derivative of edge inner product matrix (or its inverse).

get_face_inner_product([model, ...])

Generate the face inner product matrix or its inverse.

get_face_inner_product_deriv(model[, ...])

Function handle to multiply vector with derivative of face inner product matrix (or its inverse).

plotGrid(*args, **kwargs)

plotGrid has been deprecated.

plotImage(*args, **kwargs)

plotImage has been deprecated.

plotSlice(*args, **kwargs)

plotSlice has been deprecated.

plot_3d_slicer(v[, xslice, yslice, zslice, ...])

Plot slices of a 3D volume, interactively (scroll wheel).

plot_grid([ax, nodes, faces, centers, ...])

Plot the grid for nodal, cell-centered and staggered grids.

plot_image(v[, v_type, grid, view, ax, ...])

Plots quantities defined on a given mesh.

plot_slice(v[, v_type, normal, ind, ...])

Plots slice of fields on the given 3D mesh.

projectEdgeVector(*args, **kwargs)

projectEdgeVector has been deprecated.

projectFaceVector(*args, **kwargs)

projectFaceVector has been deprecated.

project_edge_vector(edge_vectors)

Project vectors to the edges of the mesh.

project_face_vector(face_vectors)

Project vectors onto the faces of the mesh.

r(*args, **kwargs)

r has been deprecated.

reshape(x[, x_type, out_type, format])

General reshape method for tensor quantities

save([file_name, verbose])

Save the mesh to json

serialize()

An alias for to_dict()

setCellGradBC(*args, **kwargs)

setCellGradBC has been deprecated.

set_cell_gradient_BC(BC)

Set zero Dirichlet/Neumann boundary conditions for derivative operators acting on cell-centered quantities.

toVTK([models])

toVTK has been deprecated and replaced by to_vtk

to_dict()

Representation of the mesh's attributes as a dictionary

to_omf([models])

Convert this mesh object to it's proper omf data object with the given model dictionary as the cell data of that dataset.

to_vtk([models])

Convert mesh (and models) to corresponding VTK or PyVista data object

validate()

Return the validation state of the mesh

writeVTK(file_name[, models, directory])

writeVTK has been deprecated and replaced by write_vtk

write_vtk(file_name[, models, directory])

Convert mesh (and models) to corresponding VTK or PyVista data object then writes to file

Galleries and Tutorials using discretize.CurvilinearMesh