116 lines
3.7 KiB
C++
116 lines
3.7 KiB
C++
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <iostream>
|
|
#include <fstream>
|
|
|
|
#define MAX_LOCAL_BLOB_COUNT 500
|
|
|
|
using namespace std;
|
|
|
|
struct BlobInfo{
|
|
|
|
BlobInfo(int size){
|
|
Values = new double [40*size];
|
|
Ranks = new int [19*size];
|
|
RankLabel = new int [19*size];
|
|
};
|
|
double * Values;
|
|
int * Ranks;
|
|
int * RankLabel;
|
|
// local rank and blob_id
|
|
|
|
int rank(int i){return Ranks[19*i];}
|
|
int rank_x(int i){return Ranks[19*i+1];}
|
|
int rank_y(int i){return Ranks[19*i+2];}
|
|
int rank_z(int i){return Ranks[19*i+3];}
|
|
int rank_X(int i){return Ranks[19*i+4];}
|
|
int rank_Y(int i){return Ranks[19*i+5];}
|
|
int rank_Z(int i){return Ranks[19*i+6];}
|
|
int rank_xy(int i){return Ranks[19*i+7];}
|
|
int rank_xY(int i){return Ranks[19*i+8];}
|
|
int rank_Xy(int i){return Ranks[19*i+9];}
|
|
int rank_XY(int i){return Ranks[19*i+10];}
|
|
int rank_xz(int i){return Ranks[19*i+11];}
|
|
int rank_xZ(int i){return Ranks[19*i+12];}
|
|
int rank_Xz(int i){return Ranks[19*i+13];}
|
|
int rank_XZ(int i){return Ranks[19*i+14];}
|
|
int rank_yz(int i){return Ranks[19*i+15];}
|
|
int rank_yZ(int i){return Ranks[19*i+16];}
|
|
int rank_Yz(int i){return Ranks[19*i+17];}
|
|
int rank_YZ(int i){return Ranks[19*i+18];}
|
|
|
|
int blobID(int i){return RankLabel[19*i];}
|
|
int blobID_x(int i){return RankLabel[19*i+1];}
|
|
int blobID_y(int i){return RankLabel[19*i+2];}
|
|
int blobID_z(int i){return RankLabel[19*i+3];}
|
|
int blobID_X(int i){return RankLabel[19*i+4];}
|
|
int blobID_Y(int i){return RankLabel[19*i+5];}
|
|
int blobID_Z(int i){return RankLabel[19*i+6];}
|
|
int blobID_xy(int i){return RankLabel[19*i+7];}
|
|
int blobID_xY(int i){return RankLabel[19*i+8];}
|
|
int blobID_Xy(int i){return RankLabel[19*i+9];}
|
|
int blobID_XY(int i){return RankLabel[19*i+10];}
|
|
int blobID_xz(int i){return RankLabel[19*i+11];}
|
|
int blobID_xZ(int i){return RankLabel[19*i+12];}
|
|
int blobID_Xz(int i){return RankLabel[19*i+13];}
|
|
int blobID_XZ(int i){return RankLabel[19*i+14];}
|
|
int blobID_yz(int i){return RankLabel[19*i+15];}
|
|
int blobID_yZ(int i){return RankLabel[19*i+16];}
|
|
int blobID_Yz(int i){return RankLabel[19*i+17];}
|
|
int blobID_YZ(int i){return RankLabel[19*i+18];}
|
|
|
|
double voln(int i){return Values[40*i];}
|
|
double pn(int i){return Values[40*i+1];}
|
|
double vnx(int i){return Values[40*i+2];}
|
|
double vny(int i){return Values[40*i+3];}
|
|
double vnz(int i){return Values[40*i+4];}
|
|
double vwnx(int i){return Values[40*i+5];}
|
|
double vwny(int i){return Values[40*i+6];}
|
|
double vwnz(int i){return Values[40*i+7];}
|
|
double Jwn(int i){return Values[40*i+8];}
|
|
double Kwn(int i){return Values[40*i+9];}
|
|
double awn(int i){return Values[40*i+10];}
|
|
double ans(int i){return Values[40*i+11];}
|
|
double Gwnxx(int i){return Values[40*i+12];}
|
|
double Gwnyy(int i){return Values[40*i+13];}
|
|
double Gwnzz(int i){return Values[40*i+14];}
|
|
double Gwnxy(int i){return Values[40*i+15];}
|
|
double Gwnxz(int i){return Values[40*i+16];}
|
|
double Gwnyz(int i){return Values[40*i+17];}
|
|
double Gnsxx(int i){return Values[40*i+18];}
|
|
double Gnsyy(int i){return Values[40*i+19];}
|
|
double Gnszz(int i){return Values[40*i+20];}
|
|
double Gnsxy(int i){return Values[40*i+21];}
|
|
double Gnsxz(int i){return Values[40*i+22];}
|
|
double Gnsyz(int i){return Values[40*i+23];}
|
|
double lwns(int i){return Values[40*i+24];}
|
|
double cospwns(int i){return Values[40*i+25];}
|
|
double vwnsx(int i){return Values[40*i+26];}
|
|
double vwnsy(int i){return Values[40*i+27];}
|
|
double vwnsz(int i){return Values[40*i+28];}
|
|
double cx(int i){return Values[40*i+29];}
|
|
double cy(int i){return Values[40*i+30];}
|
|
double cz(int i){return Values[40*i+31];}
|
|
|
|
};
|
|
|
|
int main(void){
|
|
|
|
int Nx,Ny,Nz,N;
|
|
Nx = Ny = Nz = 100;
|
|
N = Nx*Ny*Nz;
|
|
|
|
BlobInfo Blobs(MAX_LOCAL_BLOB_COUNT);
|
|
// LocalBlobs = new BlobInfo[MAX_LOCAL_BLOB_COUNT];
|
|
|
|
double * spheres;
|
|
spheres = new double [N];
|
|
|
|
int nblobs = 10;
|
|
|
|
for (int i=0; i<nblobs; i++){
|
|
Blobs.rank(i) = 0;
|
|
}
|
|
|
|
}
|