Processing math: 100%
Skip to main content
Library homepage
 

Text Color

Text Size

 

Margin Size

 

Font Type

Enable Dyslexic Font
Physics LibreTexts

4.7: Ideal Gas Statistical Mechanics

( \newcommand{\kernel}{\mathrm{null}\,}\)




























































































































































































































































































































\( \newcommand\Dalpha

ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/p[1]/span[1], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)
\( \newcommand\Dbeta
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/p[1]/span[2], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)
\( \newcommand\Dgamma
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/p[1]/span[3], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)
\( \newcommand\Ddelta
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/p[1]/span[4], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)
\( \newcommand\Depsilon
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/p[1]/span[5], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)
\( \newcommand\Dvarepsilon
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/p[1]/span[6], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)
\( \newcommand\Dzeta
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/p[1]/span[7], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)
\( \newcommand\Deta
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/p[1]/span[8], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)
\( \newcommand\Dtheta
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/p[1]/span[9], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)
\( \newcommand\Dvartheta
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/p[1]/span[10], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)
\( \newcommand\Diota
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/p[1]/span[11], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)
\( \newcommand\Dkappa
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/p[1]/span[12], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)
\( \newcommand\Dlambda
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/p[1]/span[13], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)





\( \newcommand\Dvarpi
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/p[1]/span[14], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)











\( \newcommand\DGamma
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/p[1]/span[15], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)
\( \newcommand\DDelta
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/p[1]/span[16], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)
\( \newcommand\DTheta
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/p[1]/span[17], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)









































































\( \newcommand\Vmu
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/p[1]/span[18], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)
\( \newcommand\Vnu
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/p[1]/span[19], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)
\( \newcommand\Vxi
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/p[1]/span[20], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)
\( \newcommand\Vom
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/p[1]/span[21], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)
\( \newcommand\Vpi
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/p[1]/span[22], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)
\( \newcommand\Vvarpi
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/p[1]/span[23], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)
\( \newcommand\Vrho
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/p[1]/span[24], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)
\( \newcommand\Vvarrho
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/p[1]/span[25], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)
\( \newcommand\Vsigma
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/p[1]/span[26], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)
\( \newcommand\Vvarsigma
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/p[1]/span[27], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)
\( \newcommand\Vtau
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/p[1]/span[28], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)
\( \newcommand\Vupsilon
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/p[1]/span[29], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)
\( \newcommand\Vphi
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/p[1]/span[30], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)
\( \newcommand\Vvarphi
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/p[1]/span[31], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)
\( \newcommand\Vchi
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/p[1]/span[32], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)
\( \newcommand\Vpsi
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/p[1]/span[33], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)
\( \newcommand\Vomega
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/p[1]/span[34], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)
\( \newcommand\VGamma
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/p[1]/span[35], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)
\( \newcommand\VDelta
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/p[1]/span[36], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)

















\newcommand\BI{\mib I}}










































\)










































































\newcommand { M}

























\newcommand { m}














































}


















