Welcome to LightWin’s documentation!
LightWin
- Installation
- Usage
- The
getmethod - Configuration
- Units and conventions
- Utility scripts
- Bibliography
- API Reference
- beam_calculation package
- config package
- core package
- accelerator package
- beam_parameters package
- commands package
- elements package
- em_fields package
- list_of_elements package
- transfer_matrix package
- beam_specs module
- files_specs module
- instruction module
- instructions_factory module
- particle module
- evaluator package
- failures package
- optimisation package
- scripts package
- tracewin_utils package
- ui package
- util package
- visualization package
- config_manager module
- constants module
- Examples
Todo
Precise that BeamParametersFactory and TransferMatrixFactory are mandatory.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/beam_calculation/beam_calculator.py:docstring of lightwin.beam_calculation.beam_calculator, line 8.)
Todo
default_field_map_folder has a wrong default value. Should take
path to the .dat file, that is not known at this point. Maybe
handle this directly in the InstructionsFactory or
whatever.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/beam_calculation/beam_calculator.py:docstring of lightwin.beam_calculation.beam_calculator.BeamCalculator._set_up_common_factories, line 3.)
Todo
update_reference_phase is currently unused, because it is not
useful once the propagation has been calculated. So… should I
keep it? Maybe it can be useful in post_optimisation_run_with_this,
or in scripts to convert the phase between the different
references, or when I want to save the .dat?
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/beam_calculation/beam_calculator.py:docstring of lightwin.beam_calculation.beam_calculator.BeamCalculator.run, line 3.)
Todo
Handle reference synchronous phase.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/beam_calculation/beam_calculator.py:docstring of lightwin.beam_calculation.beam_calculator.BeamCalculator.reference_phase, line 3.)
Todo
I think that this module could be greatly enhanced. I am not a Cython specialist and suggestions are welcome.
(The original entry is located in docstring of lightwin.beam_calculation.cy_envelope_1d.transfer_matrices, line 6.)
Todo
Field maps better to create the transfer matrix in one passage at the end?
(The original entry is located in docstring of lightwin.beam_calculation.cy_envelope_1d.transfer_matrices, line 10.)
Todo
the passing of the field maps is not clean at all
(The original entry is located in docstring of lightwin.beam_calculation.cy_envelope_1d.transfer_matrices, line 13.)
Todo
Patch in transfer matrix to get proper input transfer matrix. In future, input beam will not hold transf mat in anymore.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/beam_calculation/envelope_1d/simulation_output_factory.py:docstring of lightwin.beam_calculation.envelope_1d.simulation_output_factory.SimulationOutputFactoryEnvelope1D.run, line 3.)
Todo
Possible to use only lists here. May speed up the code, especially in _c. But numpy is fast, no?
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/beam_calculation/envelope_1d/transfer_matrices.py:docstring of lightwin.beam_calculation.envelope_1d.transfer_matrices, line 6.)
Todo
send beta as argument to avoid recomputing it each time
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/beam_calculation/envelope_1d/transfer_matrices.py:docstring of lightwin.beam_calculation.envelope_1d.transfer_matrices, line 10.)
Todo
Use e_func_complex() in z_field_map_rk4()?
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/beam_calculation/envelope_1d/transfer_matrices.py:docstring of lightwin.beam_calculation.envelope_1d.transfer_matrices, line 13.)
Todo
electric field interpolated twice: a first time for acceleration, and a second time to iterate itg_field. Maybe this could be done only once.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/beam_calculation/envelope_1d/transfer_matrices.py:docstring of lightwin.beam_calculation.envelope_1d.transfer_matrices, line 16.)
Todo
clean, fix, separate leapfrog integration in dedicated module
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/beam_calculation/envelope_1d/transfer_matrices.py:docstring of lightwin.beam_calculation.envelope_1d.transfer_matrices.z_field_map_leapfrog, line 3.)
Todo
Patch in transfer matrix to get proper input transfer matrix. In future, input beam will not hold transf mat in anymore.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/beam_calculation/envelope_3d/simulation_output_factory.py:docstring of lightwin.beam_calculation.envelope_3d.simulation_output_factory.SimulationOutputFactoryEnvelope3D.run, line 3.)
Todo
3D field maps?
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/beam_calculation/envelope_3d/transfer_matrices_p.py:docstring of lightwin.beam_calculation.envelope_3d.transfer_matrices_p, line 6.)
Todo
Maybe it would be clearer to compose r_xx, r_yy, r_zz. As an example, the zz_drift is used in several places.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/beam_calculation/envelope_3d/transfer_matrices_p.py:docstring of lightwin.beam_calculation.envelope_3d.transfer_matrices_p, line 9.)
Todo
Will be necessary to separate this module into several sub-packages
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/beam_calculation/envelope_3d/transfer_matrices_p.py:docstring of lightwin.beam_calculation.envelope_3d.transfer_matrices_p, line 13.)
Todo
more math, less numpy. look at envelope 1d version
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/beam_calculation/envelope_3d/transfer_matrices_p.py:docstring of lightwin.beam_calculation.envelope_3d.transfer_matrices_p, line 16.)
Todo
As I am working on floats and not on np arrays, maybe the functions from the cmath package would be more adapted?
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/beam_calculation/envelope_3d/transfer_matrices_p.py:docstring of lightwin.beam_calculation.envelope_3d.transfer_matrices_p._quadrupole_trigo_hyperbolic, line 3.)
Todo
fixme
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/beam_calculation/factory.py:docstring of lightwin.beam_calculation.factory.BeamCalculatorsFactory._patch_to_remove_misunderstood_key, line 3.)
Todo
different functions, for different outputs. At least, an _element_to_index and a _element_to_indexes. And also a different function for when the index element is desired.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/beam_calculation/simulation_output/factory.py:docstring of lightwin.beam_calculation.simulation_output.factory._element_to_index, line 7.)
Todo
Do I really need the r_zz_elt key??
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/beam_calculation/simulation_output/simulation_output.py:docstring of lightwin.beam_calculation.simulation_output.simulation_output, line 3.)
Todo
Do I really need z_abs? Envelope1D does not uses it while TraceWin does.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/beam_calculation/simulation_output/simulation_output.py:docstring of lightwin.beam_calculation.simulation_output.simulation_output, line 6.)
Todo
Transfer matrices are stored in TransferMatrix, but also in
BeamParameters.zdelta.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/beam_calculation/simulation_output/simulation_output.py:docstring of lightwin.beam_calculation.simulation_output.simulation_output, line 9.)
Todo
Maybe the synchronous phase model should appear somewhere in here?
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/beam_calculation/simulation_output/simulation_output.py:docstring of lightwin.beam_calculation.simulation_output.simulation_output, line 13.)
Todo
Fix output_data_in_tw_fashion
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/beam_calculation/simulation_output/simulation_output.py:docstring of lightwin.beam_calculation.simulation_output.simulation_output.SimulationOutput.compute_complementary_data, line 3.)
Todo
normalized or not???
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/beam_calculation/tracewin/beam_parameters_factory.py:docstring of lightwin.beam_calculation.tracewin.beam_parameters_factory.BeamParametersFactoryTraceWin._extract_emittance_for_99percent, line 3.)
Todo
fix possible unbound error for n_columns.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/beam_calculation/tracewin/simulation_output_factory.py:docstring of lightwin.beam_calculation.tracewin.simulation_output_factory._remove_incomplete_line, line 3.)
Todo
another possibly unbound error to handle
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/beam_calculation/tracewin/simulation_output_factory.py:docstring of lightwin.beam_calculation.tracewin.simulation_output_factory._add_dummy_data, line 6.)
Todo
Handle args such as hide.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/beam_calculation/tracewin/specs.py:docstring of lightwin.beam_calculation.tracewin.specs, line 3.)
Todo
This absolute phase thing should be fixed now. Check this.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/beam_calculation/tracewin/tracewin.py:docstring of lightwin.beam_calculation.tracewin.tracewin, line 16.)
Todo
Maybe I should also store the synchronous phase?
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/beam_calculation/tracewin/tracewin.py:docstring of lightwin.beam_calculation.tracewin.tracewin.TraceWin._save_cavities_entry_phases, line 8.)
Todo
Method to generate the .csv files of documentation from the tables, i.e. docs/manual/configuration_entries
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/config/config_manager.py:docstring of lightwin.config.config_manager, line 3.)
Todo
Not Pythonic at all.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/config/table_spec.py:docstring of lightwin.config.table_spec._remove_overriden_keys, line 3.)
Todo
Method to generate the .csv files of documentation from the tables, i.e. docs/manual/configuration_entries
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/config_manager.py:docstring of lightwin.config_manager, line 3.)
Todo
Compute_transfer_matrices: simplify, add a calculation of missing phi_0 at the end
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/accelerator/accelerator.py:docstring of lightwin.core.accelerator.accelerator, line 9.)
Todo
Remove tracewin command from BeamParameters
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/beam_parameters/__init__.py:docstring of lightwin.core.beam_parameters, line 6.)
Todo
Remove the is_3d, is_multipart as I always create the same
object with True, True.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/beam_parameters/factory.py:docstring of lightwin.core.beam_parameters.factory.InitialBeamParametersFactory, line 5.)
Todo
Would be better if all emittances had the same units? Check consistency with rest of the code…
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/beam_parameters/helper.py:docstring of lightwin.core.beam_parameters.helper.twiss_from_sigma, line 9.)
Todo
Could be cleaner.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/beam_parameters/initial_beam_parameters.py:docstring of lightwin.core.beam_parameters.initial_beam_parameters.InitialBeamParameters.sigma, line 3.)
Todo
How should I save the min/max variables?? For now, use None.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/commands/adjust.py:docstring of lightwin.core.commands.adjust, line 8.)
Todo
handle personalized name of commands (marker)
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/commands/factory.py:docstring of lightwin.core.commands.factory, line 3.)
Todo
Check if it would be relatable to hold some arguments? As for now, I would be better off with a run function instead of a class.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/commands/factory.py:docstring of lightwin.core.commands.factory.CommandFactory.__init__, line 3.)
Todo
As for now, the effect of this command will be overriden by the _force_a_lattice_for_every_element. See how I should handle this…
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/commands/lattice.py:docstring of lightwin.core.commands.lattice.LatticeEnd.apply, line 3.)
Todo
Should also modify RFQ_CEL, CAVSIN, NCELLS according to doc.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/commands/set_sync_phase.py:docstring of lightwin.core.commands.set_sync_phase, line 3.)
Todo
Check behavior w.r.t. LATTICE.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/elements/edge.py:docstring of lightwin.core.elements.edge, line 3.)
Todo
clean the patch for the ‘name’. my has and get methods do not work with @property
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/elements/element.py:docstring of lightwin.core.elements.element, line 3.)
Todo
Similar to synchronous phase, allow for V_cav to be “master” instead of k_e.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/elements/field_maps/cavity_settings.py:docstring of lightwin.core.elements.field_maps.cavity_settings, line 7.)
Todo
Which syntax for when I want to compute the value of a property but not
return it? Maybe a _ = self.phi_0_abs? Maybe this case should not
appear here, appart for when I debug.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/elements/field_maps/cavity_settings.py:docstring of lightwin.core.elements.field_maps.cavity_settings.CavitySettings, line 3.)
Todo
Determine if status should be kept here or in the field map.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/elements/field_maps/cavity_settings.py:docstring of lightwin.core.elements.field_maps.cavity_settings.CavitySettings, line 11.)
Todo
For TraceWin solver, I will also need the field map index.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/elements/field_maps/cavity_settings.py:docstring of lightwin.core.elements.field_maps.cavity_settings.CavitySettings, line 14.)
Todo
Maybe not necessary to raise an error when there is a mismatch.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/elements/field_maps/cavity_settings.py:docstring of lightwin.core.elements.field_maps.cavity_settings.CavitySettings._check_consistency_of_status_and_reference, line 3.)
Todo
This will be subclassed, as the different solvers do not have the same
needs. TraceWin does not need to load the electromagnetic fields,
so every FIELD_MAP is implemented.
Envelope1D cannot support 3D.
etc
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/elements/field_maps/factory.py:docstring of lightwin.core.elements.field_maps.factory, line 6.)
Todo
Handle the different kind of field_maps…
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/elements/field_maps/field_map.py:docstring of lightwin.core.elements.field_maps.field_map, line 3.)
Todo
Completely handle the SET_SYNCH_PHASE command
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/elements/field_maps/field_map.py:docstring of lightwin.core.elements.field_maps.field_map, line 6.)
Todo
Hande phi_s fitting with TraceWin.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/elements/field_maps/field_map.py:docstring of lightwin.core.elements.field_maps.field_map, line 9.)
Todo
Could be cleaned and simplified.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/elements/field_maps/superposed_field_map.py:docstring of lightwin.core.elements.field_maps.superposed_field_map, line 7.)
Todo
Remove idx in lattice, lattice, section arguments. can take this from
new attribute: field_maps.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/elements/field_maps/superposed_field_map.py:docstring of lightwin.core.elements.field_maps.superposed_field_map.SuperposedFieldMap, line 7.)
Todo
Define a FieldMapLoader function to easily choose between binary/ascii file format.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/em_fields/field.py:docstring of lightwin.core.em_fields.field, line 6.)
Todo
Should have a omega0_rf attribute
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/em_fields/field.py:docstring of lightwin.core.em_fields.field, line 10.)
Todo
Implement SuperposedFieldMap.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/em_fields/field_factory.py:docstring of lightwin.core.em_fields.field_factory, line 3.)
Todo
The line is edited to remove personalized name, weight and always have
the same arguments at the same position. But after I shall re-add them with
reinsert_optional_commands_in_line. This is very patchy and un-Pythonic.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/instruction.py:docstring of lightwin.core.instruction, line 3.)
Todo
Instantiate this in BeamCalculator. It could be initialized with
the load_electromagnetic_files flag (False for TraceWin), the list of
implemented elements/commands (ex Envelope3D, not everything is set).
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/instructions_factory.py:docstring of lightwin.core.instructions_factory, line 3.)
Todo
maybe ElementFactory and CommandFactory should be instantiated from this? Or from another class, but they do have a lot in common
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/instructions_factory.py:docstring of lightwin.core.instructions_factory, line 8.)
Todo
for now, forcing loading of cython field maps
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/instructions_factory.py:docstring of lightwin.core.instructions_factory, line 12.)
Todo
Check if the return value from apply_commands is necessary.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/instructions_factory.py:docstring of lightwin.core.instructions_factory.InstructionsFactory.run, line 3.)
Todo
Also handle .dst file in subset_list_run().
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/list_of_elements/factory.py:docstring of lightwin.core.list_of_elements.factory, line 11.)
Todo
Maybe it will be necessary to handle cases where the synch particle is not perfectly on the axis?
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/list_of_elements/factory.py:docstring of lightwin.core.list_of_elements.factory, line 14.)
Todo
Find a smart way to sublass ListOfElementsFactory according to
the BeamCalculator… Loading field maps not necessary with
TraceWin for example.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/list_of_elements/factory.py:docstring of lightwin.core.list_of_elements.factory, line 18.)
Todo
The elements_to_dump key should be in the configuration file
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/list_of_elements/factory.py:docstring of lightwin.core.list_of_elements.factory, line 23.)
Todo
Maybe gather some things with the subset?
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/list_of_elements/factory.py:docstring of lightwin.core.list_of_elements.factory.ListOfElementsFactory.from_existing_list, line 7.)
Todo
Filtering consistency.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/list_of_elements/helper.py:docstring of lightwin.core.list_of_elements.helper, line 3.)
Todo
Delete dat_filecontent, which does the same thing as elts_n_cmds but
less good
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/list_of_elements/list_of_elements.py:docstring of lightwin.core.list_of_elements.list_of_elements, line 10.)
Todo
Check if it can be more efficient. Maybe store R_xx, R_yy, R_zz separately?
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/transfer_matrix/transfer_matrix.py:docstring of lightwin.core.transfer_matrix.transfer_matrix, line 3.)
Todo
Maybe transfer matrices should always be (6, 6)??
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/transfer_matrix/transfer_matrix.py:docstring of lightwin.core.transfer_matrix.transfer_matrix, line 6.)
Todo
_init_from methods in factory???
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/transfer_matrix/transfer_matrix.py:docstring of lightwin.core.transfer_matrix.transfer_matrix, line 9.)
Todo
The SimulationOutput.get method with transfer matrix components fails with
TraceWin solver.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/core/transfer_matrix/transfer_matrix.py:docstring of lightwin.core.transfer_matrix.transfer_matrix, line 12.)
Todo
maybe create a mother class more generic, also for FaultScenarioEvaluator?
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/evaluator/simulation_output/factory.py:docstring of lightwin.evaluator.simulation_output.factory, line 3.)
Todo
Only one reference for the existing evaluators. Here or the configuration module. Here would be better, as configuration handling will evolve.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/evaluator/simulation_output/presets.py:docstring of lightwin.evaluator.simulation_output.presets, line 10.)
Todo
different factories for evaluation during the fit and evaluation after
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/evaluator/simulation_output/simulation_output_evaluator.py:docstring of lightwin.evaluator.simulation_output.simulation_output_evaluator, line 7.)
Todo
Clean this.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/evaluator/simulation_output/simulation_output_evaluator.py:docstring of lightwin.evaluator.simulation_output.simulation_output_evaluator, line 10.)
Todo
not clear what happens here. separate __init__ in several functions
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/failures/fault.py:docstring of lightwin.failures.fault, line 5.)
Todo
store DesignSpace as attribute rather than Variable Constraint compute_constraints
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/failures/fault.py:docstring of lightwin.failures.fault, line 8.)
Todo
Could be cleaner.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/failures/fault_scenario.py:docstring of lightwin.failures.fault_scenario.FaultScenario.__init__, line 3.)
Todo
make this more readable
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/failures/fault_scenario.py:docstring of lightwin.failures.fault_scenario.FaultScenario.fix_all, line 3.)
Todo
I should create a SetOfCavitySettings with
CavitySettings for every cavity of the compensation zone.
Mandatory to recompute the synchronous phases.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/failures/set_of_cavity_settings.py:docstring of lightwin.failures.set_of_cavity_settings, line 3.)
Todo
Should create the full SetOfCavitySettings directly from the OptimisationAlgorithm. For now, the OptimisationAlgorithm creates a first SetOfCavitySettings. Then, the BeamCalculator calls this method to generate a new SetOfCavitySettings. Ugly, especially given the fact that OptimisationAlgorithm has its ListOfElements.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/failures/set_of_cavity_settings.py:docstring of lightwin.failures.set_of_cavity_settings.SetOfCavitySettings.from_incomplete_set, line 14.)
Todo
Check if it is necessary to pass out the whole elts to
OptimisationAlgorithm?
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/optimisation/algorithms/algorithm.py:docstring of lightwin.optimisation.algorithms.algorithm, line 9.)
Todo
Methods and flags to keep the optimisation history or not, and also to save
it or not. See Explorator.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/optimisation/algorithms/algorithm.py:docstring of lightwin.optimisation.algorithms.algorithm, line 13.)
Todo
Better handling of the attribute folder. In particular, a correct value
should be set at the OptimisationAlgorithm instanciation.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/optimisation/algorithms/algorithm.py:docstring of lightwin.optimisation.algorithms.algorithm, line 17.)
Todo
Make this class more robust. In particular: save all objectives (not just
the norm), handle export when there is more than two variables, also save
complementary data (e.g.: always save phi_s even it is not in the
constraints nor variables).
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/optimisation/algorithms/explorator.py:docstring of lightwin.optimisation.algorithms.explorator, line 7.)
Todo
Allow for different number of points according to variable.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/optimisation/algorithms/explorator.py:docstring of lightwin.optimisation.algorithms.explorator, line 13.)
Todo
Docstrings
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/optimisation/algorithms/factory.py:docstring of lightwin.optimisation.algorithms.factory, line 3.)
Todo
Redocument default_kwargs.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/optimisation/algorithms/factory.py:docstring of lightwin.optimisation.algorithms.factory._check_common_keys, line 3.)
Todo
Add support for when all element do not have the same variables/constraints.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/optimisation/design_space/design_space.py:docstring of lightwin.optimisation.design_space.design_space._from_file, line 3.)
Todo
decorator to auto output the variables and constraints?
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/optimisation/objective/factory.py:docstring of lightwin.optimisation.objective.factory, line 7.)
Todo
Allow from_file.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/optimisation/objective/factory.py:docstring of lightwin.optimisation.objective.factory.EnergySyncPhaseMismatch._get_phi_s, line 3.)
Todo
end_section, elt.name
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/optimisation/objective/position.py:docstring of lightwin.optimisation.objective.position, line 11.)
Todo
full_linac seems useless. Could be a strategy instead of an override
setting. Would need to edit the ObjectiveFactory too.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/optimisation/objective/position.py:docstring of lightwin.optimisation.objective.position, line 14.)
Todo
Implement loss functions.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/optimisation/objective/quantity_is_between.py:docstring of lightwin.optimisation.objective.quantity_is_between, line 3.)
Todo
Some tests disappeared with the new config method… Checking the correct match of compensating manual for example
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/optimisation/wtf_specs.py:docstring of lightwin.optimisation.wtf_specs, line 3.)
Todo
Set up default arguments on example.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/scripts/__init__.py:docstring of lightwin.scripts, line 3.)
Todo
Allow for undetermined number of BeamCalculator in the config, and update here.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/scripts/compare_beam_calculators.py:docstring of lightwin.scripts.compare_beam_calculators, line 3.)
Todo
Sometimes the lost power in first row is 1e-10 or something? Check this out when I see it appear again.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/scripts/compute_lost_power_per_meter.py:docstring of lightwin.scripts.compute_lost_power_per_meter, line 3.)
Todo
May be included to post-processing from within LightWin directly
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/scripts/compute_lost_power_per_meter.py:docstring of lightwin.scripts.compute_lost_power_per_meter, line 7.)
Todo
Should they be in a module somewhere?
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/scripts/scripts_shorthands.py:docstring of lightwin.scripts.scripts_shorthands, line 3.)
Todo
Insert line skip at each section change in the output.dat
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/tracewin_utils/dat_files.py:docstring of lightwin.tracewin_utils.dat_files, line 3.)
Todo
some functions are not used anymore I guess…
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/tracewin_utils/electromagnetic_fields.py:docstring of lightwin.tracewin_utils.electromagnetic_fields, line 6.)
Todo
Better handling of the module import
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/tracewin_utils/electromagnetic_fields.py:docstring of lightwin.tracewin_utils.electromagnetic_fields, line 9.)
Todo
I think that this should be a method right? Different FieldMap objects -> different loading func?
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/tracewin_utils/electromagnetic_fields.py:docstring of lightwin.tracewin_utils.electromagnetic_fields.load_electromagnetic_fields, line 6.)
Todo
The eps_phiw is not correct. Does not match TraceWin (even if what I compute seems right). Check the zdelta -> phiw conversion.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/util/converters.py:docstring of lightwin.util.converters, line 3.)
Todo
Clean this, a lot of old things that may not be used.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/util/debug.py:docstring of lightwin.util.debug, line 3.)
Todo
Ellipse plot could be better
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/util/debug.py:docstring of lightwin.util.debug, line 6.)
Todo
Clean this, check what is still used.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/util/helper.py:docstring of lightwin.util.helper, line 3.)
Todo
Second example does not work
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/util/helper.py:docstring of lightwin.util.helper.pascal_case, line 3.)
Todo
fix colors in plots after pass beauty
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/util/pass_beauty.py:docstring of lightwin.util.pass_beauty, line 17.)
Todo
discriminate feasible from unfeasible solutions
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/visualization/anim.py:docstring of lightwin.visualization.anim, line 3.)
Todo
Isometric view of emittance along the linac. Possibility to visualize a single particle trajectory along the emittance. Visualization of the acceptance.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/visualization/ellipse.py:docstring of lightwin.visualization.ellipse, line 3.)
Todo
Information on the element under the cursor (hover).
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/visualization/optimization.py:docstring of lightwin.visualization.optimization, line 3.)
Todo
better detection of what is a multiparticle simulation and what is not. Currently looking for “‘partran’: 0” in the name of the solver, making the assumption that multipart is the default. But it depends on the .ini… update: just use .is_a_multiparticle_simulation
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/visualization/plot.py:docstring of lightwin.visualization.plot, line 3.)
Todo
Fix when there is only one accelerator to plot.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/visualization/plot.py:docstring of lightwin.visualization.plot, line 9.)
Todo
Different plot according to dimension of FieldMap, or according to if it accelerates or not (ex when quadrupole defined by a field map)
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/visualization/plot.py:docstring of lightwin.visualization.plot, line 12.)
Todo
Information on the objective under the cursor (hover).
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/envs/0.8.x/lib/python3.12/site-packages/lightwin/visualization/structure.py:docstring of lightwin.visualization.structure, line 3.)
Todo
A Jupyter Notebook would be better to show with examples.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/checkouts/0.8.x/docs/manual/get_method.rst, line 6.)
Todo
Consider providing more detailed instructions for setting the PYTHONPATH.
For now, you can search for “PYTHONPATH” or “ModuleNotFoundError” online for additional guidance.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/checkouts/0.8.x/docs/manual/installation.python.rst, line 43.)
Todo
Allow for an easy way to skip Cython compilation.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/checkouts/0.8.x/docs/manual/installation.troubleshooting.rst, line 25.)
Todo
Consistency between font size of normal text and math text. Not aesthetic when I have text and units side to side.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/checkouts/0.8.x/docs/manual/units.rst, line 8.)
Todo
General units: MeV etc
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/checkouts/0.8.x/docs/manual/units.rst, line 11.)
Todo
Ease re-usage of old simulations. Very easy to implement, just use the recompute flag, override the run_with_this method, and user must provide a results directory.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/lightwin/checkouts/0.8.x/docs/manual/usage.rst, line 11.)