void D0Finder::fill(){ kaon_saver.fill(getKaon()); pion_saver.fill(getPion()); d0_saver.fill(getD0()); vrt_saver.fill(getVrt()); masa = getMass(); }
cpuCSRMatrix & MODEL::getLaplace0_ignoreBoundary() { if(laplace0_ignoreBorder_valid == VALID){ return *laplace0_ignoreBorder; } else{ QTime timer; timer.start(); if(laplace0_ignoreBorder_valid == INVALID){ laplace0_ignoreBorder = new cpuCSRMatrix(); } *laplace0_ignoreBorder = getCoderiv1_ignoreBoundary() * getD0(); cout << "*laplace0_ignoreBoundary created: " << timer.restart() <<"\n"; laplace0_ignoreBorder_valid = VALID; return *laplace0_ignoreBorder; } }
cpuCSRMatrix & MODEL::getDualD1_T() { //the dual derivative D1 transposed is minus the d0 matrix. if(duald1_t_valid == VALID){ return *duald1_t; } else{ if(duald1_t_valid == INVALID){ duald1_t = new cpuCSRMatrix(); } *duald1_t = getD0(); *duald1_t *=-1; cout << "*Duald1_t created from d0 "<<"\n"; duald1_t_valid = VALID; return *duald1_t; } }
cpuCSRMatrix & MODEL::getLaplace0_mixed() { if(laplace0_mixed_valid == VALID){ return *laplace0_mixed; } else{ if(laplace0_mixed_valid== INVALID){ laplace0_mixed = new cpuCSRMatrix(); } cout<< "**************Laplace********\n"; QTime timer; timer.start(); cpuCSRMatrix & cod = getCoderiv1_mixed(); cout << "coderivative: " << timer.restart()<<"\n"; cpuCSRMatrix & d = getD0(); cout << "D0: " << timer.restart()<<"\n"; *laplace0_mixed =cod*d; cout << "cod*D0: " << timer.restart()<<"\n"; laplace0_mixed_valid = VALID; return *laplace0_mixed; } }