Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable initialisation and estimation of optional spatio-temperal coupling parameters to gaussian profile #307

Merged
merged 426 commits into from
Dec 19, 2024
Merged
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
426 commits
Select commit Hold shift + click to select a range
f39be57
clean the comments
huixingjian Oct 29, 2024
b4f9207
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 29, 2024
29495d1
Update laser.py
huixingjian Oct 29, 2024
7dba5cd
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 29, 2024
8bb4c42
check the shape of phi2 and nu
huixingjian Oct 29, 2024
ff5bb80
Merge remote-tracking branch 'refs/remotes/huixingjian/add_diag_util'…
huixingjian Oct 29, 2024
e3c5e87
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 29, 2024
869c270
calculate phi2 distribution
huixingjian Oct 29, 2024
da2767a
phi2
huixingjian Oct 29, 2024
290f953
Merge remote-tracking branch 'refs/remotes/huixingjian/add_diag_util'…
huixingjian Oct 29, 2024
eece1ee
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 29, 2024
783a6e9
calculate weight phi2nu
huixingjian Oct 29, 2024
7c62af6
Merge remote-tracking branch 'refs/remotes/huixingjian/add_diag_util'…
huixingjian Oct 29, 2024
07ab813
clearn the confliction
huixingjian Oct 29, 2024
2be5430
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 29, 2024
a8f314d
syntx error
huixingjian Oct 29, 2024
3716454
Merge remote-tracking branch 'refs/remotes/huixingjian/add_diag_util'…
huixingjian Oct 29, 2024
1930b61
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 29, 2024
fbeeab2
check phi2mean
huixingjian Oct 29, 2024
ec2e079
Merge remote-tracking branch 'refs/remotes/huixingjian/add_diag_util'…
huixingjian Oct 29, 2024
6e0729e
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 29, 2024
208d948
phi2
huixingjian Oct 29, 2024
4c0f1d5
Merge remote-tracking branch 'refs/remotes/huixingjian/add_diag_util'…
huixingjian Oct 29, 2024
2ba3382
phi2 matrix
huixingjian Oct 29, 2024
539de75
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 29, 2024
70260c3
add np.max
huixingjian Oct 29, 2024
e7046e2
Merge remote-tracking branch 'refs/remotes/huixingjian/add_diag_util'…
huixingjian Oct 29, 2024
10f7fb6
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 29, 2024
56b9e1c
fix averga weight
huixingjian Oct 29, 2024
e7cf2e8
Merge remote-tracking branch 'refs/remotes/huixingjian/add_diag_util'…
huixingjian Oct 29, 2024
ff98723
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 29, 2024
620ebc1
screw beta, wont work
huixingjian Oct 29, 2024
fec6969
Merge remote-tracking branch 'refs/remotes/huixingjian/add_diag_util'…
huixingjian Oct 29, 2024
23b82f9
add CI test
huixingjian Oct 30, 2024
52e78ab
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 30, 2024
2c8a2c5
Update test_STC.py
huixingjian Oct 30, 2024
936d5b8
Update laser_utils.py
huixingjian Oct 30, 2024
d428c38
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 30, 2024
ab04fd8
Update test_STC.py
huixingjian Oct 30, 2024
9d8ac04
Update laser_utils.py
huixingjian Oct 30, 2024
0d53cc5
Update laser_utils.py
huixingjian Oct 30, 2024
77ba254
Update laser_utils.py
huixingjian Oct 30, 2024
85d5ae0
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 30, 2024
7078e96
Update laser_utils.py
huixingjian Oct 30, 2024
a404f53
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 30, 2024
4f1ae2a
use temporal profile to calculate nu in rt
huixingjian Oct 30, 2024
d9ceb7b
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 30, 2024
b2ed082
update zeta calculation
huixingjian Oct 30, 2024
acff2ea
Merge remote-tracking branch 'refs/remotes/huixingjian/add_diag_util'…
huixingjian Oct 30, 2024
b699d89
syntax error
huixingjian Oct 30, 2024
13972f0
brackte
huixingjian Oct 30, 2024
bf38936
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 30, 2024
6c2c045
Update test_STC.py
huixingjian Nov 5, 2024
f9a189f
Update laser_utils.py
huixingjian Nov 5, 2024
2b1da7c
add calculation on beta
huixingjian Dec 4, 2024
7f66359
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 4, 2024
b01e5f3
average beta on omega axis
huixingjian Dec 4, 2024
2009f1f
Merge remote-tracking branch 'refs/remotes/huixingjian/add_diag_util'…
huixingjian Dec 4, 2024
6ecf5d7
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 4, 2024
681660f
debug
huixingjian Dec 4, 2024
493d506
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 4, 2024
0a89c81
fix beta calculation
huixingjian Dec 4, 2024
c561ea5
Merge remote-tracking branch 'refs/remotes/huixingjian/add_diag_util'…
huixingjian Dec 4, 2024
e3412ed
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 4, 2024
d6bd1b2
make average consistency
huixingjian Dec 4, 2024
118582d
Merge remote-tracking branch 'refs/remotes/huixingjian/add_diag_util'…
huixingjian Dec 4, 2024
ae870bf
make 3D average
huixingjian Dec 4, 2024
5e42441
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 4, 2024
c68bdf7
try fix initialization
huixingjian Dec 4, 2024
0cc921b
Merge remote-tracking branch 'refs/remotes/huixingjian/add_diag_util'…
huixingjian Dec 4, 2024
ca56108
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 4, 2024
01f20d9
Update test_STC.py
huixingjian Dec 4, 2024
d1ee329
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 4, 2024
f343362
Update laser_utils.py
huixingjian Dec 4, 2024
5f4b3d4
Update test_STC.py
huixingjian Dec 4, 2024
f7a5974
debug angle
huixingjian Dec 4, 2024
8b77b5c
Merge remote-tracking branch 'refs/remotes/huixingjian/add_diag_util'…
huixingjian Dec 4, 2024
9a5701d
correct theta calculation
huixingjian Dec 4, 2024
33b1a15
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 4, 2024
4472c82
Update test_STC.py
huixingjian Dec 4, 2024
9277e01
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 4, 2024
c68365a
Update gaussian_profile.py
huixingjian Dec 4, 2024
a6e4274
Update laser_utils.py
huixingjian Dec 5, 2024
b529497
Update test_STC.py
huixingjian Dec 5, 2024
0c96a6f
Update laser_utils.py
huixingjian Dec 5, 2024
2977480
add short explanation
MaxThevenet Dec 11, 2024
3b9e7e3
move sentence stc
MaxThevenet Dec 11, 2024
f7d6aa7
create STCgaussian class
huixingjian Dec 12, 2024
3f32d0e
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 12, 2024
2a378de
separate STC to several functions
huixingjian Dec 12, 2024
28197ed
Merge remote-tracking branch 'refs/remotes/huixingjian/add_diag_util'…
huixingjian Dec 12, 2024
a1d52eb
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 12, 2024
d5e0cfc
Update gaussian_profile.py
huixingjian Dec 12, 2024
f0ca9f9
Update gaussian_profile.py
huixingjian Dec 12, 2024
ebc57e6
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 12, 2024
fc7eac0
Update gaussian_profile.py
huixingjian Dec 12, 2024
07df652
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 12, 2024
197002a
Update gaussian_profile.py
huixingjian Dec 12, 2024
14221e8
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 12, 2024
1de89a4
Update gaussian_profile.py
huixingjian Dec 12, 2024
52db34f
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 12, 2024
b2791b8
Update gaussian_profile.py
huixingjian Dec 12, 2024
365c704
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 12, 2024
a11c89c
Update gaussian_profile.py
huixingjian Dec 12, 2024
a468337
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 12, 2024
a676107
add k0 in profile
huixingjian Dec 12, 2024
cca9570
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 12, 2024
74b7489
create std gaussian
huixingjian Dec 16, 2024
030884b
Merge remote-tracking branch 'refs/remotes/huixingjian/add_diag_util'…
huixingjian Dec 16, 2024
e839ef8
Update test_STC.py
huixingjian Dec 16, 2024
7b772f3
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 16, 2024
2f6b19a
Update test_STC.py
huixingjian Dec 16, 2024
b8dce99
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 16, 2024
6e979e2
debug utils
huixingjian Dec 16, 2024
7aba7bd
Merge remote-tracking branch 'refs/remotes/huixingjian/add_diag_util'…
huixingjian Dec 16, 2024
9defa15
missing bracket
huixingjian Dec 16, 2024
99d80f4
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 16, 2024
1d9863a
Update profile.py
huixingjian Dec 16, 2024
d7f6a27
add k0 to profile
huixingjian Dec 16, 2024
96275cd
Merge remote-tracking branch 'refs/remotes/huixingjian/add_diag_util'…
huixingjian Dec 16, 2024
99cff49
add k0 to profile
huixingjian Dec 16, 2024
4abf73c
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 16, 2024
5432eed
incident bug
huixingjian Dec 16, 2024
26b302f
Merge remote-tracking branch 'refs/remotes/huixingjian/add_diag_util'…
huixingjian Dec 16, 2024
6ac3412
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 16, 2024
baf2a69
delete STC Longidutinal_profile.py
huixingjian Dec 16, 2024
805358c
convert to STCGaussianProfile
huixingjian Dec 16, 2024
0e0b6af
change phi2 to smaller number
huixingjian Dec 16, 2024
14583d8
make beta and zeta to 0
huixingjian Dec 16, 2024
d5f7536
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 16, 2024
de7a88f
change argument order
huixingjian Dec 16, 2024
cc4bb9e
Merge remote-tracking branch 'refs/remotes/huixingjian/add_diag_util'…
huixingjian Dec 16, 2024
156e1ae
check get_phi2
huixingjian Dec 16, 2024
a3a51ce
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 16, 2024
6a1f06c
check bigger phi2
huixingjian Dec 16, 2024
3bd1071
Merge remote-tracking branch 'refs/remotes/huixingjian/add_diag_util'…
huixingjian Dec 16, 2024
1b26328
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 16, 2024
14b1723
check zeta
huixingjian Dec 16, 2024
f455480
Merge remote-tracking branch 'refs/remotes/huixingjian/add_diag_util'…
huixingjian Dec 16, 2024
6a20671
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 16, 2024
7041b43
typo
huixingjian Dec 16, 2024
9b96093
Merge remote-tracking branch 'refs/remotes/huixingjian/add_diag_util'…
huixingjian Dec 16, 2024
c6a36bf
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 16, 2024
6ca62d5
fix logic error for dim asser
huixingjian Dec 16, 2024
cad2e00
Merge remote-tracking branch 'refs/remotes/huixingjian/add_diag_util'…
huixingjian Dec 16, 2024
b061c13
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 16, 2024
8ad2a35
check zeta_y
huixingjian Dec 16, 2024
cdfb869
Merge remote-tracking branch 'refs/remotes/huixingjian/add_diag_util'…
huixingjian Dec 16, 2024
d8922a5
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 16, 2024
cbfd1cd
typoo in test_STC
huixingjian Dec 16, 2024
acd527a
Merge remote-tracking branch 'refs/remotes/huixingjian/add_diag_util'…
huixingjian Dec 16, 2024
0ec4bba
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 16, 2024
901a851
check beta
huixingjian Dec 16, 2024
c648f8d
Merge remote-tracking branch 'refs/remotes/huixingjian/add_diag_util'…
huixingjian Dec 16, 2024
b245c58
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 16, 2024
93d14e5
Update combined_profile.py
huixingjian Dec 16, 2024
d464e58
add description on the functions
huixingjian Dec 16, 2024
2371fbe
Merge remote-tracking branch 'refs/remotes/huixingjian/add_diag_util'…
huixingjian Dec 16, 2024
d6fa08c
finalising everthing
huixingjian Dec 16, 2024
7a87ac1
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 16, 2024
20af8ed
update the units
huixingjian Dec 16, 2024
aecb2cd
Merge remote-tracking branch 'refs/remotes/huixingjian/add_diag_util'…
huixingjian Dec 16, 2024
2709d61
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 16, 2024
391aea1
update the description to the STC profile class
huixingjian Dec 16, 2024
31e78d2
Merge remote-tracking branch 'refs/remotes/huixingjian/add_diag_util'…
huixingjian Dec 16, 2024
b5fd9f9
update formating issue
huixingjian Dec 16, 2024
008edbe
style consistency in test_STC file
huixingjian Dec 16, 2024
a53de8b
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 16, 2024
62b1dc2
format alignment
huixingjian Dec 16, 2024
476ff30
Merge remote-tracking branch 'refs/remotes/huixingjian/add_diag_util'…
huixingjian Dec 16, 2024
8512dce
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 16, 2024
bb9e06c
add comment on STCGAUSIAN
huixingjian Dec 16, 2024
fa1d887
Merge remote-tracking branch 'refs/remotes/huixingjian/add_diag_util'…
huixingjian Dec 16, 2024
4c439d9
lignment
huixingjian Dec 16, 2024
da20481
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 16, 2024
e957928
z_foc fixed
huixingjian Dec 16, 2024
6e56cb0
Merge remote-tracking branch 'refs/remotes/huixingjian/add_diag_util'…
huixingjian Dec 16, 2024
4a1b316
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 16, 2024
47af7b0
Update test_STC.py
huixingjian Dec 17, 2024
de93eda
Update test_STC.py
huixingjian Dec 17, 2024
5ed174c
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 17, 2024
e703483
merge STC and Gaussian class
huixingjian Dec 17, 2024
885f220
Merge remote-tracking branch 'refs/remotes/huixingjian/add_diag_util'…
huixingjian Dec 17, 2024
76f7f85
Update gaussian_profile.py
huixingjian Dec 17, 2024
0f90aa4
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 17, 2024
87759d9
Update gaussian_profile.py
huixingjian Dec 17, 2024
7dc6a0a
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 17, 2024
3cc9a52
Update gaussian_profile.py
huixingjian Dec 17, 2024
84f530e
Update gaussian_profile.py
huixingjian Dec 17, 2024
4111779
Update lasy/profiles/gaussian_profile.py
huixingjian Dec 17, 2024
85bd98b
Update gaussian_profile.py
huixingjian Dec 17, 2024
975f4e8
Update test_STC.py
huixingjian Dec 17, 2024
908bd80
Update laser_utils.py
huixingjian Dec 17, 2024
2fa7b17
Update laser_utils.py
huixingjian Dec 17, 2024
420d7c9
Update test_STC.py
huixingjian Dec 17, 2024
1c7e523
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 17, 2024
d9b00e7
Update test_STC.py
huixingjian Dec 17, 2024
204568a
Update test_STC.py
huixingjian Dec 17, 2024
d605e01
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 17, 2024
2f1061e
admend the test_axisparabola import
huixingjian Dec 17, 2024
cc10702
admend the test files
huixingjian Dec 17, 2024
b6d5a37
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 17, 2024
1be3b90
admend doc
huixingjian Dec 17, 2024
8921ee0
Update test_STC.py
huixingjian Dec 17, 2024
059a778
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 17, 2024
97a9c3f
Update test_STC.py
huixingjian Dec 17, 2024
ba01785
Update test_STC.py
huixingjian Dec 17, 2024
5ff16db
Update test_STC.py
huixingjian Dec 17, 2024
be187f9
Update test_STC.py
huixingjian Dec 17, 2024
e2d7ad0
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 17, 2024
d433e6a
Update test_STC.py
huixingjian Dec 17, 2024
2ad2097
Update test_STC.py
huixingjian Dec 17, 2024
2b5eb39
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 17, 2024
de7c26a
Update test_STC.py
huixingjian Dec 17, 2024
6f650f2
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 17, 2024
5e8ce8b
Update test_STC.py
huixingjian Dec 17, 2024
932eb03
Update laser_utils.py
huixingjian Dec 19, 2024
69ac5a5
Update lasy/profiles/longitudinal/longitudinal_profile.py
huixingjian Dec 19, 2024
7c8d7b5
Update laser_utils.py
huixingjian Dec 19, 2024
9d0e5e9
Update lasy/utils/laser_utils.py
huixingjian Dec 19, 2024
070e7c0
Update laser_utils.py
huixingjian Dec 19, 2024
7b4d70e
Update laser_utils.py
huixingjian Dec 19, 2024
16b858f
Update test_STC.py
huixingjian Dec 19, 2024
9f1b220
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 19, 2024
89b15e9
Update laser_utils.py
huixingjian Dec 19, 2024
065c6c8
Update gaussian_profile.py
huixingjian Dec 19, 2024
292509a
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 19, 2024
5b69bf5
Update gaussian_profile.py
huixingjian Dec 19, 2024
f51080c
Update gaussian_profile.py
huixingjian Dec 19, 2024
251e7f3
Update gaussian_profile.py
huixingjian Dec 19, 2024
2d2faff
Update gaussian_profile.py
huixingjian Dec 19, 2024
2b4e9e2
Update gaussian_profile.py
huixingjian Dec 19, 2024
7fd3c84
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 19, 2024
98046a5
Update gaussian_profile.py
huixingjian Dec 19, 2024
44c2421
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 19, 2024
d4200f4
Update gaussian_profile.py
huixingjian Dec 19, 2024
8175dfc
Update test_STC.py
huixingjian Dec 19, 2024
6dfb498
Update test_STC.py
huixingjian Dec 19, 2024
ef6266e
Update test_STC.py
huixingjian Dec 19, 2024
8f3c778
Update gaussian_profile.py
huixingjian Dec 19, 2024
5fbfa99
Update gaussian_profile.py
huixingjian Dec 19, 2024
9acbc4a
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 19, 2024
10ccbae
Update gaussian_profile.py
huixingjian Dec 19, 2024
ece499f
Update gaussian_profile.py
huixingjian Dec 19, 2024
82337bd
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 19, 2024
9fa1a18
Update gaussian_profile.py
huixingjian Dec 19, 2024
c0df341
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 19, 2024
643c551
Apply suggestions from code review
MaxThevenet Dec 19, 2024
6852641
Update gaussian_profile.py
huixingjian Dec 19, 2024
fd60446
Apply suggestions from code review
MaxThevenet Dec 19, 2024
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: 1 addition & 1 deletion docs/source/tutorials/axiparabola.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
"outputs": [],
"source": [
"from lasy.laser import Laser\n",
"from lasy.profiles.gaussian_profile import CombinedLongitudinalTransverseProfile\n",
"from lasy.profiles.combined_profile import CombinedLongitudinalTransverseProfile\n",
"from lasy.profiles.longitudinal import GaussianLongitudinalProfile\n",
"from lasy.profiles.transverse import SuperGaussianTransverseProfile\n",
"\n",
Expand Down
118 changes: 107 additions & 11 deletions lasy/profiles/gaussian_profile.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
from . import CombinedLongitudinalTransverseProfile
from .longitudinal import GaussianLongitudinalProfile
from .transverse import GaussianTransverseProfile
import numpy as np

from .profile import Profile

class GaussianProfile(CombinedLongitudinalTransverseProfile):

class GaussianProfile(Profile):
r"""
Class for the analytic profile of a Gaussian laser pulse.

Expand All @@ -21,6 +21,7 @@ class GaussianProfile(CombinedLongitudinalTransverseProfile):
:math:`\boldsymbol{x}_\perp` is the transverse coordinate (orthogonal
to the propagation direction). The other parameters in this formula
are defined below.
This profile also supports some chirp parameters that are omitted in the expression above for clarity.

Parameters
----------
Expand Down Expand Up @@ -61,6 +62,20 @@ class GaussianProfile(CombinedLongitudinalTransverseProfile):
z_foc : float (in meter), optional
Position of the focal plane. (The laser pulse is initialized at `z=0`.)

phi2 : float (in second^2), optional (default: '0')
The group-delay dispersion defined as :math:`\phi^{(2)} = \frac{dt_0}{d\omega}. Here :math:`t_0` is the temporal position of this frequency component.

MaxThevenet marked this conversation as resolved.
Show resolved Hide resolved
beta : float (in second), optional (default: '0')
The angular dispersion defined as :math:`\beta = \frac{d\theta_0}{d\omega}`. Here :math:`\theta_0` is the propagation angle of this frequency component.

zeta : float (in meter * second), optional (default: '0')
A spatial chirp defined as: math:`\zeta = \frac{dx_0}{d\omega}`. Here :math:`x_0` is the transverse beam center position of this frequency component.
The definitions of beta, phi2, and zeta are taken from [S. Akturk et al., Optics Express 12, 4399 (2004)].
MaxThevenet marked this conversation as resolved.
Show resolved Hide resolved

stc_theta : float (in radian), optional (default: '0')
Transverse direction along which there are chirps and spatio-temporal couplings.
A value of 0 corresponds to the x-axis.

Examples
--------
>>> import matplotlib.pyplot as plt
Expand Down Expand Up @@ -104,12 +119,93 @@ class GaussianProfile(CombinedLongitudinalTransverseProfile):
"""

def __init__(
self, wavelength, pol, laser_energy, w0, tau, t_peak, cep_phase=0, z_foc=0
self,
wavelength,
pol,
laser_energy,
w0,
tau,
t_peak,
cep_phase=0,
z_foc=0,
phi2=0,
beta=0,
zeta=0,
stc_theta=0,
):
super().__init__(
wavelength,
pol,
laser_energy,
GaussianLongitudinalProfile(wavelength, tau, t_peak, cep_phase),
GaussianTransverseProfile(w0, z_foc, wavelength),
super().__init__(wavelength, pol)
self.laser_energy = laser_energy
self.w0 = w0
self.tau = tau
self.t_peak = t_peak
self.cep_phase = cep_phase
self.z_foc = z_foc
self.z_foc_over_zr = z_foc * wavelength / (np.pi * w0**2)
self.phi2 = phi2
self.beta = beta
self.zeta = zeta
self.stc_theta = stc_theta

def evaluate(self, x, y, t):
"""
Return the longitudinal envelope.

Parameters
----------
t : ndarrays of floats
Define longitudinal points on which to evaluate the envelope

x,y : ndarrays of floats
Define transverse points on which to evaluate the envelope

Returns
-------
envelope : ndarray of complex numbers
Contains the value of the longitudinal envelope at the
specified points. This array has the same shape as the array t.
"""
inv_tau2 = self.tau ** (-2)
inv_complex_waist_2 = 1.0 / (
self.w0**2 * (1.0 + 2.0j * self.z_foc / (self.k0 * self.w0**2))
)
stretch_factor = (
1
+ 4.0
* (-self.zeta + self.beta * self.z_foc)
* inv_tau2
* (-self.zeta + self.beta * self.z_foc)
* inv_complex_waist_2
+ 2.0j * (self.phi2 - self.beta**2 * self.k0 * self.z_foc) * inv_tau2
)
stc_exponent = (
1.0
/ stretch_factor
* inv_tau2
* (
t
- self.t_peak
- self.beta
* self.k0
* (x * np.cos(self.stc_theta) + y * np.sin(self.stc_theta))
- 2.0j
* (x * np.cos(self.stc_theta) + y * np.sin(self.stc_theta))
* (-self.zeta - self.beta * self.z_foc)
* inv_complex_waist_2
)
** 2
)
# Term for wavefront curvature + Gouy phase
diffract_factor = 1.0 - 1j * self.z_foc_over_zr
# Calculate the argument of the complex exponential
exp_argument = -(x**2 + y**2) / (self.w0**2 * diffract_factor)
# Get the profile
envelope = (
np.exp(
-stc_exponent
+ exp_argument
+ 1.0j * (self.cep_phase + self.omega0 * self.t_peak)
)
/ diffract_factor
)

return envelope
5 changes: 2 additions & 3 deletions lasy/profiles/longitudinal/gaussian_profile.py
MaxThevenet marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ class GaussianLongitudinalProfile(LongitudinalProfile):
cep_phase : float (in radian), optional
The Carrier Enveloppe Phase (CEP), i.e. :math:`\phi_{cep}`
in the above formula (i.e. the phase of the laser
oscillation, at the time where the laser envelope is maximum)
oscillation, at the time where the laser envelope is maximum).
"""

def __init__(self, wavelength, tau, t_peak, cep_phase=0):
Expand All @@ -47,7 +47,7 @@ def evaluate(self, t):
Parameters
----------
t : ndarrays of floats
Define points on which to evaluate the envelope
Define longitudinal points on which to evaluate the envelope

Returns
-------
Expand All @@ -59,5 +59,4 @@ def evaluate(self, t):
-((t - self.t_peak) ** 2) / self.tau**2
+ 1.0j * (self.cep_phase + self.omega0 * self.t_peak)
)

return envelope
1 change: 1 addition & 0 deletions lasy/profiles/profile.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ def __init__(self, wavelength, pol):
self.pol = np.array([pol[0] / norm_pol, pol[1] / norm_pol])
self.lambda0 = wavelength
self.omega0 = 2 * np.pi * c / self.lambda0
self.k0 = 2.0 * np.pi / wavelength

def evaluate(self, x, y, t):
"""
Expand Down
Loading
Loading