Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ajouter un nouvelle objet "Solution" #2

Open
4surix opened this issue Jul 24, 2023 · 0 comments
Open

Ajouter un nouvelle objet "Solution" #2

4surix opened this issue Jul 24, 2023 · 0 comments
Labels
amélioration Nouvelle fonctionnalité ou demande

Comments

@4surix
Copy link
Owner

4surix commented Jul 24, 2023

Explication

Actuellement dans atomion, le regroupement d’espèces le plus complexe que nous pouvons faire sont les molécules.
Cependant il existe d'autre regroupement davantage complexe comme les solutions.
Je pense qu'il serait donc intéressant de rajouter un objet Solution dans le but de simuler différent type de solution avec les différentes espèces qu'elle peut contenir.

Proposition de fonctionnement

L'objet contiendrait dans un dictionnaire les différentes espèces présentes sous la forme : {espèce: quantités}.
L'espèce sera un objet et la quantité sera un entier qui correspondra combien de fois cette espèce est présente.
Plusieurs propriétés peut être définie, par exemple pH pour savoir le pH de la solution.
Un objet SolutionAqueuse permettra de créer une solution avec comme soluté de l'eau distillé directement.

Exemple

from atomion import *

solution = Solution({
    Molecule("H-C(=O)OH"): 10*mol, # 180ml d'acide formique
    Molecule("SiO2"): 1*mol
})

aq = SolutionAqueuse(ml=1000)
solution = aq({
    Molecule("NaCl"): 2*mol # 114g de sel
})

aq = SolutionAqueuse(ml=1000)
solution = aq({
    Molecule("NH3"): 1*mol
})
solution.pH == 9.25
@4surix 4surix added the amélioration Nouvelle fonctionnalité ou demande label Jul 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
amélioration Nouvelle fonctionnalité ou demande
Projects
None yet
Development

No branches or pull requests

1 participant