gimme-alpha 0.1

read_nextnano_density.c File Reference

#include <stdio.h>
#include <libnextnano/read_nextnano_inputfile.h>
#include <libnextnano/read_nextnano_density.h>
#include <libcommon/textfile_common.h>
Include dependency graph for read_nextnano_density.c:

Go to the source code of this file.

Functions

GList * read_nextnano_density_el (GFile *base, GHashTable *input)

Function Documentation

GList* read_nextnano_density_el ( GFile *  base,
GHashTable *  input 
)

Definition at line 31 of file read_nextnano_density.c.

References DOUBLE_TYPE, read_nextnano_extract_item(), and read_titled_whitespaced_data().

Referenced by main().

                                                                {
  int err;
  GError *error = NULL;
  GList *titles = g_list_append(NULL, "x");
  titles = g_list_append(titles, "total");
  titles = g_list_append(titles, "quantum");
  titles = g_list_append(titles, "classical");
  char *density_dir_str = read_nextnano_extract_item(input, "output-densities", 0, "destination-directory", &err);
  if(err != 0) {
    fprintf(stderr, "Error extracting output-densities destination-directory from nextnano input.\n");
    g_list_free(titles);
    return NULL;
  }
  GFile *density_dir = g_file_get_child(base, density_dir_str);
  GFile *densityfile = g_file_get_child(density_dir, "density1Del.dat");
  GFileInputStream *density_stream = g_file_read(densityfile, NULL, &error);
  if(error != NULL) {
    fprintf(stderr, "Error opening the density file for reading (error %s)\n", error->message);
    g_list_free(titles);
    return NULL;
  }
  GList *density = read_titled_whitespaced_data(G_INPUT_STREAM(density_stream), &error, &titles, '!', DOUBLE_TYPE);
  g_list_free(titles);
  return density;
}

Here is the call graph for this function:

Here is the caller graph for this function:

 All Classes Files Functions Variables Enumerations Enumerator Defines