forked from usnistgov/fipy
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
42 changed files
with
443 additions
and
382 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,14 @@ | ||
from __future__ import unicode_literals | ||
__docformat__ = 'restructuredtext' | ||
|
||
from .preconditioner import Preconditioner | ||
from .petscPreconditioner import PETScPreconditioner | ||
|
||
__all__ = ["ICPreconditioner"] | ||
from future.utils import text_to_native_str | ||
__all__ = [text_to_native_str(n) for n in __all__] | ||
|
||
class ICPreconditioner(Preconditioner): | ||
""" | ||
Incomplete Choleski Preconditioner for PETSc solvers. | ||
class ICPreconditioner(PETScPreconditioner): | ||
"""Incomplete Choleski preconditioner for :class:`~fipy.solvers.petsc.petscSolver.PETScSolver`. | ||
""" | ||
|
||
pctype = "icc" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,14 @@ | ||
from __future__ import unicode_literals | ||
__docformat__ = 'restructuredtext' | ||
|
||
from .preconditioner import Preconditioner | ||
from .petscPreconditioner import PETScPreconditioner | ||
|
||
__all__ = ["ILUPreconditioner"] | ||
from future.utils import text_to_native_str | ||
__all__ = [text_to_native_str(n) for n in __all__] | ||
|
||
class ILUPreconditioner(Preconditioner): | ||
""" | ||
ILU Preconditioner for PETSc solvers. | ||
class ILUPreconditioner(PETScPreconditioner): | ||
"""ILU preconditioner for :class:`~fipy.solvers.petsc.petscSolver.PETScSolver`. | ||
""" | ||
|
||
pctype = "ilu" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,14 @@ | ||
from __future__ import unicode_literals | ||
__docformat__ = 'restructuredtext' | ||
|
||
from .preconditioner import Preconditioner | ||
from .petscPreconditioner import PETScPreconditioner | ||
|
||
__all__ = ["JacobiPreconditioner"] | ||
from future.utils import text_to_native_str | ||
__all__ = [text_to_native_str(n) for n in __all__] | ||
|
||
class JacobiPreconditioner(Preconditioner): | ||
""" | ||
Jacobi Preconditioner for PETSc solvers. | ||
class JacobiPreconditioner(PETScPreconditioner): | ||
"""Jacobi preconditioner for :class:`~fipy.solvers.petsc.petscSolver.PETScSolver`. | ||
""" | ||
|
||
pctype = "jacobi" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
10 changes: 5 additions & 5 deletions
10
...s/petsc/preconditioners/preconditioner.py → ...sc/preconditioners/petscPreconditioner.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
from __future__ import unicode_literals | ||
from builtins import object | ||
__docformat__ = 'restructuredtext' | ||
|
||
__all__ = ["Preconditioner", | ||
"SolverModifyingPreconditioner", | ||
"MatrixModifyingPreconditioner"] | ||
from future.utils import text_to_native_str | ||
__all__ = [text_to_native_str(n) for n in __all__] | ||
|
||
class Preconditioner(object): | ||
"""Base class for solver preconditioners. | ||
.. attention:: This class is abstract. Always create one of its subclasses. | ||
""" | ||
|
||
pass | ||
|
||
|
||
class SolverModifyingPreconditioner(Preconditioner): | ||
"""Base class for preconditioners that modify a :class:`~fipy.solvers.solver.Solver`. | ||
""" | ||
|
||
def _applyToSolver(self, solver, matrix): | ||
"""Modify `solver` to apply preconditioning to `matrix`. | ||
Parameters | ||
---------- | ||
solver | ||
The solver to modify with preconditioner. | ||
matrix | ||
The matrix the preconditioner applies to. | ||
Returns | ||
------- | ||
None | ||
""" | ||
raise NotImplementedError | ||
|
||
|
||
class MatrixModifyingPreconditioner(Preconditioner): | ||
"""Base class for preconditioners that modify a :class:`~fipy.matrices.sparseMatrix.SparseMatrix`. | ||
""" | ||
|
||
def _applyToMatrix(self, matrix): | ||
"""Create a preconditioner for `matrix`. | ||
Returns | ||
------- | ||
preconditioner : object | ||
Preconditioning object appropriate for this solver suite. | ||
matrix : :class:`~fipy.matrices.sparseMatrix.SparseMatrix` | ||
Matrix, possibly restructured to facilitate applying | ||
preconditioner. | ||
""" | ||
raise NotImplementedError | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.