Open huilinye opened 5 years ago
Hi Jifu,
When I debug the code, I found that the code can work using single CPU. But it occurs problem with many cores. And I doubt if the interpolation will make the subscript like ix, iy, iz straddle the boundary across the processors.
for (ii=0;ii<4;ii++ ) for (jj=0;jj<4;jj++ ) for (kk=0;kk<4;kk++ ){ ix = xl-1 + ii - offset.x ; iy = yl-1 + jj - offset.y ; iz = zl-1 + kk - offset.z ;
Cell<T,Descriptor>& cell = lattice.get(ix,iy,iz);
T *ff=cell.getExternal(Descriptor<T>::ExternalField::forceBeginsAt);
wgt = wx[ii]*wy[jj]*wz[kk];
ff[0] -= wgt*fsi[0];
ff[1] -= wgt*fsi[1];
ff[2] -= wgt*fsi[2];
cell.setExternalField(Descriptor<T>::ExternalField::forceBeginsAt,Descriptor<T>::ExternalField::sizeOfForce,ff );
}
Hello Huilin,
Can you set the envelopeWidth to be 3 and see how it works?
Jifu
Hi Jifu,
Following is the Error message:
embolism:60757 terminated with signal 11 at PC=5ee3ab SP=7ffdb9a93130. Backtrace: embolism(_ZN3plb10ForceFSI3DIdNS_11descriptors21ForcedD3Q19DescriptorEE7processENS_5Box3DERNS_14BlockLattice3DIdS2_EE+0x73b)[0x5ee3ab] embolism(_ZN3plb14BoxProcessor3D7processEv+0xd2)[0x642e82] embolism(_ZN3plb20executeDataProcessorERKNS_24DataProcessorGenerator3DESt6vectorIPNS_13AtomicBlock3DESaIS5_EE+0xcd)[0x63d49d] embolism(_ZN3plb20executeDataProcessorERKNS_24DataProcessorGenerator3DESt6vectorIPNS_12MultiBlock3DESaIS5_EE+0x214)[0x683d74] embolism(_ZN3plb20executeDataProcessorERKNS_24DataProcessorGenerator3DERNS_12MultiBlock3DE+0x65)[0x683f65] embolism(main+0xb73)[0x601b43] /lib64/libc.so.6(__libc_start_main+0xfd)[0x334201ed5d] embolism[0x5a120d] srun: error: cn104: task 0: Exited with exit code 1 srun: Terminating job step 1813063.0
This may be caused by the force coupling part. Could you give some suggestions?