COVISE Core
Public Member Functions | Private Member Functions | Private Attributes | List of all members
covise::coUniTracer Class Reference

#include <coUniTracer.h>

Public Member Functions

 coUniTracer (float xmin, float xmax, float ymin, float ymax, float zmin, float zmax, int nx, int ny, int nz, const float *u, const float *v, const float *w)
 
virtual ~coUniTracer ()
 desrtuctor More...
 
void solve (const float *yini, std::vector< coUniState > &solution, float eps_rel, float max_length=2.0, float vel_factor=0.005, int ts=1) const
 

Private Member Functions

bool interpolate (const float *y, float *dydx) const
 
float getInitialH (const float *y, const float *dydx) const
 
bool stop (float factor, const std::vector< coUniState > &solu) const
 
bool rkqs (float *y, const float *dydx, float *x, float h, float eps, float eps_abs, const float *yscal, float *hdid, float *hnext) const
 
bool rkck (const float *y, const float *dydx, float x, float h, float yout[], float yerr[]) const
 

Private Attributes

float xmin_
 
float ymin_
 
float zmin_
 
float xmax_
 
float ymax_
 
float zmax_
 
float model_length_
 
int nx_
 
int ny_
 
int nz_
 
float dx_
 
float dy_
 
float dz_
 
const float * u_
 
const float * v_
 
const float * w_
 
float max_vel_
 

Constructor & Destructor Documentation

◆ coUniTracer()

coUniTracer::coUniTracer ( float  xmin,
float  xmax,
float  ymin,
float  ymax,
float  zmin,
float  zmax,
int  nx,
int  ny,
int  nz,
const float *  u,
const float *  v,
const float *  w 
)

constructor specifying an input uniform grid and an input velocity field

◆ ~coUniTracer()

coUniTracer::~coUniTracer ( )
virtual

desrtuctor

Member Function Documentation

◆ getInitialH()

float coUniTracer::getInitialH ( const float *  y,
const float *  dydx 
) const
private

◆ interpolate()

bool coUniTracer::interpolate ( const float *  y,
float *  dydx 
) const
private

◆ rkck()

bool coUniTracer::rkck ( const float *  y,
const float *  dydx,
float  x,
float  h,
float  yout[],
float  yerr[] 
) const
private

◆ rkqs()

bool coUniTracer::rkqs ( float *  y,
const float *  dydx,
float *  x,
float  h,
float  eps,
float  eps_abs,
const float *  yscal,
float *  hdid,
float *  hnext 
) const
private

◆ solve()

void coUniTracer::solve ( const float *  yini,
std::vector< coUniState > &  solution,
float  eps_rel,
float  max_length = 2.0,
float  vel_factor = 0.005,
int  ts = 1 
) const

solve is a driver using a RK-stepper, after compkletion you get the solution in parameter solution yini is an array of three float with the initial point, solution is the output streamline eps_rel is the relative error used by the stepper length_factor is the streamline maximal length relative to the model characteristic dimension and vel_factor is used to specified when the integration is interrupted for too low speeds (a speed is too low when smaller than this factor multiplied by the highest speed in the model).

◆ stop()

bool coUniTracer::stop ( float  factor,
const std::vector< coUniState > &  solu 
) const
private

Member Data Documentation

◆ dx_

float covise::coUniTracer::dx_
private

◆ dy_

float covise::coUniTracer::dy_
private

◆ dz_

float covise::coUniTracer::dz_
private

◆ max_vel_

float covise::coUniTracer::max_vel_
private

◆ model_length_

float covise::coUniTracer::model_length_
private

◆ nx_

int covise::coUniTracer::nx_
private

◆ ny_

int covise::coUniTracer::ny_
private

◆ nz_

int covise::coUniTracer::nz_
private

◆ u_

const float* covise::coUniTracer::u_
private

◆ v_

const float* covise::coUniTracer::v_
private

◆ w_

const float* covise::coUniTracer::w_
private

◆ xmax_

float covise::coUniTracer::xmax_
private

◆ xmin_

float covise::coUniTracer::xmin_
private

◆ ymax_

float covise::coUniTracer::ymax_
private

◆ ymin_

float covise::coUniTracer::ymin_
private

◆ zmax_

float covise::coUniTracer::zmax_
private

◆ zmin_

float covise::coUniTracer::zmin_
private

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