Skip to content

Files

Latest commit

 

History

History
127 lines (99 loc) · 5.21 KB

fire_serial.md

File metadata and controls

127 lines (99 loc) · 5.21 KB

FIRE_SERIAL
Forest Fire Simulation, Serial Version {#fire_serial-forest-fire-simulation-serial-version align="center"}


FIRE_SERIAL is a C++ program which simulates a forest fire over a rectangular array of trees, starting at a single random location. It is intended as a starting point for the development of a parallel version.

Licensing: {#licensing align="center"}

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

Languages: {#languages align="center"}

FIRE_SERIAL is available in a C version and a C++ version and a FORTRAN77 version and a FORTRAN90 version and a MATLAB version and a Python version.

Related Data and Programs: {#related-data-and-programs align="center"}

FFT_SERIAL, a C++ program which demonstrates the computation of a Fast Fourier Transform, and is intended as a starting point for developing a parallel version using OpenMP.

HEATED_PLATE, a C++ program which solves the steady state heat equation in a 2D rectangular region, and is intended as a starting point for implementing an OpenMP parallel version.

MD, a C++ program which carries out a molecular dynamics simulation, and is intended as a starting point for implementing an OpenMP parallel version.

MXM_SERIAL, a C++ program which sets up a matrix multiplication problem A=B*C, intended as a starting point for implementing a parallel version.

POISSON_SERIAL, a C++ program which computes an approximate solution to the Poisson equation in a rectangle, and is intended as the starting point for the creation of a parallel version.

PRIME_SERIAL, a C++ program which counts the number of primes between 1 and N, intended as a starting point for the creation of a parallel version.

QUAD_SERIAL, a C++ program which approximates an integral using a quadrature rule, and is intended as a starting point for parallelization exercises.

QUAD2D_SERIAL, a C++ program which approximates an integral over a 2D region using a product quadrature rule, and is intended as a starting point for parallelization exercises.

SEARCH_SERIAL, a C++ program which searches integers between A and B for a value J such that F(J) = C, intended as a starting point for the creation of a parallel version.

SUBSET_SUM_SERIAL, a C++ program which seeks solutions of the subset sum problem, in which it is desired to find a subset of a set of integers which has a given sum; this version of the program is intended as a starting point for a parallel approach.

Reference: {#reference align="center"}

  1. Peter Arbenz, Wesley Petersen,
    Introduction to Parallel Computing - A practical guide with examples in C,
    Oxford University Press,
    ISBN: 0-19-851576-6,
    LC: QA76.58.P47.
  2. Rohit Chandra, Leonardo Dagum, Dave Kohr, Dror Maydan, Jeff McDonald, Ramesh Menon,
    Parallel Programming in OpenMP,
    Morgan Kaufmann, 2001,
    ISBN: 1-55860-671-8,
    LC: QA76.642.P32.
  3. Barbara Chapman, Gabriele Jost, Ruud vanderPas, David Kuck,
    Using OpenMP: Portable Shared Memory Parallel Processing,
    MIT Press, 2007,
    ISBN13: 978-0262533027,
    LC: QA76.642.C49.

Source Code: {#source-code align="center"}

Examples and Tests: {#examples-and-tests align="center"}

List of Routines: {#list-of-routines align="center"}

  • MAIN is the main program for FIRE_SERIAL.
  • FIRE_SPREADS determines whether the fire spreads.
  • FOREST_ALLOCATE allocates memory for a forest of the given size.
  • FOREST_BURNS models a single time step of the burning forest.
  • FOREST_DELETE deletes the memory previously allocated for a forest.
  • FOREST_INITIALIZE initializes the forest values.
  • FOREST_IS_BURNING reports whether any trees in the forest are burning.
  • FOREST_PRINT prints the state of the trees in the forest.
  • GET_PERCENT_BURNED computes the percentage of the forest that burned.
  • SEED_BY_TIME seeds the random number generator using the time as a seed.
  • TIMESTAMP prints the current YMDHMS date as a time stamp.
  • TREE_IGNITE sets a given tree to the SMOLDERING state.

You can go up one level to the C++ source codes.


Last revised on 30 June 2013.