28     UHBD (
char *, 
char *, 
bool, 
float);
    29     UHBD (
char *, 
float, 
bool, 
float);
    94     template <
typename type>
    97     template <
typename type>
   100     template <
typename type>
   106 template <
typename T1> 
template <
typename type>
   110     grd = 
new type ** [
dim.
i];
   111     for (
int x=0; x<
dim.
i; x++){
   112         grd[x] = 
new type * [
dim.
j];
   113         for (
int y=0; y<
dim.
j; y++)
   114             grd[x][y] = 
new type [
dim.
k];
   123 template <
typename T1> 
template <
typename type>
   126     for (
int x=0; x<
dim.
i; x++){
   127         for (
int y=0; y<
dim.
j; y++)
   137 template <
typename T1> 
template <
typename type>
   140     for (
int x=0; x<
dim.
i; x++){
   141         for (
int y=0; y<
dim.
j; y++){
   142             for (
int z=0; z<
dim.
k; z++){
   159 template <
typename T1>
   163     std::cout << 
"No UHBD file! \n !!! Assuming an exclusion grid object !!!" << std::endl;
   166     std::cout << 
"Loading the PDB file ..." << std::endl;
   167     std::ifstream pdbfile (pdbfilename);
   172     Title = 
new char [72];
   173     strcat(
Title, 
"Exclusion grid created by UHBD2dtgrid");
   213 template <
typename T1>
   219     Title = 
new char [72];
   220     std::cout << 
"Opening the UHBD file..." << std::endl;
   224         file.open(Input, std::ifstream::in | std::ifstream::binary);
   226         file.open(Input, std::ifstream::in);
   228     Grid = Allocate <T1> ();
   229     Initialize <T1> (
Grid);
   235     std::cout << 
"Loading the PDB file ..." << std::endl;
   236     std::ifstream pdbfile (pdbfilename);
   250 template <
typename T1>
   256     Title = 
new char [72];
   257     std::cout << 
"Opening the UHBD file..." << std::endl;
   260         file.open(Input, std::ifstream::in | std::ifstream::binary);
   262         file.open(Input, std::ifstream::in);
   264     Grid = Allocate <T1> ();
   265     Initialize <T1> (
Grid);
   272 template <
typename T1>
   276     Deallocate <bool> (
Skin);
   280         Deallocate <T1> (
Grid);
   292 template <
typename T1>
   294     std::string slice_n, out_name;
   295     slice_n = 
static_cast<std::ostringstream*
>( &(std::ostringstream() << 
k) )->str();
   296     out_name = 
"exclusion" + slice_n + 
"slice.txt";
   298     std::ofstream excl_slice;
   299     excl_slice.open (out_name.c_str(), std::ios::out);
   303             if (
Skin[
i][
j][k] == 
true )
   326 template <
typename T1>
   328     int klim, nb_true_excl;
   331     int c3d_1, c3d_2, c3d_3;
   333     int ix, jx, kk, jj, ii;
   334     double rexmax, hdexcl, rexcl, rexcl2;
   335     double xv1, xv2, xv3, xa1, xa2, xa3;
   336     double zk, ztemp, yj, ytemp, xi, xtemp, dist2;
   345     hdexcl = hexclusion / 2.0d;
   346     klim = (
int) ((rexmax + hexclusion * 1.5d) / hexclusion);
   348 #pragma omp parallel shared(hdexcl, hexclusion, klim, nb_true_excl, probep, IEV) \   349     private(i, j, k, c3d_1, c3d_2, c3d_3, ix, jx, kk, jj, ii, xv1, xv2, xv3, xa1, xa2, xa3, \   350             rexcl, rexcl2, zk, ztemp, yj, ytemp, xi, xtemp, dist2, dummy_lim)   352     #pragma omp for schedule(dynamic) nowait reduction(+:nb_true_excl)   364             rexcl2 = rexcl * rexcl;
   366             c3d_1 = (
int) ((xa1 - oex) / hexclusion);
   367             c3d_2 = (int) ((xa2 - oey) / hexclusion);
   368             c3d_3 = (int) ((xa3 - oez) / hexclusion);
   370             for (kk = -klim; kk <= klim; kk++){
   373                 if (k <= 0 or k > 
dim.
k){
   378                 zk = (double) k * hexclusion + oez;
   384                 for (jj = -klim; jj <= klim; jj++){
   387                     if (j <= 0 or j > 
dim.
j){
   392                     yj = (double) j * hexclusion + oey;
   398                     for (ii = -klim; ii <= klim; ii++){
   401                         if (i <= 0 or i > 
dim.
i){
   406                         if (IEV[i-1][j-1][k-1] == 
true)
   409                         xi = (double) i * hexclusion + oex;
   411                         dist2 = xtemp * xtemp + ytemp * ytemp + ztemp * ztemp;
   417                         IEV[i-1][j-1][k-1] = 
true;
   440             rexcl2 = rexcl * rexcl;
   442             c3d_1 = (
int) ((xa1 - oex) / hexclusion);
   443             c3d_2 = (int) ((xa2 - oey) / hexclusion);
   444             c3d_3 = (int) ((xa3 - oez) / hexclusion);
   446             dummy_lim = (int) ((rexcl + hexclusion * 1.5d) / hexclusion);
   448             #pragma omp for schedule(dynamic) nowait   449             for (kk = -dummy_lim; kk <= dummy_lim; kk++){
   452                 if (k <= 0 or k > 
dim.
k)
   455                 zk = (double) k * hexclusion + oez;
   461                 for (jj = -dummy_lim; jj <= dummy_lim; jj++){
   464                     if (j <= 0 or j > 
dim.
j)
   467                     yj = (double) j * hexclusion + oey;
   473                     for (ii = -dummy_lim; ii <= dummy_lim; ii++){
   476                         if (i <= 0 or i > 
dim.
i)
   479                         if (IEV[i-1][j-1][k-1] == 
true)
   482                         xi = (double) i * hexclusion + oex;
   484                         dist2 = xtemp * xtemp + ytemp * ytemp + ztemp * ztemp;
   490                         IEV[i-1][j-1][k-1] = 
true;
   509 template <
typename T1>
   513     int xmin, xmax, ymin, ymax, zmin, zmax;
   514     int klim, nb_true_excl;
   515     int nxex, nyex, nzex;
   516     int c3d_1, c3d_2, c3d_3;
   518     double rexmax, hdexcl, rexcl, rexcl2;
   519     double xv1, xv2, xv3, xa1, xa2, xa3;
   520     double oex, oey, oez;
   521     double zk, ztemp, yj, ytemp, xi, xtemp, dist2;
   522     double hexclusion, probep;
   535     hdexcl = hexclusion / 2.0d;
   536     klim = (
int) ((rexmax + hexclusion * 1.5d) / hexclusion);
   541     std::cout << 
"Generate exclusion grid with hexclusion: " << hexclusion << 
" probep: " << probep << std::endl;
   552             c3d_1 = (int) (xv1  / hexclusion);
   553             c3d_2 = (int) (xv2  / hexclusion);
   554             c3d_3 = (int) (xv3  / hexclusion);
   555             if (c3d_1 < xmin) xmin = c3d_1;
   556             if (c3d_1 > xmax) xmax = c3d_1;
   557             if (c3d_2 < ymin) ymin = c3d_2;
   558             if (c3d_2 > ymax) ymax = c3d_2;
   559             if (c3d_3 < zmin) zmin = c3d_3;
   560             if (c3d_3 > zmax) zmax = c3d_3;
   571     std::cout << 
"Min & max grid points x: " << xmin << 
" " << xmax << std::endl;
   572     std::cout << 
"Min & max grid points y: " << ymin << 
" " << ymax << std::endl;
   573     std::cout << 
"Min & max grid points z: " << zmin << 
" " << zmax << std::endl;
   575     nxex = xmax - xmin + 2;
   576     nyex = ymax - ymin + 2;
   577     nzex = zmax - zmin + 2;
   579     oex = hexclusion * ((double) xmin - 0.5d) - hexclusion;
   580     oey = hexclusion * ((double) ymin - 0.5d) - hexclusion;
   581     oez = hexclusion * ((double) zmin - 0.5d) - hexclusion;
   592     std::cout << 
"Exclusion grid information ..." << std::endl;
   593     std::cout << 
"Grid dimensions     : " << 
dim.
i << 
"  " << 
dim.
j << 
"  " << 
dim.
k << std::endl;
   594     std::cout << 
"Grid spacing        : " << 
spacing << std::endl;
   595     std::cout << 
"Grid origin         : " << 
o.
x << 
"  " << 
o.
y << 
"  " << 
o.
z << std::endl;
   596     std::cout << std::endl;
   599     Skin = Allocate <bool> ();
   605     std::cout << 
"The number of points in exclusion grid assigned value 1: " << nb_true_excl << std::endl;
   623 template <
typename T1>
   627     output_file = fopen(
"test_excluded_volume.bin.grd",
"wb"); 
   630     int binary_uhbd_type = 4;
   631     int binary_file_vmd_flag = 160;
   632     std::cout << 
"Writing the UHBD (binary) to the output file ..." << std::endl;
   633     fwrite(&binary_file_vmd_flag, 
sizeof(
int),1,output_file);
   634     fwrite(
Title, 
sizeof(
char), 72, output_file);
   635     fwrite(&
scale, 
sizeof(
float),1,output_file);
   636     fwrite(&
dummy1, 
sizeof(
float),1,output_file);
   637     fwrite(&binary_uhbd_type, 
sizeof(
int),1,output_file);
   638     fwrite(&
idummy1, 
sizeof(
int),1,output_file);
   639     fwrite(&
idummy2, 
sizeof(
int),1,output_file);
   640     fwrite(&
one, 
sizeof(
int),1,output_file);
   641     fwrite(&
idummy3, 
sizeof(
int),1,output_file);
   642     fwrite(&
dim.
i, 
sizeof(
int),1,output_file);
   643     fwrite(&
dim.
j, 
sizeof(
int),1,output_file);
   644     fwrite(&
dim.
k, 
sizeof(
int),1,output_file);
   645     fwrite(&
spacing, 
sizeof(
float),1,output_file);
   646     fwrite(&
o.
x, 
sizeof(
float),1,output_file);
   647     fwrite(&
o.
y, 
sizeof(
float),1,output_file);
   648     fwrite(&
o.
z, 
sizeof(
float),1,output_file);
   649     fwrite(&
dummy2, 
sizeof(
float),1,output_file);
   650     fwrite(&
dummy3, 
sizeof(
float),1,output_file);
   651     fwrite(&
dummy4, 
sizeof(
float),1,output_file);
   652     fwrite(&
dummy5, 
sizeof(
float),1,output_file);
   653     fwrite(&
dummy6, 
sizeof(
float),1,output_file);
   654     fwrite(&
dummy7, 
sizeof(
float),1,output_file);
   655     fwrite(&
idummy4, 
sizeof(
int),1,output_file);
   656     fwrite(&
idummy5, 
sizeof(
int),1,output_file);
   662     i_value = 
sizeof(char) * 72 + 
sizeof(
int) * 11 + 
sizeof(float) * 11;
   663     fwrite(&i_value, 
sizeof(
int),1,output_file);
   665     for (
int k=0; 
k < 
dim.
k ; 
k++){
   666         i_value = 
sizeof(int) * 3;
   667         fwrite(&i_value, 
sizeof(
int),1,output_file);
   669         fwrite(&i_value, 
sizeof(
int),1,output_file);
   670         fwrite(&(
dim.
i), 
sizeof(
int),1,output_file);
   671         fwrite(&(
dim.
j), 
sizeof(
int),1,output_file);
   672         i_value = 
sizeof(int) * 3;
   673         fwrite(&i_value, 
sizeof(
int),1,output_file);
   674         i_value = 
sizeof(float) * 
dim.
i * 
dim.
j;
   675         fwrite(&i_value, 
sizeof(
int),1,output_file);
   676         for (
int j=0; 
j < 
dim.
j ; 
j++){
   677             for (
int i=0; 
i < 
dim.
i ; 
i++){
   678                 f_value = (float) 
Skin[
i][
j][
k];
   679                 fwrite(&f_value, 
sizeof(
float),1,output_file);
   682         i_value = 
sizeof(float) * 
dim.
i * 
dim.
j;
   683         fwrite(&i_value, 
sizeof(
int),1,output_file);
   692 template <
typename T1>
   695     std::ifstream file_bt;
   696     file_bt.open(Input, std::ifstream::in | std::ifstream::binary);
   699     file_bt.read((
char *) &flag, 
sizeof(
int));
   702     char * buffer = 
new char [120];
   703     file_bt.read(buffer, 120);
   706     binary_test = (
char*) memchr (buffer, 
'\n', 120);
   712         if (binary_test == NULL) { 
   713             binary_test = (
char*) memchr (buffer, 
'\0', 120);
   714             if (binary_test == NULL) {
   736 template <
typename T1>
   771             file.read((
char *) &
scale, 
sizeof(
float));
   776             file.read((
char *) &
one, 
sizeof(
int));
   778             file.read((
char *) &
dim.
i, 
sizeof(
int));
   779             file.read((
char *) &
dim.
j, 
sizeof(
int));
   780             file.read((
char *) &
dim.
k, 
sizeof(
int));
   782             file.read((
char *) &
o.
x, 
sizeof(
float));
   783             file.read((
char *) &
o.
y, 
sizeof(
float));
   784             file.read((
char *) &
o.
z, 
sizeof(
float));
   798             std::cout << 
"ERROR: Cannot open the UHBD file!" << std::endl;
   804         std::string title_str, line;
   805         std::string scale_str, dum1_str, grdflag_str, idum1_str, idum2_str, one_str, idum3_str;
   806         std::string i_str, j_str, k_str;
   807         std::string spacing_str, ox_str, oy_str, oz_str;
   808         std::string dum2_str, dum3_str, dum4_str, dum5_str;
   809         std::string dum6_str, dum7_str, idum4_str, idum5_str;
   813             title_str = line.substr(0,72);
   815             scale_str = line.substr(0,12);
   816             dum1_str = line.substr(12,12);
   817             grdflag_str = line.substr(24,7);
   818             idum1_str = line.substr(31,7);
   819             idum2_str = line.substr(38,7);
   820             one_str = line.substr(45,7);
   821             idum3_str = line.substr(52,7);
   823             i_str = line.substr(0,7);
   824             j_str = line.substr(7,7);
   825             k_str = line.substr(14,7);
   826             spacing_str = line.substr(21,12);
   827             ox_str = line.substr(33,12);
   828             oy_str = line.substr(45,12);
   829             oz_str = line.substr(57,12);
   831             dum2_str = line.substr(0,12);
   832             dum3_str = line.substr(12,12);
   833             dum4_str = line.substr(24,12);
   834             dum5_str = line.substr(36,12);
   836             dum6_str = line.substr(0,12);
   837             dum7_str = line.substr(12,12);
   838             idum4_str = line.substr(24,7);
   839             idum5_str = line.substr(31,7);
   842             std::strncpy (
Title, title_str.c_str(), 72);
   844             std::stringstream (scale_str) >> 
scale;
   845             std::stringstream (dum1_str) >> 
dummy1;
   846             std::stringstream (grdflag_str) >> 
grdflag;
   847             std::stringstream (idum1_str) >> 
idummy1;
   848             std::stringstream (idum2_str) >> 
idummy2;
   849             std::stringstream (one_str) >> 
one;
   850             std::stringstream (idum3_str) >> 
idummy3;
   851             std::stringstream (i_str) >> 
dim.
i;
   852             std::stringstream (j_str) >> 
dim.
j;
   853             std::stringstream (k_str) >> 
dim.
k;
   854             std::stringstream (spacing_str) >> 
spacing;
   855             std::stringstream (ox_str) >> 
o.
x;
   856             std::stringstream (oy_str) >> 
o.
y;
   857             std::stringstream (oz_str) >> 
o.
z;
   858             std::stringstream (dum2_str) >> 
dummy2;
   859             std::stringstream (dum3_str) >> 
dummy3;
   860             std::stringstream (dum4_str) >> 
dummy4;
   861             std::stringstream (dum5_str) >> 
dummy5;
   862             std::stringstream (dum6_str) >> 
dummy6;
   863             std::stringstream (dum7_str) >> 
dummy7;
   864             std::stringstream (idum4_str) >> 
idummy4;
   865             std::stringstream (idum5_str) >> 
idummy5;
   868             std::cout << 
"ERROR: Cannot open the UHBD file" << std::endl;
   878 template <
typename T1>
   881     std::cout << 
"Reading the UHBD grid ..." << std::endl;
   882     std::cout << 
"Grid dimensions     : " << 
dim.
i << 
"  " << 
dim.
j << 
"  " << 
dim.
k << std::endl;
   883     std::cout << 
"Grid spacing        : " << 
spacing << std::endl;
   884     std::cout << 
"Grid origin         : " << 
o.
x << 
"  " << 
o.
y << 
"  " << 
o.
z << std::endl;
   885     std::cout << std::endl;
   890             int kx, im, jm, ufo1, ufo2, ufo3, ufo4 ;
   894                 file.read((
char *) &ufo1, 
sizeof(
float));
   895                 file.read((
char *) &ufo2, 
sizeof(
float));
   896                 file.read((
char *) &kx, 
sizeof(
float));
   897                 file.read((
char *) &im, 
sizeof(
float));
   898                 file.read((
char *) &jm, 
sizeof(
float));
   899                 file.read((
char *) &ufo3, 
sizeof(
float));
   900                 file.read((
char *) &ufo4, 
sizeof(
float));
   905                         file.read((
char *) &data_buffer, 
sizeof(
float));
   915             std::cout << 
"ERROR: Cannot open the UHBD file" << std::endl;
   942             std::cout << 
"ERROR: Cannot open the UHBD file" << std::endl;
   970 template <
typename T1>
   973     std::cout << 
"Generating the molecule skin points ..." << std::endl;
   976     double oex, oey, oez;
   977     int ih, jh, kh, KK, JJ, II;
   987     IEX = Allocate<bool>();
   988     Initialize<bool>(IEX);
   994     ISK = Allocate<bool>();
   995     Initialize<bool>(ISK);
  1001     Skin = Allocate <bool> ();
  1003     for (
int i = 0; 
i < 
dim.
i; 
i ++){
  1004         for (
int j = 0; 
j < 
dim.
j; 
j++){
  1005             for (
int k = 0; 
k < 
dim.
k; 
k++){
  1006                 if (IEX[
i][
j][
k]== 
true){
  1010                     if (ISK[
i][
j][
k]== 
true)
  1018     Deallocate<bool>(ISK);
  1024     IIN = Allocate<bool>();
  1025     Initialize<bool>(IIN);
  1027     if (iterate_inside_skin != 0){
  1028         for (
int i_skin = 0; i_skin < iterate_inside_skin; i_skin++){
  1029             for (
int i = 0; 
i < 
dim.
i; 
i ++){
  1030                 for (
int j = 0; 
j < 
dim.
j; 
j++){
  1031                     for (
int k = 0; 
k < 
dim.
k; 
k++){
  1033                             if ((
i+1 < 
dim.
i) && (IEX[
i+1][
j][
k] == 
true))
  1035                             if ((
i-1 >= 0) && (IEX[
i-1][
j][
k] == 
true))
  1037                             if ((
j+1 < 
dim.
j) && (IEX[
i][
j+1][
k] == 
true))
  1039                             if ((
j-1 >= 0) && (IEX[
i][
j-1][
k] == 
true))
  1041                             if ((
k+1 < 
dim.
k) && (IEX[
i][
j][
k+1] == 
true))
  1043                             if ((
k-1 >= 0) && (IEX[
i][
j][
k-1] == 
true))
  1051             for (
int i = 0; 
i < 
dim.
i; 
i ++){
  1052                 for (
int j = 0; 
j < 
dim.
j; 
j++){
  1053                     for (
int k = 0; 
k < 
dim.
k; 
k++){
  1054                         if (IIN[
i][
j][
k] == 
true){
  1056                             IEX[
i][
j][
k] = 
false;
  1064     Deallocate<bool>(IIN);
  1065     Deallocate<bool>(IEX);
 float dummy3
Definition: UHBDgrd.hpp:50
Definition: UHBDgrd.hpp:24
float Z
y coordinate of the atom 
Definition: PDBstructure.hpp:42
float dummy5
Definition: UHBDgrd.hpp:52
int excluded_volume(bool ***, double, double, double, double)
Calculate the excluded volume. 
Definition: UHBDgrd.hpp:327
float dummy7
Definition: UHBDgrd.hpp:54
void make_exclusion_grid()
construct the excluded volume grid 
Definition: UHBDgrd.hpp:510
Definition: PDBstructure.hpp:77
int idummy2
Definition: UHBDgrd.hpp:56
int idummy1
Definition: UHBDgrd.hpp:55
Atom * Atoms
total number of items of the residue 
Definition: PDBstructure.hpp:68
float probes
Boolean for Skin! expanded for other types, though. 
Definition: UHBDgrd.hpp:80
Definition: UHBDgrd.hpp:62
Group functions to read-write PDB files and describe the molecular structures inside (Header) ...
dimensions of the grid (number of grid points) 
Definition: UHBDgrd.hpp:68
PDB * structure
probe size 
Definition: UHBDgrd.hpp:83
int i
Definition: UHBDgrd.hpp:64
int iform
structure object for the input molecule 
Definition: UHBDgrd.hpp:84
int k
number of grid points in y direction 
Definition: UHBDgrd.hpp:66
Atom::Coordinates CoG
Definition: PDBstructure.hpp:97
void Read_PDB_File(std::ifstream &)
Read the pdb file and extract the information. 
Definition: PDBstructure.cpp:49
int Number_of_Residues
Definition: PDBstructure.hpp:88
void Read_Header(char *)
Read the header of an input UHBD file. 
Definition: UHBDgrd.hpp:737
void Read_Data()
Read the body of the input UHBD file. 
Definition: UHBDgrd.hpp:879
float dummy2
Definition: UHBDgrd.hpp:49
void write_uhbd_grid()
Exclusion : 1, Non-exclusion : 0. 
Definition: UHBDgrd.hpp:624
float Y
x coordinate of the atom 
Definition: PDBstructure.hpp:41
float max_vdw
the toral number of atoms in the structure 
Definition: PDBstructure.hpp:90
int Number_of_Atoms
type of residue: ala, ser, tyr, etc.. 
Definition: PDBstructure.hpp:67
int grdflag
scaling for every value 
Definition: UHBDgrd.hpp:42
struct Atom::Coordinates Coord
int Number_of_Atoms
the total number of residues in the structure 
Definition: PDBstructure.hpp:89
Residue * Residues
the maximum van der Waals value of any atom in the input pdb file. 
Definition: PDBstructure.hpp:91
float z
origin y coordinate 
Definition: UHBDgrd.hpp:72
float dummy1
Text header kept in the UHBD file. 
Definition: UHBDgrd.hpp:48
T1 *** Grid
grid origin coordinates 
Definition: UHBDgrd.hpp:75
void Initialize(type ***)
initialize values of a given 3D array to zero 
Definition: UHBDgrd.hpp:138
int idummy4
Definition: UHBDgrd.hpp:58
float dummy4
Definition: UHBDgrd.hpp:51
type *** Allocate()
create a 3d array and allocate memory for it. 
Definition: UHBDgrd.hpp:107
void Generate_Skin(float, int)
Calculate the molecule skin (molecular interaction field) 
Definition: UHBDgrd.hpp:971
float x
Definition: UHBDgrd.hpp:70
UHBD(char *, char *, bool, float)
UHBD constructor - 2. 
Definition: UHBDgrd.hpp:214
void print_slice_grid(int)
Print a 2D slice of an excluded volume grid. 
Definition: UHBDgrd.hpp:293
float dummy6
Definition: UHBDgrd.hpp:53
int exclusion_flag
Binary : 0, ASCII : 1. 
Definition: UHBDgrd.hpp:85
int idummy3
Definition: UHBDgrd.hpp:57
float spacing
Definition: UHBDgrd.hpp:44
int idummy5
Definition: UHBDgrd.hpp:59
float scale
Definition: UHBDgrd.hpp:41
float y
origin x coordinate 
Definition: UHBDgrd.hpp:71
char * Title
grid spacing/resolution 
Definition: UHBDgrd.hpp:45
void Deallocate(type ***)
deallocate the memory for a 3D array 
Definition: UHBDgrd.hpp:124
~UHBD()
UHBD destructor. 
Definition: UHBDgrd.hpp:273
int j
number of grid points in x direction 
Definition: UHBDgrd.hpp:65
std::ifstream file
Definition: UHBDgrd.hpp:40
struct UHBD::dimensions dim
float radii
atomic charge 
Definition: PDBstructure.hpp:47
float X
Definition: PDBstructure.hpp:40
Residue Dummy
Definition: PDBstructure.hpp:92
void Test_Format_Grid(char *)
Determine the type of grid: binary or ascii? 
Definition: UHBDgrd.hpp:693
bool *** Skin
Store the grid data in a 3d array. 
Definition: UHBDgrd.hpp:76
int one
flag for the type of grid: UHBD, DT-Grid, etc. 
Definition: UHBDgrd.hpp:43