MHD_FLOW
Magnetic-Hydrodynamic Flow


MHD_FLOW is a FORTRAN90 program which computes the time-dependent, two dimensional behavior of a viscous magnetic fluid. The fluid is governed by the incompressible Navier-Stokes equations, the magnetic field by Maxwell's equations. A coupling parameter controls the interaction between the particle motions and magnetic fields.

Licensing:

The computer code and data files made available on this web page are distributed under the GNU LGPL license.

Languages:

MHD_FLOW is available in a FORTRAN90 version.

Related Data and Programs:

CHANNEL, a FORTRAN90 program which solves a simple channel flow problem with no bump.

CONTOUR_SEQUENCE4, a MATLAB program which can be used to create images of the contour plots of the pressure.

DIRECTION_ARROWS, a MATLAB program which can plot one velocity direction field.

DIRECTION_ARROWS_GRID, a MATLAB program which reads files of node and velocity data, and, using interpolation, creates a velocity direction plot with arrows place on a uniform grid of the user's specification.

DIRECTION_ARROWS_SEQUENCE, a MATLAB program which can plot a sequence of velocity direction fields stored in consecutively numbered files.

MHD_CONTROL, a FORTRAN90 program which tries to control the evolution of an MHD system so that a particular state is achieved.

NAST2D_F90, a FORTRAN90 program which uses the finite volume method to set up and solve the 2D incompressible Navier Stokes equations with heat.

TOMS866, a MATLAB library which is the Incompressible Flow Iterative Solution Software;
this library is commonly called IFISS;
this is ACM TOMS algorithm 866.

VECTOR_PLOT, a FORTRAN90 program which can be used to create a velocity field vector plot from the output data files of the BUMP program.

VECTOR_STREAM_GRID, a MATLAB program which reads node and vector data from a file, computes an interpolatory function, evaluates on a uniform grid of points specified by the user, and displays a streamline plot of the vector field.

VELOCITY_ARROWS, a MATLAB program which can plot one velocity field.

VELOCITY_ARROWS_GRID, a MATLAB program which reads files of node and velocity data, and, using interpolation, creates a vector plot with arrows place on a uniform grid of the user's specification.

VELOCITY_ARROWS_GRID2, a MATLAB program which reads a single file of node and velocity data, and using interpolation is able to display a velocity vector field along any uniform grid of points specified by the user.

VELOCITY_ARROWS_SEQUENCE, a MATLAB program which can plot a sequence of velocity fields stored in consecutively numbered files.

Reference:

  1. Max Gunzburger,
    Finite Element Methods for Viscous Incompressible Flows,
    A Guide to Theory, Practice, and Algorithms,
    Academic Press, 1989,
    ISBN: 0-12-307350-2,
    LC: TA357.G86.
  2. Max Gunzburger, Catalin Trenchea,
    Analysis and Discretization of an Optimal Control Problem for the Time-Periodic MHD Equations,
    Journal of Mathematical Analysis and Applications,
    Volume 308, Number 2, 2005, pages 440-466.

Source Code:

The program writes the nodal coordinates and element node lists to files:

The program writes the UV coordinates of velocity at the nodes to a file every so many time steps:

The MATLAB program DIRECTION_ARROWS can plot one velocity direction field, and DIRECTION_ARROWS_SEQUENCE can plot a sequence of velocity direction fields stored in consecutively numbered files:

The MATLAB program VELOCITY_ARROWS can plot the velocity field, and VELOCITY_ARROWS_SEQUENCE can plot a sequence of velocity fields stored in consecutively numbered files:

The program writes the components of the magnetic field at the nodes to a file every so many time steps:

The MATLAB program DIRECTION_ARROWS can plot the magnetic direction field:

The MATLAB program VELOCITY_ARROWS can plot the magnetic field:

The program writes the pressure at the nodes to a file every so many time steps:

The MATLAB program CONTOUR_SEQUENCE4 can be used to create JPG images of contour plots of the pressure:

List of Routines:

You can go up one level to the FORTRAN90 source codes.


Last revised on 26 November 2006.