DFNgen  2.0
DFN Model Generator
Poly Struct Reference

#include <structures.h>

Public Member Functions

 Poly ()
 

Public Attributes

int numberOfNodes
 
int familyNum
 
unsigned int groupNum
 
float area
 
double xradius
 
double yradius
 
float aspectRatio
 
double translation [3]
 
double normal [3]
 
double boundingBox [6]
 
double aperture
 
double * vertices
 
double permeability
 
bool faces [6]
 
bool XYPlane
 
bool truncated
 
std::vector< unsigned int > intersectionIndex
 

Detailed Description

The Poly structre is used to create and store fracrures/polygons.

Definition at line 12 of file structures.h.

Constructor & Destructor Documentation

§ Poly()

Poly::Poly ( )

Initializes many values to zero. (See implementation for details).

Definition at line 28 of file structures.cpp.

Member Data Documentation

§ aperture

double Poly::aperture

Aperture for the polygon/fracture. The aperture is set after DFN generation has completed (see assignAperture()).

Definition at line 66 of file structures.h.

§ area

float Poly::area

Polygon area (Not calculated until after DFN generation has completed).

Definition at line 33 of file structures.h.

§ aspectRatio

float Poly::aspectRatio

Aspect ratio of polygon before fracture-domain truncation. Must be value greater than zero.

Definition at line 49 of file structures.h.

§ boundingBox

double Poly::boundingBox[6]

The bounding box of the polygon. Set with createBoundingBox(). Index Key: [0]: x minimum, [1]: x maximum [2]: y minimum, [3]: y maximum [4]: z minimum, [5]: z maximum

Definition at line 62 of file structures.h.

§ faces

bool Poly::faces[6]

The faces array contains flags (true/false) which denote which sides, if any, the polygon is touching. True (not zero) - Polygon is touching a domain boundary. False (0) - Polygon is not touching a domain boundary. Index Key: [0]: -x face, [1]: +x face [2]: -y face, [3]: +y face [4]: -z face, [5]: +z face

Definition at line 84 of file structures.h.

§ familyNum

int Poly::familyNum

Contains the index of the 'shapeFamilies' array in main() from which the fracture was created from. If the polygon was created from user defined input, it will be marked (-2 for user-rect, and -1 for user ell. The stochastic shape family numbers start at 0 for the first family, and increase by 1 for each addition family. Families are in the same order which they are defined in the 'famProb' variable in the input file, starting with ellipse families, then rectangular families.

Definition at line 22 of file structures.h.

§ groupNum

unsigned int Poly::groupNum

Fracture cluster number which the fracture belongs to. This variable is used to keep track of fracture connectivity. When a fracture first intersects another fracture, it inherits its cluster group number (groupNum). If a fracture does not intersect any other fractures, it is given a new and unique cluster group number. When a fracture bridges two different clusters, all clusters are merged to be have the cluster group number of the first intersecting fracture.

Definition at line 30 of file structures.h.

§ intersectionIndex

std::vector<unsigned int> Poly::intersectionIndex

List of indices to the permanent intersection array ('intPts' in main()) which belong to this polygon.

Definition at line 98 of file structures.h.

§ normal

double Poly::normal[3]

Polygon normal. This variable is set while building the polygon.

Definition at line 55 of file structures.h.

§ numberOfNodes

int Poly::numberOfNodes

Number of nodes/vertices in the polygon.

Definition at line 14 of file structures.h.

§ permeability

double Poly::permeability

Permiability for the polygon/fracture. Permeability is set after DFN generation has completed (see assignPermeability()).

Definition at line 74 of file structures.h.

§ translation

double Poly::translation[3]

Translation of polygon. This variable is set while building the polygon.

Definition at line 52 of file structures.h.

§ truncated

bool Poly::truncated

True if the polygon has been truncated, false otherwise. This variable is used for re-translating polygons. If the polygon has been truncated, it must be re-built. Otherwise, it can simply be given a new translation.

Definition at line 95 of file structures.h.

§ vertices

double* Poly::vertices

Double array for which hold the polygon's vertices. Vertices are stored in a 1-D array. e.g For n number of vertices, array will be: {x1, y1, z1, x2, y2, z2, ... , xn, yn, zn}

Definition at line 70 of file structures.h.

§ xradius

double Poly::xradius

X-radius before fracture-domain truncation. In the case of rectangles, radius is 1/2 the width of the polygon.

X-radius is equal to the value generated from randum distributions or given by the user in the case of constant distributions and user-defined fractures.

Definition at line 40 of file structures.h.

§ XYPlane

bool Poly::XYPlane

When writing intersection points and poly vertices to output, we need them to be entirely on the x-y plane. XYPlane is used for error checking. During intersection rotations, the polygon is rotated to the x-y plane and it's vertices are changed within the Poly structure. Errors will occur if the same polygon was to be rotated again because although the vertices are now on the x-y plane, the normal is still the normal of the polygon in its 3D space. This variable prevents this from happening.

Definition at line 91 of file structures.h.

§ yradius

double Poly::yradius

Y-radius before fracture-domain truncation. In the case of rectangles, radius is 1/2 the width of the polygon.

Y-radius is equal to x-radius * aspect ratio (yradius = aspectRatio * xradius).

Definition at line 46 of file structures.h.


The documentation for this struct was generated from the following files: