Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
847202e
Added 'verbose' variable to optionally turn off 'Transverse feedback …
gubaidulinvadim Mar 12, 2020
21b2660
Moved static methods for calculation of electromagnetic fields from P…
gubaidulinvadim Mar 12, 2020
36a1d12
Added Electron Lens implementation to PyHEADTAIL. Electron lens is im…
gubaidulinvadim Mar 12, 2020
7216ae8
Fixed import from Element
gubaidulinvadim Mar 12, 2020
4f080fd
Rewrote imports to be consistent with new location of electromagnetic…
gubaidulinvadim Mar 12, 2020
9a6d86f
Added changed to import to be compatible with addition of PyHEADTAIL/…
gubaidulinvadim Mar 12, 2020
7c453ec
Changed an incorect use of super() function
gubaidulinvadim May 28, 2020
4ea27ca
Minor changes and refactoring for elens.py, efields_funcs.py spacecha…
gubaidulinvadim Jul 7, 2020
66e296f
Added 'verbose' variable to optionally turn off 'Transverse feedback …
gubaidulinvadim Mar 12, 2020
f5bcc49
Moved static methods for calculation of electromagnetic fields from P…
gubaidulinvadim Mar 12, 2020
e38d1fe
Added Electron Lens implementation to PyHEADTAIL. Electron lens is im…
gubaidulinvadim Mar 12, 2020
c5f8c0d
Fixed import from Element
gubaidulinvadim Mar 12, 2020
d7f2570
Rewrote imports to be consistent with new location of electromagnetic…
gubaidulinvadim Mar 12, 2020
8d039f5
Added changed to import to be compatible with addition of PyHEADTAIL/…
gubaidulinvadim Mar 12, 2020
432f4f6
Changed an incorect use of super() function
gubaidulinvadim May 28, 2020
419ed85
Minor changes and refactoring for elens.py, efields_funcs.py spacecha…
gubaidulinvadim Jul 7, 2020
3783946
Merge branch 'master' of https://github.com/gubaidulinvadim/PyHEADTAIL
gubaidulinvadim Jul 7, 2020
7ca06ed
corrected error in _efieldn_linearized
gubaidulinvadim Jul 29, 2020
429dbf3
Commented out printing in rfbucket_matching.py to declutter my own ou…
gubaidulinvadim Aug 24, 2020
cfbdaba
Implemented a detuner version for electron lens
gubaidulinvadim May 19, 2021
78ed47f
added a betagamma factor for the detuner model
gubaidulinvadim May 20, 2021
f09736a
Recompiled for gpu thrust.so
gubaidulinvadim Oct 19, 2021
4fe4370
Merge branch 'master' of https://github.com/gubaidulinvadim/PyHEADTAIL
gubaidulinvadim Oct 19, 2021
42cb083
Actually added thrust.so
gubaidulinvadim Oct 19, 2021
524d3db
Changed import statement for pmath context manager
gubaidulinvadim Oct 19, 2021
0eb85a6
corrected thrust_interface import
gubaidulinvadim Oct 19, 2021
64d6ddd
Simple ion cloud implementation with a B-E formula
gubaidulinvadim Nov 8, 2022
b0aff07
added an option to switch GS to linearized field
gubaidulinvadim Nov 9, 2022
cc4611b
deleted pm.array as there is no CUDA definition
gubaidulinvadim Nov 9, 2022
e1d6d64
uniform distribution for ions
gubaidulinvadim Nov 16, 2022
b64d319
corrected kv2d distribution generator
gubaidulinvadim Nov 16, 2022
b4b0a4e
changed coordinate system for ion beam
gubaidulinvadim Nov 21, 2022
1f2f518
changed KV2D beam generation
gubaidulinvadim Nov 21, 2022
9589020
added sigma check to 'LN' distribution
gubaidulinvadim Nov 21, 2022
1835858
corrected double def distribution_z
gubaidulinvadim Nov 21, 2022
e039dab
fixed ion coud generation
gubaidulinvadim Nov 22, 2022
c680ef7
fixed 'LN' field strength
gubaidulinvadim Nov 22, 2022
fa40958
Changed ion_cloud implementation
gubaidulinvadim Nov 24, 2022
48f6470
some problem with np.concatenate
gubaidulinvadim Nov 24, 2022
4bb5827
commented out np.concatenate
gubaidulinvadim Nov 24, 2022
b1569f2
added unnecessary files to gitignore
gubaidulinvadim Nov 24, 2022
d1a4fde
copy bunch ids and changed ion macroparticle N
gubaidulinvadim Nov 24, 2022
aa78cdf
Ion cloud with monitors for ions
gubaidulinvadim Dec 6, 2022
d303019
formatting???
gubaidulinvadim Dec 6, 2022
2eddf16
aperture
gubaidulinvadim Dec 6, 2022
00347e8
accepted changes
gubaidulinvadim Dec 6, 2022
d7958ca
Merge branch 'master' of https://github.com/gubaidulinvadim/PyHEADTAIL
gubaidulinvadim Dec 6, 2022
387bf8a
corrected aperture
gubaidulinvadim Dec 7, 2022
1c856ed
formatting and error in ion generation
gubaidulinvadim Dec 8, 2022
a9242da
formatting
gubaidulinvadim Dec 8, 2022
e80752e
added more properties to an ion element
gubaidulinvadim Dec 12, 2022
9bf7fd5
- distinction between weak strong models
gubaidulinvadim Jan 4, 2023
8f17819
Only record on ion monitor if it exists
gubaidulinvadim Jan 11, 2023
d8a92d0
use default values in __init__
gubaidulinvadim Jan 13, 2023
2f60b7d
- added docstring
gubaidulinvadim Jan 15, 2023
05061ec
- added PIC solver as an option
gubaidulinvadim Jan 17, 2023
3cd3656
- fixed self.L_SEG improper doubling
gubaidulinvadim Jan 17, 2023
1eaee26
Separate models 'PIC' and 'weak'
gubaidulinvadim Feb 6, 2023
32bfc3d
deleted old code
gubaidulinvadim Feb 13, 2023
160bb4c
bug fix
gubaidulinvadim Mar 6, 2023
c2e43b3
-separate interaction models
gubaidulinvadim Apr 2, 2023
07ea82a
Merge branch 'master' of https://github.com/gubaidulinvadim/PyHEADTAIL
gubaidulinvadim Apr 2, 2023
260a626
added a detuner implementation for pulsed lens
gubaidulinvadim Apr 24, 2023
c3be59e
changed sin to cos in the elens detuner model
gubaidulinvadim Jul 12, 2023
4c6a83b
max limit on the number of ion macroparticles
gubaidulinvadim Jul 12, 2023
b2cffcc
added vacuum pressure to ion_cloud element
gubaidulinvadim Aug 19, 2023
449b34e
corrected a bug in ion generation and
gubaidulinvadim Sep 13, 2023
746dc43
feat: added ion mass, cross-section and density
gubaidulinvadim Oct 16, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,5 @@ scripts/
.DS_Store
*.__afs*
*.egg-info
2to3.out
PyHEADTAIL/gpu/thrust.so
707 changes: 707 additions & 0 deletions 2to3.out

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion PyHEADTAIL/cobra_functions/pdf_integrators_2d.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ def compute_mean_quad(psi, ylimit_min, ylimit_max, xmin, xmax, direction='x'):

