tRenamed darcy flow main file to porousflow. Darcy calls now in darcy.cpp - sphere - GPU-based 3D discrete element method algorithm with optional fluid coupling
 (HTM) git clone git://src.adamsgaard.dk/sphere
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) LICENSE
       ---
 (DIR) commit 7b2baa5c83dfd64089f142f3e4f93eb7f6e91bbe
 (DIR) parent ca8bad69c8b6200751129a40c8526c87405688b5
 (HTM) Author: Anders Damsgaard <adc@geo.au.dk>
       Date:   Tue, 28 May 2013 10:22:09 +0200
       
       Renamed darcy flow main file to porousflow. Darcy calls now in darcy.cpp
       
       Diffstat:
         M src/CMakeLists.txt                  |       2 +-
         M src/darcy.cpp                       |     102 +++++++++----------------------
         C src/darcy.cpp -> src/porousflow.cpp |       0 
       
       3 files changed, 29 insertions(+), 75 deletions(-)
       ---
 (DIR) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
       t@@ -18,7 +18,7 @@ SET(CUDA_NVCC_FLAGS "--use_fast_math;-O3;-gencode=arch=compute_20,code=\"sm_20,c
        CUDA_ADD_EXECUTABLE(../sphere main.cpp file_io.cpp sphere.cpp device.cu utility.cu)
        CUDA_ADD_EXECUTABLE(../porosity porosity.cpp file_io.cpp sphere.cpp device.cu utility.cu)
        CUDA_ADD_EXECUTABLE(../forcechains forcechains.cpp file_io.cpp sphere.cpp device.cu utility.cu)
       -CUDA_ADD_EXECUTABLE(../darcy darcy.cpp file_io.cpp sphere.cpp device.cu utility.cu)
       +CUDA_ADD_EXECUTABLE(../porousflow porousflow.cpp darcy.cpp file_io.cpp sphere.cpp device.cu utility.cu)
        
        #ADD_EXECUTABLE(unittests boost-unit-tests.cpp sphere.cpp)
        #TARGET_LINK_LIBRARIES(unittests
 (DIR) diff --git a/src/darcy.cpp b/src/darcy.cpp
       t@@ -1,85 +1,39 @@
       -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
       -/*  SPHERE source code by Anders Damsgaard Christensen, 2010-12,       */
       -/*  a 3D Discrete Element Method algorithm with CUDA GPU acceleration. */
       -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
       -
       -// Licence: GNU Public License (GPL) v. 3. See license.txt.
       -// See doc/sphere-doc.pdf for full documentation.
       -// Compile with GNU make by typing 'make' in the src/ directory.               
       -// SPHERE is called from the command line with './sphere_<architecture> projectname' 
       -
       -
       -// Including library files
        #include <iostream>
        #include <string>
       +#include <cstdio>
        #include <cstdlib>
       +#include <cmath>
       +#include <vector>
       +#include <algorithm>
        
       -// Including user files
       -#include "constants.h"
       +#include "typedefs.h"
        #include "datatypes.h"
       +#include "constants.h"
        #include "sphere.h"
        
       -//////////////////
       -// MAIN ROUTINE //
       -//////////////////
       -// The main loop returns the value 0 to the shell, if the program terminated
       -// successfully, and 1 if an error occured which caused the program to crash.
       -int main(const int argc, const char *argv[]) 
       -{
       -    // Default values
       -    int verbose = 1;
       -    int dry = 0;
       -    int nfiles = 0;
       -
       -
       -    // Process input parameters
       -    int i;
       -    for (i=1; i<argc; ++i) {        // skip argv[0]
       -
       -        std::string argvi = std::string(argv[i]);
       -
       -        // Display help if requested
       -        if (argvi == "-h" || argvi == "--help") {
       -            std::cout << argv[0] << ": particle dynamics simulator\n"
       -                << "Usage: " << argv[0] << " [OPTION[S]]... [FILE1 ...]\nOptions:\n"
       -                << "-h, --help\t\tprint help\n"
       -                << "-n, --dry\t\tshow key experiment parameters and quit\n"
       -                << std::endl;
       -            return 0; // Exit with success
       -        }
       +// Find hydraulic conductivities for each cell
        
       -        else if (argvi == "-n" || argvi == "--dry")
       -            dry = 1;
       -
       -        // The rest of the values must be input binary files
       -        else {
       -            nfiles++;
       -
       -            if (verbose == 1)
       -                std::cout << argv[0] << ": processing input file: " << argvi <<
       -                    std::endl;
       -
       -            // Create DEM class, read data from input binary,
       -            // do not check values, do not init cuda, do not transfer const
       -            // mem
       -            DEM dem(argvi, verbose, 0, dry, 0, 0);
       -
       -            // Otherwise, start iterating through time
       -            dem.startDarcy();
       -
       -
       -        }
       +// Solve Darcy flow through particles
       +void DEM::startDarcy(
       +        const Float cellsizemultiplier)
       +{
       +    // Number of cells
       +    int nx = grid.L[0]/grid.num[0];
       +    int ny = grid.L[1]/grid.num[1];
       +    int nz = grid.L[2]/grid.num[2];
       +
       +    // Cell size 
       +    Float dx = grid.L[0]/nx;
       +    Float dy = grid.L[1]/nx;
       +    Float dz = grid.L[2]/nx;
       +
       +    if (verbose == 1) {
       +        std::cout << "Fluid grid dimensions: "
       +            << nx << " * "
       +            << ny << " * "
       +            << nz << std::endl;
            }
        
       -    // Check whether there are input files specified
       -    if (!argv[0] || argc == 1 || nfiles == 0) {
       -        std::cerr << argv[0] << ": missing input binary file\n"
       -            << "See `" << argv[0] << " --help` for more information"
       -            << std::endl;
       -        return 1; // Return unsuccessful exit status
       -    }
        
       -    return 0; // Return successfull exit status
       -} 
       -// END OF FILE
       -// vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
       +}
       +
 (DIR) diff --git a/src/darcy.cpp b/src/porousflow.cpp