finesse.model.Model.get_parameters

Model.get_parameters(*, include=None, exclude=None, are_changing=None, are_symbolic=None)[source]

Get all or a filtered list of parameters from all elements in the model.

Parameters
include[iterable|str], optional

Parameters that should be included.

If a single string is given it can be a Unix file style wildcard (See fnmatch). A value of None means everything is included.

If an iterable is provided it must be a list of names or Parameter objects.

exclude[iterable|str], optional

Parameters that should not be included.

If a single string is given it can be a Unix file style wildcard (See fnmatch). A value of None means nothing is excluded.

If an iterable is provided it must be a list of names or Parameter objects.

are_changingboolean, optional

Filter if Parameter has a value that will be marked as changing during a simulation. Note this might be a user chaniging variable or a symbolic value whose arguments are changing.

are_symbolicboolean, optional

Filter if Parameter has a symbolic value. If set to None, not filtering is done.

Returns
parameterslist

List of filtered Parameters

Examples

>>> model = finesse.Model()
>>> model.parse('''
... l l1
... l l2
... lens L1 f=100
... link(l1, L1, l2)
... pd P1 L1.p1.o
... pd P2 L1.p2.o
... ''')
>>> print(model.get_parameters(include='*f*'))
>>> print(model.get_parameters(include='*f*', exclude='l2*'))
[<fsig.f=None @ 0x7f7fc449a580>, <l1.f=0.0 @ 0x7f7fc449a340>,
 <l2.f=0.0 @ 0x7f7fc449a880>, <L1.f=100.0 @ 0x7f7fc449aac0>]
[<fsig.f=None @ 0x7f7fc449a580>, <l1.f=0.0 @ 0x7f7fc449a340>,
 <L1.f=100.0 @ 0x7f7fc449aac0>]