Main DT-Grid class to create a boolean-type 3D grid structure. More...
#include <stdlib.h>
#include <string.h>
#include <cstring>
#include <iostream>
#include <fstream>
#include <sstream>
#include <typeinfo>
#include "ArrayReg.hpp"
#include "ArrayPtr.hpp"
#include "ArrayPrs.hpp"
#include "DTGrid2D.hpp"
Go to the source code of this file.
Classes | |
class | DTGrid3Dex |
Main DT-Grid class to create a boolean-type 3D grid structure.
DTGrid3Dex class is a modified version of the class DTGrid3D. It is modified for excluded volume type of grids and does not use template structure of C++. It seems that this version is slightly faster than that uses the templates.
DTGRID ORIGINAL PAPER: M. B. Nielsen and K. Museth. Dynamic Tubular Grid: An efficient data structure and algorithms for high resolution level sets. Accepted for publication in Journal of Scientific Computing, January 26, 2005.
To be able to make it more structured and more readable the code is divided into separate files inside separate folders, eventhough many of them keep very simple structures (classes). Files that start with "Array" keep header files for basic array types DTGrid1D, DTGrid2D and DTGrid3D / DTGrid3Dex classes keep the three layered dtgrid structure
Note that this dtgrid implementation is aimed to use as a replacement of UHBD type grids UHBD parameters (dimensions, origin, etc.) can be associated to objects
The current format of the dtgrid cannot be used effectively for "skins" this is because of the vagueness of that the insideconstant (gamma_i) and outsideconstant (gamma_o) variables are returned depending on the sign of the values nearby! This idea could be used for lennard-jones grids since the skin on the surface will most definitely have large positive values due to strong repulsion. However not suitable for electrostatic grid! This has to be considered!!! Another idea to solve the problem would be to define "shaped skin" rather than using the row one! The shape could be an ellipsoid or a sphere. But then the grid cannot be used for exclusion grid!
Iterators and the neighbourfind methods have yet to be implemented in the present version!