rompy.swan.subcomponents.numerics.SIGIMPL#

pydantic model rompy.swan.subcomponents.numerics.SIGIMPL[source]#

Frequency shifting accuracy.

SIGIMpl [cfl] [eps2] [outp] [niter]

Controls the accuracy of computing the frequency shifting and the stopping criterion and amount of output for the SIP solver (used in the computations in the presence of currents or time varying depth)

Examples

In [307]: from rompy.swan.subcomponents.numerics import SIGIMPL

In [308]: sigimpl = SIGIMPL()

In [309]: print(sigimpl.render())
SIGIMPL

In [310]: sigimpl = SIGIMPL(css=0.5, eps2=1e-4, outp=0, niter=20)

In [311]: print(sigimpl.render())
SIGIMPL css=0.5 eps2=0.0001 outp=0 niter=20
Fields:
field css: float | None = None#

A value of css=0 corresponds to a central scheme and has the largest accuracy (diffusion ≈ 0) but the computation may more easily generate spurious fluctuations. A value of css=1 corresponds to a first order upwind scheme and it is more diffusive and therefore preferable if (strong) gradients in depth or current are present (SWAN default: 0.5)

field eps2: float | None = None#

Relative stopping criterion to terminate the linear solver (SIP or SOR). (SWAN default: 1.e-4 in case of SIP and 1.e-6 in case of SOR)

field model_type: Literal['sigimpl', 'SIGIMPL'] = 'sigimpl'#

Model type discriminator

field niter: int | None = None#

Maximum number of iterations for the linear solver (SWAN default: 20 in case of SIP and 1000 in case of SOR)

field outp: Literal[0, 1, 2, 3] | None = None#

Output for the iterative solver:

  • 0 = no output

  • 1 = additional information about the iteration process is written to the PRINT file

  • 2 = gives a maximal amount of output concerning the iteration process

  • 3 = summary of the iteration process

(SWAN default: 0)

cmd() str[source]#

Command file string for this component.