Problem(*varargin, **kwargs) | Representation of the following linear problem for use with a one-dimensional multigrid method. |
Galerkin | Provides a Galerkin operator A by interpolating and then |
MultigridBase(*varargin, **kwargs) | Common base for MultigridNeumann and MultigridPeriodic. |
MultigridPeriodic(*varargin, **kwargs) | Multigrid class for use with Periodic boundary conditions. The interpolation and restriction operators here are: |
MultigridNeumann(*varargin, **kwargs) | Multigrid class for use with Neumann boundary conditions. The interpolation and restriction operators here are: |
comparing_periodic() | comparing the various smoothings of periodic |
Inheritance diagram for mmf.math.multigrid.notes.multigrid_notes:
Demo of multigrid features for multigrid.rst.
Bases: mmf.objects.StateVars
Representation of the following linear problem for use with a one-dimensional multigrid method. We provided the following problem:
Problem(a=5,
periodic=True,
prob=0)
This can also be written as a non-linear equation:
We may also write this as a set of coupled equations in a few ways, including:
This gives rise to the following systems for the Jacobian:
Attributes
Bases: object
Provides a Galerkin operator A by interpolating and then restricting to the top level. This is not efficient computationally, but can be used to test convergence.
Methods
A(f) | Apply the operator Galerkin restriction of the operator A |
x.__init__(...) initializes x; see help(type(x)) for signature
Bases: mmf.objects.StateVars, mmf.math.multigrid.notes.multigrid_notes.Galerkin
Common base for MultigridNeumann and MultigridPeriodic.
MultigridBase(n_0=2,
n=7,
neutralize=False,
smoothing_method=0,
n_smooth=[2,
2])
Attributes
Bases: mmf.math.multigrid.notes.multigrid_notes.MultigridBase
Multigrid class for use with Periodic boundary conditions. The interpolation and restriction operators here are:
MultigridPeriodic(n_0=2,
n=7,
neutralize=False,
smoothing_method=0,
n_smooth=[2,
2])
The restriction matrix for and is
The interpolation matrix for and is
which preserve the Galerkin condition for operators of the form (yet to check)
in the sense that has the same tridiagonal form. In addition, the operator satisfies the symmetry and charge-neutrality conditions:
One has the following sequence of grid sizes:
Attributes
Bases: mmf.math.multigrid.notes.multigrid_notes.MultigridBase
Multigrid class for use with Neumann boundary conditions. The interpolation and restriction operators here are:
MultigridNeumann(n_0=2,
n=7,
neutralize=False,
smoothing_method=0,
n_smooth=[2,
2],
inclusive=False)
which preserve the Galerkin condition for operators of the form
in the sense that has the same tridiagonal form. In addition, the operator satisfies the symmetry and charge-neutrality conditions:
One has the following sequence of grid sizes:
Attributes