Tesllation seems stable with new boundary handling procedure. Rooted out strange adjacency record-keeping due to some galaxies connecting to guard particles. Zobov still generates warning about guard particle encounters, but this is fine for observational datasets because we don't trust the tesselation at the edge galaxies anyway.

This commit is contained in:
Paul M. Sutter 2025-01-16 18:40:54 +08:00
parent 091cf5d1dc
commit 5d93a8a737
8 changed files with 63 additions and 12 deletions

View file

@ -138,7 +138,7 @@ int main(int argc, char *argv[]) {
if (isitinbuf) nvpbuf++;
if (isitinmain) nvp++;
}
nvpbuf += 6*(NGUARD+1)*(NGUARD+1); /* number of guard
points */
@ -305,8 +305,16 @@ int main(int argc, char *argv[]) {
exitcode = vorvol(deladjs, points, intpoints, adjs[i].nadj, &(vols[i]));
vols[i] *= (float)np;
if (i % 1000 == 0)
printf("%d: %d, %f\n",i,adjs[i].nadj,vols[i]);
//if (i % 1000 == 0)
// printf("%d: %d, %f\n",i,adjs[i].nadj,vols[i]);
}
// PMS - reset number of adjancies to not include links to border guards
for (i=0; i<nvp; i++) {
int nActual = 0;
for (j = 0; j < adjs[i].nadj; j++)
if (adjs[i].adj[j] < nvp) nActual++;
adjs[i].nadj = nActual;
}
/* Get the adjacencies back to their original values */
@ -314,7 +322,7 @@ int main(int argc, char *argv[]) {
for (i=0; i<nvp; i++)
for (j = 0; j < adjs[i].nadj; j++)
adjs[i].adj[j] = orig[adjs[i].adj[j]];
totalvol = 0.;
for (i=0;i<nvp; i++) {
totalvol += (double)vols[i];