Releases: FourierFlows/FourierFlows.jl
FourierFlows v0.2.0
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
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
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
-
Updates in
BarotropicQG
module:- Adds
ForcedParams
inBarotropicQG
module (in a similar manner as inTwoDTurb
. NowBarotropicQG
can be run in four different modes:
(i) usingParams
runs 2D turbulence on a beta-plane (with or without topography).
(ii) usingForcedParams
andcalcFq!
function runs forced 2D turbulence on a beta-plane (with or without topography).
(iii) usingForcedParams
andcalcFU
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) usingForcedParams
and bothcalcFq!
andcalcFU
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
andcalc_N!
function to reduce memory allocation.
- Adds
-
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
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 atexamples/cudaexamples/
.
Fixes a bug in Forward Euler TimeStepper.
The way ForwardEulerTimeStepper was constructed was aliasing
ts.N
witheq.LC
. This causedeq.LC
to change every time the time-stepper calledcalcN!
. (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,prevsol
was included invars
to save thesol
at the previous time-step. (PR #49)
Drops TracerPatchEqn
module.
Replaces TwoModeBoussinesq
module with VerticallyFourierBoussinesq
and VerticallyCosineBoussinesq
modules.
FourierFlows v0.0.2
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.