Skip to main content

Библиотека для моделирования рождения материи во Вселенной

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


Download files

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

Source Distribution

oscillators_cosmology-0.2.0.tar.gz (69.4 kB view details)

Uploaded Source

Built Distribution

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

oscillators_cosmology-0.2.0-py3-none-any.whl (64.4 kB view details)

Uploaded Python 3

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

Hashes for oscillators_cosmology-0.2.0.tar.gz
Algorithm Hash digest
SHA256 2acdab318ecb9cfca365e2cb894d018806312522c022ccd67ef07cac841ab39b
MD5 b69862183d1ecc00b0fd7494a3917963
BLAKE2b-256 a8c2771d2b710aa7a5d2b1fbcc6c922be8d1ed758a4fb6fecaaf81c4dea924ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for oscillators_cosmology-0.2.0.tar.gz:

Publisher: publish.yml on xtimon/oscillator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oscillators_cosmology-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for oscillators_cosmology-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 30dcbd253cae9a63e0e2e460e9c89f304060fd0b1702e869f2be6c7992210953
MD5 3fafa3b5c713d3e5fbf89d84e942fbb9
BLAKE2b-256 7732192a9517af34ffd6d815834261c9ea9e1c918a6de3dfaa9c8f2b218711e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for oscillators_cosmology-0.2.0-py3-none-any.whl:

Publisher: publish.yml on xtimon/oscillator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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