quadtools¶
This module specialises class Submodel
for quadrature problems.
Module quadtools
provides Python interfaces only. See the Cython extension module
quadutils for the actual implementations of the mathematical algorithms.
Module quadtools
implements the following members:
Quad
Numerical solver for quadrature problems based on the Gauss-Lobatto quadrature.
-
class
hydpy.auxs.quadtools.
Quad
(model: hydpy.core.modeltools.Model)[source]¶ Bases:
hydpy.core.modeltools.Submodel
Numerical solver for quadrature problems based on the Gauss-Lobatto quadrature.
-
CYTHONBASECLASS
¶ alias of
hydpy.cythons.autogen.quadutils.QuadBase
-
PYTHONCLASS
¶ alias of
hydpy.cythons.autogen.quadutils.QuadPython
-
integrate
(x0: float, x1: float, nmin: int, nmax: int, tol: float) → float[source]¶ Repeatedly integrate the target function within the interval \(x0 \leq x \leq x1\) until the estimated accuracy is smaller than tol using at least xmin and at most xmax number of nodes.
The algorithm underlying
Quad
works acceptable, but should be improvable both regarding accuracy and efficiency. We postpone this and provide example calculations afterwards. Please see the documentation on methodCalc_DVEq_V1
to seeQuad
in action until then.
-
apply_method0
(value: float) → float[source]¶ Apply the model method to be integrated.
For example, submodel
QuadDVEq_V1
integrates methodReturn_DVH_V1
:>>> from hydpy.models.wland import * >>> parameterstep() >>> thetas(0.4) >>> psiae(300.0) >>> b(5.0) >>> sh(0.0) >>> derived.rh1.update() >>> from hydpy import round_ >>> round_(model.return_dvh_v1(600.0)) 0.05178 >>> round_(model.quaddveq_v1.apply_method0(600.0)) 0.05178
-
name
= 'quad'¶
-