Pré. | Proc. |
Exemple de Simulation d'oscillateur masse-ressort-amortisseur
Dans cette section, nous allons parcourir la création d'un modèle paramétrique SysML pour un oscillateur simple composé d'une masse, d'un ressort et d'un amortisseur, puis utiliser une simulation paramétrique pour prédire et tracer le comportement de ce système mécanique. Enfin, nous effectuons une analyse de simulation en comparant deux oscillateurs fournis avec des valeurs de paramètres différentes à travers des ensembles de données.
Système en cours de modélisation
Une masse est suspendue à un ressort et un amortisseur. Le premier état montré ici représente le point initial au temps = 0, juste au moment où la masse est relâchée. Le deuxième état représente le point final où le corps est au repos et les forces du ressort sont en équilibre avec la gravité.
Créer un Modèle SysML
Le modèle MassSpringDamperOscillator dans SysML a un Bloc principal, l' oscillateur . L'oscillateur comporte quatre parties : un plafond fixe, un ressort , un amortisseur et un corps de masse . Créez un Bloc pour chacune de ces parties. Les quatre parties du Bloc oscillateur sont reliées par des ports, qui représentent des brides mécaniques.
Composants |
Description |
---|---|
Types de ports |
Les blocs 'Flange_a' et 'Flange_b' utilisés pour les brides dans le domaine mécanique de transition 1D sont identiques mais ont des rôles légèrement différents, quelque peu analogues aux rôles de PositivePin et NegativePin dans le domaine électrique. Les forces sont transmises par les brides. Ainsi, l'attribut isConserved de la propriété de flux Flange.f doit être défini sur True.
|
Blocs et ports |
|
Structure interne |
Créez un diagramme de Bloc interne (IBD) pour 'Oscillator'. Ajoutez des propriétés pour le plafond fixe, le ressort, l'amortisseur et le corps de masse, typées par les blocs correspondants. Connectez les ports avec des connecteurs.
|
Contraintes |
Pour simplifier, nous définissons les contraintes directement dans les éléments Bloc ; vous pouvez éventuellement définir des ConstraintBlocks, utiliser des propriétés de contrainte dans les Blocks et lier leurs paramètres aux propriétés du Bloc . |
Plan de comparaison de deux oscillateurs
Après avoir modélisé l'oscillateur, nous voulons faire une analyse de simulation. Par exemple:
- Quelle est la différence entre deux oscillateurs avec des amortisseurs différents ?
- Et s'il n'y a pas d'amortisseur ?
- Quelle est la différence entre deux oscillateurs avec des ressorts différents ?
- Quelle est la différence entre deux oscillateurs de masses différentes ?
- Créez un Bloc nommé 'OscillatorCompareModel'
- Créez deux Propriétés pour 'OscillatorCompareModel', appelées oscillator1 et oscillator2, et tapez-les avec le Bloc Oscillator
Configuration du jeu de données et Exécuter Simulation
Créez un artefact de configuration SysMLSim et affectez-le à ce Paquetage . Créez ensuite ces ensembles de données :
- Amortisseur : petit vs grand
fournir 'oscillator1.damper1.d' avec la valeur 10 et 'oscillator2.damper1.d' avec la plus grande valeur 20
- Amortisseur : non vs oui
fournir 'oscillator1.damper1.d avec la valeur 0 ; ('oscillator2.damper1.d' utilisera la valeur par défaut 25)
- Printemps : petit vs grand
fournir 'oscillator1.spring1.c' avec la valeur 6000 et 'oscillator2.spring1.c' avec la plus grande valeur 12000
- Masse : léger vs lourd
fournir 'oscillator1.mass1.m' avec la valeur 0.5 et 'oscillator2.mass1.m' avec la plus grande valeur 2
La page configurée ressemble à ceci :
Sur la page ' Simulation ', sélectionnez 'OscillatorCompareModel', tracez pour 'oscillator1.mass1.s' et 'oscillator2.mass1.s', puis choisissez l'un des jeux de données créés et exécuter la simulation.
Conseil : S'il y a trop de propriétés dans la liste des parcelles, vous pouvez basculer la barre de filtre en utilisant le menu contextuel sur l'en-tête de la liste, puis tapez 'mass1.s' dans cet exemple.
Voici les résultats de simulation :
- Amortisseur, petit vs grand : le plus petit amortisseur permet au corps d'osciller davantage
- Amortisseur, non contre oui : l'oscillateur ne s'arrête jamais sans amortisseur
- Ressort, petit vs grand : le ressort avec un « c » plus petit oscillera plus lentement
- Masse, léger vs lourd : l' object avec une masse plus petite oscillera plus rapidement et se régulera plus rapidement