milupHPC documentation
  • include
  • materials
material_handler.h
Go to the documentation of this file.
1
16#ifndef MILUPHPC_MATERIAL_HANDLER_H
17#define MILUPHPC_MATERIAL_HANDLER_H
18
19#include "material.cuh"
20#include "../cuda_utils/cuda_runtime.h"
21#include "../parameter.h"
22#include "../utils/logger.h"
23
24#include <fstream>
25#include <libconfig.h++>
26
32class LibConfigReader {
33public:
34
35 libconfig::Config config;
36
43 int loadConfigFromFile(const char *configFile);
44};
45
53class MaterialHandler {
54
55public:
57 integer numMaterials;
59 Material *h_materials;
61 Material *d_materials;
62
68 MaterialHandler(integer numMaterials);
69
75 MaterialHandler(const char *material_cfg);
76
86 MaterialHandler(integer numMaterials, integer ID, integer interactions, real alpha, real beta);
87
91 ~MaterialHandler();
92
99 void copy(To::Target target, integer index = -1);
100
113 void communicate(int from, int to, bool fromDevice = false, bool toDevice = true);
114
122 void broadcast(int root = 0, bool fromDevice = false, bool toDevice = true);
123
124};
125
126#endif //MILUPHPC_MATERIAL_HANDLER_H
LibConfigReader
Read material config files.
Definition: material_handler.h:32
LibConfigReader::config
libconfig::Config config
Definition: material_handler.h:35
LibConfigReader::loadConfigFromFile
int loadConfigFromFile(const char *configFile)
Definition: material_handler.cpp:3
MaterialHandler
Material class handler.
Definition: material_handler.h:53
MaterialHandler::h_materials
Material * h_materials
host instance of material class
Definition: material_handler.h:59
MaterialHandler::broadcast
void broadcast(int root=0, bool fromDevice=false, bool toDevice=true)
Definition: material_handler.cpp:159
MaterialHandler::copy
void copy(To::Target target, integer index=-1)
Definition: material_handler.cpp:125
MaterialHandler::MaterialHandler
MaterialHandler(integer numMaterials)
Constructor.
Definition: material_handler.cpp:55
MaterialHandler::numMaterials
integer numMaterials
number of materials or rather material instances
Definition: material_handler.h:57
MaterialHandler::communicate
void communicate(int from, int to, bool fromDevice=false, bool toDevice=true)
Definition: material_handler.cpp:136
MaterialHandler::~MaterialHandler
~MaterialHandler()
Destructor.
Definition: material_handler.cpp:118
MaterialHandler::d_materials
Material * d_materials
device instance of material class
Definition: material_handler.h:61
Material
Material parameters.
Definition: material.cuh:88
material.cuh
Material parameters and settings.
real
double real
Definition: parameter.h:15
integer
int integer
Definition: parameter.h:17
To::Target
Target
Definition: parameter.h:164

milupHPC - include/materials/material_handler.h Source File
Generated on Wed Aug 31 2022 12:16:52 by Doxygen 1.9.3