URI:
       tdisabled upwind differences, reworked sphere status and build procedure - sphere - GPU-based 3D discrete element method algorithm with optional fluid coupling
  HTML git clone git://src.adamsgaard.dk/sphere
   DIR Log
   DIR Files
   DIR Refs
   DIR LICENSE
       ---
   DIR commit 30fc12a766762eb209feb56bd9ca836c5532b21c
   DIR parent aea8ba623c76b3c2b9960a1806f79ddf1f3db490
  HTML Author: Anders Damsgaard <anders.damsgaard@geo.au.dk>
       Date:   Thu,  8 May 2014 09:37:00 +0200
       
       disabled upwind differences, reworked sphere status and build procedure
       
       Diffstat:
         M src/CMakeLists.txt                  |       2 ++
         M src/navierstokes.cuh                |       5 ++++-
         A src/sphere_status.c                 |      55 +++++++++++++++++++++++++++++++
         D src/sphere_status.cpp               |      48 -------------------------------
         D src/sphere_status_compile.sh        |       2 --
       
       5 files changed, 61 insertions(+), 51 deletions(-)
       ---
   DIR diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
       t@@ -38,3 +38,5 @@ CUDA_ADD_EXECUTABLE(../porousflow
        #                      ${Boost_FILESYSTEM_LIBRARY}
        #                      ${Boost_SYSTEM_LIBRARY}
        #                      ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY})
       +
       +ADD_EXECUTABLE(../sphere_status sphere_status.c)
   DIR diff --git a/src/navierstokes.cuh b/src/navierstokes.cuh
       t@@ -1351,7 +1351,8 @@ __device__ Float divergence(
            const Float3 zp = dev_vectorfield[idx(x,y,z+1)];
        
            // Calculate upwind coefficients
       -    /*const Float3 a = MAKE_FLOAT3(
       +    /*
       +    const Float3 a = MAKE_FLOAT3(
                    copysign(1.0, v.x),
                    copysign(1.0, v.y),
                    copysign(1.0, v.z));
       t@@ -2001,6 +2002,7 @@ __global__ void findPredNSvelocities(
        
                // Save the predicted velocity
                __syncthreads();
       +        v_p = MAKE_FLOAT3(0.0, 0.0, 0.0);
                dev_ns_v_p[cellidx] = v_p;
        
        #ifdef CHECK_NS_FINITE
       t@@ -2451,6 +2453,7 @@ __global__ void updateNSvelocityPressure(
                // Find new velocity
                //Float3 v = v_p - devC_dt/devC_params.rho_f*grad_epsilon;
                Float3 v = v_p - ndem*devC_dt/(devC_params.rho_f*phi)*grad_epsilon;
       +        v = MAKE_FLOAT3(0.0, 0.0, 0.0);
        
                // Print values for debugging
                /* if (z == 0) {
   DIR diff --git a/src/sphere_status.c b/src/sphere_status.c
       t@@ -0,0 +1,55 @@
       +#include <stdio.h>
       +#include <unistd.h>
       +
       +int main(int argc, char *argv[])
       +{
       +
       +    // Read path to current working directory
       +    char *cwd;
       +    cwd = getcwd(0, 0);
       +    if (!cwd) {  // Terminate program execution if path is not obtained
       +        fprintf(stderr, "getcwd failed");
       +        return 1; // Return unsuccessful exit status
       +    }
       +
       +    // Simulation name/ID read from first input argument
       +    if (argc != 2) {
       +        fprintf(stderr, "You need to specify the simulation ID as an input "
       +                "parameter, e.g.\n%s particle_test\n", argv[0]);
       +        return 1;
       +    }
       +
       +    char *sim_name = argv[1];
       +
       +    // Open the simulation status file
       +    FILE *fp;
       +    char file[1000]; // Complete file path+name variable
       +    sprintf(file,"%s/output/%s.status.dat", cwd, sim_name);
       +
       +    if ((fp = fopen(file, "rt"))) {
       +        float time_current;
       +        float time_percentage;
       +        unsigned int file_nr;
       +
       +        if (fscanf(fp, "%f%f%d", &time_current, &time_percentage, &file_nr)
       +                != 3) {
       +            fprintf(stderr, "Error: could not parse file %s\n", file);
       +            return 1;
       +        }
       +
       +        printf("Reading %s:\n"
       +                " - Current simulation time:  %f s\n"
       +                " - Percentage completed:     %f %%\n"
       +                " - Latest output file:       %s.output%05d.bin\n",
       +                file, time_current, time_percentage, sim_name, file_nr);
       +
       +        fclose(fp);
       +
       +        return 0; // Exit program successfully
       +
       +    } else {
       +        fprintf(stderr, "Error: Could not open file %s\n", file);
       +        return 1;
       +    }
       +}
       +// vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
   DIR diff --git a/src/sphere_status.cpp b/src/sphere_status.cpp
       t@@ -1,48 +0,0 @@
       -#include <iostream>
       -#include <cstdio>
       -
       -int main(int argc, char *argv[])
       -{
       -    using std::cout;
       -
       -    // Read path to current working directory
       -    char *cwd;
       -    cwd = getcwd (0, 0);
       -    if (! cwd) {  // Terminate program execution if path is not obtained
       -        cout << "getcwd failed\n";
       -        return 1; // Return unsuccessful exit status
       -    }
       -
       -    // Simulation name/ID read from first input argument
       -    if (argc != 2) {
       -        cout << "You need to specify the simulation ID as an input parameter,\n"
       -            << "e.g. " << argv[0] << " 3dtest\n";
       -        return 1;
       -    }
       -
       -    char *sim_name = argv[1];
       -
       -    // Open the simulation status file
       -    FILE *fp;
       -    char file[1000]; // Complete file path+name variable
       -    sprintf(file,"%s/output/%s.status.dat", cwd, sim_name);
       -
       -    if ((fp = fopen(file, "rt"))) {
       -        float time_current;
       -        float time_percentage;
       -        unsigned int file_nr;
       -        fscanf(fp, "%f%f%d", &time_current, &time_percentage, &file_nr);
       -
       -        cout << "Reading " << file << ":\n"
       -            << " - Current simulation time:  " << time_current << " s\n"
       -            << " - Percentage completed:     " << time_percentage << "%\n"
       -            << " - Latest output file:       " 
       -            << sim_name << ".output" << file_nr << ".bin\n";
       -
       -        fclose(fp);
       -
       -        return 0; // Exit program successfully
       -
       -    }
       -}
       -// vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
   DIR diff --git a/src/sphere_status_compile.sh b/src/sphere_status_compile.sh
       t@@ -1,2 +0,0 @@
       -#!/bin/sh
       -g++ sphere_status.cpp -o ../sphere_status -v -Wall