|
|
|||
Warning, /doc/algorithm/finitevol-meth.rst is written in an unsupported language. File is not indexed.
view on githubraw file Latest commit 4f2617d4 on 2018-02-08 20:33:46 UTC4f2617d475 Jeff*0001 The finite volume method: finite volumes versus finite difference 0002 ----------------------------------------------------------------- 0003 0004 The finite volume method is used to discretize the equations in space.** Warning **
Wide character in print at /usr/local/share/lxr/source line 1030, <$git> line 6.
0005 The expression “finite volume” actually has two meanings; one is the 0006 method of embedded or intersecting boundaries (shaved or lopped cells in 0007 our terminology) and the other is non-linear interpolation methods that 0008 can deal with non-smooth solutions such as shocks (i.e. flux limiters 0009 for advection). Both make use of the integral form of the conservation 0010 laws to which the *weak solution* is a solution on each finite volume of 0011 (sub-domain). The weak solution can be constructed out of piece-wise 0012 constant elements or be differentiable. The differentiable equations can 0013 not be satisfied by piece-wise constant functions. 0014 0015 As an example, the 1-D constant coefficient advection-diffusion 0016 equation: 0017 0018 .. math:: \partial_t \theta + \partial_x ( u \theta - \kappa \partial_x \theta ) = 0 0019 0020 can be discretized by integrating over finite sub-domains, i.e. the 0021 lengths :math:`\Delta x_i`: 0022 0023 .. math:: \Delta x \partial_t \theta + \delta_i ( F ) = 0 0024 0025 is exact if :math:`\theta(x)` is piece-wise constant over the interval 0026 :math:`\Delta x_i` or more generally if :math:`\theta_i` is defined as 0027 the average over the interval :math:`\Delta x_i`. 0028 0029 The flux, :math:`F_{i-1/2}`, must be approximated: 0030 0031 .. math:: F = u \overline{\theta} - \frac{\kappa}{\Delta x_c} \partial_i \theta 0032 0033 and this is where truncation errors can enter the solution. The method 0034 for obtaining :math:`\overline{\theta}` is unspecified and a wide range 0035 of possibilities exist including centered and upwind interpolation, 0036 polynomial fits based on the the volume average definitions of 0037 quantities and non-linear interpolation such as flux-limiters. 0038 0039 Choosing simple centered second-order interpolation and differencing** Warning **
Wide character in print at /usr/local/share/lxr/source line 1030, <$git> line 41.
0040 recovers the same ODE’s resulting from finite differencing for the 0041 interior of a fluid. Differences arise at boundaries where a boundary is 0042 not positioned on a regular or smoothly varying grid. This method is 0043 used to represent the topography using lopped cell, see Adcroft et al. (1997) 0044 :cite:`adcroft:97`. Subtle difference also appear in more 0045 than one dimension away from boundaries. This happens because each 0046 direction is discretized independently in the finite difference method 0047 while the integrating over finite volume implicitly treats all 0048 directions simultaneously.
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated from https://github.com/darwinproject/darwin3 by the 2.3.7-MITgcm-0.1 LXR engine. The LXR team |
|