Commit 0db1c66b authored by Adrian-Diaz's avatar Adrian-Diaz
Browse files

triclinic compatibility

parent 851a2280
Loading
Loading
Loading
Loading
+29 −11
Original line number Diff line number Diff line
@@ -113,11 +113,6 @@ void CommTiled::init()
  int bufextra_old = bufextra;
  init_exchange();
  if (bufextra > bufextra_old) grow_send(maxsend+bufextra,2);

  // temporary restrictions

  if (triclinic)
    error->all(FLERR,"Cannot yet use comm_style tiled with triclinic box");
}

/* ----------------------------------------------------------------------
@@ -132,14 +127,22 @@ void CommTiled::setup()
  // domain properties used in setup method and methods it calls

  dimension = domain->dimension;
  int *periodicity = domain->periodicity;
  int ntypes = atom->ntypes;

  if (triclinic == 0) {
    prd = domain->prd;
    boxlo = domain->boxlo;
    boxhi = domain->boxhi;
    sublo = domain->sublo;
    subhi = domain->subhi;

  int *periodicity = domain->periodicity;
  int ntypes = atom->ntypes;
  } else {
    prd = domain->prd_lamda;
    boxlo = domain->boxlo_lamda;
    boxhi = domain->boxhi_lamda;
    sublo = domain->sublo_lamda;
    subhi = domain->subhi_lamda;
  }

  // set function pointers

@@ -189,6 +192,13 @@ void CommTiled::setup()
    cutghost[1] = cut * length1;
    length2 = h_inv[2];
    cutghost[2] = cut * length2;
    if (mode == Comm::MULTI){
      for (i = 1; i <= ntypes; i++) {
        cutghostmulti[i][0] *= length0;
        cutghostmulti[i][1] *= length1;
        cutghostmulti[i][2] *= length2;
      }
    }
  }

  if ((periodicity[0] && cutghost[0] > prd[0]) ||
@@ -347,6 +357,10 @@ void CommTiled::setup()
            pbc_flag[iswap][i] = 1;
            if (idir == 0) pbc[iswap][i][idim] = 1;
            else pbc[iswap][i][idim] = -1;
            if (triclinic) {
              if (idim == 1) pbc[iswap][i][5] = pbc[iswap][i][idim];
              if (idim == 2) pbc[iswap][i][4] = pbc[iswap][i][3] = pbc[iswap][i][idim];
            }
            sbox[0] = MAX(oboxlo[0],lo2[0]);
            sbox[1] = MAX(oboxlo[1],lo2[1]);
            sbox[2] = MAX(oboxlo[2],lo2[2]);
@@ -397,6 +411,10 @@ void CommTiled::setup()
            pbc_flag[iswap][i] = 1;
            if (idir == 0) pbc[iswap][i][idim] = 1;
            else pbc[iswap][i][idim] = -1;
            if (triclinic) {
              if (idim == 1) pbc[iswap][i][5] = pbc[iswap][i][idim];
              if (idim == 2) pbc[iswap][i][4] = pbc[iswap][i][3] = pbc[iswap][i][idim];
            }
            sbox[0] = MAX(oboxlo[0],lo2[0]);
            sbox[1] = MAX(oboxlo[1],lo2[1]);
            sbox[2] = MAX(oboxlo[2],lo2[2]);
+86 −0
Original line number Diff line number Diff line
---
lammps_version: 21 Jul 2020
date_generated: Mon Aug  3 16:06:24 202
epsilon: 5e-11
prerequisites: ! |
  pair colloid
pre_commands: ! |
  variable units index lj
post_commands: ! |
  neighbor 1.0 multi
  comm_style brick
  comm_modify mode multi
  change_box all triclinic
input_file: in.colloid
pair_style: colloid 12.5
pair_coeff: ! |
  1 1  1.0 1.0 5.0 5.0 12.5
  1 2  5.0 1.0 5.0 0.0 7.0
  2 2 10.0 1.0 0.0 0.0 2.5
extract: ! ""
natoms: 27
init_vdwl: -0.250265293649414
init_coul: 0
init_stress: ! |2-
   1.6693554149342913e+00  1.1752557173260270e+01  1.0084916384631617e+00 -5.5164068587184527e+00  3.4448938909043431e-01  2.8524984331506258e+00
init_forces: ! |2
    1  7.2698902368314056e-02  7.6228314794484775e-02  1.0726717051410484e-01
    2 -4.1487528743785314e-02 -9.8021436494101673e-03  1.5709289685835706e-01
    3 -6.4514052467860251e-03 -1.0256365723614392e-03 -6.5497018575823654e-04
    4 -1.5879716299045554e-02 -1.3313626328419375e-02 -1.1960220488237115e-02
    5 -3.6475105049685402e-02 -2.2992583864092257e-02  1.6166097759476136e-02
    6  5.4769180740248721e-04 -2.4426732691233789e-02 -3.6444902428178980e-02
    7  1.2006858444817004e-03  8.6089326153587114e-04  4.8033026817420977e-05
    8  6.2576206692511894e-03  1.1942031910109577e-03  8.5598267089392085e-04
    9  1.8304752931477772e+00 -4.3380838069003760e+00 -1.2763141904695217e+00
   10  1.0456768773213965e-01 -2.8797785965171453e-02 -1.0768387599117879e-02
   11  7.4457152913473112e-04  5.3043528596594623e-05  1.1848179655097060e-04
   12  1.8275344545112628e-04  4.1948901318387846e-04  9.8529270880004928e-05
   13 -1.1259391902077470e-01  1.6396787556459839e-02 -9.0455786475091124e-04
   14 -2.4411189619188785e-04 -5.8284002050384879e-05  1.8046434825690733e-05
   15 -2.9421019290851403e-03 -7.4831176382853144e-04 -1.2326238660052020e-03
   16  2.2461127490925330e+00 -1.1352527056039741e+00  2.3679980564815386e+00
   17 -1.8842133286566962e-02  1.7091738246445273e-02 -1.4247568288438442e-02
   18  1.0304762560041125e-01  7.8062023784307467e-03  1.9257495383127633e-02
   19 -4.3351162132476757e-02 -2.2995928402219718e-02 -1.1392806036292676e-02
   20  0.0000000000000000e+00  0.0000000000000000e+00  0.0000000000000000e+00
   21  4.2501672350519284e-02  6.8582908647593938e-03 -6.8677246013076107e-02
   22 -2.2945818607502839e+00  1.1603382884260454e+00 -2.3594708301087310e+00
   23  2.5606115583434265e-02 -1.0270997331622232e-01 -1.1451933998746673e-01
   24 -8.0648597970214809e-04  1.1943689027481706e-04 -9.8441554909815322e-04
   25  6.1663239781204458e-04 -2.9236784591333030e-04  3.5387752678593654e-03
   26 -1.7197958284241512e+00  4.3707144027711022e+00  1.2977194913045054e+00
   27 -1.4110864281012736e-01  4.2418795982941855e-02 -6.2606997884263993e-02
run_vdwl: 0.0367090517931737
run_coul: 0
run_stress: ! |2-
   3.2547164843322691e+00  1.2822272288053391e+01  2.9381904014809663e+00 -6.5755478139675931e+00  2.3052669923975411e+00  1.5140903126232879e+00
run_forces: ! |2
    1  5.8196197291625715e-02  7.7034242946349946e-02  1.0456829776646254e-01
    2 -4.1552988555246327e-02 -1.1540194679885485e-02  1.5467509805429100e-01
    3 -6.6558201800471870e-03 -9.8090417095619679e-04 -4.5870088099424396e-04
    4 -1.6184658518487705e-02 -1.2048418808706472e-02 -1.2190156970179262e-02
    5 -3.3316803862839438e-02 -2.1131495092834646e-02  1.4963198384123119e-02
    6  4.7038346343352116e-04 -3.0307837184768524e-02 -4.3608938525025766e-02
    7  1.0396652127649081e-03  7.5317021954246196e-04  4.1930480907776011e-05
    8  6.4423457305213877e-03  1.1468835414812518e-03  6.8526191116136061e-04
    9  1.7585178109228492e+00 -4.3823551563819700e+00 -1.2468505588145766e+00
   10  1.3392700382201897e-01 -2.9471624976996433e-02 -9.0915578208389906e-03
   11  7.9839096035526857e-04  6.5881060273478105e-05  1.3840230606223543e-04
   12  1.8540711169000120e-04  3.9935505493718929e-04  1.2187452986589205e-04
   13 -1.4075050026169886e-01  1.8204883476184704e-02 -2.0674384501958810e-03
   14 -2.4452271394244688e-04 -5.7393635529214755e-05  1.6908863929994165e-05
   15 -3.4577717467029726e-03 -9.3350658134032599e-04 -1.5696623820874889e-03
   16  5.4762334392971725e+00 -3.3427628201841184e+00  5.8008787111000641e+00
   17 -1.7123087875076635e-02  1.5861563712562771e-02 -1.3049347364948664e-02
   18  1.1434938302418582e-01  8.6112942994291432e-03  2.0292892978926169e-02
   19 -3.8092989065812294e-02 -1.9963855292591683e-02 -9.8568020007968223e-03
   20  0.0000000000000000e+00  0.0000000000000000e+00  0.0000000000000000e+00
   21  4.1446743356056415e-02  8.4986882092498717e-03 -7.1565549648589466e-02
   22 -5.5269240273286284e+00  3.3665609275390551e+00 -5.7932229791606371e+00
   23  1.5450935830291834e-02 -1.0557581147017484e-01 -1.1539704280712981e-01
   24 -7.5222270706101302e-04  1.1318969997713211e-04 -9.2841932954143037e-04
   25  1.1778375109233736e-03 -7.1254208855308434e-05  3.8035457799329383e-03
   26 -1.6497221843622811e+00  4.4233264004281976e+00  1.2763820593322663e+00
   27 -1.3345796635606427e-01  3.6623792481486235e-02 -5.6711027332452084e-02
...