• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 13
  • 2
  • 2
  • Tagged with
  • 18
  • 18
  • 18
  • 16
  • 9
  • 8
  • 8
  • 6
  • 5
  • 4
  • 4
  • 4
  • 4
  • 3
  • 3
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

Modélisation de fatigue et de mécanique de la rupture d'une structure éolienne soumise au chargement dynamique et aléatoire du vent / Fatigue and fracture mechanics analyses on a wind turbine structure under dynamical random loading

Miyaura, Edson Haruo 04 October 2016 (has links)
L'objectif de cette thèse est de démontrer comment faire une analyse théorique de fatigue et de mécanique de la rupture d'une structure éolienne à l'axe horizontal. La chaîne des calculs nécessaires pour atteindre cet objectif s'avère être particulièrement longue pour deux raisons : d'abord, la vitesse du vent varie aléatoirement avec le temps ; deuxièmement, l'amplitude de vibration du mât est amplifié en raison des ses fréquences naturelles de vibration. Un chapitre entier est consacré à la modélisation de la vitesse du vent dans l'espace et dans le temps. Ce même chapitre démontre comment synthétiser un signal aléatoire à partir d'une fonction de densité spectrale de puissance (DSP). La force axiale du rotor est le chargement le plus important sur une structure éolienne à l'axe horizontal. Cette force a un rapport non linéaire avec la vitesse du vent. Cela implique la nécessité de déterminer la DSP de la force axiale à partir de son signal, en se servant d'une technique d'estimation spectrale. La méthode Thomson Multitaper s'est avéré la plus satisfaisante pour cette application. La DSP des déplacements du mât est déterminée en associant la réceptance du système structurel avec la DSP de la force qui représente tous les chargements. Un signal de contrainte peut finalement être synthétisé à partir de sa DSP. La technique de comptage de cycles de chargement connue sous le nom de rainflow est abordée et appliquée. Le fait que le signal de contraintes a une amplitude variable implique la nécessité d'employer une technique plus avancée de simulation de propagation de fissures. La technique choisie pour cette thèse est connue sous le nom de strip-yield (bande d'écoulement). / The objective of this thesis is to demonstrate how to do theoretical analyses of fatigue and fracture mechanics in a structure for horizontal axis wind turbine. The chain of calculations required to reach this objective is particularly long for two reasons : firstly, the wind speed varies randomly with time , secondly, the vibration amplitude of the mast is amplified due to its natural frequencies of vibration. A whole chapter is dedicated to modeling the wind speed in space and time. The same chapter shows how to synthesize a random signal by employing a power spectral density function (PSD). The axial force of the rotor is the most important loading on a structure for horizontal axis wind turbine. This force has a non linear relation with the wind speed. This implies the need to determine the PSD of the axial force from its signal, by employing a spectral estimation method. The Thomson Multitaper method revealed to be the most satisfactory for this application. The PSD of displacement of the mast is determined by associating the receptance of the structural system and the PSD of the force representing all loadings. Finally, a signal of stress can be synthesized from its PSD. The fatigue cycle counting method known as rainflow is discussed and employed. The fact that the signal of stress has a variable amplitude implies the need of a more sophisticated method to simulate a crack propagation. The method chosen in this thesis is called strip-yield.
2

The Introduction of Crack Opening Stress Modeling into Strain-Life and Small Crack Growth Fatigue Analysis

