dfnTrans
Code for Particle Tracking simulations in 3D DFN
RotateFracture.c File Reference
#include <stdio.h>
#include <search.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include "FuncDef.h"
#include <unistd.h>
Include dependency graph for RotateFracture.c:

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 ()
 

Function Documentation

◆ CalculatePosition3D()

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CalculateVelocity3D()

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ChangeFracture()

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().

Here is the caller graph for this function:

◆ Convertto2d()

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().

Here is the caller graph for this function:

◆ Convertto3d()

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().

Here is the caller graph for this function:

◆ Coordinations2D()

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().

Here is the call graph for this function:

◆ Velocity3D()

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().

Here is the caller graph for this function: