#include #include "geostat.h" #include "pressure.h" #ifndef _TOOLSFFTPSIM_H #define _TOOLSFFTPSIM_H /* Create december, the 16th 2002 */ /* List of functions: */ /* ------------------ */ /* pgeneration, FFTPSim, FFTPressure, build_pressure, build_velocity,total_pressure,total_velocity, clean_real2 */ /*Functions */ /*----------*/ void pgeneration(int n[3],struct grid_mod grid,struct statistic_mod stat,struct vario_mod variogram,string filename[8],struct pressure_mod pression,struct realization_mod *Y,struct realization_mod *P,struct realization_mod *VX,struct realization_mod *VY,struct realization_mod *VZ, int solver); void pgeneration2(int n[3],struct grid_mod grid,struct statistic_mod stat,struct vario_mod variogram,string filename[8],struct pressure_mod pression,struct realization_mod *Y,struct realization_mod *P,struct realization_mod *VX,struct realization_mod *VY,struct realization_mod *VZ, int solver, int format_file); void FFTPSim(struct vario_mod variogram,struct statistic_mod stat,struct grid_mod grid,int n[3],struct realization_mod *realin,struct pressure_mod gradient,struct realization_mod *realout,struct realization_mod *realout2,struct realization_mod *realout3,struct realization_mod *realout4,struct realization_mod *realout5); //void FFTPressure(int n[3],struct grid_mod grid,struct realization_mod *realin,struct statistic_mod stat,struct pressure_mod gradient,struct realization_mod *realout,struct realization_mod *realout2,struct realization_mod *realout3,struct realization_mod *realout4, int solver); void build_pressure(int n[3],struct grid_mod grid,struct pressure_mod gradient,double *realization,double *ireal,double *pressure,double *ipressure); void build_velocity(int n[3],struct grid_mod grid,struct statistic_mod stat,struct pressure_mod gradient,double *realization,double *ireal,double *xvelocity,double *ixvelocity,int direction); /* total_pressure */ /* Build total pressure */ /* grid: structure defining the grid */ /* pression:: structure defining the gradient pressure */ /* realout: structure defining a realization */ void total_pressure(struct grid_mod grid,struct pressure_mod gradient,struct realization_mod *realout); /* total_velocity */ /* Build total velocity in one direction */ /* grid: structure defining the grid */ /* mean: permeability mean */ /* dgradient: macroscopic pressure gradient in wanted direction */ /* realout: structure defining a X velocity realization */ void total_velocity(struct grid_mod grid,double mean,int direction,struct pressure_mod gradient,struct realization_mod *realout); void normAxes(double *vec, double *normed); void waveVectorCompute1D(int n,double *vec); void waveVectorCompute3D(int nX,int nY, int nZ, /*float dX, float dY, float dZ,*/ double nDir[3], double *waveVect); void mat_vec(double *C, double *x, double *b, int n); #endif // define _TOOLSFFTPSIM_H