View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from
GAFFE A toolbox for solving evolutionary nonlinear PDEs

5.0 | 5 ratings Rate this file 22 Downloads (last 30 days) File Size: 155 KB File ID: #24016 Version: 1.7
image thumbnail

GAFFE A toolbox for solving evolutionary nonlinear PDEs



06 May 2009 (Updated )

This toolbox implements the well known split-step Fourier technique for solving nonlinear PDEs.

| Watch this File

File Information

The Generalised Adaptive Fast-Fourier Evolver (GAFFE) toolbox is a framework that greatly simplifies the solution of complex partial differential equations (PDEs) in an adaptive manner.

By default both the step-size and the mesh adapt to the problem at hand to optimise the speed of execution for a given nominal target accuracy.

The technique is N dimensional and can therefore be used to model diverse problems such as temporal solitons, spatial self-focusing or exotic space-time effects.

Currently the technique is limited to scalar fields.

MATLAB release MATLAB 7.9 (R2009b)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (9)
14 Sep 2014 wu

wu (view profile)

20 Dec 2013 hossein

very good

29 Oct 2011 Amdad

Amdad (view profile)


Comment only
07 Aug 2011 Edward Grace

As defined the example model for pulse propagation will work in normalised units. I strongly recommend reading the example alongside the cited section of Agrawal's "Nonlinear Fiber Optics".

Comment only
07 Jul 2011 Dong-sig Shin

It's exactly what I find toolbox. But I don't know where I should input parameters like pulse energy and duration.

24 May 2011 Edward Grace

Mohsin. " there anything for birefringence or polarization in this toolbox?". No, not explicitly.

"can we simulate pulse propagation in a birefringent fiber by this toolbox?"

Like many things the answer is "it depends".

As long as you can approximate whatever it is that you want to do as being scalar then the answer is "yes" -- just use an effective refractive index for each (decomposed) polarisation. And model it as two separate (decoupled) problems.

If on the other hand the important effect that you want to capture is due to off-diagonal terms in the nonlinear permettivity tensor that strongly couple between polarisation states then the answer is a resounding "No!"; it's tough enough generalising to an N dimensional scalar nonlinear problems, let alone vectorial / tensorial ones!

Comment only
22 May 2011 Mohsin Shah

Hi you have done a great job. i wana know that is there anything for birefringence or polarization in this toolbox? can we simulate pulse propagation in a birefringent fiber by this toolbox?

Comment only
02 Nov 2010 Alexander

Simply the best toolbox for PDEs

24 May 2010 Alexandro Ruiz

This is a very efficient toolbox. I have been using it to propagate a laser inside a dielectric material using the nonlinear schrodinger equation. It usually takes just a few tens of seconds to complete the propagation.

26 Oct 2009 1.1

Now licensed under the BSD, Hamming number mesh lengths have been added, default LUT file version is now compatible with early MATLAB versions.

26 Oct 2009 1.2

Expunged GPL and licensed under BSD, added Hamming number meshes, use simpler MAT file for hamming, humble LUTs.

22 May 2010 1.3

A new demo has been added that depicts the evolution of a breather soliton and demonstrates the resizing mesh and longitudinal stepping.

A bug in the field updating has also been squashed.

23 May 2010 1.4

Minor performance improvement, minor bug fix in callbacks. Improved callback, included example default callback and new demo for linear problems.

23 May 2010 1.5

There was a file missing in version 0.0.10, it has now been included.

24 May 2010 1.6

A bug in the mesh resizing has been fixed, performance improved, documentation improved and a new demonstration has been added (gaffe_demo_soliton) depicting dynamic mesh sizing and step length for a breather soliton.

24 May 2010 1.7

Fixed mesh resizing bug for spectrum, improved performance, added two new demonstrations and improved documentation.

Contact us