Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
5cc92e5
initial work
lucafedeli88 May 4, 2022
fc3334d
fixed bugs and added species
lucafedeli88 May 5, 2022
d744b7a
update documentation
lucafedeli88 May 5, 2022
d768660
delete unused file
lucafedeli88 May 18, 2022
d6639d6
Add neutron
RemiLehe Jun 2, 2022
24a743d
Merge branch 'development' into improve_SpeciesPhysicalProperties
RemiLehe Jun 2, 2022
c096d29
Merge branch 'development' into improve_SpeciesPhysicalProperties
RemiLehe Jun 2, 2022
c6e7c92
Fix nuclear fusion
RemiLehe Jun 3, 2022
6ab97ec
Reset benchmarks
RemiLehe Jun 3, 2022
323950d
Update values of mass and charge
RemiLehe Jun 9, 2022
61b0769
Correct compilation error
RemiLehe Jun 9, 2022
bbf95b8
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jun 9, 2022
70c5fe6
Correct compilation error
RemiLehe Jun 9, 2022
65409f4
Correct compilation error
RemiLehe Jun 9, 2022
c82c8e7
Correct compilation error
RemiLehe Jun 9, 2022
9510dee
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jun 9, 2022
2a41771
Reset benchmark
RemiLehe Jun 9, 2022
24d1fc7
Use helium particle in proton-boron, to avoid resetting benchmark
RemiLehe Jun 9, 2022
73c8d9d
Fixed proton-boron test
RemiLehe Jun 10, 2022
5c31035
Revert "Fixed proton-boron test"
RemiLehe Jun 21, 2022
72fb317
Merge branch 'development' into improve_SpeciesPhysicalProperties
RemiLehe Jun 21, 2022
542d2cb
Incorporate Neil's recommendations
RemiLehe Jul 5, 2022
c9a8661
Merge branch 'development' into improve_SpeciesPhysicalProperties
RemiLehe Jul 5, 2022
b228c29
Reset benchmarks
RemiLehe Jul 5, 2022
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
15 changes: 13 additions & 2 deletions Docs/source/usage/parameters.rst
Original file line number Diff line number Diff line change
Expand Up @@ -574,8 +574,19 @@ Particle initialization

* ``<species_name>.species_type`` (`string`) optional (default `unspecified`)
Type of physical species.
Currently, the accepted species are ``"electron"``, ``"positron"``, ``"photon"``, ``"hydrogen"`` (or equivalently ``"proton"``), ``"helium"`` (or equivalently ``"alpha"``), ``"boron"``, ``"carbon"``, ``"oxygen"``, ``"nitrogen"``, ``"argon"``, ``"copper"`` and ``"xenon"``.
Either this or both ``mass`` and ``charge`` have to be specified.
Currently, the accepted species are
``"electron"``, ``"positron"``, ``"muon"``, ``"antimuon"``, ``"photon"``, ``"neutron"``, ``"proton"`` , ``"alpha"``,
``"hydrogen1"`` (a.k.a. ``"protium"``), ``"hydrogen2"`` (a.k.a. ``"deuterium"``), ``"hydrogen3"`` (a.k.a.``"tritium"``),
``"helium"``, ``"helium3"``, ``"helium4"``,
``"lithium"``, ``"lithium6"``, ``"lithium7"``, ``"beryllium"``, ``"boron"``, ``"boron10"``, ``"boron11"``,
``"carbon"``, ``"carbon12"``, ``"carbon13"``, ``"nitrogen"``, ``"nitrogen14"``, ``"nitrogen15"``,
``"oxygen"``, ``"oxygen16"``, ``"oxygen17"``, ``"oxygen18"``, ``"fluorine"``, ``"neon"``, ``"neon20"``,
``"neon21"``, ``"neon22"``, ``"aluminium"``, ``"argon"``, ``"copper"``, ``"xenon"`` and ``"gold"``.
The difference between ``"proton"`` and ``"hydrogen1"`` is that the mass of the latter includes also the mass
of the bound electron (same for ``"alpha"`` and ``"helium4"``). When only the name of an element is specified, the mass
is a weighted average of the masses of the stable isotopes. For all the elements with ``Z < 11`` we provide
also the stable isotopes as an option for ``species_type`` (e.g., ``"helium3"`` and ``"helium4"``).
Either ``species_type`` or both ``mass`` and ``charge`` have to be specified.

