Skip to main content

A scientific computing package for simulating donor-acceptor modulation.

Project description

Simulation de la Modulation Donneur-Accepteur par Réseaux de Neurones Informés par la Physique (PINN)

License: MIT

Description

modulation-da est une bibliothèque Python conçue pour simuler et analyser la modulation donneur-accepteur dans les systèmes quantiques en utilisant des Réseaux de Neurones Informés par la Physique (PINNs). Ce package fournit des outils pour configurer, perturber et résoudre les équations de Schrödinger afin de calculer le courant résultant. Il est idéal pour les chercheurs et les ingénieurs travaillant sur les systèmes quantiques, offrant une approche avancée pour la modélisation et l'analyse.

Table des matières

Installation

  1. Ouvrez un terminal puis installez le package :
    pip install modulation-da
    

Utilisation

Une fois le package modulation-da installé, vous pouvez l'utiliser directement via la ligne de commande. Le point d'entrée principal est modulation-da.

Obtenir de l'aide

Pour afficher les options et commandes disponibles, utilisez l'option --help :

modulation-da --help

Ou pour obtenir de l'aide sur une commande spécifique, par exemple run :

modulation-da run --help

Lancer une simulation

Pour lancer une simulation avec un type de perturbation spécifique, utilisez la commande run:

modulation-da run --perturbation-type gaussian

Vous pouvez choisir parmi les types de perturbation suivants : gaussian, sinusoidal, rectangular, exponential, modulated_sinusoidal.

Exemple pour une perturbation sinusoïdale :

modulation-da run --perturbation-type sinusoidal

Utilisation en tant que bibliothèque (via import)

Au-delà de l'interface en ligne de commande, vous pouvez importer et utiliser les composants de modulation-da directement dans vos scripts Python pour une plus grande flexibilité ou pour l'intégration dans des projets existants.

Le composant principal pour lancer une simulation est QuantumPINNSolver que vous pouvez importer depuis modulation_da.quantum_solver.

Voici un exemple d'utilisation programmatique :

from modulation_da.quantum_solver import QuantumPINNSolver

# Initialiser le solveur avec un type de perturbation
# Les types disponibles sont : 'gaussian', 'sinusoidal', 'rectangular', 'exponential', 'modulated_sinusoidal'
solver = QuantumPINNSolver(perturbation_type='gaussian')

print(f"Lancement de la simulation avec une perturbation de type : {solver.perturbation_type}")

try:
    # Exécuter la simulation complète
    solver.run_full_simulation()

    # Les résultats et les graphiques sont automatiquement sauvegardés
    # Si vous souhaitez un contrôle plus fin, vous pouvez appeler :
    # solver.save_results()
    # solver.generate_plots()

    print("Simulation terminée avec succès.")
    print("Résumé de la simulation :")
    print(solver.get_simulation_summary())

except Exception as e:
    print(f"Une erreur est survenue pendant la simulation : {e}")

Résultats

Les résultats des simulations, y compris les données brutes et les figures générées, sont automatiquement sauvegardés dans un dossier horodaté. Ce dossier sera créé dans le répertoire RESULTS_* où vous exécutez la commande.

Structure du Projet

Voici une description des fichiers clés du projet :

  • main.py: Point d'entrée principal du programme. Orchestre la configuration, la simulation et la visualisation.
  • quantum_config.py: Définit les constantes et les paramètres de la simulation quantique.
  • quantum_system.py: Modélise le système quantique, y compris le potentiel et l'hamiltonien.
  • perturbations.py: Gère l'application de perturbations au système.
  • pinn_model.py: Contient l'architecture du modèle de réseau de neurones (PINN) avec TensorFlow.
  • quantum_solver.py: Le cœur du solveur, qui utilise le PINN pour résoudre les équations.
  • current_calculator.py: Calcule le courant à partir des résultats de la simulation.
  • results_manager.py: S'occupe de la sauvegarde des résultats (données et figures).
  • visualization.py: Génère les graphiques pour visualiser les résultats.
  • pyproject.toml: Fichier de configuration du projet et de ses dépendances pour la distribution.

Dépendances

Les principales dépendances de ce projet sont :

  • tensorflow
  • numpy
  • matplotlib
  • scipy

Auteurs

Veuillez modifier cette section pour ajouter les auteurs.

Licence

Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

modulation_da-0.0.3.tar.gz (21.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

modulation_da-0.0.3-py3-none-any.whl (23.7 kB view details)

Uploaded Python 3

File details

Details for the file modulation_da-0.0.3.tar.gz.

File metadata

  • Download URL: modulation_da-0.0.3.tar.gz
  • Upload date:
  • Size: 21.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for modulation_da-0.0.3.tar.gz
Algorithm Hash digest
SHA256 ca7e42cbbe0b080cb534b94da79493287ce8f362294d0e0d2207bdc7851994a7
MD5 93eddbf12aeccf0b796f7fd428b37bc2
BLAKE2b-256 b7bbef2434950bc16e6837f3a31a085f084cc96325549408d19f472e932b3460

See more details on using hashes here.

File details

Details for the file modulation_da-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: modulation_da-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 23.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for modulation_da-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 cd3b4e1e627eaf83fbbe17f852b7d94a264c2a31ed30b4a500ec7ca38635ae5f
MD5 f4d24847bd4853ca1d993f303d7afd89
BLAKE2b-256 04530e027be2a68e01ae2358bf4e50d514514f60fa9134e967b2bd7700284d88

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page