Commit 1e182f64 authored by Giovanni La Mura's avatar Giovanni La Mura
Browse files

Use the revised TFRFME class interface in calculations

parent 64b58343
Loading
Loading
Loading
Loading
+17 −18
Original line number Diff line number Diff line
@@ -110,20 +110,20 @@ void frfme(string data_file, string output_path) {
    int nxv, nyv, nzv;
    if (tfrfme == NULL) tfrfme = TFRFME::from_binary(tfrfme_name, "HDF5");
    if (tfrfme != NULL) {
      lmode = (int)tfrfme->get_param("lmode");
      lm = (int)tfrfme->get_param("lm");
      nkv = (int)tfrfme->get_param("nkv");
      nxv = (int)tfrfme->get_param("nxv");
      nyv = (int)tfrfme->get_param("nyv");
      nzv = (int)tfrfme->get_param("nzv");
      vk = tfrfme->get_param("vk");
      exri = tfrfme->get_param("exri");
      an = tfrfme->get_param("an");
      ff = tfrfme->get_param("ff");
      tra = tfrfme->get_param("tra");
      spd = tfrfme->get_param("spd");
      frsh = tfrfme->get_param("frsh");
      exril = tfrfme->get_param("exril");
      lmode = tfrfme->lmode;
      lm = tfrfme->lm;
      nkv = tfrfme->nkv;
      nxv = tfrfme->nxv;
      nyv = tfrfme->nyv;
      nzv = tfrfme->nzv;
      vk = tfrfme->vk;
      exri = tfrfme->exri;
      an = tfrfme->an;
      ff = tfrfme->ff;
      tra = tfrfme->tra;
      spd = tfrfme->spd;
      frsh = tfrfme->frsh;
      exril = tfrfme->exril;
      string tempname2 = output_path + "/c_TEMPTAPE2.hd5";
      if (tt2 == NULL) tt2 = Swap2::from_binary(tempname2, "HDF5");
      if (tt2 != NULL) {
@@ -299,7 +299,7 @@ void frfme(string data_file, string output_path) {
	int nzs = nzsh * 2;
	int nzv = nzs + 1;
	int nzshpo = nzsh + 1;
	tfrfme_size = TFRFME::get_memory_requirement(lmode, lm, nkv, nxv, nyv, nzv);
	tfrfme_size = TFRFME::get_size(lm, nkv, nxv, nyv, nzv);
	size_mb = 1.0 * tfrfme_size / 1024.0 / 1024.0;
	printf("TFRFME: %.2lg MB\n", size_mb);
	size_mb = 1.0 * (swap1_size + swap2_size + tfrfme_size) / 1024.0 / 1024.0;
@@ -308,7 +308,6 @@ void frfme(string data_file, string output_path) {
	double *_xv = tfrfme->get_x();
	double *_yv = tfrfme->get_y();
	double *_zv = tfrfme->get_z();
	dcomplex **_wsum = tfrfme->get_matrix();
#ifdef USE_NVTX
	nvtxRangePop();
#endif
@@ -391,7 +390,7 @@ void frfme(string data_file, string output_path) {
	      } // jx50
	    } // jy50 loop
	    int ixyz = 0;
	    for (int wj = 0; wj < nrvc; wj++) _wsum[j80 - 1][wj] = cc0;
	    for (int wj = 0; wj < nrvc; wj++) tfrfme->wsum[j80 - 1][wj] = cc0;
	    for (int iz75 = 0; iz75 < nzv; iz75++) {
	      double z = _zv[iz75] + frsh;
	      for (int iy70 = 0; iy70 < nyv; iy70++) {
@@ -417,7 +416,7 @@ void frfme(string data_file, string output_path) {
		    if (jy60 == 0 || jy60 == nkv - 1) sumx *= 0.5;
		    sumy += sumx;
		  } // jy60 loop
		  _wsum[j80 - 1][ixyz - 1] = sumy * delks;
		  tfrfme->wsum[j80 - 1][ixyz - 1] = sumy * delks;
		} // ix65 loop
	      } // iy70 loop
	    } // iz75 loop
+15 −17
Original line number Diff line number Diff line
@@ -82,7 +82,6 @@ void lffft(string data_file, string output_path) {
  dcomplex **amd = NULL;
  int **indam = NULL;
  dcomplex *tmsm = NULL, *tmse = NULL, **tms = NULL;
  dcomplex **_wsum = NULL;
  int jft, jss, jtw;
  int is, le, nvam = 0;
  double vks, exris;
@@ -188,26 +187,25 @@ void lffft(string data_file, string output_path) {
      int lmode, lm, nkv, nxv, nyv, nzv;
      double vk, exri, an, ff, tra;
      double spd, frsh, exril;
      lmode = (int)tfrfme->get_param("lmode");
      lm = (int)tfrfme->get_param("lm");
      nkv = (int)tfrfme->get_param("nkv");
      nxv = (int)tfrfme->get_param("nxv");
      nyv = (int)tfrfme->get_param("nyv");
      nzv = (int)tfrfme->get_param("nzv");
      _wsum = tfrfme->get_matrix();
      lmode = tfrfme->lmode;
      lm = tfrfme->lm;
      nkv = tfrfme->nkv;
      nxv = tfrfme->nxv;
      nyv = tfrfme->nyv;
      nzv = tfrfme->nzv;
      double *_xv = tfrfme->get_x();
      double *_yv = tfrfme->get_y();
      double *_zv = tfrfme->get_z();
      if (lm >= le) {
	vk = tfrfme->get_param("vk");
	exri = tfrfme->get_param("exri");
	an = tfrfme->get_param("an");
	ff = tfrfme->get_param("ff");
	tra = tfrfme->get_param("tra");
	vk = tfrfme->vk;
	exri = tfrfme->exri;
	an = tfrfme->an;
	ff = tfrfme->ff;
	tra = tfrfme->tra;
	if (vk == vks && exri == exris) {
	  spd = tfrfme->get_param("spd");
	  frsh = tfrfme->get_param("frsh");
	  exril = tfrfme->get_param("exril");
	  spd = tfrfme->spd;
	  frsh = tfrfme->frsh;
	  exril = tfrfme->exril;
	  bool goto160 = false;
	  if (jft <= 0) {
	    zpv = new double***[le];
@@ -316,7 +314,7 @@ void lffft(string data_file, string output_path) {
		  //binary_input.read(reinterpret_cast<char *>(&vimag), sizeof(double));
		  int row = i;
		  int col = (nyv * nxv * iz475) + (nxv * iy475) + ix475;
		  dcomplex value = _wsum[row][col];
		  dcomplex value = tfrfme->wsum[row][col];
		  if (lm <= le) {
		    ws[i] = value;
		  } else { // label 170