* ``<species_name>.charge`` (`float`) optional (default `NaN`)
The charge of one `physical` particle of this species.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,9 @@
MeV_to_Joule = scc.e*1e6
barn_to_square_meter = 1.e-28
m_p = scc.m_p # Proton mass
m_b = 10.9298*m_p # Boron 11 mass
m_b = 11.00930536*scc.m_u # Boron 11 mass
m_reduced = m_p*m_b/(m_p+m_b)
m_a = 3.97369*m_p # Alpha mass
m_a = 4.002602*scc.m_u # Alpha mass
m_be = 7.94748*m_p # Beryllium 8 mass
Z_boron = 5.
Z_proton = 1.
Expand Down Expand Up @@ -381,7 +381,7 @@ def p_sq_boron_frame_to_E_COM_frame(p_proton_sq):
E_com = np.sqrt(E_lab**2 - p_proton_sq*scc.c**2)
# Corresponding kinetic energy
E_com_kin = E_com - (m_b+scc.m_p)*scc.c**2
return E_com_kin
return E_com_kin*(p_proton_sq>0.)

def p_sq_to_kinetic_energy(p_sq, m):
## Returns the kinetic energy of a particle as a function of its squared momentum.
Expand Down
12 changes: 6 additions & 6 deletions Examples/Modules/nuclear_fusion/inputs_3d
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ algo.particle_shape = 1
particles.species_names = proton1 boron1 alpha1 proton2 boron2 alpha2 proton3 boron3 alpha3
proton4 boron4 alpha4 proton5 boron5 alpha5

