mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-27 21:55:41 -04:00
Fix of sampling routine, change dataframe .as_matrix to .values
This commit is contained in:
parent
6b828523fe
commit
78a411ebb7
3 changed files with 132 additions and 103 deletions
File diff suppressed because one or more lines are too long
|
|
@ -438,7 +438,7 @@ class MultiLevelBreitWigner(ResonanceRange):
|
|||
self._l_values = np.array(l_values)
|
||||
self._competitive = np.array(competitive)
|
||||
for l in l_values:
|
||||
self._parameter_matrix[l] = df[df.L == l].as_matrix()
|
||||
self._parameter_matrix[l] = df[df.L == l].values
|
||||
|
||||
self._prepared = True
|
||||
|
||||
|
|
@ -683,7 +683,7 @@ class ReichMoore(ResonanceRange):
|
|||
self._l_values = np.array(l_values)
|
||||
for (l, J) in lj_values:
|
||||
self._parameter_matrix[l, J] = df[(df.L == l) &
|
||||
(abs(df.J) == J)].as_matrix()
|
||||
(abs(df.J) == J)].values
|
||||
|
||||
self._prepared = True
|
||||
|
||||
|
|
|
|||
|
|
@ -253,11 +253,11 @@ class ResonanceCovarianceRange:
|
|||
if formalism == 'mlbw' or formalism == 'slbw':
|
||||
if mpar == 3:
|
||||
param_list = ['energy', 'neutronWidth', 'captureWidth']
|
||||
mean_array = pd.DataFrame.as_matrix(parameters[param_list])
|
||||
spin = pd.DataFrame.as_matrix(parameters['J'])
|
||||
l_value = pd.DataFrame.as_matrix(parameters['L'])
|
||||
gf = pd.DataFrame.as_matrix(parameters['fissionWidth'])
|
||||
gx = pd.DataFrame.as_matrix(parameters['competitiveWidth'])
|
||||
mean_array = parameters[param_list].values
|
||||
spin = parameters['J'].values
|
||||
l_value = parameters['L'].values
|
||||
gf = parameters['fissionWidth'].values
|
||||
gx = parameters['competitiveWidth'].values
|
||||
mean = mean_array.flatten()
|
||||
par_samples = np.random.multivariate_normal(mean, cov,
|
||||
size=n_samples)
|
||||
|
|
@ -274,16 +274,21 @@ class ResonanceCovarianceRange:
|
|||
'captureWidth', 'fissionWidth', 'competitiveWidth']
|
||||
sample_params = pd.DataFrame.from_records(records,
|
||||
columns=columns)
|
||||
# Copy ResonanceRange object
|
||||
res_range = copy.copy(self.file2res)
|
||||
# Set _prepared to False to ensure sampled parameters are
|
||||
# used during construction routine
|
||||
res_range._prepared = False
|
||||
res_range.parameters = sample_params
|
||||
samples.append(res_range)
|
||||
|
||||
elif mpar == 4:
|
||||
param_list = ['energy', 'neutronWidth', 'captureWidth',
|
||||
'fissionWidth']
|
||||
mean_array = pd.DataFrame.as_matrix(parameters[param_list])
|
||||
spin = pd.DataFrame.as_matrix(parameters['J'])
|
||||
l_value = pd.DataFrame.as_matrix(parameters['L'])
|
||||
gx = pd.DataFrame.as_matrix(parameters['competitiveWidth'])
|
||||
mean_array = parameters[param_list].values
|
||||
spin = parameters['J'].values
|
||||
l_value = parameters['L'].values
|
||||
gx = parameters['competitiveWidth'].values
|
||||
mean = mean_array.flatten()
|
||||
par_samples = np.random.multivariate_normal(mean, cov,
|
||||
size=n_samples)
|
||||
|
|
@ -301,14 +306,20 @@ class ResonanceCovarianceRange:
|
|||
'captureWidth', 'fissionWidth', 'competitiveWidth']
|
||||
sample_params = pd.DataFrame.from_records(records,
|
||||
columns=columns)
|
||||
# Copy ResonanceRange object
|
||||
res_range = copy.copy(self.file2res)
|
||||
# Set _prepared to False to ensure sampled parameters are
|
||||
# used during construction routine
|
||||
res_range._prepared = False
|
||||
res_range.parameters = sample_params
|
||||
samples.append(res_range)
|
||||
|
||||
elif mpar == 5:
|
||||
param_list = ['energy', 'neutronWidth', 'captureWidth',
|
||||
'fissionWidth', 'competitiveWidth']
|
||||
mean_array = pd.DataFrame.as_matrix(parameters[param_list])
|
||||
spin = pd.DataFrame.as_matrix(parameters['J'])
|
||||
l_value = pd.DataFrame.as_matrix(parameters['L'])
|
||||
mean_array = parameters[param_list].values
|
||||
spin = parameters['J'].values
|
||||
l_value = parameters['L'].values
|
||||
mean = mean_array.flatten()
|
||||
par_samples = np.random.multivariate_normal(mean, cov,
|
||||
size=n_samples)
|
||||
|
|
@ -327,17 +338,23 @@ class ResonanceCovarianceRange:
|
|||
'captureWidth', 'fissionWidth', 'competitveWidth']
|
||||
sample_params = pd.DataFrame.from_records(records,
|
||||
columns=columns)
|
||||
# Copy ResonanceRange object
|
||||
res_range = copy.copy(self.file2res)
|
||||
# Set _prepared to False to ensure sampled parameters are
|
||||
# used during construction routine
|
||||
res_range._prepared = False
|
||||
res_range.parameters = sample_params
|
||||
samples.append(res_range)
|
||||
|
||||
# Handling RM Sampling
|
||||
if formalism == 'rm':
|
||||
if mpar == 3:
|
||||
param_list = ['energy', 'neutronWidth', 'captureWidth']
|
||||
mean_array = pd.DataFrame.as_matrix(parameters[param_list])
|
||||
spin = pd.DataFrame.as_matrix(parameters['J'])
|
||||
l_value = pd.DataFrame.as_matrix(parameters['L'])
|
||||
gfa = pd.DataFrame.as_matrix(parameters['fissionWidthA'])
|
||||
gfb = pd.DataFrame.as_matrix(parameters['fissionWidthB'])
|
||||
mean_array = parameters[param_list].values
|
||||
spin = parameters['J'].values
|
||||
l_value = parameters['L'].values
|
||||
gfa = parameters['fissionWidthA'].values
|
||||
gfb = parameters['fissionWidthB'].values
|
||||
mean = mean_array.flatten()
|
||||
par_samples = np.random.multivariate_normal(mean, cov,
|
||||
size=n_samples)
|
||||
|
|
@ -353,14 +370,20 @@ class ResonanceCovarianceRange:
|
|||
'captureWidth', 'fissionWidthA', 'fissionWidthB']
|
||||
sample_params = pd.DataFrame.from_records(records,
|
||||
columns=columns)
|
||||
# Copy ResonanceRange object
|
||||
res_range = copy.copy(self.file2res)
|
||||
# Set _prepared to False to ensure sampled parameters are
|
||||
# used during construction routine
|
||||
res_range._prepared = False
|
||||
res_range.parameters = sample_params
|
||||
samples.append(res_range)
|
||||
|
||||
elif mpar == 5:
|
||||
param_list = ['energy', 'neutronWidth', 'captureWidth',
|
||||
'fissionWidthA', 'fissionWidthB']
|
||||
mean_array = pd.DataFrame.as_matrix(parameters[param_list])
|
||||
spin = pd.DataFrame.as_matrix(parameters['J'])
|
||||
l_value = pd.DataFrame.as_matrix(parameters['L'])
|
||||
mean_array = parameters[param_list].values
|
||||
spin = parameters['J'].values
|
||||
l_value = parameters['L'].values
|
||||
mean = mean_array.flatten()
|
||||
par_samples = np.random.multivariate_normal(mean, cov,
|
||||
size=n_samples)
|
||||
|
|
@ -378,6 +401,12 @@ class ResonanceCovarianceRange:
|
|||
'captureWidth', 'fissionWidthA', 'fissionWidthB']
|
||||
sample_params = pd.DataFrame.from_records(records,
|
||||
columns=columns)
|
||||
# Copy ResonanceRange object
|
||||
res_range = copy.copy(self.file2res)
|
||||
# Set _prepared to False to ensure sampled parameters are
|
||||
# used during construction routine
|
||||
res_range._prepared = False
|
||||
res_range.parameters = sample_params
|
||||
samples.append(res_range)
|
||||
|
||||
return samples
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue