--- Welcome to the official ADCIRCWiki site! The site is currently under construction, with limited information. ---
For general information, see the ADCIRC site, ADCIRC FAQ, or the ADCIRC Wikipedia page. For model documentation not yet available on the wiki, see the ADCIRC site. New content is being continuously added to the ADCIRCWiki, and material from the main ADCIRC site will be gradually transitioned over to the wiki.

A00, B00, C00

Revision as of 23:24, 6 July 2019 by Wpringle (talk | contribs) (Critique)
Jump to: navigation, search

A00, B00, C00 are the weighting factors (at time levels k+1, k, k-1, respectively) for the free surface and boundary fluxes in the GWCE, and must sum to 1. Most critically, the weighting factors are used in the discretization of the linear gravity wave (pressure gradient) term and are responsible for determining the inherent implicity (impacting solution stability), in addition to order of accuracy and dispersive characteristics of the numerical method.

Typical Values

If the consistent mass-matrix solver is chosen (see IM parameter) then a semi-implicit method is possible and encouraged. In this case the most common choice for the weighting factors are:
A00 = C00 = 0.35; B00 = 0.30.

If the lumped mass-matrix solver is chosen then only an explicit method is possible (the weighting A00 must be zero as no matrix solve is conducted), and the weighting factors that are typically chosen become simply:
A00 = C00 = 0; B00 = 1.


Theory is dominated by analysis of the Wave Continuity Equation (WCE), a special case of the Generalized Wave Continuity Equation (GWCE) where the TAU0 parameter is equal to the linear friction coefficient. Analysis began with Lynch and Gray, Foreman, etc, and ended with Kinnemark who was responsible, ultimately, for introducing the GWCE. In all analyses, a second-order centered technique was sought which reduces the choice of A00, B00, C00 to:

A00 = C00 = 0.5*THETA; B00 = 1-THETA.

In other words, k+1 and k-1 weightings are always chosen to be equal. Essentially all studies, whether in 1-D (Lynch and Gray etc) or ultimately 2-D with Coriolis and other terms (Kinnemark), found that unconditional stability can achieved with the prescription of THETA >= 0.5. Likely in response to these findings, the typical choice for ADCIRC has become THETA = 0.70, i.e., A00 = C00 = 0.35, B00 = 0.30, as noted above.

A purely explicit method (THETA = 0) was found to be stable under the following conditions:

  • CFL < 1 : lumped mass-matrix solved in 1-D
  • CFL < 2/3: consistent non-lumped mass-matrix solved in 1-D
  • CFL < sqrt(2)/2: lumped mass-matrix solved in 2-D.

As one can see, stability (and dispersive characteristics) is superior for the lumped mass-matrix solver versus the consistent non-lumped mass-matrix solver, hence the lumped solver should always be chosen when employing an explicit method (see IM parameter for setting the solver type).


Since theory is based on the WCE instead of the GWCE, stability was found to be independent of the choice of TAU0. However, from experience a larger value of TAU0 always tend to be more unstable than a smaller value. This makes sense since the behavior of the equations will become more and more similar to the Primitive Continuity Equation with greater TAU0, which is responsible for 2Δx instabilities - the motive for using the GWCE in the finite-element method. Further analysis of the GWCE is required to determine stability with respect to the choice of TAU0 and different weighting factors (possibly non-centered, i.e., A00 ~= C00).

Moreover, the equations analysed are always linearized (a requirement of the von Neumann stability analysis), thus unconditional stability may not be possible for the semi-implicit method when simulating real-world problems, especially those with fine-grid sizes and where nonlinearities are non-trivial. In such cases where it is not possible to achieve time steps more than twice that possible with an explicit method it becomes preferable to employ the explicit lumped mass-matrix solver since it is computationally twice as fast per time step solve.