A two degree-of-fredom primary/secondary damped oscillator¶
We consider a two degree-of-fredom primary-secondary damped oscillator. This system is composed of a two-stage oscillator characterized by a mass, a stiffness and a damping ratio for each of the two oscillators. This system is submitted to a white-noise excitation. The limit-state function is highly nonlinear, mainly due to the interactions between the two stages of the system, and presents one failure zone.

Two stage oscillator¶
The limit state function is defined as follows:
The natural frequency of the first oscillator is equal to:
The natural frequency of the secondary oscillator is equal to:
The average natural frequency of the system is equal to:
The average damping ratio of the system is equal to:
The mass ratio is equal to:
The tuning parameter of the system is equal to:
Eight uncertainties are considered in the system:
on the masses of the primary and secondary systems (
and
),
on the spring stiffeness of the primary and secondary oscillators (
and
),
on the damping ratios of the primary and secondary systems (
and
),
on the loading capacity of the secondary spring (
),
on the intensity of the white noise excitation (
).
We consider the following distribution fResponse of Two-Degree-of-Freedom Systems to White-Noise Base Excitation:
The failure probability is:
The value of is:
References¶
Der Kiureghian, A. and De Stefano, M. (1991). Efficient Algorithm for Second-Order Reliability Analysis, Journal of engineering mechanics, 117(12), 2904-2923
Dubourg, V., Sudret, B., Deheeger, F. (2013). Metamodel-based importance sampling for structural reliability analysis. Probabilistic Engineering Mechanics, 33, pp. 47–57
API documentation¶
- class Oscillator
Data class for the oscillator example.
- Attributes:
- dimint
dim = 8, dimension of the problem
- model
SymbolicFunction
The limit state function
- muMpfloat
muMp = 1.5, mean of the mass of the primary system
- sigmaOverMuMpfloat
sigmaOverMuMp = 0.1, coefficient of variation of the mass of the primary system
- distributionMp
LogNormal
Distribution of the mass of the primary system distributionMp = ot.LogNormalMuSigmaOverMu(muMp, sigmaOverMuMp).getDistribution()
- muMsfloat
muMs = 0.01, mean of the mass of the primary system
- sigmaOverMuMsfloat
sigmaOverMuMs = 0.1, coefficient of variation of the mass of the primary system
- distributionMs
LogNormal
Distribution of the mass of the secondary system distributionMs = ot.LogNormalMuSigmaOverMu(muMs, sigmaOverMuMs).getDistribution()
- muKpfloat
muKp = 1, mean of the spring stiffness of the primary system
- sigmaOverMuKpfloat
sigmaOverMuKp = 0.2, coefficient of variation of the spring stiffness of the primary system
- distributionKp
LogNormal
Distribution of the spring stiffness of the primary system distributionKp = ot.LogNormalMuSigmaOverMu(muKp, sigmaOverMuKp).getDistribution()
- muKsfloat
muKs = 0.01, mean of the spring stiffness of the secondary system
- sigmaOverMuKsfloat
sigmaOverMuKs = 0.2, coefficient of variation of the spring stiffness of the secondary system
- distributionKs
LogNormal
Distribution of the spring stiffness of the secondary system distributionKs = ot.LogNormalMuSigmaOverMu(muKs, sigmaOverMuKs).getDistribution()
- muZetapfloat
muZetap = 0.05, mean of the damping ratio of the primary system
- sigmaOverMuZetapfloat
sigmaOverMuZetap = 0.4, coefficient of variation of the damping ratio of the primary system
- distributionZetap
LogNormal
Distribution of the damping ratio of the primary system distributionZetap = ot.LogNormalMuSigmaOverMu(muZetap, sigmaOverMuZetap).getDistribution()
- muZetasfloat
muZetas = 0.02, mean of the damping ratio of the secondary system
- sigmaOverMuZetasfloat
sigmaOverMuZetas = 0.5, coefficient of variation of the damping ratio of the secondary system
- distributionZetas
LogNormal
Distribution of the damping ratio of the secondary system distributionZetas = ot.LogNormalMuSigmaOverMu(muZetas, sigmaOverMuZetas).getDistribution()
- muFsfloat
muFs = 27.5, mean of the loading capacity of the secondary spring
- sigmaOverFsfloat
sigmaOverFs = 0.1, coefficient of variation of the loading capacity of the secondary spring
- distributionFs
LogNormal
Distribution of the loading capacity of the secondary spring distributionFs = ot.LogNormalMuSigmaOverMu(muFs, sigmaOverFs).getDistribution()
- muS0float
muS0 = 100, mean of the intensity of the white noise
- sigmaOverS0float
sigmaOverS0 = 0.1, coefficient of variation of the intensity of the white noise
- distributionS0
LogNormal
Distribution of the intensity of the white noise distributionS0 = ot.LogNormalMuSigmaOverMu(muS0, sigmaOverS0).getDistribution()
- distribution
JointDistribution
The joint distribution of the input parameters
Examples
>>> from openturns.usecases import oscillator >>> # Load the oscillator >>> osc = oscillator.Oscillator()
Examples based on this use case¶

Using the FORM - SORM algorithms on a nonlinear function