Skip to content

Releases: FourierFlows/FourierFlows.jl

FourierFlows v0.2.0

11 Sep 15:17
7ae3202
Compare
Choose a tag to compare

This release incorporates syntax changes and code deprecations that were introduced for Julia v0.7 and v1.0.

The FourierFlows syntax remains the same (e.g. the way the examples are ). But the physics modules have a lot of internal code changes (e.g. mul! and ldiv! takes the place of A_mul_B!).

FourierFlows v0.1.3

24 Jul 12:35
31ffc5c
Compare
Choose a tag to compare

Fixes module TracerAdvDiff:

  • resolves some bugs from previous syntax (before the Problem AbstractType was introduced)
  • adds tests: test_traceradvdiff.jl
  • improves documentation
  • adds an advection-diffusion example using TracerAdvDiff: examples/traceradvdiff/cellular.jl

FourierFlows v0.1.2

04 Jul 23:57
0c4ba09
Compare
Choose a tag to compare

Improves documentation:

  • Adds "Basic usage" section.
  • Adds "Forcing" section.
  • Adds more details in TwoDTurb module.

Also, fixes bug in dealias! function and in BarotropicQG.enstrophy function.

FourierFlows v0.1.1

30 Jun 06:45
06d3348
Compare
Choose a tag to compare
  • Updates in BarotropicQG module:

    • Adds ForcedParams in BarotropicQG module (in a similar manner as in TwoDTurb. Now BarotropicQG can be run in four different modes:
      (i) using Params runs 2D turbulence on a beta-plane (with or without topography).
      (ii) using ForcedParams and calcFq! function runs forced 2D turbulence on a beta-plane (with or without topography).
      (iii) using ForcedParams and calcFU function runs 2D turbulence on a beta-plane (with or without topography) that also includes a large-scale domain-averaged zonal flow U(t) which is forced by calcFU(t).
      (iv) using ForcedParams and both calcFq! and calcFU function runs forced 2D turbulence on a beta-plane (with or without topography) that also includes a large-scale domain-averaged zonal flow U(t) forced by calcFU(t).
    • Optimizes the vars and calc_N! function to reduce memory allocation.
  • Improves comments and simplifies the examples scripts in examples folder.

  • Adds section "Basic usage" in documentation where all AbstractTypes are explained in detail.

FourierFlows v0.1.0

22 Apr 14:01
dfc1060
Compare
Choose a tag to compare

Adds OneDGrid. The module KuramotoSivashinsky solves the Kuramoto-Sivashinsky equation on a one-dimensional periodic domain.

Adds GPU integration (for 2D grids) using CuArrays.jl:

Abstract types with prefix Cu are handled by the GPU (CuTwoDGrid, CuEquation, CuProblem, CuState, CuDualState). Some scripts are found at examples/cudaexamples/.

Fixes a bug in Forward Euler TimeStepper.

The way ForwardEulerTimeStepper was constructed was aliasing ts.N with eq.LC. This caused eq.LC to change every time the time-stepper called calcN!. (PR #45)

Resolves issue regarding closing the energy budgets with stochastic forcing in, e.g., twodturb:

The work done by the forcing is computed now using the Stratonovich interpretation which is valid both for stochastic as well as for deterministic forcing (see injection function within twodturb.jl). For that, prevsolwas included in vars to save the sol at the previous time-step. (PR #49)

Drops TracerPatchEqn module.

Replaces TwoModeBoussinesq module with VerticallyFourierBoussinesq and VerticallyCosineBoussinesq modules.

FourierFlows v0.0.2

28 Jan 16:55
4e43e7f
Compare
Choose a tag to compare

Adds new composite type state that contains the current time t, timestep step, and solution sol (or solc and solr for DualState.

Also adds a much simplifier version of the barotropicqg module along with two example scripts.

Finally, adds many tests functions for the core modules and the twodturb and barotropicqg physics modules.