From 4b12054f66345abc40796dfbacfa65ef93f07c39 Mon Sep 17 00:00:00 2001 From: Sebastian Held Date: Tue, 30 Mar 2010 13:10:23 +0200 Subject: [PATCH] merged --- FDTD/operator.cpp | 14 ++++++++++++++ FDTD/operator.h | 1 + 2 files changed, 15 insertions(+) diff --git a/FDTD/operator.cpp b/FDTD/operator.cpp index a3fb64a..4cd1484 100644 --- a/FDTD/operator.cpp +++ b/FDTD/operator.cpp @@ -248,6 +248,20 @@ unsigned int Operator::CalcGaussianPulsExcitation(double f0, double fc) return GetNyquistNum(f0+fc); } +unsigned int Operator::CalcDiracPulsExcitation() +{ + if (dT==0) return 0; + + ExciteLength = 1; + cerr << "Operator::CalcDiracPulsExcitation: Length of the excite signal: " << ExciteLength << " timesteps" << endl; + delete[] ExciteSignal; + ExciteSignal = new FDTD_FLOAT[ExciteLength+1]; + ExciteSignal[0]=0.0; + ExciteSignal[1]=1.0; + + return 1; +} + unsigned int Operator::CalcSinusExcitation(double f0, int nTS) { if (dT==0) return 0; diff --git a/FDTD/operator.h b/FDTD/operator.h index 12ed41a..f17197c 100644 --- a/FDTD/operator.h +++ b/FDTD/operator.h @@ -41,6 +41,7 @@ public: virtual unsigned int CalcGaussianPulsExcitation(double f0, double fc); //! Calculate a sinusoidal excitation with frequency f0 and a duration of nTS number of timesteps \return number of Nyquist timesteps virtual unsigned int CalcSinusExcitation(double f0, int nTS); + virtual unsigned int CalcDiracPulsExcitation(); virtual void ApplyElectricBC(bool* dirs); //applied by default to all boundaries virtual void ApplyMagneticBC(bool* dirs);