Expression

Type:string
Range:[]
Default:-/-
Appearance:simple
Excludes:Function, Module

This parameter is used to define a tensor field of type “electric field strength” by means of a Python expression within the .jcm input file. The syntax is the following:

ElectricFieldStrength {
  Python {
     Expression = " ... # your python scripting
                    ...
                    value = ... # set return value

                   "

     # define one or more parameters
     Parameter {
       Name = "Para1"
       ...
     }
     Parameter {
       Name = "Para2"
       ...

     }
  }
}

The string value Expression has to be valid Python code and is interpreted in the following way:

  • The NumPy-package is automatically imported when evaluating the expression.
  • Any parameter as defined by a Parameter section is available within the Python expression as an NumPy object named accordingly to the value of the parameter Name.
  • The position \pvec{x} and the time t are available as NumPy objects name X and t respectively.
  • For time-harmonic electromagnetic problems the angular frequency \omega can be addressed by EMOmega, (EM stands for electromagnetic).
  • The expression must define a NumPy object named value which contains the return value of appropriate shape (electric field strength is a 3-vector).
  • Keep in mind the Python indentation rule.

As a practical example we want to define a plane wave with amplitude \VField{A} and wave vector \pvec{k}:

\begin{eqnarray*}
\VField{E} & = & \VField{A} \cdot e^{i \pvec{k}^{\mathrm{T}} \cdot \pvec{x}}
\end{eqnarray*}

This tensor field has the complex-valued vector parameters \VField{A} and \pvec{k}. The inline Python definition may look like this:

ElectricFieldStrength {
  Python {
    Expression = "value = exp(1j*dot(k.T, X))*A"

    Parameter {
       Name = "k"
       VectorValue = ... # set wave vector here
     }
     Parameter {
       Name = "A"
       VectorValue = ... # set amplitude vector here
     }
   }
 }

We give more elaborated examples with field parameter dependencies in