El-Zeghayar, Maria January 2011 (has links)
The work in this thesis is concerned with the mechanics of the initiation and growth of small fatigue cracks from notches under service load histories. Fatigue life estimates for components subjected to variable amplitude service loading are usually based on the same constant amplitude strain-life data used for constant amplitude fatigue life predictions. The resulting fatigue life estimates although they are accurate for constant amplitude fatigue, are always non conservative for variable amplitude load histories. Similarly fatigue life predictions based on small crack growth calculations for cracks growing from flaws in notches are non conservative when constant amplitude crack growth data are used. These non conservative predictions have, in both cases, been shown to be due to severe reductions in fatigue crack closure arising from large (overload or underload) cycles in a typical service load history. Smaller load cycles following a large near yield stress overload or underload cycle experience a much lower crack opening stress than that experienced by the same cycles in the reference constant amplitude fatigue tests used to produce design data. This reduced crack opening stress results in the crack remaining open for a larger fraction of the stress-strain cycle and thus an increase in the effective portion of the stress-strain cycle. The effective strain range is increased and the fatigue damage for the small cycles is greater than that calculated resulting in a non conservative fatigue life prediction. Previous work at Waterloo introduced parameters based on effective strain-life fatigue data and effective stress intensity versus crack growth rate data. Fatigue life calculations using these parameters combined with experimentally derived crack opening stress estimates give accurate fatigue life predictions for notched components subjected to variable amplitude service load histories. Information concerning steady state crack closure stresses, effective strain-life data, and effective stress intensity versus small crack growth rate data, are all obtained from relatively simple and inexpensive fatigue tests of smooth specimens in which periodic underloads are inserted into an otherwise constant amplitude load history. The data required to calibrate a variable amplitude fatigue crack closure model however, come from time consuming measurements of the return of crack closure levels for small cracks to a steady state level following an underload (large cracks for which crack closure measurements are easier to make cannot be used because at the high stress levels in notches under service loads a test specimen used would fracture). For low and moderately high hardness levels in metals crack growth and crack opening stress measurements have been made using a 900x optical microscope for the small crack length at which a test specimen can resist the high stress levels encountered when small cracks grow from notches. For very hard metals the crack sizes may be so small that the measurements must be made using a confocal scanning laser microscope. In this case the specimen must be removed from the test machine for each measurement and the time to acquire data is only practical for an extended research project. The parameters for the crack closure model relating to steady state crack closure levels vary with material cyclic deformation resistance which in turn increases with hardness. One previous investigation found that the steady state crack opening level was lower and the recovery to a steady state crack opening stress level after an underload was more rapid for a hard than for a soft metal. This observation can be explained by the dependence of the crack tip plastic zone size that determines crack tip deformation and closure level on metal hardness and yield strength. Further information regarding this hypothesis has been obtained in this thesis by testing three different steels of varying hardness levels (6 HRC, 35 HRC, and 60 HRC) including a very hard carburized steel having a hardness level (60 HRC) for which no crack opening stress data for small cracks had yet been obtained. This thesis introduced a new test procedure for obtaining data on the return of crack opening stress to a steady state level following an underload. Smooth specimens were tested under load histories with intermittent underload cycles. The frequency of occurrence of the underloads was varied and the changes in fatigue life observed. The changes in damage per block (the block consisted of an underload cycle followed by intermittent small cycles) were used to determine the value of the closure model parameter governing the recovery of the crack opening stress to its steady state level. Concurrent tests were carried out in which the crack opening stress recovery was measured directly on crack growth specimens using optical microscope measurements. These tests on metals ranging in hardness from soft to very hard were used to assess whether the new technique would produce good data for crack opening stress changes after underloads for all hardness levels. The results were also used to correlate crack closure model parameters with mechanical properties. This together with the steady state crack opening stress, effective strain-life data and the effective intensity versus crack growth rate data obtained from smooth specimen tests devised by previous researchers provided all the data required to calibrate the two models proposed in this investigation to perform strain-life and small crack growth fatigue analysis.
3

The Introduction of Crack Opening Stress Modeling into Strain-Life and Small Crack Growth Fatigue Analysis

El-Zeghayar, Maria January 2011 (has links)
The work in this thesis is concerned with the mechanics of the initiation and growth of small fatigue cracks from notches under service load histories. Fatigue life estimates for components subjected to variable amplitude service loading are usually based on the same constant amplitude strain-life data used for constant amplitude fatigue life predictions. The resulting fatigue life estimates although they are accurate for constant amplitude fatigue, are always non conservative for variable amplitude load histories. Similarly fatigue life predictions based on small crack growth calculations for cracks growing from flaws in notches are non conservative when constant amplitude crack growth data are used. These non conservative predictions have, in both cases, been shown to be due to severe reductions in fatigue crack closure arising from large (overload or underload) cycles in a typical service load history. Smaller load cycles following a large near yield stress overload or underload cycle experience a much lower crack opening stress than that experienced by the same cycles in the reference constant amplitude fatigue tests used to produce design data. This reduced crack opening stress results in the crack remaining open for a larger fraction of the stress-strain cycle and thus an increase in the effective portion of the stress-strain cycle. The effective strain range is increased and the fatigue damage for the small cycles is greater than that calculated resulting in a non conservative fatigue life prediction. Previous work at Waterloo introduced parameters based on effective strain-life fatigue data and effective stress intensity versus crack growth rate data. Fatigue life calculations using these parameters combined with experimentally derived crack opening stress estimates give accurate fatigue life predictions for notched components subjected to variable amplitude service load histories. Information concerning steady state crack closure stresses, effective strain-life data, and effective stress intensity versus small crack growth rate data, are all obtained from relatively simple and inexpensive fatigue tests of smooth specimens in which periodic underloads are inserted into an otherwise constant amplitude load history. The data required to calibrate a variable amplitude fatigue crack closure model however, come from time consuming measurements of the return of crack closure levels for small cracks to a steady state level following an underload (large cracks for which crack closure measurements are easier to make cannot be used because at the high stress levels in notches under service loads a test specimen used would fracture). For low and moderately high hardness levels in metals crack growth and crack opening stress measurements have been made using a 900x optical microscope for the small crack length at which a test specimen can resist the high stress levels encountered when small cracks grow from notches. For very hard metals the crack sizes may be so small that the measurements must be made using a confocal scanning laser microscope. In this case the specimen must be removed from the test machine for each measurement and the time to acquire data is only practical for an extended research project. The parameters for the crack closure model relating to steady state crack closure levels vary with material cyclic deformation resistance which in turn increases with hardness. One previous investigation found that the steady state crack opening level was lower and the recovery to a steady state crack opening stress level after an underload was more rapid for a hard than for a soft metal. This observation can be explained by the dependence of the crack tip plastic zone size that determines crack tip deformation and closure level on metal hardness and yield strength. Further information regarding this hypothesis has been obtained in this thesis by testing three different steels of varying hardness levels (6 HRC, 35 HRC, and 60 HRC) including a very hard carburized steel having a hardness level (60 HRC) for which no crack opening stress data for small cracks had yet been obtained. This thesis introduced a new test procedure for obtaining data on the return of crack opening stress to a steady state level following an underload. Smooth specimens were tested under load histories with intermittent underload cycles. The frequency of occurrence of the underloads was varied and the changes in fatigue life observed. The changes in damage per block (the block consisted of an underload cycle followed by intermittent small cycles) were used to determine the value of the closure model parameter governing the recovery of the crack opening stress to its steady state level. Concurrent tests were carried out in which the crack opening stress recovery was measured directly on crack growth specimens using optical microscope measurements. These tests on metals ranging in hardness from soft to very hard were used to assess whether the new technique would produce good data for crack opening stress changes after underloads for all hardness levels. The results were also used to correlate crack closure model parameters with mechanical properties. This together with the steady state crack opening stress, effective strain-life data and the effective intensity versus crack growth rate data obtained from smooth specimen tests devised by previous researchers provided all the data required to calibrate the two models proposed in this investigation to perform strain-life and small crack growth fatigue analysis.
4

Fatigue Life Assessment of 30CrNiMo8HH Steel Under Variable Amplitude Loading

Ibrahim, Elfaitori January 2012 (has links)
The actual service loading histories of most engineering components are characterized by variable amplitudes and are sometimes rather complicated. The goal of this study was to estimate the fatigue life of nickel-chromium-molybdenum 30CrNiMo8HH steel alloy under axial and pure torsion variable amplitude loading (VAL) conditions. The investigation was directed at two primary factors that are believed to have an influence on fatigue life under such loading conditions: load sequence and mean stress. The experimental work for this research included two-step loading, non-zero mean strain loading, and VAL tests, the results of which were added to previously determined fully reversed strain-controlled fatigue data. The effect of load sequence on fatigue life was examined through the application of the commonly used linear damage accumulation rule along with the Manson and Marco–Starkey damage accumulation methods, the latter of which takes load sequence into account. Based on the two-step experimental results, both the Manson and Marco–Starkey methods were modified in order to eliminate the empirically determined constants normally required for these two methods. The effect of mean stress on fatigue life was investigated with the use of three life prediction models: Smith–Watson–Topper (SWT), Fatemi–Socie (FS), and Jahed–Varvani (JV). The cycles from the VAL histories were counted using a rainflow counting procedure that maintains the applied strain sequence, and a novel method was developed for the estimation of the total energy density required for the JV model. For two-step loading and for all three fatigue models employed, the modified damage accumulation methods provided superior fatigue life predictions. However, regardless of the damage accumulation method applied, the most satisfactory fatigue life correlation for VAL was obtained using the energy-based JV model.
5

Fatigue Life Assessment of 30CrNiMo8HH Steel Under Variable Amplitude Loading

Ibrahim, Elfaitori January 2012 (has links)
The actual service loading histories of most engineering components are characterized by variable amplitudes and are sometimes rather complicated. The goal of this study was to estimate the fatigue life of nickel-chromium-molybdenum 30CrNiMo8HH steel alloy under axial and pure torsion variable amplitude loading (VAL) conditions. The investigation was directed at two primary factors that are believed to have an influence on fatigue life under such loading conditions: load sequence and mean stress. The experimental work for this research included two-step loading, non-zero mean strain loading, and VAL tests, the results of which were added to previously determined fully reversed strain-controlled fatigue data. The effect of load sequence on fatigue life was examined through the application of the commonly used linear damage accumulation rule along with the Manson and Marco–Starkey damage accumulation methods, the latter of which takes load sequence into account. Based on the two-step experimental results, both the Manson and Marco–Starkey methods were modified in order to eliminate the empirically determined constants normally required for these two methods. The effect of mean stress on fatigue life was investigated with the use of three life prediction models: Smith–Watson–Topper (SWT), Fatemi–Socie (FS), and Jahed–Varvani (JV). The cycles from the VAL histories were counted using a rainflow counting procedure that maintains the applied strain sequence, and a novel method was developed for the estimation of the total energy density required for the JV model. For two-step loading and for all three fatigue models employed, the modified damage accumulation methods provided superior fatigue life predictions. However, regardless of the damage accumulation method applied, the most satisfactory fatigue life correlation for VAL was obtained using the energy-based JV model.
6

Multiaxial Fatigue and Deformation Including Non-proportional Hardening and Variable Amplitude Loading Effects

Shamsaei, Nima 03 September 2010 (has links)
No description available.
7

Enhanced strain-based fatigue methodology for high strength aluminum alloys

Arcari, Attilio 29 March 2010 (has links)
The design of any mechanical components requires an understanding of the general statical, dynamical and environmental conditions where the components will be operating to give a satisfactory results in terms of performance and endurance. The premature failure of any components is undesirable and potentially catastrophic, therefore predictions on performances and endurances of components to proceed with repair or substitution is vital to the stability of the structure where the component is inserted. The capability of a component of withstanding fatigue loading conditions during service is called fatigue life and the designed predictions can be conservative or non conservative. Improvements to a strain based approach to fatigue were obtained in this study, studying the effects of mean stresses on fatigue life and investigating cyclic mean stress relaxation of two aluminum alloys, 7075-T6511 and 7249-T76511, used in structural aircraft applications. The two aluminum alloys were tested and their fatigue behavior characterized. The project, entirely funded by NAVAIR, Naval Air Systems Command, and jointly coordinated with TDA, Technical Data Analysis Inc., was aimed to obtain fatigue data for both aluminum alloys, with particular interest in 7249 alloy because of its enhanced corrosion resistance, and to give guidelines for improving the performances of FAMS, Fatigue Analysis of Metallic Structures, a life prediction software from the point of view of both mean stress effects and mean stress relaxation. The sensitivity of engineering materials to mean stresses is of high relevance in a strain based fatigue approach. The performance of the most common models used to calculate mean stress correction factors was studied for the two aluminum alloys 7075 and 7249 to give guidelines in the use of those for life predictions. Not only mean stresses have a high influence on fatigue life, but they are also subjected to transient cyclic behaviors. The following study considered both an empirical approach and a plasticity theory approach to simulate and include these transient effects in life calculations. Results will give valid directions to a successful modification of FAMS like any other life calculation software to include in the picture transient phenomena. / Ph. D.
8

Etude expérimentale et simulation numérique de propagation de fissures dans un acier inoxydable martensitique durci par précipitation sous conditions représentatives en termes de température, spectre de chargement et vieillissement / Experimental Study and Numerical Simulation of Fatigue Crack Growth in Precipitation-Hardened Martensitic Stainless Steel (15-5PH) Under Representative Conditions of the Operating Environment : Variable Amplitude Loading, Long Term Ageing and Temperature

