Библиотека для моделирования рождения материи во Вселенной
Project description
Oscillators Library
Библиотека для моделирования рождения материи во Вселенной.
Описание
Эта библиотека реализует различные космологические модели для симуляции процессов, происходивших в ранней Вселенной:
- Параметрический резонанс — механизм разогрева после инфляции
- Лептогенез — генерация барионной асимметрии через CP-нарушение
- Квантовое рождение — частицы из вакуумных флуктуаций
- Полная симуляция — от инфляции до современного состава Вселенной
Установка
Через PyPI (рекомендуется)
pip install oscillators-cosmology
Из исходников
# Клонирование репозитория
git clone https://github.com/xtimon/oscillator.git
cd oscillator
# Установка в режиме разработки
pip install -e .
# Или только зависимости
pip install -r requirements.txt
Быстрый старт
Быстрая демонстрация
python run_examples.py --quick
Полная симуляция рождения материи
from oscillators import MatterGenesisSimulation
# Создание симуляции
sim = MatterGenesisSimulation(
volume_size=10.0,
initial_inflaton_energy=1e16,
hubble_parameter=1e-5
)
# Запуск эволюции Вселенной
history = sim.evolve_universe(total_time=1000.0, dt=0.1)
# Визуализация результатов
sim.visualize_genesis(history)
Параметрический резонанс
from oscillators import ParametricResonance
# Создание модели
resonance = ParametricResonance(inflaton_mass=1e13, coupling=1e-7)
# Анализ резонансных полос
results = resonance.simulate_resonance_bands()
# Скорость рождения частиц
rate = resonance.particle_production_rate(phi_amplitude=1e16, k=1.0)
print(f"dn/dt = {rate:.2e}")
Лептогенез
from oscillators import LeptogenesisModel
# Создание модели
model = LeptogenesisModel(M=1e10, Yukawa=1e-6, CP_violation=1e-6)
# Решение уравнений Больцмана
asymmetry = model.solve_leptogenesis()
print(f"Барионная асимметрия: {asymmetry:.2e}")
Квантовое рождение в расширяющейся Вселенной
from oscillators import QuantumCreationInExpandingUniverse
# Создание модели
model = QuantumCreationInExpandingUniverse(mass=0.1, expansion_rate=0.01)
# Анализ рождения частиц
results = model.analyze_particle_creation()
Модель осцилляторов со спином
from oscillators import PrimordialOscillatorUniverse
# Создание вселенной осцилляторов
universe = PrimordialOscillatorUniverse(total_energy=50.0)
# Симуляция нарушения симметрии
history = universe.simulate_symmetry_breaking(steps=500)
# Визуализация
universe.visualize_evolution(history)
Полная детальная модель
from oscillators import DetailedMatterGenesis
# Создание полной модели
model = DetailedMatterGenesis()
# Запуск симуляции всех фаз
results = model.simulate_full_genesis()
Запуск примеров
# Список всех примеров
python run_examples.py --list
# Запуск конкретного примера
python run_examples.py --example matter_genesis
python run_examples.py --example spin_dynamics
python run_examples.py --example detailed_genesis
python run_examples.py --example parametric_resonance
python run_examples.py --example leptogenesis
python run_examples.py --example quantum_creation
# Запуск всех примеров
python run_examples.py --all
# Информация о библиотеке
python run_examples.py --info
Командная строка (CLI)
После установки через pip доступна команда oscillators:
# Информация о библиотеке
oscillators info
# Быстрая симуляция рождения материи
oscillators simulate --quick
# Полная симуляция с параметрами
oscillators simulate --time 1000 --output ./report --save-report
# Детальная симуляция всех фаз
oscillators detailed
# Калибровка под данные Planck
oscillators calibrate
# Список примеров
oscillators examples --list
# Бенчмарк производительности
oscillators benchmark
# Справка по командам
oscillators --help
Структура проекта
oscillator/
├── oscillators/ # Основная библиотека
│ ├── __init__.py # Экспорт классов
│ ├── __main__.py # CLI интерфейс
│ ├── core.py # Базовые типы данных
│ ├── models.py # Физические модели
│ ├── simulation.py # Комплексные симуляции
│ ├── visualization.py # Визуализация результатов
│ ├── calibration.py # Калибровка моделей
│ ├── logging_config.py # Настройка логирования
│ └── examples.py # Примеры использования
├── tests/ # Юнит-тесты
│ ├── test_core.py
│ ├── test_models.py
│ └── test_simulation.py
├── report/ # Результаты симуляций
├── run_examples.py # Главный скрипт запуска
├── main.py # Точка входа
├── pyproject.toml # Конфигурация проекта
├── requirements.txt # Зависимости
└── README.md # Документация
Модули
core.py — Базовые типы
SpinType— типы спина (скаляр, спинор, вектор, тензор)ParticleType— типы частиц (кварки, лептоны, фотоны и др.)Particle— класс частицы с физическими свойствамиQuantumOscillator— квантовый осциллятор с учетом спинаPhysicalConstants— физические константы
models.py — Физические модели
ParametricResonance— параметрический резонанс (уравнение Матье)LeptogenesisModel— лептогенез через распад тяжелых нейтриноQuantumCreationInExpandingUniverse— квантовое рождение (формализм Боголюбова)
simulation.py — Симуляции
MatterGenesisSimulation— полная симуляция рождения материиPrimordialOscillatorUniverse— модель вселенной как осцилляторовDetailedMatterGenesis— интегрированная модель всех процессов
Физические основы
Параметрический резонанс
После инфляции поле инфлатона осциллирует около минимума потенциала. Это создает параметрическую неустойчивость, описываемую уравнением Матье:
ẍ + (a - 2q cos(2t))x = 0
В зонах неустойчивости число частиц растет экспоненциально.
Лептогенез
Тяжелые нейтрино распадаются с нарушением CP-симметрии:
N → l + H vs N → l̄ + H̄
Эта асимметрия конвертируется в барионную через сфалеронные переходы.
Квантовое рождение
В расширяющейся Вселенной вакуум не стационарен. Коэффициенты Боголюбова связывают вакуумы в разные моменты времени:
n_k = |β_k|²
где n_k — число рожденных частиц с импульсом k.
Результаты симуляций
Библиотека позволяет получить:
- Спектр рожденных частиц по импульсам
- Эволюцию состава Вселенной во времени
- Барионную асимметрию η ≈ 6×10⁻¹⁰
- Современный состав (68% ΛE, 27% DM, 5% барионы)
Разработка
Установка dev-зависимостей
pip install -e ".[dev]"
Запуск тестов
pytest tests/ -v
Покрытие кода
pytest tests/ --cov=oscillators --cov-report=html
Лицензия
MIT License
Автор
Timur Isanov — xtimon@yahoo.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file oscillators_cosmology-0.2.0.tar.gz.
File metadata
- Download URL: oscillators_cosmology-0.2.0.tar.gz
- Upload date:
- Size: 69.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2acdab318ecb9cfca365e2cb894d018806312522c022ccd67ef07cac841ab39b
|
|
| MD5 |
b69862183d1ecc00b0fd7494a3917963
|
|
| BLAKE2b-256 |
a8c2771d2b710aa7a5d2b1fbcc6c922be8d1ed758a4fb6fecaaf81c4dea924ca
|
Provenance
The following attestation bundles were made for oscillators_cosmology-0.2.0.tar.gz:
Publisher:
publish.yml on xtimon/oscillator
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
oscillators_cosmology-0.2.0.tar.gz -
Subject digest:
2acdab318ecb9cfca365e2cb894d018806312522c022ccd67ef07cac841ab39b - Sigstore transparency entry: 792385522
- Sigstore integration time:
-
Permalink:
xtimon/oscillator@4cb519580a9b4bffed26202547fcc19f4235eca9 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/xtimon
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@4cb519580a9b4bffed26202547fcc19f4235eca9 -
Trigger Event:
release
-
Statement type:
File details
Details for the file oscillators_cosmology-0.2.0-py3-none-any.whl.
File metadata
- Download URL: oscillators_cosmology-0.2.0-py3-none-any.whl
- Upload date:
- Size: 64.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
30dcbd253cae9a63e0e2e460e9c89f304060fd0b1702e869f2be6c7992210953
|
|
| MD5 |
3fafa3b5c713d3e5fbf89d84e942fbb9
|
|
| BLAKE2b-256 |
7732192a9517af34ffd6d815834261c9ea9e1c918a6de3dfaa9c8f2b218711e6
|
Provenance
The following attestation bundles were made for oscillators_cosmology-0.2.0-py3-none-any.whl:
Publisher:
publish.yml on xtimon/oscillator
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
oscillators_cosmology-0.2.0-py3-none-any.whl -
Subject digest:
30dcbd253cae9a63e0e2e460e9c89f304060fd0b1702e869f2be6c7992210953 - Sigstore transparency entry: 792385575
- Sigstore integration time:
-
Permalink:
xtimon/oscillator@4cb519580a9b4bffed26202547fcc19f4235eca9 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/xtimon
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@4cb519580a9b4bffed26202547fcc19f4235eca9 -
Trigger Event:
release
-
Statement type: