- locationLocation parameter (a or low)
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Location parameter (a or low)
- scaleScale parameter (b or lambda)
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Scale parameter (b or lambda)
- shapeShape parameter (c or k)
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Shape parameter (c or k)
Weibull
Three-parameter Weibull distribution.
Description
The Weibull object defines a translated Weibull distribution which has a probability density function (PDF) defined as
where and defines the shape parameter, and defines the scale parameter and is the location parameter of the distribution.
Example Input Syntax
[Distributions<<<{"href": "../../syntax/Distributions/index.html"}>>>]
[weibull]
type = Weibull<<<{"description": "Three-parameter Weibull distribution.", "href": "Weibull.html"}>>>
shape<<<{"description": "Shape parameter (c or k)"}>>> = 5
scale<<<{"description": "Scale parameter (b or lambda)"}>>> = 1
location<<<{"description": "Location parameter (a or low)"}>>> = 0
[]
[]
(modules/stochastic_tools/test/tests/distributions/weibull.i)Input Parameters
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
Controllable:No
Description:Adds user-defined labels for accessing object parameters via control logic.
- enableTrueSet the enabled status of the MooseObject.
Default:True
C++ Type:bool
Controllable:No
Description:Set the enabled status of the MooseObject.
Advanced Parameters
Input Files
- (modules/stochastic_tools/examples/parameter_study/main_vector.i)
- (modules/stochastic_tools/examples/workshop/step01.i)
- (modules/stochastic_tools/examples/parameter_study/main_time.i)
- (modules/stochastic_tools/test/tests/distributions/weibull.i)
- (modules/stochastic_tools/examples/parameter_study/main.i)
- (modules/stochastic_tools/test/tests/samplers/monte_carlo/monte_carlo_weibull.i)
- (modules/stochastic_tools/examples/workshop/step04.i)
- (modules/stochastic_tools/examples/workshop/step03.i)
- (modules/stochastic_tools/examples/workshop/step02.i)
- (modules/stochastic_tools/examples/sobol/main.i)
Child Objects
(modules/stochastic_tools/test/tests/distributions/weibull.i)
[StochasticTools]
[]
[Distributions]
[weibull]
type = Weibull
shape = 5
scale = 1
location = 0
[]
[]
[Postprocessors]
[cdf]
type = TestDistributionPostprocessor
distribution = weibull
value = 1
method = cdf
execute_on = initial
[]
[pdf]
type = TestDistributionPostprocessor
distribution = weibull
value = 1
method = pdf
execute_on = initial
[]
[quantile]
type = TestDistributionPostprocessor
distribution = weibull
value = 0.63212055882856
method = quantile
execute_on = initial
[]
[]
[Outputs]
execute_on = 'INITIAL'
csv = true
[]
(modules/stochastic_tools/examples/parameter_study/main_vector.i)
[StochasticTools]
[]
[Distributions]
[gamma]
type = Uniform
lower_bound = 0.5
upper_bound = 2.5
[]
[q_0]
type = Weibull
location = -110
scale = 20
shape = 1
[]
[T_0]
type = Normal
mean = 300
standard_deviation = 45
[]
[s]
type = Normal
mean = 100
standard_deviation = 25
[]
[]
[Samplers]
[hypercube]
type = LatinHypercube
num_rows = 5000
distributions = 'gamma q_0 T_0 s'
[]
[]
[MultiApps]
[runner]
type = SamplerFullSolveMultiApp
sampler = hypercube
input_files = 'diffusion_vector.i'
mode = batch-restore
[]
[]
[Transfers]
[parameters]
type = SamplerParameterTransfer
to_multi_app = runner
sampler = hypercube
parameters = 'Materials/constant/prop_values Kernels/source/value BCs/right/value BCs/left/value'
[]
[results]
type = SamplerReporterTransfer
from_multi_app = runner
sampler = hypercube
stochastic_reporter = results
from_reporter = 'acc/T_avg:value acc/q_left:value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
outputs = none
[]
[stats]
type = StatisticsReporter
reporters = 'results/results:acc:T_avg:value results/results:acc:q_left:value'
compute = 'mean stddev'
ci_method = 'percentile'
ci_levels = '0.05 0.95'
[]
[]
[Outputs]
execute_on = 'FINAL'
[out]
type = JSON
[]
[]
(modules/stochastic_tools/examples/workshop/step01.i)
[StochasticTools]
[]
[Distributions]
[D]
type = Uniform
lower_bound = 0.5
upper_bound = 2.5
[]
[q]
type = Normal
mean = 100
standard_deviation = 25
[]
[T_0]
type = Normal
mean = 300
standard_deviation = 45
[]
[q_0]
type = Weibull
location = -110
scale = 20
shape = 1
[]
[]
[Samplers]
[hypercube]
type = LatinHypercube
num_rows = 5000
distributions = 'D q T_0 q_0'
[]
[]
[Reporters]
[sampling_matrix]
type = StochasticMatrix
sampler = hypercube
sampler_column_names = 'D q T_0 q_0'
parallel_type = ROOT
[]
[]
[Outputs]
csv = true
[]
(modules/stochastic_tools/examples/parameter_study/main_time.i)
[StochasticTools]
[]
[Distributions]
[gamma]
type = Uniform
lower_bound = 0.5
upper_bound = 2.5
[]
[q_0]
type = Weibull
location = -110
scale = 20
shape = 1
[]
[T_0]
type = Normal
mean = 300
standard_deviation = 45
[]
[s]
type = Normal
mean = 100
standard_deviation = 25
[]
[]
[Samplers]
[hypercube]
type = LatinHypercube
num_rows = 5000
distributions = 'gamma q_0 T_0 s'
[]
[]
[MultiApps]
[runner]
type = SamplerTransientMultiApp
sampler = hypercube
input_files = 'diffusion_time.i'
mode = batch-restore
[]
[]
[Transfers]
[parameters]
type = SamplerParameterTransfer
to_multi_app = runner
sampler = hypercube
parameters = 'Materials/constant/prop_values Kernels/source/value BCs/right/value BCs/left/value'
[]
[results]
type = SamplerReporterTransfer
from_multi_app = runner
sampler = hypercube
stochastic_reporter = results
from_reporter = 'T_avg/value q_left/value T_vec/T'
[]
[x_transfer]
type = MultiAppReporterTransfer
from_multi_app = runner
subapp_index = 0
from_reporters = T_vec/x
to_reporters = const/x
[]
[]
[Reporters]
[results]
type = StochasticReporter
outputs = none
[]
[stats]
type = StatisticsReporter
reporters = 'results/results:T_avg:value results/results:q_left:value results/results:T_vec:T'
compute = 'mean stddev'
ci_method = 'percentile'
ci_levels = '0.05 0.95'
[]
[const]
type = ConstantReporter
real_vector_names = 'x'
real_vector_values = '0'
[]
[]
[Executioner]
type = Transient
num_steps = 4
dt = 0.25
[]
[Outputs]
execute_on = timestep_end
[out]
type = JSON
[]
[]
(modules/stochastic_tools/test/tests/distributions/weibull.i)
[StochasticTools]
[]
[Distributions]
[weibull]
type = Weibull
shape = 5
scale = 1
location = 0
[]
[]
[Postprocessors]
[cdf]
type = TestDistributionPostprocessor
distribution = weibull
value = 1
method = cdf
execute_on = initial
[]
[pdf]
type = TestDistributionPostprocessor
distribution = weibull
value = 1
method = pdf
execute_on = initial
[]
[quantile]
type = TestDistributionPostprocessor
distribution = weibull
value = 0.63212055882856
method = quantile
execute_on = initial
[]
[]
[Outputs]
execute_on = 'INITIAL'
csv = true
[]
(modules/stochastic_tools/examples/parameter_study/main.i)
[StochasticTools]
[]
[Distributions]
[gamma]
type = Uniform
lower_bound = 0.5
upper_bound = 2.5
[]
[q_0]
type = Weibull
location = -110
scale = 20
shape = 1
[]
[T_0]
type = Normal
mean = 300
standard_deviation = 45
[]
[s]
type = Normal
mean = 100
standard_deviation = 25
[]
[]
[Samplers]
[hypercube]
type = LatinHypercube
num_rows = 5000
distributions = 'gamma q_0 T_0 s'
[]
[]
[MultiApps]
[runner]
type = SamplerFullSolveMultiApp
sampler = hypercube
input_files = 'diffusion.i'
mode = batch-restore
[]
[]
[Transfers]
[parameters]
type = SamplerParameterTransfer
to_multi_app = runner
sampler = hypercube
parameters = 'Materials/constant/prop_values Kernels/source/value BCs/right/value BCs/left/value'
[]
[results]
type = SamplerReporterTransfer
from_multi_app = runner
sampler = hypercube
stochastic_reporter = results
from_reporter = 'T_avg/value q_left/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
[]
[stats]
type = StatisticsReporter
reporters = 'results/results:T_avg:value results/results:q_left:value'
compute = 'mean stddev'
ci_method = 'percentile'
ci_levels = '0.05 0.95'
[]
[]
[Outputs]
execute_on = 'FINAL'
[out]
type = JSON
[]
[]
(modules/stochastic_tools/test/tests/samplers/monte_carlo/monte_carlo_weibull.i)
[StochasticTools]
[]
[Distributions]
[weibull]
type = Weibull
scale = 1
shape = 5
location = 0
[]
[]
[Samplers]
[sample]
type = MonteCarlo
num_rows = 10
distributions = 'weibull'
execute_on = 'initial timestep_end'
[]
[]
[VectorPostprocessors]
[data]
type = SamplerData
sampler = sample
execute_on = 'initial timestep_end'
[]
[]
[Outputs]
execute_on = 'INITIAL TIMESTEP_END'
csv = true
[]
(modules/stochastic_tools/examples/workshop/step04.i)
[StochasticTools]
[]
[Distributions]
[D]
type = Uniform
lower_bound = 0.5
upper_bound = 2.5
[]
[q]
type = Normal
mean = 100
standard_deviation = 25
[]
[T_0]
type = Normal
mean = 300
standard_deviation = 45
[]
[q_0]
type = Weibull
location = -110
scale = 20
shape = 1
[]
[]
[Samplers]
[hypercube]
type = LatinHypercube
num_rows = 1000
distributions = 'D q T_0 q_0'
[]
[resample]
type = LatinHypercube
num_rows = 1000
seed = 2025
distributions = 'D q T_0 q_0'
[]
[sobol]
type = Sobol
sampler_a = hypercube
sampler_b = resample
resample = false
[]
[]
[MultiApps]
[runner]
type = SamplerFullSolveMultiApp
sampler = sobol
input_files = 'diffusion.i'
cli_args = 'Outputs/console=false'
mode = batch-restore
[]
[]
[Transfers]
[parameters]
type = SamplerParameterTransfer
to_multi_app = runner
sampler = sobol
parameters = 'Materials/constant/prop_values
Kernels/source/value
BCs/left/value
BCs/right/value'
[]
[results]
type = SamplerReporterTransfer
from_multi_app = runner
sampler = sobol
stochastic_reporter = sampling_matrix
from_reporter = 'T_avg/value q_left/value'
[]
[]
[Reporters]
[sampling_matrix]
type = StochasticMatrix
sampler = sobol
sampler_column_names = 'D q T_0 q_0'
parallel_type = ROOT
[]
[sobol]
type = SobolReporter
sampler = sobol
reporters = 'sampling_matrix/results:T_avg:value sampling_matrix/results:q_left:value'
ci_levels = '0.05 0.95'
[]
[]
[Outputs]
json = true
[]
(modules/stochastic_tools/examples/workshop/step03.i)
[StochasticTools]
[]
[Distributions]
[D]
type = Uniform
lower_bound = 0.5
upper_bound = 2.5
[]
[q]
type = Normal
mean = 100
standard_deviation = 25
[]
[T_0]
type = Normal
mean = 300
standard_deviation = 45
[]
[q_0]
type = Weibull
location = -110
scale = 20
shape = 1
[]
[]
[Samplers]
[hypercube]
type = LatinHypercube
num_rows = 5000
distributions = 'D q T_0 q_0'
[]
[]
[MultiApps]
[runner]
type = SamplerFullSolveMultiApp
sampler = hypercube
input_files = 'diffusion.i'
cli_args = 'Outputs/console=false'
mode = batch-restore
[]
[]
[Transfers]
[parameters]
type = SamplerParameterTransfer
to_multi_app = runner
sampler = hypercube
parameters = 'Materials/constant/prop_values
Kernels/source/value
BCs/left/value
BCs/right/value'
[]
[results]
type = SamplerReporterTransfer
from_multi_app = runner
sampler = hypercube
stochastic_reporter = sampling_matrix
from_reporter = 'T_avg/value q_left/value'
[]
[]
[Reporters]
[sampling_matrix]
type = StochasticMatrix
sampler = hypercube
sampler_column_names = 'D q T_0 q_0'
parallel_type = ROOT
[]
[stats]
type = StatisticsReporter
reporters = 'sampling_matrix/results:T_avg:value sampling_matrix/results:q_left:value'
compute = 'mean stddev'
ci_method = 'percentile'
ci_levels = '0.05 0.95'
[]
[]
[Outputs]
json = true
[]
(modules/stochastic_tools/examples/workshop/step02.i)
[StochasticTools]
[]
[Distributions]
[D]
type = Uniform
lower_bound = 0.5
upper_bound = 2.5
[]
[q]
type = Normal
mean = 100
standard_deviation = 25
[]
[T_0]
type = Normal
mean = 300
standard_deviation = 45
[]
[q_0]
type = Weibull
location = -110
scale = 20
shape = 1
[]
[]
[Samplers]
[hypercube]
type = LatinHypercube
num_rows = 5000
distributions = 'D q T_0 q_0'
[]
[]
[MultiApps]
[runner]
type = SamplerFullSolveMultiApp
sampler = hypercube
input_files = 'diffusion.i'
cli_args = 'Outputs/console=false'
mode = batch-restore
[]
[]
[Transfers]
[parameters]
type = SamplerParameterTransfer
to_multi_app = runner
sampler = hypercube
parameters = 'Materials/constant/prop_values
Kernels/source/value
BCs/left/value
BCs/right/value'
[]
[results]
type = SamplerReporterTransfer
from_multi_app = runner
sampler = hypercube
stochastic_reporter = sampling_matrix
from_reporter = 'T_avg/value q_left/value'
[]
[]
[Reporters]
[sampling_matrix]
type = StochasticMatrix
sampler = hypercube
sampler_column_names = 'D q T_0 q_0'
parallel_type = ROOT
[]
[]
[Outputs]
csv = true
[]
(modules/stochastic_tools/examples/sobol/main.i)
[StochasticTools]
[]
[Distributions]
[gamma]
type = Uniform
lower_bound = 0.5
upper_bound = 2.5
[]
[q_0]
type = Weibull
location = -110
scale = 20
shape = 1
[]
[T_0]
type = Normal
mean = 300
standard_deviation = 45
[]
[s]
type = Normal
mean = 100
standard_deviation = 25
[]
[]
[Samplers]
[hypercube_a]
type = LatinHypercube
num_rows = 10000
distributions = 'gamma q_0 T_0 s'
seed = 2011
[]
[hypercube_b]
type = LatinHypercube
num_rows = 10000
distributions = 'gamma q_0 T_0 s'
seed = 2013
[]
[sobol]
type = Sobol
sampler_a = hypercube_a
sampler_b = hypercube_b
[]
[]
[MultiApps]
[runner]
type = SamplerFullSolveMultiApp
sampler = sobol
input_files = 'diffusion.i'
mode = batch-restore
[]
[]
[Transfers]
[parameters]
type = SamplerParameterTransfer
to_multi_app = runner
sampler = sobol
parameters = 'Materials/constant/prop_values Kernels/source/value BCs/right/value BCs/left/value'
[]
[results]
type = SamplerReporterTransfer
from_multi_app = runner
sampler = sobol
stochastic_reporter = results
from_reporter = 'T_avg/value q_left/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
outputs = none
[]
[stats]
type = StatisticsReporter
reporters = 'results/results:T_avg:value results/results:q_left:value'
compute = 'mean'
ci_method = 'percentile'
ci_levels = '0.05 0.95'
[]
[sobol]
type = SobolReporter
sampler = sobol
reporters = 'results/results:T_avg:value results/results:q_left:value'
ci_levels = '0.05 0.95'
[]
[]
[Outputs]
execute_on = 'FINAL'
[out]
type = JSON
[]
[]
(modules/stochastic_tools/include/distributions/WeibullDistribution.h)
// This file is part of the MOOSE framework
// https://mooseframework.inl.gov
//
// All rights reserved, see COPYRIGHT for full restrictions
// https://github.com/idaholab/moose/blob/master/COPYRIGHT
//
// Licensed under LGPL 2.1, please see LICENSE for details
// https://www.gnu.org/licenses/lgpl-2.1.html
#pragma once
#include "Weibull.h"
/**
* A deprecated wrapper class used to generate a Weibull distribution
*/
class WeibullDistribution : public Weibull
{
public:
static InputParameters validParams();
WeibullDistribution(const InputParameters & parameters);
};