Dimithe Aboumou, Loïc 28 March 2017 (has links)
Reliant le moteur à turboréacteur à la voilure de l’avion, le mât-réacteur est une véritable « pièce maitresse » de l’avion. En effet, il transmet tous les efforts de l’avion au moteur. Il est soumis à des variations de températures allant de -40°C en croisière à290°C voir 400°C lors des phases de décollage. En plus, le mât-réacteur est à la merci de contraintes vibratoires très élevées qui,n’étant pas correctement maitrisées lors des analyses en tolérances aux dommages, peuvent conduire à la ruine de l’appareil. Entre290°C et 400°C, la martensite constitutive des composants en acier inoxydable martensitique durci par précipitation (15-5PH) du mât-réacteur, subit donc un vieillissement par transformation microstructurale. Ce vieillissement a un impact considérable sur les propriétés mécaniques, à savoir à une augmentation de la limite d’élasticité et de la contrainte à rupture aux dépens d’une réduction drastique de la ténacité et la ductilité. Afin de compléter la caractérisation des effets du vieillissement sur les propriétés mécaniques tout en considérant que ces structures sont dimensionnées suivant un principe de tolérance aux dommages, l’objectif de ce travail est d’étudier la résistance à la fissuration par fatigue de cet acier en fonction du vieillissement et de la température d’essai. La démarche adoptée repose sur une connaissance des comportements monotone et cyclique pour analyser les mécanismes en fissuration. Des essais de comportement cyclique ont ainsi été effectués à la température ambiante et à 300°C à différents niveaux de déformation imposés, sur l’acier 15-5PH dans son état de réception, puis pour des conditions vieillissement réalisées entre 300°C et 400°C et des temps d’exposition allant jusqu’à 10 000h. Les résultats obtenus mettent en évidence l’absence d’influence du vieillissement sur l’écrouissage cyclique de l’acier 15-5PH, aussi bien à température ambiant qu’à 300°C. Pour la plage de valeurs de ΔK balayée, le comportement en fissuration de l’acier 15-5PH sous amplitude de chargement constante n’est pas modifié par le vieillissement.Cependant, l’étendue du domaine stable de propagation est quant à elle réduite en fonction du degré de vieillissement à température ambiante. Cette réduction est due à la chute de ténacité du matériau avec le vieillissement. Les surfaces de rupture sont majoritairement transgranulaires pour toutes les conditions examinées. Toutefois, les régions proches de la rupture finale de certains états vieillis présentent des îlots de rupture statique à la température ambiante. Ces ilots sont inexistants à 300°C. Par ailleurs, sous l’effet de surcharges répétées, un effet retard sur la vitesse de fissuration a été mis en évidence. Ce retard est fonction à la fois du taux de surcharge, de la période de surcharge, du nombre de surcharge et du rapport de charge du chargement de base, mais est insensible au vieillissement. Par ailleurs, on dénote une fois de plus, une réduction de l’étendue du domaine de propagation stable à température ambiante. Des simulations de la propagation des fissures sous amplitude de chargement variable ont été effectuées à l’aide du modèle incrémental de prévisions de durées de vie en fissuration développé au LMT-Cachan. Les résultats issus de ce modèle ont ensuite fait l’objet d’une comparaison avec le modèle PREFFAS utilisé chez AIRBUS. Le modèle incrémental rend bien compte de certains effets de surcharges répétées. Il se révèle en outre moins conservatif que le modèle PREFFAS. Une méthodologie de prise en compte dans le modèle incrémental des effets de vieillissement fondée sur une équivalence temps/température de type Hollomon-Jaffe est enfin proposée. / Connecting the turbofan engine to the wing of the aircraft, the engine pylon is a true « masterpiece » of the aircraft. Indeed, it transmits all the aircraft engine efforts. It is subject to temperature variations from -40°C in cruise to 290°C-400°C during take off and landing. In addition, the engine pylon is a prey to very high vibratory stresses, which should be properly taken into account during damage tolerances analysis to avoid the loss of the aircraft. Between 290°C and 400°C, the martensite of components in precipitation-hardenable stainless steel (15-5 PH) of engine pylon undergoes microstructural transformation (« ageing »). This ageing has a significant impact on the mechanical properties, characterized by an increase in yield strength and tensile stress and drastic reduction in toughness and ductility. To complete the characterization of the effects of ageing on the mechanical properties while considering that these structures are designed according to a principle of damage tolerance, the aim of this work is to study the fatigue crack growth behavior (FCGB) of this material according to the ageing conditions and the test temperature. The approach is based on knowledge of monotonous and cyclic behavior to analyze the fatigue crack mechanisms. The cyclic behavior tests have been carried out at room temperature and 300°C at different strains imposed levels, on the 15-5PH steel in its as-received and then to the ageing conditions realized, between 300°C and 400°C and exposure times of up to 10 000h. The results highlight the lack of influence of ageing on the cyclic hardening of 15-5 PH steel, both at room temperature to 300°C. For the range of ΔK values tested, the FCGB of the 15-5PH steel under constant load amplitude is not affected by ageing. However, the extent of the stable propagation domain is itself reduced according to the degree of aging at room temperature. This reduction is due to the fall of fracture toughness due to ageing. The fracture surfaces are mainly transgranular for all conditions examined. However, the areas close to the final rupture ofsome ageing statements present islands indicative of a static failure mode at room temperature. These islands are absent to 300°C.Under the effect of repeated loads, a delayed effect on the crack velocity has been demonstrated. This delay is a function of the overload rate, overload period, the number of overloads and the baseline load ratio, but insensitive to ageing. Furthermore, are duction in the extent of the area stable propagation is also noticed at room temperature. Fatigue crack growth simulations undervariable amplitude loading were made through the incremental model for damage tolerance analysis developed by LMT-Cachan. The model results were then subject to a comparison with the PREFFAS model used at AIRBUS. The incremental model is well aware ofsome of the effects of repeated overloads. It also proves less conservative than the model PREFFAS. For taking account the effects of ageing in the incremental model, simply report the hardening observed on old material, the cyclic hardening parameters are notaffected. A methodology based on time/temperature equivalence provided by Hollomon-Jaffe - and taking into account the effects of ageing in the incremental model is finally proposed.
9

