1
0
mirror of https://github.com/paboyle/Grid.git synced 2025-11-05 06:19:31 +00:00

Compare commits

...

2 Commits

Author SHA1 Message Date
Peter Boyle
7dfd207ebb Need to protect pole operatoins to only take place on IcosahedralVertices mesh 2025-10-08 15:18:31 -04:00
Peter Boyle
3a65a096f2 Nd verbose 2025-10-07 18:49:00 -04:00
5 changed files with 12 additions and 3 deletions

View File

@@ -108,6 +108,8 @@ public:
int southPoleOsites;
virtual int Icosahedral(void) override { return 1;}
virtual int IcosahedralVertices(void) override { return meshType==IcosahedralVertices;}
virtual int IcosahedralEdges (void) override { return meshType==IcosahedralEdges;}
virtual int ownsNorthPole(void) const override { return hasNorthPole; };
virtual int NorthPoleOsite(void) const override { return northPoleOsite; };
virtual int NorthPoleOsites(void) const override { return northPoleOsites; };

View File

@@ -88,6 +88,8 @@ public:
// Icosahedral decisions
virtual int Icosahedral(void) { return 0;}
virtual int IcosahedralVertices(void) { return 0;}
virtual int IcosahedralEdges (void) { return 0;}
virtual int ownsNorthPole(void) const { return 0; };
virtual int ownsSouthPole(void) const { return 0; };
virtual int NorthPoleOsite(void) const { return 0; };

View File

@@ -58,7 +58,7 @@ template<class iobj> inline void LatticeCoordinate(Lattice<iobj> &l,int mu)
});
}
if (grid->Icosahedral()) {
if (grid->IcosahedralVertices()) {
uint64_t psites=1;
Coordinate perpdims;
typename iobj::scalar_object ss;
@@ -95,7 +95,9 @@ template<class iobj> inline void LatticePole(Lattice<iobj> &l,NorthSouth pole)
l=Zero();
if (grid->Icosahedral()) {
assert(grid->IcosahedralVertices());
if (grid->IcosahedralVertices()) {
uint64_t psites=1;
Coordinate perpdims;
sobj ss;

View File

@@ -160,6 +160,7 @@ void peekPole(sobj &s,const Lattice<vobj> &l,const Coordinate &orthog,NorthSouth
GridBase *grid=l.Grid();
assert(grid->Icosahedral());
assert(grid->IcosahedralVertices());
int Nsimd = grid->Nsimd();
@@ -220,6 +221,7 @@ void pokePole(const sobj &s,Lattice<vobj> &l,const Coordinate &orthog,NorthSouth
GridBase *grid=l.Grid();
assert(grid->Icosahedral());
assert(grid->IcosahedralVertices());
grid->Broadcast(grid->BossRank(),s);

View File

@@ -226,7 +226,7 @@ case ${ac_Nd} in
4)
AC_DEFINE([Config_Nd],[4],[Gauge field dimension Nd]);;
*)
AC_MSG_ERROR(["Unsupport gauge group choice Nc = ${ac_Nc}"]);;
AC_MSG_ERROR(["Unsupport dimension Nd = ${ac_Nd}"]);;
esac
############### Symplectic group
@@ -835,6 +835,7 @@ os (target) : $target_os
compiler vendor : ${ax_cv_cxx_compiler_vendor}
compiler version : ${ax_cv_gxx_version}
----- BUILD OPTIONS -----------------------------------
Nd : ${ac_Nd}
Nc : ${ac_Nc}
SIMD : ${ac_SIMD}${SIMD_GEN_WIDTH_MSG}
Threading : ${ac_openmp}