Commit 782a3280 authored by Axel Kohlmeyer's avatar Axel Kohlmeyer
Browse files

avoid memory leaks when using kspace solvers for lennard-jones

parent e81ae21d
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -51,8 +51,6 @@ PairBuckLongCoulLong::PairBuckLongCoulLong(LAMMPS *lmp) : Pair(lmp)
  dispersionflag = ewaldflag = pppmflag = 1;
  respa_enable = 1;
  writedata = 1;
  ftable = NULL;
  fdisptable = NULL;
}

/* ----------------------------------------------------------------------
@@ -134,6 +132,7 @@ PairBuckLongCoulLong::~PairBuckLongCoulLong()
    memory->destroy(offset);
  }
  if (ftable) free_tables();
  if (fdisptable) free_disp_tables();
}

/* ----------------------------------------------------------------------
@@ -288,8 +287,8 @@ void PairBuckLongCoulLong::init_style()
  if (ewald_order&(1<<6)) g_ewald_6 = force->kspace->g_ewald_6;
  // setup force tables

  if (ncoultablebits) init_tables(cut_coul,cut_respa);
  if (ndisptablebits) init_tables_disp(cut_buck_global);
  if (ncoultablebits && (ewald_order&(1<<1))) init_tables(cut_coul,cut_respa);
  if (ndisptablebits && (ewald_order&(1<<6))) init_tables_disp(cut_buck_global);
}

/* ----------------------------------------------------------------------
+3 −2
Original line number Diff line number Diff line
@@ -130,6 +130,7 @@ PairLJLongCoulLong::~PairLJLongCoulLong()
    memory->destroy(offset);
  }
  if (ftable) free_tables();
  if (fdisptable) free_disp_tables();
}

/* ----------------------------------------------------------------------
@@ -282,8 +283,8 @@ void PairLJLongCoulLong::init_style()

  // setup force tables

  if (ncoultablebits) init_tables(cut_coul,cut_respa);
  if (ndisptablebits) init_tables_disp(cut_lj_global);
  if (ncoultablebits && (ewald_order&(1<<1))) init_tables(cut_coul,cut_respa);
  if (ndisptablebits && (ewald_order&(1<<6))) init_tables_disp(cut_lj_global);

}

+2 −0
Original line number Diff line number Diff line
@@ -87,6 +87,8 @@ Pair::Pair(LAMMPS *lmp) : Pointers(lmp)
  ndisptablebits = 12;
  tabinner = sqrt(2.0);
  tabinner_disp = sqrt(2.0);
  ftable = NULL;
  fdisptable = NULL;

  allocated = 0;
  suffix_flag = Suffix::NONE;