4.2.3.3 pde.grids.operators.cylindrical_sym module
This module implements differential operators on cylindrical grids.
Make a discretized laplace operator for a cylindrical grid. |
|
Make a discretized gradient operator for a cylindrical grid. |
|
Make a discretized divergence operator for a cylindrical grid. |
|
Make a discretized vector gradient operator for a cylindrical grid. |
|
Make a discretized vector laplace operator for a cylindrical grid. |
|
Make a discretized tensor divergence operator for a cylindrical grid. |
|
Make a operator that solves Poisson's equation. |
- make_divergence(grid)[source]
Make a discretized divergence operator for a cylindrical grid.
The cylindrical grid assumes polar symmetry, so that fields only depend on the radial coordinate r and the axial coordinate z. Here, the first axis is along the radius, while the second axis is along the axis of the cylinder. The radial discretization is defined as \(r_i = (i + \frac12) \Delta r\) for \(i=0, \ldots, N_r-1\).
- Parameters:
grid (
CylindricalSymGrid
) – The grid for which the operator is created- Returns:
A function that can be applied to an array of values
- Return type:
- make_gradient(grid)[source]
Make a discretized gradient operator for a cylindrical grid.
The cylindrical grid assumes polar symmetry, so that fields only depend on the radial coordinate r and the axial coordinate z. Here, the first axis is along the radius, while the second axis is along the axis of the cylinder. The radial discretization is defined as \(r_i = (i + \frac12) \Delta r\) for \(i=0, \ldots, N_r-1\).
- Parameters:
grid (
CylindricalSymGrid
) – The grid for which the operator is created- Returns:
A function that can be applied to an array of values
- Return type:
- make_gradient_squared(grid, central=True)[source]
Make a discretized gradient squared operator for a cylindrical grid.
The cylindrical grid assumes polar symmetry, so that fields only depend on the radial coordinate r and the axial coordinate z. Here, the first axis is along the radius, while the second axis is along the axis of the cylinder. The radial discretization is defined as \(r_i = (i + \frac12) \Delta r\) for \(i=0, \ldots, N_r-1\).
- Parameters:
grid (
CylindricalSymGrid
) – The grid for which the operator is createdcentral (bool) – Whether a central difference approximation is used for the gradient operator. If this is False, the squared gradient is calculated as the mean of the squared values of the forward and backward derivatives.
- Returns:
A function that can be applied to an array of values
- Return type:
- make_laplace(grid)[source]
Make a discretized laplace operator for a cylindrical grid.
The cylindrical grid assumes polar symmetry, so that fields only depend on the radial coordinate r and the axial coordinate z. Here, the first axis is along the radius, while the second axis is along the axis of the cylinder. The radial discretization is defined as \(r_i = (i + \frac12) \Delta r\) for \(i=0, \ldots, N_r-1\).
- Parameters:
grid (
CylindricalSymGrid
) – The grid for which the operator is created- Returns:
A function that can be applied to an array of values
- Return type:
- make_poisson_solver(bcs, *, method='auto')[source]
Make a operator that solves Poisson’s equation.
The cylindrical grid assumes polar symmetry, so that fields only depend on the radial coordinate r and the axial coordinate z. Here, the first axis is along the radius, while the second axis is along the axis of the cylinder. The radial discretization is defined as \(r_i = (i + \frac12) \Delta r\) for \(i=0, \ldots, N_r-1\).
- Parameters:
bcs (
Boundaries
) – Specifies the boundary conditions applied to the field. This must be an instance ofBoundaries
, which can be created from various data formats using the class methodfrom_data()
.method (str) – The chosen method for implementing the operator
- Returns:
A function that can be applied to an array of values
- Return type:
- make_tensor_divergence(grid)[source]
Make a discretized tensor divergence operator for a cylindrical grid.
The cylindrical grid assumes polar symmetry, so that fields only depend on the radial coordinate r and the axial coordinate z. Here, the first axis is along the radius, while the second axis is along the axis of the cylinder. The radial discretization is defined as \(r_i = (i + \frac12) \Delta r\) for \(i=0, \ldots, N_r-1\).
- Parameters:
grid (
CylindricalSymGrid
) – The grid for which the operator is created- Returns:
A function that can be applied to an array of values
- Return type:
- make_vector_gradient(grid)[source]
Make a discretized vector gradient operator for a cylindrical grid.
The cylindrical grid assumes polar symmetry, so that fields only depend on the radial coordinate r and the axial coordinate z. Here, the first axis is along the radius, while the second axis is along the axis of the cylinder. The radial discretization is defined as \(r_i = (i + \frac12) \Delta r\) for \(i=0, \ldots, N_r-1\).
- Parameters:
grid (
CylindricalSymGrid
) – The grid for which the operator is created- Returns:
A function that can be applied to an array of values
- Return type:
- make_vector_laplace(grid)[source]
Make a discretized vector laplace operator for a cylindrical grid.
The cylindrical grid assumes polar symmetry, so that fields only depend on the radial coordinate r and the axial coordinate z. Here, the first axis is along the radius, while the second axis is along the axis of the cylinder. The radial discretization is defined as \(r_i = (i + \frac12) \Delta r\) for \(i=0, \ldots, N_r-1\).
- Parameters:
grid (
CylindricalSymGrid
) – The grid for which the operator is created- Returns:
A function that can be applied to an array of values
- Return type: