adding checkerboard inlet option
This commit is contained in:
parent
8ef49f8a70
commit
ee79d6a1ff
@ -53,6 +53,8 @@ int main(int argc, char **argv)
|
|||||||
int64_t i,j,k,n;
|
int64_t i,j,k,n;
|
||||||
int BC=0;
|
int BC=0;
|
||||||
int64_t xStart,yStart,zStart;
|
int64_t xStart,yStart,zStart;
|
||||||
|
int64_t checkerSize;
|
||||||
|
int64_t CropInlet[3];
|
||||||
// char fluidValue,solidValue;
|
// char fluidValue,solidValue;
|
||||||
|
|
||||||
xStart=yStart=zStart=0;
|
xStart=yStart=zStart=0;
|
||||||
@ -72,6 +74,12 @@ int main(int argc, char **argv)
|
|||||||
yStart = offset[1];
|
yStart = offset[1];
|
||||||
zStart = offset[2];
|
zStart = offset[2];
|
||||||
}
|
}
|
||||||
|
if (domain_db->keyExists( "CropInlet" )){
|
||||||
|
CropInlet = domain_db->getVector<int>( "CropInlet" );
|
||||||
|
}
|
||||||
|
if (domain_db->keyExists( "checkerSize" )){
|
||||||
|
checkerSize = domain_db->getScalar<int64_t>( "checkerSize" );
|
||||||
|
}
|
||||||
auto ReadValues = domain_db->getVector<char>( "ReadValues" );
|
auto ReadValues = domain_db->getVector<char>( "ReadValues" );
|
||||||
auto WriteValues = domain_db->getVector<char>( "WriteValues" );
|
auto WriteValues = domain_db->getVector<char>( "WriteValues" );
|
||||||
auto ReadType = domain_db->getScalar<std::string>( "ReadType" );
|
auto ReadType = domain_db->getScalar<std::string>( "ReadType" );
|
||||||
@ -136,6 +144,24 @@ int main(int argc, char **argv)
|
|||||||
printf("Read segmented data from %s \n",Filename.c_str());
|
printf("Read segmented data from %s \n",Filename.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (CropInlet[0] > 0){
|
||||||
|
// use checkerboard pattern
|
||||||
|
for (int k = 0; k<SIZE[2]; k++){
|
||||||
|
for (int j = 0; j<SIZE[1]; j++){
|
||||||
|
for (int i = 0; i<CropInlet[0]; i++){
|
||||||
|
if ( ((j+k)/checkerSize)%2 == 0){
|
||||||
|
// solid checkers
|
||||||
|
SegData[k*SIZE[0]*SIZE[1]+i*SIZE[0]+i] = 0;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
// void checkers
|
||||||
|
SegData[k*SIZE[0]*SIZE[1]+i*SIZE[0]+i] = 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Get the rank info
|
// Get the rank info
|
||||||
int64_t N = (nx+2)*(ny+2)*(nz+2);
|
int64_t N = (nx+2)*(ny+2)*(nz+2);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user