UQLab User Manual – The Input Module
User Manual:
Open the PDF directly: View PDF .
Page Count: 60
Download | ![]() |
Open PDF In Browser | View PDF |
UQL AB U SER M ANUAL T HE I NPUT MODULE C. Lataniotis, S. Marelli, B. Sudret C HAIR OF R ISK , S AFETY AND U NCERTAINTY Q UANTIFICATION S TEFANO -F RANSCINI -P LATZ 5 CH-8093 Z ÜRICH Risk, Safety & Uncertainty Quantification How to cite UQL AB S. Marelli, and B. Sudret, UQLab: A framework for uncertainty quantification in Matlab, Proc. 2nd Int. Conf. on Vulnerability, Risk Analysis and Management (ICVRAM2014), Liverpool, United Kingdom, 2014, 2554-2563. How to cite this manual C. Lataniotis, S. Marelli and B. Sudret, UQLab user manual – The Input module, Report UQLab-V1.1-102, Chair of Risk, Safety & Uncertainty Quantification, ETH Zurich, 2018. BIBTEX entry @TechReport{UQdoc 11 102, author = {Lataniotis, C. and Marelli, S. and Sudret, B.}, title = {{UQLab user manual -- I N P U T module}}, institution = {Chair of Risk, Safety & Uncertainty Quantification, ETH Zurich}, year = {2018}, note = {Report # UQLab-V1.1-102}, } Document Data Sheet Document Ref. Title: Authors: Date: Doc. Version V1.1 UQL AB-V1.1-102 UQL AB User Manual – The Input module C. Lataniotis, S. Marelli, B. Sudret Chair of Risk. Safety and Uncertainty Quantification, ETH Zurich, Switzerland 01/07/2018 Date 01/07/2018 Comments UQL AB V1.1 release • New section in the reference list about uq subsample V1.0 01/05/2017 UQL AB V1.0 release • New distributions: triangular, logistic, Laplace • Updated custom distributions section • Updated description of several functions V0.9 01/07/2015 Initial release Abstract The UQL AB INPUT module is used to define the probabilistic input model in uncertainty quantification problems. It offers extensive possibilities to perform operations like drawing samples of random vectors, or transforming samples of random vectors to samples of different random vectors (isoprobabilistic transforms). The dependence structure between the components of random vectors is specified with the copula formalism. This user manual includes a review of the methods that are used to define, draw and transform samples of random vectors. It also contains information about each of the available probability distributions that can be used in the current version of UQL AB. After introducing the theoretical aspects, an in-depth example-driven user guide is provided to help new users to properly set up and use the INPUT module objects. Finally, a comprehensive reference list of the methods and functions available in the UQL AB INPUT module is given at the end of the manual. Keywords: Probabilistic Input Model, Marginals, Copula, Sampling Contents 1 Theory 1 1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Representation of common univariate distributions . . . . . . . . . . . . . . . 1 1.2.1 Uniform distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2.2 Gaussian (Normal) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2.3 Lognormal distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2.4 Gumbel distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2.5 Gumbel-min distribution . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2.6 Weibull distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.2.7 Gamma distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.2.8 Exponential distribution . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.2.9 Beta distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.2.10 Triangular distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.2.11 Logistic distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.2.12 Laplace distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.3 Truncated distributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.4 Representation of random vectors and joint PDFs . . . . . . . . . . . . . . . . 15 1.4.1 Marginals and copula . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.4.2 Copulas currently available in UQL AB . . . . . . . . . . . . . . . . . . 16 1.5 Sampling random vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.5.1 Isoprobabilistic transform of independent marginals . . . . . . . . . . 18 1.5.2 Generalized Nataf transform . . . . . . . . . . . . . . . . . . . . . . . . 18 1.5.3 Sampling multivariate distributions with the inverse generalized Nataf transform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Usage 19 21 2.1 Drawing samples from a distribution . . . . . . . . . . . . . . . . . . . . . . . 21 2.1.1 Introductory example . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.1.2 Special cases of distributions . . . . . . . . . . . . . . . . . . . . . . . 22 2.1.3 Using a copula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.1.4 Selecting an INPUT object and specifying the sampling method . . . . . 24 2.2 Enrichment of an experimental design with new samples . . . . . . . . . . . . 26 2.3 Performing an isoprobabilistic transform . . . . . . . . . . . . . . . . . . . . . 27 2.4 Adding bounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.5 Switching between input objects . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.6 Defining and using custom marginals . . . . . . . . . . . . . . . . . . . . . . . 29 2.6.1 Advanced options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.7 Constant variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3 Reference List 33 3.1 Creating an INPUT object: uq_createInput . . . . . . . . . . . . . . . . . . . 35 3.2 Getting samples from an INPUT object: uq_getSample . . . . . . . . . . . . . 38 3.3 Printing/Visualizing an INPUT object . . . . . . . . . . . . . . . . . . . . . . . 39 3.3.1 Printing information: uq_print . . . . . . . . . . . . . . . . . . . . . . 39 3.3.2 Graphical visualization: uq_display . . . . . . . . . . . . . . . . . . . 39 3.4 Enriching an existing sample set . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.4.1 Enriching a Latin Hypercube: uq_enrichLHS . . . . . . . . . . . . . . 41 3.4.2 Enriching a Sobol sequence: uq_enrichSobol . . . . . . . . . . . . . 41 3.4.3 Enriching a Halton sequence: uq_enrichHalton . . . . . . . . . . . . 42 3.4.4 Pseudo-LHS enrichment: uq_LHSify . . . . . . . . . . . . . . . . . . . 43 3.5 Sub-sampling an existing sample set: uq_subsample . . . . . . . . . . . . . . 44 3.6 Transforming samples between spaces . . . . . . . . . . . . . . . . . . . . . . 45 3.6.1 uq_GeneralIsopTransform . . . . . . . . . . . . . . . . . . . . . . . 45 3.6.2 uq_IsopTransform . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.6.3 uq_NatafTransform . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.6.4 uq_invNatafTransform . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.7 Additional functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.7.1 uq_sampleU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.7.2 uq_MarginalFields . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.7.3 uq_estimateMoments . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.7.4 uq_setDefaultSampling . . . . . . . . . . . . . . . . . . . . . . . . . 50 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Chapter 1 Theory 1.1 Introduction Identification and modelling of the sources of uncertainty are crucial steps for the solution of any uncertainty quantification problem. In a probabilistic setting, each uncertain model parameter can be represented by a random variable and a corresponding probability density function (PDF) in the form X ∼ fX (x). Several input parameters, including their dependence structure, can be grouped together in a random vector with joint PDF X ∼ fX (x). The INPUT module in UQL AB offers a suite of tools to handle the representation, transformation and sampling of a wide variety of PDFs and joint PDFs. 1.2 Representation of common univariate distributions A random variable can be represented by its univariate PDF X ∼ fX (x). UQL AB supports a number of distributions employed in many fields of applied sciences, namely: • Uniform • Normal or Gaussian • Lognormal • Gumbel (maxima) • Gumbel (minima) • Beta • Gamma • Exponential • Weibull • Triangular 1 UQL AB User Manual • Logistic • Laplace In this section, a brief overview of each distribution and its properties (e.g.PDF, cumulative distribution function, support, moments,parameters) is given for reference. UQL AB-V1.1-102 -2- The Input module 1.2.1 Uniform distribution Uniform distributions are commonly used to represent variables with unknown moments and known support. The uniform distribution is the maximum entropy distribution on any closed support. Notation : X ∼ U (a, b) Parameters : a, b ∈ R ; a < b Support PDF : DX = [a, b] Moments 1 b−a if x ∈ [a, b] 0 if x ∈ / [a, b] b−a if x ≤ a 0 x−a x−a 1 (x) = b−a if x ∈ [a, b] : FX (x) = b − a [a,b] 1 if x ≥ b a+b : µX = 2 b−a σX = √ 2 3 : fX (x) = CDF 1[a,b] (x) = 1 1.2 0.9 0.8 1 0.7 0.8 0.6 0.5 0.6 0.4 0.4 0.3 0.2 0.2 0.1 0 0 -2 -1 0 1 2 -2 -1 0 1 2 Figure 1: PDF and CDF of uniform distributions for various parameter values. A particularly important uniform distribution in the field of numerical statistics is X = U(0, 1). In fact, every class of random number generators produces samples from this PDF (or its multidimensional version), which are then manipulated to produce samples distributed according any other distribution as needed. For details, see Section 1.5.3. UQL AB-V1.1-102 -3- UQL AB User Manual 1.2.2 Gaussian (Normal) Gaussian distributions are another basic family of PDF that are pervasive throughout any fields of applied science. They are commonly employed to represent measurement error, noise terms etc.. Notation : X ∼ N (µ, σ) Parameters : µ ∈ R , σ > 0 : DX = R Support PDF CDF Moments (x−µ)2 1 : fX (x) = √ e− 2σ2 σ 2π x−µ 1 √ 1 + erf : FX (x) = 2 σ 2 x−µ =Φ σ : µX = µ σX = σ where µ is the mean, σ 2 the variance and erf(·) is the error function, defined by: Z x 2 2 e−t dt erf(x) = √ π 0 2 1 1.8 0.9 1.6 0.8 1.4 0.7 1.2 0.6 1 0.5 0.8 0.4 0.6 0.3 0.4 0.2 0.2 0.1 0 -1 0 1 2 3 4 0 -1 0 1 2 3 (1.1) 4 Figure 2: PDF and CDF of Gaussian distributions for various parameter values. An important distribution belonging to the normal family is the so-called standard normal distribution N (0, 1), characterized by µ = 0, σ = 1. The notation Φ(x) is used to identify the standard normal CDF: UQL AB-V1.1-102 -4- The Input module Zx 2 e−t /2 √ dt 2π Φ(x) = −∞ (1.2) All normal distributions can be represented as linear transforms of standard normal distributions as follows: N (µ, σ) = µ + σN (0, 1) 1.2.3 (1.3) Lognormal distribution A lognormal variable is a random variable X ∼ LN (λ, ζ) such that its logarithm is a Gaussian variable: X ∼ LN (λ, ζ) ⇔ ln(X) ∼ N (λ, ζ) Notation (1.4) : X ∼ LN (λ, ζ) Parameters : λ ∈ R , ζ > 0 Support : DX = (0, +∞) CDF 1 (ln x − λ)2 : fX (x) = √ exp − 2ζ 2 2πζx 1 1 ln x − λ √ : FX (x) = + erf 2 2 2ζ ln x − λ =Φ ζ Moments : µX = eλ+ζ 2 /2 σX = eλ+ζ 2 /2 PDF ! p eζ 2 − 1 where λ and ζ are the mean and standard deviation of the natural logarithm of the variable and the error function is defined in Eq. (1.1). Lognormal distributions are commonly used in Engineering to describe parameters which are positive in nature, such as material or physical properties. An important property of lognormally distributed variables is that their products and ratios are also lognormally distributed. 1.2.4 Gumbel distribution The Gumbel distribution is also referred to as Extreme Value distribution of type I (EV I). Note that in the literature the name ’Gumbel distribution’ is used to refer to either the maximum or the minimum extreme value distribution. In UQL AB “Gumbel” refers to the maximum UQL AB-V1.1-102 -5- UQL AB User Manual 5 1 4.5 0.9 4 0.8 3.5 0.7 3 0.6 2.5 0.5 2 0.4 1.5 0.3 1 0.2 0.5 0.1 0 0 0 1 2 3 4 0 1 2 3 4 Figure 3: PDF and CDF of lognormal distributions for various parameter values. Gumbel distribution . Notation : X ∼ G (µ, β) Support : DX = R Parameters : µ ∈ R , β > 0 − 1 − x−µ −e e β β PDF : fX (x) = CDF : FX (x) = e−e Moments : µX = µ + βγe − x−µ β x−µ β where γe = 0.577216 . . . is the Euler constant πβ σX = √ 6 Note that parameter µ coincides with the mode of the distribution. The Gumbel distribution is used for modelling random variables obtained as the maximum of identically distributed variables. It is used for instance in hydrology to model flood intensity. 1.2.5 Gumbel-min distribution The Gumbel-min is also referred to as the Smallest Extreme Value (SEV) distribution or the Smallest Extreme Value (Type I) distribution. UQL AB-V1.1-102 -6- The Input module 1 0.9 2 0.8 0.7 1.5 0.6 0.5 1 0.4 0.3 0.5 0.2 0.1 0 -1 0 1 2 3 4 0 -1 5 0 1 2 3 4 5 Figure 4: PDF and CDF of Gumbel maximum extreme value distributions for various parameter values. Notation : X ∼ G (µ, β) Parameters : µ ∈ R , β > 0 Support : DX = R PDF 1 x−µ +e− : fX (x) = e β β CDF : FX (x) = 1 − e−e Moments : µX = µ − βγe − x−µ β x−µ β where γe = 0.577216 . . . is the Euler constant πβ σX = √ 6 Note that parameter µ coincides with the mode of the distribution. . The Gumbel-min distribution’s PDF is skewed to the left, unlike the Gumbel-max which is skewed to the right (see Figures 4 and 5). UQL AB-V1.1-102 -7- UQL AB User Manual 1 0.9 2 0.8 0.7 1.5 0.6 0.5 1 0.4 0.3 0.5 0.2 0.1 0 -1 0 1 2 3 4 5 0 -1 0 1 2 3 4 5 Figure 5: PDF and CDF of Gumbel-min extreme value distributions for various parameter values. 1.2.6 Weibull distribution The Weibull distribution is the last type of extreme-value distributions. It is commonly employed to parametrize time-to-failure-type variables. Notation : X ∼ W (α, β) Parameters : α > 0 , β > 0 Support PDF : CDF : Moments : DX = [0, +∞) ( β x β−1 −(x/α)β e if x ≥ 0 α α : fX (x) = 0 ,x < 0 ( β 1 − e−(x/α) if x ≥ 0 : FX (x) = 0 if x < 0 : µX = α Γ (1 + 1/β) q σX = α Γ (1 + 2/β) − Γ (1 + 1/β)2 Other uses of the Weibull distribution include the parametrization of strength or strengthrelated lifetime parameters, material strength and lifetime parameters for brittle materials (for which the weakest-link-theory is applicable). UQL AB-V1.1-102 -8- The Input module 2.5 1 0.9 2 0.8 0.7 1.5 0.6 0.5 0.4 1 0.3 0.2 0.5 0.1 0 0 0 1 2 3 4 0 1 2 3 4 Figure 6: PDF and CDF of Weibull distributions for various parameter values. 1.2.7 Gamma distribution The Gamma distribution may be used to model variables which are positive in nature, such as those connected to Poisson processes. Assuming events occur randomly in time in a Poisson process at a constant rate λ, the time to first occurrence follows an exponential distribution Γ(λ, 1). The time to k-th occurrence follows a Gamma distribution Γ(λ, k). Notation : X ∼ Γ (λ, k) Parameters : λ > 0 , k > 0 Support PDF : DX = [0, +∞) λk k−1 −λx x e Γ(k) γ (k, λx) : FX (x) = Γ(k) k : µX = λ √ k σX = λ : fX (x) = CDF Moments where Γ(x) is the Gamma function defined by Z Γ(x) = ∞ tx−1 e−t dt (1.5) 0 UQL AB-V1.1-102 -9- UQL AB User Manual and γ(x, y) is the incomplete Gamma function defined by Z x γ(k, x) = tk−1 e−t dt (1.6) 0 1 1 0.9 0.9 0.8 0.8 0.7 0.7 0.6 0.6 0.5 0.5 0.4 0.4 0.3 0.3 0.2 0.2 0.1 0.1 0 0 0 2 4 6 8 0 2 4 6 8 Figure 7: PDF and CDF of Gamma distributions for various parameter values. A special case of Gamma distribution is X ∼ Γ(λ, 1), which corresponds to the exponential distribution (see Section 1.2.8). 1.2.8 Exponential distribution A special case of the Gamma distribution, the exponential distribution is commonly used to represent the time to first-occurrence of Poissonian-type processes, e.g. radioactive decays. Notation : X ∼ E (λ) Parameters : λ > 0 Support : DX = [0, +∞) P DF : fX (x) = λe−λx CDF : FX (x) = 1 − e−λx Moments : µX = 1/λ σX = 1/λ where λ > 0 is the scale parameter. The Exponential distribution is also used to model the waiting times in queuing problems (e.g.for load balancing applications in large computational facilities). UQL AB-V1.1-102 - 10 - The Input module 0.45 1 0.4 0.9 0.35 0.8 0.7 0.3 0.6 0.25 0.5 0.2 0.4 0.15 0.3 0.1 0.2 0.05 0.1 0 0 0 2 4 6 8 0 2 4 6 8 Figure 8: PDF and CDF of exponential distributions for various parameter values. 1.2.9 Beta distribution The Beta distribution commonly used to model bounded variables. Notation : X ∼ B (r, s, a, b) Parameters : r > 0 , s > 0 Support PDF : CDF : Moments : DX = [a, b] ( : fX (x) = : FX (x) = (x−a)r−1 (b−x)s−1 (b−a)r+s−1 B (r, s) if x ∈ [a, b] 0 if x ∈ / [a, b] 1 (b−a) r+s−1 B(r, s) if x ≤ a Rx 0 r−1 s−1 (b − t) dt if x ∈ [a, b] a (t − a) 1 if x ≥ b : µX = a + (b − a)r/(r + s) r b−a rs σX = r+s r+s+1 where B (r, s) is the Beta function: 1 Γ(r)Γ(s) B(r, s) = tr−1 (1 − t)s−1 dt = (1.7) Γ(r + s) 0 The range of the variable is given by the parameters [a, b]. The shape of the distribution is Z related to parameters [r, s] and their ratio: • When r = s the PDF is symmetrical; • If r, s > 1 the PDF is unimodal; • if r, s < 1 the PDF is maximum at the boundaries. UQL AB-V1.1-102 - 11 - UQL AB User Manual 4 1 3.5 0.9 0.8 3 0.7 2.5 0.6 2 0.5 0.4 1.5 0.3 1 0.2 0.5 0 0.1 0 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 Figure 9: PDF and CDF of Beta distributions for various parameter values (DX = [0, 1]). 1.2.10 Triangular distribution Notation : X ∼ Tr(a, b, c) Parameters : a ∈ R , a < b , a < c < b Support PDF CDF Moments : DX = [a, b] 0 if x ≤ a 2(x−a) (b−a)(c−a) if x ∈ (a, c) 2 if x = c : fX (x) = b−a 2(b−x) if x ∈ (c, b) (b−a)(c−a) 0 if x ≥ b 0 if x ≤ a (x−a)2 if x ∈ (a, c] (b−a)(c−a) : FX (x) = 2 (b−x) 1 − (b−a)(b−c) if x ∈ (c, b) 1 if x ≥ b a+b+c : µX = √ 3 a2 + b2 + c2 − ab − ac − bc √ σX = 3 2 The triangular distribution is typically used as a subjective description of a population for which there is only limited sample data. It is based on knowledge of the minimum and maximum and an “inspired guess” of the modal value. UQL AB-V1.1-102 - 12 - The Input module 1 1 0.9 0.9 0.8 0.8 0.7 0.7 0.6 0.6 0.5 0.5 0.4 0.4 0.3 0.3 0.2 0.2 0.1 0.1 0 0 0 2 4 6 0 2 4 6 Figure 10: PDF and CDF of triangular distributions for various parameter values. 1.2.11 Logistic distribution The logistic distribution resembles the normal distribution in shape but has heavier tails (higher kurtosis). Notation : X ∼ P (µ, s) Parameters : µ ∈ R , s > 0 UQL AB-V1.1-102 Support : DX = R PDF : fX (x) = CDF : FX (x) = Moments : µX = µ sπ σX = √ 3 e− x−µ s s(1 + e− 1 1 + e− x−µ s )2 x−µ s - 13 - UQL AB User Manual 0.3 1 0.9 0.25 0.8 0.7 0.2 0.6 0.15 0.5 0.4 0.1 0.3 0.2 0.05 0.1 0 -10 0 10 20 0 -10 0 10 20 Figure 11: PDF and CDF of logistic distributions for various parameter values. 1.2.12 Laplace distribution Laplace distribution is also known as double exponential distribution, because it can be thought of as two exponential distributions (with an additional location parameter) spliced together back-to-back. Notation : X ∼ L(µ, b) Parameters : µ ∈ R , b > 0 Support PDF CDF Moments UQL AB-V1.1-102 : DX = R 1 |x − µ| : fX (x) = exp − 2b b x−µ 1 exp if x < µ 2 b : FX (x) = 1 − 1 exp − x−µ if x ≥ µ 2 b : µX = µ √ σX = b 2 - 14 - The Input module 0.5 1 0.45 0.9 0.4 0.8 0.35 0.7 0.3 0.6 0.25 0.5 0.2 0.4 0.15 0.3 0.1 0.2 0.05 0.1 0 -20 -10 0 10 20 0 -20 -10 0 10 20 Figure 12: PDF and CDF of Laplace distributions for various parameter values. 1.3 Truncated distributions A truncated distribution results from restricting the domain of some probability distribution. Assume that a random variable X follows some distribution with CDF FX (X). Of interest in this section is the derivation of the CDF, FX0 and inverse CDF, FX0−1 of the random variable X after limiting the support to X ∈ [a, b]. The derivation of these quantities is given below: FX0 (X) = 0 FX (X)−FX (a) FX (b)−FX (a) , X≤a , a
Source Exif Data:File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.5 Linearized : No Page Count : 60 Page Mode : UseOutlines Author : C. Lataniotis, S. Marelli, B. Sudret Title : UQLab User Manual – The Input module Subject : UQLab Input Module Manual Creator : LaTeX with hyperref package Producer : pdfTeX-1.40.15 Keywords : UQLab;Probabilistic, Input, Model;Input;, Uncertainty, Quantification;Marginals;Copula;Isoprobabilistic, Transform;Nataf, Transform; Create Date : 2018:07:05 12:18:25+02:00 Modify Date : 2018:07:05 12:18:25+02:00 Trapped : False PTEX Fullbanner : This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2015/dev/Debian) kpathsea version 6.2.1devEXIF Metadata provided by EXIF.tools