Examining components¶
After parsing a component, you can examine the values of the component parameters by
using the finesse.element.ModelElement.info()
method:
import finesse
from finesse.components import Laser
m = finesse.Model()
m.add(Laser("l1", P=1))
print(m.l1.info())
Laser l1
Parameters:
┌──────────────┬─────────────┐
│ Description │ Value │
╞══════════════╪═════════════╡
│ Power │ 1.0 W │
├──────────────┼─────────────┤
│ Phase │ 0.0 degrees │
├──────────────┼─────────────┤
│ Frequency │ 0.0 Hz │
├──────────────┼─────────────┤
│ Signals only │ False │
└──────────────┴─────────────┘
If you have defined a parameter value using a reference, this will be reflected in the info table:
import finesse
from finesse.components import Laser
m = finesse.Model()
m.add(Laser("l1", P=1))
m.add(Laser("l2", P=m.l1.P.ref))
print(m.l2.info())
Laser l2
Parameters:
┌──────────────┬─────────────┐
│ Description │ Value │
╞══════════════╪═════════════╡
│ Power │ l1.P W │
├──────────────┼─────────────┤
│ Phase │ 0.0 degrees │
├──────────────┼─────────────┤
│ Frequency │ 0.0 Hz │
├──────────────┼─────────────┤
│ Signals only │ False │
└──────────────┴─────────────┘
If you want to see the current numerical value for all the parameters, pass
eval_refs=True
:
import finesse
from finesse.components import Laser
m = finesse.Model()
m.add(Laser("l1", P=1))
m.add(Laser("l2", P=m.l1.P.ref))
print(m.l2.info(eval_refs=True))
Laser l2
Parameters:
┌──────────────┬─────────────┐
│ Description │ Value │
╞══════════════╪═════════════╡
│ Power │ 1.0 W │
├──────────────┼─────────────┤
│ Phase │ 0.0 degrees │
├──────────────┼─────────────┤
│ Frequency │ 0.0 Hz │
├──────────────┼─────────────┤
│ Signals only │ False │
└──────────────┴─────────────┘