#ifndef PARALLEL_BAM_H #define PARALLEL_BAM_H #include #include #include #include #include #include #include #include using namespace std; #include "var.h" #include "MPatch.h" #include "Block.h" #include "MyList.h" #include "macrodef.h" namespace Parallel { struct pointstru_bam { double pox[dim]; // cordinate Block *Bgs; // interplate from Block *Bgd; // interplate for double *coef; // interpolation coefficients int sind[dim]; // interpolation starting array index }; void destroypsuList_bam(MyList *ct); void OutBdLow2Hi_bam(MyList *PLc, MyList *PLf, MyList *VarList1 /* source */, MyList *VarList2 /* target */, int Symmetry); void OutBdLow2Hi_bam(MyList *PLc, MyList *PLf, MyList *VarList1 /* source */, MyList *VarList2 /* target */, MyList *bdsul, int Symmetry); void Constr_pointstr_OutBdLow2Hi(MyList *PLf, MyList *PLc, MyList *&bdsul); void Restrict_bam(MyList *PLc, MyList *PLf, MyList *VarList1 /* source */, MyList *VarList2 /* target */, int Symmetry); void Restrict_bam(MyList *PLc, MyList *PLf, MyList *VarList1 /* source */, MyList *VarList2 /* target */, MyList *rsul, int Symmetry); void Constr_pointstr_Restrict(MyList *PLf, MyList *PLc, MyList *&rsul); void intertransfer(MyList *&sul, MyList *VarList1 /* source */, MyList *VarList2 /*target */, int Symmetry); int interdata_packer(double *data, MyList *sul, int myrank, int node, int dir, MyList *VarLists /* source */, MyList *VarListd /* target */, int Symmetry); } #endif /*PARALLEL_BAM_H */