dfnTrans
Code for Particle Tracking simulations in 3D DFN
|
#include <stdio.h>
#include <search.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include "FuncDef.h"
#include <unistd.h>
Go to the source code of this file.
Data Structures | |
struct | posit3d |
Functions | |
void | Convertto2d () |
void | Convertto3d () |
void | ChangeFracture (int cell_win) |
struct posit3d | CalculatePosition3D () |
void | Velocity3D () |
struct posit3d | CalculateVelocity3D () |
void | Coordinations2D () |
struct posit3d CalculatePosition3D | ( | ) |
Function calculates 3D coordinates of current particle's position at 2D fracture plane
Definition at line 138 of file RotateFracture.c.
References CalculatePosition3D(), contam::cell, cell, posit3d::cord3, element::fracture, contam::fracture, fracture, np, particle, contam::position, and material::rot2mat.
Referenced by CalculatePosition3D(), ParticleOutput(), and ParticleTrack().
struct posit3d CalculateVelocity3D | ( | ) |
The function converts particle's 2D velocity vector to 3D velocity vector
Definition at line 190 of file RotateFracture.c.
References posit3d::cord3, vertex::fracture, fracture, maindir, nnodes, node, OpenFile(), material::rot3mat, and vertex::velocity.
Referenced by ParticleOutput(), and ParticleTrack().
void ChangeFracture | ( | int | cell_win | ) |
This function recalculates particles coordinations at intersection lines. Particles XY coordinations at one fracture are recalculated to 3D positions and then new XY coordinations of an intersecting fracture are defined.
Definition at line 138 of file RotateFracture.c.
Referenced by AcrossIntersection(), and InOutFlowCell().
void Convertto2d | ( | ) |
The function uses rotation matrix and fracture's normal vector to rotate fracture from its position in 3D to XY plane
if node belongs to intersection, belongs to two fractures
Definition at line 17 of file RotateFracture.c.
References vertex::coord, vertex::coord_xy, vertex::fracture, fracture, nfract, nnodes, node, material::nvect_xy, pi, material::rot2mat, material::rot3mat, and material::theta.
Referenced by main().
void Convertto3d | ( | ) |
The function uses rotation matrix to rotate fracture from its position in XY plane to 3D domain
Definition at line 100 of file RotateFracture.c.
References fracture, nfract, material::nvect_z, pi, material::rot3mat, and material::theta.
Referenced by main().
void Coordinations2D | ( | ) |
The function outputs 2D coordinations of nodes: every fracture into separate file. Those files are used as input to gstat for length correlation of aperture.
Definition at line 280 of file RotateFracture.c.
References vertex::coord_xy, fracture, nfract, nnodes, node, and OpenFile().
void Velocity3D | ( | ) |
Recalculates 2D velocities at XY fracture plane to 3D velocties in the simulation domain. This procedure is not used for particle tracking, but can be used for velocity field visualization.
Definition at line 190 of file RotateFracture.c.
Referenced by main().