M, error = dblquad(f, xmin, xmax, ylimit_min, ylimit_max)

return M/Q
return M/Q

def compute_var_quad(psi, ylimit_min, ylimit_max, xmin, xmax, direction='x'):
'''Compute the second moment (variance) with respect to the x or
Expand Down
114 changes: 114 additions & 0 deletions PyHEADTAIL/elens/.vscode/.ropeproject/config.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
# The default ``config.py``
# flake8: noqa


def set_prefs(prefs):
"""This function is called before opening the project"""

# Specify which files and folders to ignore in the project.
# Changes to ignored resources are not added to the history and
# VCSs. Also they are not returned in `Project.get_files()`.
# Note that ``?`` and ``*`` match all characters but slashes.
# '*.pyc': matches 'test.pyc' and 'pkg/test.pyc'
# 'mod*.pyc': matches 'test/mod1.pyc' but not 'mod/1.pyc'
# '.svn': matches 'pkg/.svn' and all of its children
# 'build/*.o': matches 'build/lib.o' but not 'build/sub/lib.o'
# 'build//*.o': matches 'build/lib.o' and 'build/sub/lib.o'
prefs['ignored_resources'] = ['*.pyc', '*~', '.ropeproject',
'.hg', '.svn', '_svn', '.git', '.tox']

# Specifies which files should be considered python files. It is
# useful when you have scripts inside your project. Only files
# ending with ``.py`` are considered to be python files by
# default.
# prefs['python_files'] = ['*.py']

# Custom source folders: By default rope searches the project
# for finding source folders (folders that should be searched
# for finding modules). You can add paths to that list. Note
# that rope guesses project source folders correctly most of the
# time; use this if you have any problems.
# The folders should be relative to project root and use '/' for
# separating folders regardless of the platform rope is running on.
# 'src/my_source_folder' for instance.
# prefs.add('source_folders', 'src')

# You can extend python path for looking up modules
# prefs.add('python_path', '~/python/')

# Should rope save object information or not.
prefs['save_objectdb'] = True
prefs['compress_objectdb'] = False

# If `True`, rope analyzes each module when it is being saved.
prefs['automatic_soa'] = True
# The depth of calls to follow in static object analysis
prefs['soa_followed_calls'] = 0

# If `False` when running modules or unit tests "dynamic object
# analysis" is turned off. This makes them much faster.
prefs['perform_doa'] = True

# Rope can check the validity of its object DB when running.
prefs['validate_objectdb'] = True

# How many undos to hold?
prefs['max_history_items'] = 32

# Shows whether to save history across sessions.
prefs['save_history'] = True
prefs['compress_history'] = False

# Set the number spaces used for indenting. According to
# :PEP:`8`, it is best to use 4 spaces. Since most of rope's
# unit-tests use 4 spaces it is more reliable, too.
prefs['indent_size'] = 4

# Builtin and c-extension modules that are allowed to be imported
# and inspected by rope.
prefs['extension_modules'] = []

# Add all standard c-extensions to extension_modules list.
prefs['import_dynload_stdmods'] = True

# If `True` modules with syntax errors are considered to be empty.
# The default value is `False`; When `False` syntax errors raise
# `rope.base.exceptions.ModuleSyntaxError` exception.
prefs['ignore_syntax_errors'] = False

# If `True`, rope ignores unresolvable imports. Otherwise, they
# appear in the importing namespace.
prefs['ignore_bad_imports'] = False

# If `True`, rope will insert new module imports as
# `from <package> import <module>` by default.
prefs['prefer_module_from_imports'] = False

# If `True`, rope will transform a comma list of imports into
# multiple separate import statements when organizing
# imports.
prefs['split_imports'] = False

# If `True`, rope will remove all top-level import statements and
# reinsert them at the top of the module when making changes.
prefs['pull_imports_to_top'] = True

# If `True`, rope will sort imports alphabetically by module name instead
# of alphabetically by import statement, with from imports after normal
# imports.
prefs['sort_imports_alphabetically'] = False

# Location of implementation of
# rope.base.oi.type_hinting.interfaces.ITypeHintingFactory In general
# case, you don't have to change this value, unless you're an rope expert.
# Change this value to inject you own implementations of interfaces
# listed in module rope.base.oi.type_hinting.providers.interfaces
# For example, you can add you own providers for Django Models, or disable
# the search type-hinting in a class hierarchy, etc.
prefs['type_hinting_factory'] = (
'rope.base.oi.type_hinting.factory.default_type_hinting_factory')


def project_opened(project):
"""This function is called after opening the project"""
# Do whatever you like here!
1 change: 1 addition & 0 deletions PyHEADTAIL/elens/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from .. import __version__
Loading