my_constants.m_b11 = 10.9298*m_p # Boron 11 mass
my_constants.m_b11 = 11.00930536*m_u # Boron 11 mass
my_constants.m_reduced = m_p*m_b11/(m_p+m_b11)
my_constants.keV_to_J = 1.e3*q_e
my_constants.Energy_step = 22. * keV_to_J
Expand Down Expand Up @@ -63,7 +63,7 @@ boron1.momentum_function_uz(x,y,z) = -sqrt(2*m_reduced*Energy_step*(floor(z)**2)
boron1.do_not_push = 1
boron1.do_not_deposit = 1

alpha1.species_type = alpha
alpha1.species_type = helium
alpha1.do_not_push = 1
alpha1.do_not_deposit = 1

Expand Down Expand Up @@ -94,7 +94,7 @@ boron2.momentum_distribution_type = "constant"
boron2.do_not_push = 1
boron2.do_not_deposit = 1

alpha2.species_type = alpha
alpha2.species_type = helium
alpha2.do_not_push = 1
alpha2.do_not_deposit = 1

Expand All @@ -120,7 +120,7 @@ boron3.theta = temperature/(m_b11*clight**2)
boron3.do_not_push = 1
boron3.do_not_deposit = 1

alpha3.species_type = alpha
alpha3.species_type = helium
alpha3.do_not_push = 1
alpha3.do_not_deposit = 1

Expand All @@ -145,7 +145,7 @@ boron4.momentum_distribution_type = "constant"
boron4.do_not_push = 1
boron4.do_not_deposit = 1

alpha4.species_type = alpha
alpha4.species_type = helium
alpha4.do_not_push = 1
alpha4.do_not_deposit = 1

Expand All @@ -168,7 +168,7 @@ boron5.momentum_distribution_type = "constant"
boron5.do_not_push = 1
boron5.do_not_deposit = 1

alpha5.species_type = alpha
alpha5.species_type = helium
alpha5.do_not_push = 1
alpha5.do_not_deposit = 1

Expand Down
32 changes: 16 additions & 16 deletions Regression/Checksum/benchmarks_json/LaserIonAcc2d.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,37 +2,37 @@
"electrons": {
"particle_cpu": 0.0,
"particle_id": 2101654260.0,
"particle_momentum_x": 3.8190076010374515e-19,
"particle_momentum_x": 3.819011093562328e-19,
"particle_momentum_y": 0.0,
"particle_momentum_z": 1.6442919198257052e-18,
"particle_position_x": 0.008132686110435036,
"particle_position_y": 0.030529759951728817,
"particle_momentum_z": 1.6442909854275157e-18,
"particle_position_x": 0.008132686101590795,
"particle_position_y": 0.030529760810180325,
"particle_weight": 2.641331189632942e+17
},
"hydrogen": {
"particle_cpu": 0.0,
"particle_id": 8663540542.0,
"particle_momentum_x": 2.2442930534191287e-18,
"particle_momentum_x": 2.2442952799834144e-18,
"particle_momentum_y": 0.0,
"particle_momentum_z": 1.084110863159823e-18,
"particle_momentum_z": 1.0841140295639398e-18,
"particle_orig_x": 0.008258544921875001,
"particle_orig_z": 0.0366896337890625,
"particle_position_x": 0.008258183385255663,
"particle_position_y": 0.03668783554837751,
"particle_position_x": 0.008258183633694481,
"particle_position_y": 0.036687836783915156,
"particle_weight": 2.701906737218416e+17
},
"lev=0": {
"Bx": 0.0,
"By": 11393535.73084639,
"By": 11393530.864665572,
"Bz": 0.0,
"Ex": 2033400430027297.5,
"Ex": 2033401599040428.8,
"Ey": 0.0,
"Ez": 316047261967858.8,
"jx": 1.6346708093212e+19,
"Ez": 316047997346965.6,
"jx": 1.634666300264935e+19,
"jy": 0.0,
"jz": 8.884557829033169e+18,
"rho": 61729754469.05863,
"rho_electrons": 17451988254912.61,
"rho_hydrogen": 17441820007044.357
"jz": 8.884561198935773e+18,
"rho": 61730016945.00626,
"rho_electrons": 17451988195798.281,
"rho_hydrogen": 17441819816491.93
}
}
32 changes: 16 additions & 16 deletions Regression/Checksum/benchmarks_json/PlasmaAccelerationBoost2d.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,21 +20,21 @@
"particle_weight": 93622636116911.45
},
"lev=0": {
"Bx": 0.3939499531816347,
"By": 9563.615022656986,
"Bz": 0.3591030695780064,
"Ex": 1057402535431.5992,
"Ey": 144244335.4692135,
"Ez": 3010491709181.335,
"jx": 3227914399.2203197,
"jy": 5068791609.127958,
"jz": 102420312561236.62
"Bx": 0.3939499531816364,
"By": 9563.615022656964,
"Bz": 0.3591030695780125,
"Ex": 1057402535431.6746,
"Ey": 144244335.46922195,
"Ez": 3010491709181.3467,
"jx": 3227914369.7171793,
"jy": 5068791609.12788,
"jz": 102420312561226.17
},
"plasma_e": {
"particle_cpu": 504.0,
"particle_id": 236124.0,
"particle_momentum_x": 1.2615128163446419e-23,
"particle_momentum_y": 1.5392234050947253e-27,
"particle_momentum_x": 1.2615128163589931e-23,
"particle_momentum_y": 1.5392234051130659e-27,
"particle_momentum_z": 1.3694904132251956e-18,
"particle_position_x": 0.01771877489382093,
"particle_position_y": 0.020620065534187347,
Expand All @@ -43,11 +43,11 @@
"plasma_p": {
"particle_cpu": 504.0,
"particle_id": 272412.0,
"particle_momentum_x": 1.2615099271970135e-23,
"particle_momentum_y": 1.5392492676794249e-27,
"particle_momentum_z": 2.514586739414616e-15,
"particle_position_x": 0.017718749986442184,
"particle_position_y": 0.02062006546318014,
"particle_momentum_x": 1.2615099272124483e-23,
"particle_momentum_y": 1.53924926768808e-27,
"particle_momentum_z": 2.51631809113383e-15,
"particle_position_x": 0.017718749986451513,
"particle_position_y": 0.020620065463180168,
"particle_weight": 727797380314273.1
}
}
80 changes: 40 additions & 40 deletions Regression/Checksum/benchmarks_json/Proton_Boron_Fusion_3D.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,55 +2,55 @@
"alpha1": {
"particle_cpu": 60780.0,
"particle_id": 1351279015596.0,
"particle_momentum_x": 4.659632892446219e-15,
"particle_momentum_y": 4.617309311289228e-15,
"particle_momentum_z": 4.617390264429112e-15,
"particle_momentum_x": 4.659631949650719e-15,
"particle_momentum_y": 4.617308377231923e-15,
"particle_momentum_z": 4.617389330519975e-15,
"particle_position_x": 453219.3436004627,
"particle_position_y": 457393.4211433249,
"particle_position_y": 457393.42114332493,
"particle_position_z": 970481.0580153911,
"particle_weight": 1.904380063679924e-27
"particle_weight": 1.9043802455895325e-27
},
"alpha2": {
"particle_cpu": 54528.0,
"particle_id": 1211463810981.0,
"particle_momentum_x": 4.071679285778659e-15,
"particle_momentum_y": 4.119641921839256e-15,
"particle_momentum_z": 4.181785619797154e-15,
"particle_momentum_x": 4.071678402460901e-15,
"particle_momentum_y": 4.1196410276880726e-15,
"particle_momentum_z": 4.181784710058622e-15,
"particle_position_x": 405848.1200755021,
"particle_position_y": 408011.5319128882,
"particle_position_y": 408011.53191288817,
"particle_position_z": 866330.5923068221,
"particle_weight": 1.926173353413784e+19
"particle_weight": 1.9261737121655108e+19
},
"alpha3": {
"particle_cpu": 6252.0,
"particle_id": 153642773313.0,
"particle_momentum_x": 4.853583107582054e-16,
"particle_momentum_y": 4.797298533911113e-16,
"particle_momentum_z": 4.759502498651132e-16,
"particle_momentum_x": 4.853582081563116e-16,
"particle_momentum_y": 4.797297548379446e-16,
"particle_momentum_z": 4.759501504671248e-16,
"particle_position_x": 51342.57223394147,
"particle_position_y": 50913.6612890173,
"particle_position_z": 101306.340590083,
"particle_weight": 1.036014694926736e+28
"particle_position_z": 101306.34059008301,
"particle_weight": 1.0360147595748265e+28
},
"alpha4": {
"particle_cpu": 307200.0,
"particle_id": 7431218688000.0,
"particle_momentum_x": 2.337391296198344e-14,
"particle_momentum_y": 2.343942459367338e-14,
"particle_momentum_z": 2.355941676163024e-14,
"particle_position_x": 2457367.458278153,
"particle_momentum_x": 2.3373908106523292e-14,
"particle_momentum_y": 2.3439419725501755e-14,
"particle_momentum_z": 2.3559411845892612e-14,
"particle_position_x": 2457367.4582781526,
"particle_position_y": 2457512.044373058,
"particle_position_z": 4914475.776513073,
"particle_weight": 3072.000000000002
},
"alpha5": {
"particle_cpu": 307200.0,
"particle_id": 7619962368000.0,
"particle_momentum_x": 2.333624736682437e-14,
"particle_momentum_y": 2.345594456920183e-14,
"particle_momentum_z": 2.357453114426799e-14,
"particle_momentum_x": 2.333624251961068e-14,
"particle_momentum_y": 2.3455939695798916e-14,
"particle_momentum_z": 2.3574526216382372e-14,
"particle_position_x": 2457556.857163842,
"particle_position_y": 2457059.635379324,
"particle_position_y": 2457059.6353793237,
"particle_position_z": 4915847.043341331,
"particle_weight": 3.0719999999999984e-18
},
Expand All @@ -59,7 +59,7 @@
"particle_id": 78643205120000.0,
"particle_momentum_x": 0.0,
"particle_momentum_y": 0.0,
"particle_momentum_z": 2.524243076150406e-13,
"particle_momentum_z": 2.524242836246531e-13,
"particle_position_x": 40958301.591654316,
"particle_position_y": 40961136.14476712,
"particle_position_z": 81920546.19181262,
Expand All @@ -74,26 +74,26 @@
"particle_position_x": 409798.0158217681,
"particle_position_y": 409670.9858143465,
"particle_position_z": 819255.8152412223,
"particle_weight": 1.0239999999360338e+29
"particle_weight": 1.0239999999357942e+29
},
"boron3": {
"particle_cpu": 512000.0,
"particle_id": 11639194112000.0,
"particle_momentum_x": 9.277703190700158e-15,
"particle_momentum_y": 9.268420145552847e-15,
"particle_momentum_z": 9.279457128810487e-15,
"particle_position_x": 4096178.166422465,
"particle_position_y": 4096499.706038672,
"particle_momentum_x": 9.277692671587846e-15,
"particle_momentum_y": 9.268409636965691e-15,
"particle_momentum_z": 9.279446607709548e-15,
"particle_position_x": 4096178.1664224654,
"particle_position_y": 4096499.7060386725,
"particle_position_z": 8191465.586938233,
"particle_weight": 5.119654661768357e+31
"particle_weight": 5.119654661746806e+31
},
"boron5": {
"particle_cpu": 51200.0,
"particle_id": 1208483891200.0,
"particle_momentum_x": 0.0,
"particle_momentum_y": 0.0,
"particle_momentum_z": 0.0,
"particle_position_x": 409547.3312927569,
"particle_position_x": 409547.33129275695,
"particle_position_y": 409518.5558814353,
"particle_position_z": 819306.5006950963,
"particle_weight": 1023.9999999999999
Expand All @@ -106,7 +106,7 @@
"particle_id": 26214405120000.0,
"particle_momentum_x": 0.0,
"particle_momentum_y": 0.0,
"particle_momentum_z": 2.524243076150406e-13,
"particle_momentum_z": 2.524242836246531e-13,
"particle_position_x": 40960140.72983793,
"particle_position_y": 40959772.69310104,
"particle_position_z": 81919021.52308556,
Expand All @@ -121,18 +121,18 @@
"particle_position_x": 4095630.698135355,
"particle_position_y": 4096073.5517983637,
"particle_position_z": 8191737.5566503005,
"particle_weight": 1.022781024071589e+29
"particle_weight": 1.0227810240713489e+29
},
"proton3": {
"particle_cpu": 307181.0,
"particle_id": 6731321892958.0,
"particle_momentum_x": 1.684351051519872e-15,
"particle_momentum_y": 1.682381896868337e-15,
"particle_momentum_z": 1.679996145653965e-15,
"particle_momentum_x": 1.6843510515198723e-15,
"particle_momentum_y": 1.6823818968683368e-15,
"particle_momentum_z": 1.6799961456539653e-15,
"particle_position_x": 2457338.899376694,
"particle_position_y": 2457069.647393952,
"particle_position_z": 4914642.288898885,
"particle_weight": 1.023654661768358e+31
"particle_weight": 1.0236546617468092e+31
},
"proton4": {
"particle_cpu": 51200.0,
Expand All @@ -151,8 +151,8 @@
"particle_momentum_x": 0.0,
"particle_momentum_y": 0.0,
"particle_momentum_z": 1.7581275870306353e-15,
"particle_position_x": 409638.287761857,
"particle_position_y": 409501.3225783394,
"particle_position_x": 409638.28776185703,
"particle_position_y": 409501.32257833943,
"particle_position_z": 819309.1804186807,
"particle_weight": 1.0240000000000003e+38
}
Expand Down
Loading