misc
This commit is contained in:
@@ -25,19 +25,17 @@ The configuration file can have a ```name``` parameter at the root and must othe
|
|||||||
Examples :
|
Examples :
|
||||||
|
|
||||||
```
|
```
|
||||||
[fiber]
|
|
||||||
n2 = 2.2e-20
|
n2 = 2.2e-20
|
||||||
```
|
```
|
||||||
a single simulation is ran with this value
|
a single simulation is ran with this value
|
||||||
```
|
```
|
||||||
[fiber.variable]
|
[variable]
|
||||||
n2 = [2.1e-20, 2.4e-20, 2.6e-20]
|
n2 = [2.1e-20, 2.4e-20, 2.6e-20]
|
||||||
```
|
```
|
||||||
3 simulations are ran, one for each value
|
3 simulations are ran, one for each value
|
||||||
```
|
```
|
||||||
[fiber]
|
|
||||||
n2 = 2.2e-20
|
n2 = 2.2e-20
|
||||||
[fiber.variable]
|
[variable]
|
||||||
n2 = [2.1e-20, 2.4e-20, 2.6e-20]
|
n2 = [2.1e-20, 2.4e-20, 2.6e-20]
|
||||||
```
|
```
|
||||||
NOT ALLOWED
|
NOT ALLOWED
|
||||||
@@ -251,6 +249,9 @@ upper_wavelength_interp_limit: float
|
|||||||
sets the lowest end of this range. If the set value is higher than the higher end of the
|
sets the lowest end of this range. If the set value is higher than the higher end of the
|
||||||
wavelength window, it is lowered down to that point. default : 1900e-9
|
wavelength window, it is lowered down to that point. default : 1900e-9
|
||||||
|
|
||||||
|
interp_degree: int
|
||||||
|
max degree of the Taylor polynomial fitting the dispersion data
|
||||||
|
|
||||||
readjust_wavelength : bool
|
readjust_wavelength : bool
|
||||||
if a custom input field is set, it is likely that the maximum of its corresponding spectrum doesn't lies exactly at the
|
if a custom input field is set, it is likely that the maximum of its corresponding spectrum doesn't lies exactly at the
|
||||||
set wavelength. If this setting is True, the program will override the wavelength parameter so that the maximum of the spectrum
|
set wavelength. If this setting is True, the program will override the wavelength parameter so that the maximum of the spectrum
|
||||||
|
|||||||
@@ -14,7 +14,6 @@
|
|||||||
# Load modules or your own conda environment here
|
# Load modules or your own conda environment here
|
||||||
{environment_setup}
|
{environment_setup}
|
||||||
|
|
||||||
################# DO NOT CHANGE THINGS HERE UNLESS YOU KNOW WHAT YOU ARE DOING ###############
|
|
||||||
# This script is a modification to the implementation suggest by gregSchwartz18 here:
|
# This script is a modification to the implementation suggest by gregSchwartz18 here:
|
||||||
# https://github.com/ray-project/ray/issues/826#issuecomment-522116599
|
# https://github.com/ray-project/ray/issues/826#issuecomment-522116599
|
||||||
redis_password=$(uuidgen)
|
redis_password=$(uuidgen)
|
||||||
@@ -47,7 +46,6 @@ do
|
|||||||
srun --nodes=1 --ntasks=1 -w $node_i start_worker.sh $ip_head $redis_password &
|
srun --nodes=1 --ntasks=1 -w $node_i start_worker.sh $ip_head $redis_password &
|
||||||
sleep 5
|
sleep 5
|
||||||
done
|
done
|
||||||
##############################################################################################
|
|
||||||
|
|
||||||
#### call your code below
|
#### call your code below
|
||||||
scgenerator {command} {configs_list}
|
scgenerator {command} {configs_list}
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ default_parameters = dict(
|
|||||||
tolerated_error=1e-11,
|
tolerated_error=1e-11,
|
||||||
lower_wavelength_interp_limit=300e-9,
|
lower_wavelength_interp_limit=300e-9,
|
||||||
upper_wavelength_interp_limit=1900e-9,
|
upper_wavelength_interp_limit=1900e-9,
|
||||||
|
interp_degree=8,
|
||||||
ideal_gas=False,
|
ideal_gas=False,
|
||||||
readjust_wavelength=False,
|
readjust_wavelength=False,
|
||||||
recovery_last_stored=0,
|
recovery_last_stored=0,
|
||||||
|
|||||||
@@ -216,6 +216,7 @@ class Config(BareConfig):
|
|||||||
"repeat",
|
"repeat",
|
||||||
"lower_wavelength_interp_limit",
|
"lower_wavelength_interp_limit",
|
||||||
"upper_wavelength_interp_limit",
|
"upper_wavelength_interp_limit",
|
||||||
|
"interp_degree",
|
||||||
"ideal_gas",
|
"ideal_gas",
|
||||||
"readjust_wavelength",
|
"readjust_wavelength",
|
||||||
"recovery_last_stored",
|
"recovery_last_stored",
|
||||||
|
|||||||
@@ -493,7 +493,7 @@ def dynamic_HCPCF_dispersion(
|
|||||||
w0: float,
|
w0: float,
|
||||||
interp_range: Tuple[float, float],
|
interp_range: Tuple[float, float],
|
||||||
material_dico: Dict[str, Any],
|
material_dico: Dict[str, Any],
|
||||||
deg,
|
deg: int,
|
||||||
):
|
):
|
||||||
"""returns functions for beta2 coefficients and gamma instead of static values
|
"""returns functions for beta2 coefficients and gamma instead of static values
|
||||||
|
|
||||||
@@ -648,7 +648,7 @@ def PCF_dispersion(lambda_, pitch, ratio_d, w0=None, n2=None, A_eff=None):
|
|||||||
return beta2, gamma
|
return beta2, gamma
|
||||||
|
|
||||||
|
|
||||||
def compute_dispersion(params: BareParams, deg=8):
|
def compute_dispersion(params: BareParams):
|
||||||
"""dispatch function depending on what type of fiber is used
|
"""dispatch function depending on what type of fiber is used
|
||||||
|
|
||||||
Parameters
|
Parameters
|
||||||
@@ -710,7 +710,7 @@ def compute_dispersion(params: BareParams, deg=8):
|
|||||||
params.w0,
|
params.w0,
|
||||||
params.interp_range,
|
params.interp_range,
|
||||||
material_dico,
|
material_dico,
|
||||||
deg,
|
params.interp_degree,
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
|
|
||||||
@@ -739,7 +739,9 @@ def compute_dispersion(params: BareParams, deg=8):
|
|||||||
if params.plasma_density > 0:
|
if params.plasma_density > 0:
|
||||||
beta2 += plasma_dispersion(lambda_, params.plasma_density)
|
beta2 += plasma_dispersion(lambda_, params.plasma_density)
|
||||||
|
|
||||||
beta2_coef = dispersion_coefficients(lambda_, beta2, params.w0, params.interp_range, deg)
|
beta2_coef = dispersion_coefficients(
|
||||||
|
lambda_, beta2, params.w0, params.interp_range, params.interp_degree
|
||||||
|
)
|
||||||
|
|
||||||
if gamma is None:
|
if gamma is None:
|
||||||
if params.A_eff is not None:
|
if params.A_eff is not None:
|
||||||
|
|||||||
@@ -314,7 +314,7 @@ def _finish_plot_2D(
|
|||||||
ax.set_xlim(*ext_x)
|
ax.set_xlim(*ext_x)
|
||||||
ax.set_ylim(*ext_y)
|
ax.set_ylim(*ext_y)
|
||||||
|
|
||||||
interpolation = params.get("plot.interpolation", defaults["interpolation_2D"])
|
interpolation = defaults["interpolation_2D"]
|
||||||
im = ax.imshow(
|
im = ax.imshow(
|
||||||
values,
|
values,
|
||||||
extent=[ext_x[0] - dx / 2, ext_x[1] + dx / 2, ext_y[0] - dy / 2, ext_y[1] + dy / 2],
|
extent=[ext_x[0] - dx / 2, ext_x[1] + dx / 2, ext_y[0] - dy / 2, ext_y[1] + dy / 2],
|
||||||
|
|||||||
@@ -15,16 +15,16 @@ from ..utils import count_variations
|
|||||||
|
|
||||||
|
|
||||||
def primes(n):
|
def primes(n):
|
||||||
primfac = []
|
prime_factors = []
|
||||||
d = 2
|
d = 2
|
||||||
while d * d <= n:
|
while d * d <= n:
|
||||||
while (n % d) == 0:
|
while (n % d) == 0:
|
||||||
primfac.append(d) # supposing you want multiple factors repeated
|
prime_factors.append(d)
|
||||||
n //= d
|
n //= d
|
||||||
d += 1
|
d += 1
|
||||||
if n > 1:
|
if n > 1:
|
||||||
primfac.append(n)
|
prime_factors.append(n)
|
||||||
return primfac
|
return prime_factors
|
||||||
|
|
||||||
|
|
||||||
def balance(n, lim=(32, 32)):
|
def balance(n, lim=(32, 32)):
|
||||||
|
|||||||
@@ -237,6 +237,8 @@ class VariableParameter:
|
|||||||
|
|
||||||
|
|
||||||
valid_variable = {
|
valid_variable = {
|
||||||
|
"dispersion_file",
|
||||||
|
"field_file",
|
||||||
"beta",
|
"beta",
|
||||||
"gamma",
|
"gamma",
|
||||||
"pitch",
|
"pitch",
|
||||||
@@ -255,7 +257,8 @@ valid_variable = {
|
|||||||
"pressure",
|
"pressure",
|
||||||
"temperature",
|
"temperature",
|
||||||
"gas_name",
|
"gas_name",
|
||||||
"plasma_density" "peak_power",
|
"plasma_density",
|
||||||
|
"peak_power",
|
||||||
"mean_power",
|
"mean_power",
|
||||||
"peak_power",
|
"peak_power",
|
||||||
"energy",
|
"energy",
|
||||||
@@ -358,6 +361,7 @@ class BareParams:
|
|||||||
step_size: float = Parameter(positive(float, int))
|
step_size: float = Parameter(positive(float, int))
|
||||||
lower_wavelength_interp_limit: float = Parameter(in_range_incl(100e-9, 3000e-9))
|
lower_wavelength_interp_limit: float = Parameter(in_range_incl(100e-9, 3000e-9))
|
||||||
upper_wavelength_interp_limit: float = Parameter(in_range_incl(200e-9, 5000e-9))
|
upper_wavelength_interp_limit: float = Parameter(in_range_incl(200e-9, 5000e-9))
|
||||||
|
interp_degree: int = Parameter(positive(int))
|
||||||
frep: float = Parameter(positive(float, int))
|
frep: float = Parameter(positive(float, int))
|
||||||
prev_sim_dir: str = Parameter(string)
|
prev_sim_dir: str = Parameter(string)
|
||||||
readjust_wavelength: bool = Parameter(boolean)
|
readjust_wavelength: bool = Parameter(boolean)
|
||||||
|
|||||||
Reference in New Issue
Block a user