\( \newcommand\tcb{\textcolor{blue}\)
\( \newcommand\tcr{\textcolor{red}\)



































1$#1_$






















































































\newcommand\SZ{\textsf Z}} \( \newcommand\kFd{k\ns_{\RF\dar}\)

\newcommand\mutB{\tilde\mu}\ns_\ssr{B}



\( \newcommand\xhihOZ
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/span[1], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)



\( \newcommand\labar
ParseError: invalid DekiScript (click for details)
Callstack:
    at (Template:MathJaxArovas), /content/body/div/span[2], line 1, column 1
    at template()
    at (Bookshelves/Thermodynamics_and_Statistical_Mechanics/Book:_Thermodynamics_and_Statistical_Mechanics_(Arovas)/04:_Statistical_Ensembles/4.07:_Ideal_Gas_Statistical_Mechanics), /content/body/p[1]/span, line 1, column 23
\)





















The ordinary canonical partition function for the ideal gas was computed in Equation [zideal]. We found

Z(T,V,N)=1N!Ni=1ddxiddpi(2π)deβp2i/2m=VNN!(dp2πeβp2/2m)Nd=1N!(VλdT)N ,

where λT is the thermal wavelength:

λT=2π2/mkBT .

The physical interpretation of λT is that it is the de Broglie wavelength for a particle of mass m which has a kinetic energy of kBT.

In the GCE, we have

Ξ(T,V,μ)=N=0eβμNZ(T,V,N)=N=11N!(Veμ/kBTλdT)N=exp(Veμ/kBTλdT) .

From Ξ=eΩ/kBT, we have the grand potential is

Ω(T,V,μ)=VkBTeμ/kBT/λdT .

Since Ω=pV (see §6.2), we have

p(T,μ)=kBTλdTeμ/kBT .

The number density can also be calculated:

n=NV=1V(Ωμ)T,V=λdTeμ/kBT .

Combined, the last two equations recapitulate the ideal gas law, pV=NkBT.

Maxwell velocity distribution

The distribution function for momenta is given by

g(p)=1NNi=1δ(pip) .

Note that g(p)=δ(pip) is the same for every particle, independent of its label i. We compute the average A=Tr(AeβˆH)/TreβˆH. Setting i=1, all the integrals other than that over p1 divide out between numerator and denominator. We then have

g(p)=d3p1δ(p1p)eβp21/2md3p1eβp21/2m=(2πmkBT)3/2eβp2/2m .

Textbooks commonly refer to the velocity distribution f(v), which is related to g(p) by

f(v)d3v=g(p)d3p .

Hence,

f(v)=(m2πkBT)3/2emv2/2kBT .

This is known as the Maxwell velocity distribution. Note that the distributions are normalized, viz.

d3pg(p)=d3vf(v)=1 .

clipboard_e39663cecce98ac534e5842a6d41e0fef.png
Figure 4.7.1: Maxwell distribution of speeds φ(v/v0). The most probable speed is vMAX=2v0. The average speed is vAVG=8πv0. The RMS speed is vRMS=3v0.

If we are only interested in averaging functions of v=|v| which are isotropic, then we can define the Maxwell speed distribution, ˜f(v), as

˜f(v)=4πv2f(v)=4π(m2πkBT)3/2v2emv2/2kBT .

Note that ˜f(v) is normalized according to

0dv˜f(v)=1 .

It is convenient to represent v in units of v0=kBT/m, in which case

˜f(v)=1v0φ(v/v0),φ(s)=2πs2es2/2 .

The distribution φ(s) is shown in Figure 4.7.1. Computing averages, we have

Cksk=0dsskφ(s)=2k/22πΓ(32+k2) .

Thus, C0=1, C1=8π, C2=3, The speed averages are

vk=Ck(kBTm)k/2 .

Note that the average velocity is v=0, but the average speed is v=8kBT/πm. The speed distribution is plotted in Figure 4.7.1.

Equipartition

The Hamiltonian for ballistic (massive nonrelativistic) particles is quadratic in the individual components of each momentum pi. There are other cases in which a classical degree of freedom appears quadratically in ˆH as well. For example, an individual normal mode ξ of a system of coupled oscillators has the Lagrangian

L=12˙ξ212ω20ξ2 ,

where the dimensions of ξ are [ξ]=M1/2L by convention. The Hamiltonian for this normal mode is then

ˆH=p22+12ω20ξ2 ,

from which we see that both the kinetic as well as potential energy terms enter quadratically into the Hamiltonian. The classical rotational kinetic energy is also quadratic in the angular momentum components.

Let us compute the contribution of a single quadratic degree of freedom in ˆH to the partition function. We’ll call this degree of freedom ζ – it may be a position or momentum or angular momentum – and we’ll write its contribution to ˆH as

ˆHζ=12Kζ2 ,

where K is some constant. Integrating over ζ yields the following factor in the partition function:

dζeβKζ2/2=(2πKβ)1/2 .

The contribution to the Helmholtz free energy is then

ΔFζ=12kBTln(K2πkBT) ,

and therefore the contribution to the internal energy E is

ΔEζ=β(βΔFζ)=12β=12kBT .

We have thus derived what is commonly called the equipartition theorem of classical statistical mechanics:

We now see why the internal energy of a classical ideal gas with f degrees of freedom per molecule is E=12fNkBT, and CV=12NkB. This result also has applications in the theory of solids. The atoms in a solid possess kinetic energy due to their motion, and potential energy due to the spring-like interatomic potentials which tend to keep the atoms in their preferred crystalline positions. Thus, for a three-dimensional crystal, there are six quadratic degrees of freedom (three positions and three momenta) per atom, and the classical energy should be E=3NkBT, and the heat capacity CV=3NkB. As we shall see, quantum mechanics modifies this result considerably at temperatures below the highest normal mode (phonon) frequency, but the high temperature limit is given by the classical value CV=3νR (where ν=N/NA is the number of moles) derived here, known as the Dulong-Petit limit.


This page titled 4.7: Ideal Gas Statistical Mechanics is shared under a CC BY-NC-SA license and was authored, remixed, and/or curated by Daniel Arovas.

Support Center

How can we help?