FDM + Quintessence
— CLASS implementation & benchmark
Código aberto e reprodutível. Resultados (S₈, w₀, P(k), ρ(a)) disponíveis para download e visualização interativa.
0.792
S₈ (benchmark)
-0.918
w₀ (benchmark)
~30s
Run time (ex.)

Visão Geral

Implementação no CLASS de um setor escuro composto por duas espécies escalares minimamente acopladas:

  • Ψ (FDM): Ultra-leve, massa m_Psi em eV; gera supressão em pequenas escalas.
  • φ (Quintessência): Potencial PNGB (axion-like), parâmetros M_quint, f_quint, cond. iniciais.
Seção técnica: gráficos tentam carregar CSVs públicos do repositório. Se você quiser que eu coloque seus CSVs, me envie os arquivos ou confirme que foram adicionados em data/.

Como reproduzir

  1. Clone o CLASS e aplique o patch: patch -p1 < modifications/class_fdm_quintessence.patch.
  2. Use o .ini de benchmark (veja modifications/explanatory).
  3. Compile: make.
  4. Execute: ./class fdm_quint_benchmark.ini > run.log. Os outputs estarão em output/.
  5. Converta ou copie para CSV (nomes sugeridos abaixo) e envie para data/ no repositório para aparecerem aqui automaticamente.

Arquivos de dados (sugestão)

ArquivoColunasDescrição
data/pk_benchmark.csvk,Pk_LCDM,Pk_FDMP(k) z=0 (mesmas unidades do CLASS)
data/wa_benchmark.csva,w_phiEvolução da equação de estado da quintessência
data/rho_benchmark.csva,rho_rad,rho_mat,rho_quintDensidades normalizadas (background)

Formato CSV simples, separador vírgula. Não inclua linhas vazias no fim do arquivo.

Dados & Gráficos

Os gráficos abaixo carregam os CSVs públicos se presentes; caso contrário, exibem curvas ilustrativas. Use os botões de exportação para salvar figuras em PNG/SVG.
S₈ vs mΨ
w(a)
P(k) — comparação
ρ(a)

Metodologia — resumo técnico

O modelo é implementado adicionando dois campos escalares ao CLASS: o campo psi (FDM) com potencial \(V_\psi = \tfrac{1}{2} m_\psi^2 \psi^2\), e o campo phi (quintessência PNGB) com \(V_\phi = M^4 [1+\cos(\phi/f)]\).

As equações de fundo e de perturbação foram implementadas respeitando as convenções conformais do CLASS. A normalização primordial segue Planck 2018 (A_s, n_s). O cálculo de σ₈ é feito pela integração do P(k) com janela top-hat R=8 Mpc/h (o código de referência calcula σ₈ após gerar P(k) em z=0).

Equações principais (visíveis por MathJax):

Klein–Gordon (campo homogêneo):

\[ \phi'' + 2\mathcal{H}\phi' + a^2 \frac{dV}{d\phi} = 0 \]

Energia e pressão do campo (em unidades naturais):

\[ \rho_\phi = \frac{1}{2a^2}\phi'^2 + V(\phi),\qquad p_\phi = \frac{1}{2a^2}\phi'^2 - V(\phi) \]

Para detalhes de implementação veja o arquivo modifications/class_fdm_quintessence.patch e o comentário no background.c incluído no patch.

Limitações & Checklist científica

  • Limites do Lyman-α: algumas massas mΨ podem ser tensionadas por observações de florestas de Lyman-α.
  • Regime não-linear: formação de halos requer análise adicional (simulações Schrödinger–Poisson ou N-body com filtro).
  • Assunções: ausência de acoplamento não-minimal entre campos; estabilidade linear verificada apenas para parâmetros do benchmark.

Checklist para análise completa

  1. Rodar varredura em m_Ψ e construir curva S₈(m_Ψ).
  2. Comparar P(k) linear com dados LSS e CMB (Planck) usando likelihoods.
  3. Verificar compatibilidade com Lyman-α.
  4. Estudar estabilidade de perturbações (modos rápidos/instabilidades numéricas).
  5. Se necessário, rodar simulações não-lineares.