diff --git a/FDTD/operator.cpp b/FDTD/operator.cpp index 42e61f9..d73d208 100644 --- a/FDTD/operator.cpp +++ b/FDTD/operator.cpp @@ -1464,6 +1464,8 @@ double Operator::CalcTimestep_Var1() dT=1e200; double newT; unsigned int pos[3]; + unsigned int smallest_pos[3]; + unsigned int smallest_n; unsigned int ipos; unsigned int ipos_PM; unsigned int ipos_PPM; @@ -1485,7 +1487,12 @@ double Operator::CalcTimestep_Var1() ipos_PPM= MainOp->Shift(nPP,-1); MainOp->ResetShift(); newT = 2/sqrt( ( 4/EC_L[nP][ipos] + 4/EC_L[nP][ipos_PPM] + 4/EC_L[nPP][ipos] + 4/EC_L[nPP][ipos_PM]) / EC_C[n][ipos] ); - if ((newT0.0)) dT=newT; + if ((newT0.0)) + { + dT=newT; + smallest_pos[0]=pos[0];smallest_pos[1]=pos[1];smallest_pos[2]=pos[2]; + smallest_n = n; + } } } } @@ -1495,7 +1502,10 @@ double Operator::CalcTimestep_Var1() cerr << "Operator::CalcTimestep: Timestep is zero... this is not supposed to happen!!! exit!" << endl; exit(3); } -// cerr << "Operator Timestep: " << dT << endl; + if (g_settings.GetVerboseLevel()>1) + { + cout << "Operator::CalcTimestep_Var1: Smallest timestep (" << dT << "s) found at position: " << smallest_n << " : " << smallest_pos[0] << ";" << smallest_pos[1] << ";" << smallest_pos[2] << endl; + } return 0; } @@ -1518,6 +1528,8 @@ double Operator::CalcTimestep_Var3() // cout << "Operator::CalcTimestep(): Using timestep algorithm by Andreas Rennings, Dissertation @ University Duisburg-Essen, 2008, pp. 76, eq. 4.77 ff." << endl; double newT; unsigned int pos[3]; + unsigned int smallest_pos[3]; + unsigned int smallest_n; unsigned int ipos; double w_total=0; double wqp=0,wt1=0,wt2=0; @@ -1564,7 +1576,11 @@ double Operator::CalcTimestep_Var3() w_total = wqp + wt1 + wt2; newT = 2/sqrt( w_total ); if ((newT0.0)) + { dT=newT; + smallest_pos[0]=pos[0];smallest_pos[1]=pos[1];smallest_pos[2]=pos[2]; + smallest_n = n; + } } } } @@ -1574,7 +1590,10 @@ double Operator::CalcTimestep_Var3() cerr << "Operator::CalcTimestep: Timestep is zero... this is not supposed to happen!!! exit!" << endl; exit(3); } -// cerr << "Operator Timestep: " << dT << endl; + if (g_settings.GetVerboseLevel()>1) + { + cout << "Operator::CalcTimestep_Var3: Smallest timestep (" << dT << "s) found at position: " << smallest_n << " : " << smallest_pos[0] << ";" << smallest_pos[1] << ";" << smallest_pos[2] << endl; + } return 0; }