ProcessModeMatch: Now uses drawing units for its mode functions & docu update
parent
9d3761b1d0
commit
5540e49090
|
@ -116,7 +116,7 @@ void ProcessModeMatch::InitProcess()
|
||||||
|
|
||||||
unsigned int pos[3] = {0,0,0};
|
unsigned int pos[3] = {0,0,0};
|
||||||
double discLine[3] = {0,0,0};
|
double discLine[3] = {0,0,0};
|
||||||
double gridDelta = Op->GetGridDelta();
|
double gridDelta = 1; // 1 -> mode-matching function is definied in drawing units...
|
||||||
double var[7];
|
double var[7];
|
||||||
pos[m_ny] = start[m_ny];
|
pos[m_ny] = start[m_ny];
|
||||||
discLine[m_ny] = Op->GetDiscLine(m_ny,pos[m_ny],m_dualMesh);
|
discLine[m_ny] = Op->GetDiscLine(m_ny,pos[m_ny],m_dualMesh);
|
||||||
|
|
|
@ -22,6 +22,11 @@
|
||||||
|
|
||||||
class CSFunctionParser;
|
class CSFunctionParser;
|
||||||
|
|
||||||
|
//! Processing class to match a mode to a given analytic function and return the integral value.
|
||||||
|
/*!
|
||||||
|
The analytric function has to be definied in drawing units.
|
||||||
|
It will return the integral value and the mode purity as a secondary value.
|
||||||
|
*/
|
||||||
class ProcessModeMatch : public ProcessIntegral
|
class ProcessModeMatch : public ProcessIntegral
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -31,7 +36,9 @@ public:
|
||||||
virtual void InitProcess();
|
virtual void InitProcess();
|
||||||
virtual void Reset();
|
virtual void Reset();
|
||||||
|
|
||||||
|
//! Set the field type (0 electric field, 1 magnetic field)
|
||||||
void SetFieldType(int type);
|
void SetFieldType(int type);
|
||||||
|
//! Set the mode function in the given direction ny. For example: SetModeFunction(0,"cos(pi/1000*x)*sin(pi/500*y)");
|
||||||
void SetModeFunction(int ny, string function);
|
void SetModeFunction(int ny, string function);
|
||||||
|
|
||||||
virtual int GetNumberOfIntegrals() const {return 2;}
|
virtual int GetNumberOfIntegrals() const {return 2;}
|
||||||
|
|
Loading…
Reference in New Issue