next up previous
Next: Initial Conditions on the Up: Scale Factor Evolution Previous: Correcting for Staggered Leapfrog

Power-Law Expansion

LATTICEEASY is designed to self-consistently solve for the evolution of scalar fields $f$ and the scale factor $a$ in an expanding universe. In some cases, however, you may wish to solve for the behavior of a set of fields in a universe dominated by other forms of energy, e.g. pure matter or radiation. In this case you can tell the program to impose a fixed power-law expansion and evolve the fields in this background. In this section we derive the equations for such an expansion in program variables. Note that we use the variables $C_i$ to denote constants of the equations. The $C_i$ in this section have no relation to the ones in the previous (or any other) section.

For a general constant equation of state the scale factor evolution is given by

a = C_1 (t-t_0)^\gamma.
\end{displaymath} (6.37)

The program time is rescaled as
t_{pr} \equiv B \int a^s dt = C_1^s B \int (t-t_0)^{\gamma s} dt =
{C_1^s B \over \gamma s + 1} (t-t_0)^{\gamma s + 1} + C_2,
\end{displaymath} (6.38)

which can be inverted to give
t-t_0 = \left({\gamma s + 1 \over C_1^s B} (t_{pr}-C_2)\right)^{1
\over \gamma s + 1}
\end{displaymath} (6.39)

and thus
a = (C_3 t_{pr}-C_4)^{\gamma \over \gamma s + 1}.
\end{displaymath} (6.40)

To solve for the parameters $C_i$ we want to match the values of $a$ and $H$ at the beginning of the simulation, $t_{pr}=0$. The scale factor itself has an arbitrary scaling and is set to $1$ initially, while the Hubble constant has some well defined initial value $H_0$. The first constraint trivially gives $C_4=-1$. The second constraint is most easily defined in terms of the program value of the Hubble constant,
H_{pr} \equiv {a' \over a} = {\gamma \over \gamma s + 1} {C_3 \over
C_3 t_{pr} + 1}.
\end{displaymath} (6.41)

Let $H_{pr,0}$ be the value of $H_{pr}$ when $t_{pr}=0$
C_3 = {\gamma s + 1 \over \gamma} H_{pr,0}.
\end{displaymath} (6.42)

a = \left({1 \over G} H_{pr,0} t_{pr} + 1\right)^G
\end{displaymath} (6.43)

G \equiv {\gamma \over \gamma s + 1}.
\end{displaymath} (6.44)

The program value $H_{pr,0}$ is derived in section 6.3.6 and is automatically calculated by the program. The rescaling variable $s$ should be defined for your model, so all you need for a power-law expansion is to specify the value of $\gamma$, which is declared in parameters.h with the variable name expansion_power. Note that if you know the equation of state $p=\alpha \rho$ that you want the corresponding power-law expansion will be given by
\gamma={2 \over 3(1+\alpha)}.
\end{displaymath} (6.45)

(See for example [4].) If we let
f(t_{pr}) \equiv {1 \over G} H_{pr,0} t_{pr} + 1.
\end{displaymath} (6.46)

then the final form of the power-law expansion equations is
a = f^G
\end{displaymath} (6.47)

a' = H_{pr,0} f^{G-1} = {H_{pr,0} \over f} a
\end{displaymath} (6.48)

a'' = {G-1 \over G} H_{pr,0}^2 f^{G-2} = {(G-1) H_{pr,0}^2 \over G
f^2} a.
\end{displaymath} (6.49)

The parameters $f$ and $G$ are called sfbase and sfexponent respectively in the program.

next up previous
Next: Initial Conditions on the Up: Scale Factor Evolution Previous: Correcting for Staggered Leapfrog

Go to The LATTICEEASY Home Page
Go to Gary Felder's Home Page
Send email to Gary Felder at
Send email to Igor Tkachev at

This documentation was generated on 2008-01-21