Fatigue behaviour of welded components under variable amplitude loading / Utmattning av svetsade konstruktioner

BAKHTIARI, SAEEDEH January 2013 (has links)
The current thesis work is based on fatigue testing of welded structures which is completed in collaboration with Volvo CE. Improvement of the technology and customers demands for higher quality products with lower price makes the VCE to invest on the product development projects. One of the projects in VCE focuses on the weight and production cost optimization of the bogie beam on the hauler. The present project is a completion of the previous project with the objective of the fatigue testing of the bogie beam of the hauler under oscillating loads for verification of the expected fatigue life assessed with FEM. In the process of this work, an existing test rig is modified. The strains over the beam are measured through strain gauges mounted on the beam. The simulated model, the stresses and strains are investigated. The fatigue life is evaluated with different fatigue assessment methods. Finally, the outcomes of all the methods for fatigue investigation of the beam are compared and verified. / Detta examensarbete, som utförts för Volvo CE, behandlar utmattningsprov av svetsade konstruktioner. Teknikutveckling och förändrade kundkrav på högre kvalitet till en lägre kostnad är drivkrafter för Volvo CE att investera i produkt- och metodutvecklingsprojekt, som exempelvis det aktuella projektet att optimera vikt och tillverkningskostnad för boggi-balkar till dumprar. Detta projekt är en fortsättning av ett tidigare arbete som hade som mål att verifiera utmattningslivslängden för en boggibalk till en dumper predikterad med FEM, genom att utmattningsprova balken för oscillerande last. Som en del av projektet modifieras en existerande provningsrigg. Töjningar på balken mats med ett antal töjningsgivare monterade på balken. Spännings och töjningfrån den simulerade modellen analyseras och utmattningslivslängden jämförs för olika metoder för att prediktera utmattning. Slutligen jämförs och veriferas dessa metoder.
10

Effects of Mission Overloads on Fatigue Crack Growth in Ti-6Al-2Sn-4Zr-2Mo

Solomon, Daniel Maurice 20 August 2018 (has links)
No description available.

Page generated in 0.1067 seconds