SSC/FreeEnergy/PolytropesEmbedded/Pt3C

From JETohlineWiki
Jump to navigation Jump to search

Free Energy of Embedded Polytropes[edit]


Part I:   Synopsis
 

Part II:  Truncated Polytropes
 

Part III:  Free-Energy of Bipolytropes
 

IIIA:  Focus on (5, 1) Bipolytropes
 

IIIB:  Focus on (0, 0) Bipolytropes
 

IIIC:  Overview
 

Free-Energy of Bipolytropes[edit]

In this case, the Gibbs-like free energy is given by the sum of four separate energies,

𝔊

=

[Wgrav+𝔖therm]core+[Wgrav+𝔖therm]env.

In addition to specifying (generally) separate polytropic indexes for the core, nc, and envelope, ne, and an envelope-to-core mean molecular weight ratio, μe/μc, we will assume that the system is fully defined via specification of the following five physical parameters:

  • Total mass, Mtot;
  • Total radius, R;
  • Interface radius, Ri, and associated dimensionless interface marker, qRi/R;
  • Core mass, Mc, and associated dimensionless mass fraction, νMc/Mtot;
  • Polytropic constant in the core, Kc.

In general, the warped free-energy surface drapes across a five-dimensional parameter "plane" such that,

𝔊

=

𝔊(R,Kc,Mtot,q,ν).

Overview[edit]

BiPolytrope51[edit]

Key Analytic Expressions[edit]

Out-of-Equilibrium, Free-Energy Expression for BiPolytropes with (nc,ne)=(5,1)

𝔊51*24(qν2)χeq[𝔊51Enorm]

=

1i2[X3/5(5𝔏i)+X3(4𝔎i)X1(3𝔏i+12𝔎i)]

where,

𝔏i

(i41)i2+(1+i2)3i3tan1i,

𝔎i

Λiηi+(1+Λi2)ηi[π2+tan1Λi],

Λi

1ηii,

ηi

=

3(μeμc)[i(1+i2)].

From the accompanying Table 1 parameter values, we also can write,

1q

=

ηsηi=1+1ηi[π2+tan1Λi],

ν

=

iq(1+Λi2)1/2.

Consistent with our generic discussion of the stability of bipolytropes and the specific discussion of the stability of bipolytropes having (nc,ne)=(5,1), it can straightforwardly be shown that 𝔊51*/χ=0 is satisfied by setting X=1; that is, the equilibrium condition is,

χ=χeq

=

(π23)1/2ν2q(1+i2)333i5

 

=

{(π3)22ncνnc1q3nc[(1+i2)6/5(3i2)]nc}1/(nc3),

where the last expression has been cast into a form that more clearly highlights overlap with the expression, below, for the equilibrium radius for zero-zero bipolytropes. Furthermore, the equilibrium configuration is unstable whenever,

[2𝔊51*χ2]X=1<0,

that is, it is unstable whenever,

𝔏i𝔎i

>

20.

Table 1 of an accompanying chapter — and the red-dashed curve in the figure adjacent to that table — identifies some key properties of the model that marks the transition from stable to unstable configurations along equilibrium sequences that have various values of the mean-molecular weight ratio, μe/μc.

Behavior of Equilibrium Sequence[edit]

Here we reprint Figure 1 from an accompanying chapter wherein the structure of five-one bipolytropes has been derived. It displays detailed force-balance sequences in the qν plane for a variety of choices of the ratio of mean-molecular-weights, μe/μc, as labeled.

Five-One Bipolytropic Equilibrium Sequences for Various ratios of the mean molecular weight
Five-One Bipolytropic Equilibrium Sequences for Various ratios of the mean molecular weight
Limiting Values[edit]

Each sequence begins (i=0) at the origin, that is, at (q,ν)=(0,0). As i, however, the sequences terminate at different coordinate locations, depending on the value of m33(μe/μc). In deriving the various limits, it will be useful to note that,

1ηi

=

(1+i2)m3i,

Λi

=

(1+i2)m3ii

 

=

1m3i+[(1m3)m3]i

 

=

1m3i[1(m31)i2]

 

=

(m31)im3[11(m31)i2],

1+Λi2

=

1+1m32i2[1+(1m3)i2]2

 

=

1m32i2{m32i2+[1+(1m3)i2]2}

 

=

1m32i2{1+(22m3+m32)i2+(1m3)2i4}

Examining the three relevant parameter regimes, we see that:

  • For μe/μc<13, that is, m3<1

tan1Λi|i

tan1[(1m3)m3]i

 

π2[m3(1m3)i]

1q|i

1+(1+i2)m3i[πm3(1m3)i]

 

m3+πim3

q|i

11+(πi/m3)0.

 

and

 

(νq)2

=

i21+Λi2

 

=

m32i4{1+(22m3+m32)i2+(1m3)2i4}1

 

=

m32{i4+(22m3+m32)i2+(1m3)2}1

νq|i

m31m3

ν|i

[m31m3]11+(πi/m3)0.

  • For μe/μc=13, that is, m3=1

tan1Λi

=

tan1(1i)

tan1Λi|i

1i

1q|i

1+(1+i2)i[π2+1i]

 

(π2)i

q|i

2πi0

 

and

 

(νq)

=

i(1+1/i2)1/2

ν|i

i(2πi)=2π0.63662


  • For μe/μc>13, that is, m3>1

tan1Λi|i

tan1[(m31m3)i]

 

π2+[m3(m31)i]

1q|i

1+(1+i2)m3i[m3(m31)i]

 

=

1+(1+1/i2)(m31)

 

1+1(m31)=m3(m31)

q|i

=

(m31)m3

 

and

 

(νq)2

=

i21+Λi2

 

=

m32i4{1+(22m3+m32)i2+(m31)2i4}1

 

=

m32{i4+(22m3+m32)i2+(m31)2}1

νq|i

m3m31

ν|i

=

m3m31[m31m3]1.

Summarizing:

  • For μe/μc<13, that is, m3<1       …       (q,ν)i=(0,0).


  • For μe/μc=13, that is, m3=1       …       (q,ν)i=(0,2π).


  • For μe/μc>13, that is, m3>1       …       (q,ν)i=[(m31)/m3,1].
Turning Points[edit]

Let's identify the location of two turning points along the ν(q) sequence — one defines qmax and the other identifies νmax. They occur, respectively, where,

dlnqdlni=0

      and      

dlnνdlni=0.

In deriving these expressions, we will use the relations,

dηidi

=

m3(1i2)(1+i2)2,

dΛidi

=

1m3i2[1i2(1m3)],

where,

m33(μeμc).


Given that,

q

=

{1+1ηi[π2+tan1Λi]}1,

we find,

dlnqdlni

=

iq(q2)ddi{1ηi[π2+tan1Λi]}

 

=

qi{1ηi2[π2+tan1Λi]dηidi+1ηi(1+Λi2)dΛidi}

 

=

qi{(1i2)m3i2[π2+tan1Λi]+(1+i2)m32i3(1+Λi2)[1i2(1m3)]}

 

=

qm32i2{m3i(1i2)[π2+tan1Λi]+(1+i2)(1+Λi2)[1i2(1m3)]}.

And, given that,

ν

=

iq(1+Λi2)1/2.

we find,

dlnνdlni

=

iν{q(1+Λi2)1/2+q(1+Λi2)1/2dlnqdlniiqΛi(1+Λi2)3/2dΛidi}

 

=

qiν(1+Λi2)1/2{1+dlnqdlni+Λim3i(1+Λi2)[1i2(1m3)]}

In summary, then, the qmax turning point occurs where,

0

=

(1+Λi2)[π2+tan1Λi]+(1+i2)m3i(1i2)[1i2(1m3)];

and the νmax turning point occurs where,

0

=

1+Λim3i(1+Λi2)[1i2(1m3)]+qi3(1i2)m3[π2+tan1Λi]+qi2m32(1+i2)(1+Λi2)[1i2(1m3)]

 

=

1+qi3(1i2)m3[π2+tan1Λi]+[Λim3i(1+Λi2)+qi2m32(1+i2)(1+Λi2)][1i2(1m3)]

 

=

1+qi3(1i2)m3[π2+tan1Λi]+1m3i[Λi(1+Λi2)+qi3m3(1+i2)(1+Λi2)][1i2(1m3)].

NOTE:  As we show above, for the special case of m3=1 — that is, when μe/μc=13, precisely — the equilibrium sequence (as i) intersects the q=0 axis at precisely the value, ν=2/π. As is illustrated graphically in Figure 1 of an accompanying chapter, no νmax turning point exists for values of m3>1.

For the record, we repeat, as well, that the transition from stable to dynamically unstable configurations occurs along the sequence when,

(i41)i2+(1+i2)3i3tan1i

=

20{Λiηi+(1+Λi2)ηi[π2+tan1Λi]}

 

=

20(1+Λi2)(1+i2)m3i{Λi(1+Λi2)+[π2+tan1Λi]}

m3i(i41)+m3(1+i2)3tan1i

=

20i2(1+Λi2)(1+i2){Λi(1+Λi2)+[π2+tan1Λi]}

m3i(i41)+m3(1+i2)3tan1i20i2(1+i2)

=

Λi+(1+Λi2)[π2+tan1Λi].


In order to clarify what equilibrium sequences do not have any turning points, let's examine how the qmax turning-point expression behaves as i.

(1+i2)(1+Λi2)[1i2(1m3)]

=

m3i(i21)[π2+tan1Λi]

(1+i2)m3i(i21)[1+i2(m31)]

=

{1+1m32i2[(m31)i21]2}{π2+[π21Λi+13Λi3+𝒪(Λi5)]}

(1+i2)i2(m31)m3i(i21)[1+1i2(m31)]

=

{1+(m31)2i2m32[11(m31)i2]2}1(Λi)[113Λi2+𝒪(Λi4)0]

(1+i2)i(i21)m3(m31)[1+1i2(m31)]

=

[12(m31)i2+m32(m31)2i2+1(m31)2i4]m3(m31)i[11(m31)i2]1{1m323(m31)2i2[11(m31)i2]2}

(1+1i2)[1+1i2(m31)][11(m31)i2]

=

(11i2)[12(m31)i2+m32(m31)2i2+1(m31)2i4]{1m323(m31)2i2[11(m31)i2]2}

The leading-order term is unity on both sides of this expression, so they cancel; let's see what results from keeping terms i2.

1i2[1+1(m31)1(m31)]

=

1i2[12(m31)+m32(m31)2m323(m31)2]

2

=

2(m31)+2m323(m31)2

6(m31)2

=

6(m31)+2m32

6m3212m3+6

=

6m3+6+2m32

m3

=

32.

We therefore conclude that the qmax turning point does not appear along any sequence for which,

m3

>

32

μeμc

>

12.


Five-One Bipolytrope Equilibrium Sequences in qν Plane

Full Sequences for Various μeμc

Magnified View with Turning Points and Stability Transition-Points Identified

Five-One Sequences

Graphical Depiction of Free-Energy Surface[edit]

Figure 1:   Free-Energy Surface for (nc,ne)=(5,1) and μeμc=1
Free-Energy surface for 5_1 bipolytrope
Free-Energy surface for 5_1 bipolytrope
Free-Energy surface for 5_1 bipolytrope
Free-Energy surface for 5_1 bipolytrope

Left Panel: The free energy (vertical, blue axis) is plotted as a function of the radial interface location, ξi (red axis), and the normalized configuration radius, Xχ/χeq (green axis). Right Panel: Same as the left panel, but animated in order to highlight undulations of the surface. The value of the free energy is indicated by color as well as by the height of the warped surface — red identifies the lowest depicted energies while blue identifies the highest depicted energies; these same colors have been projected down onto the z=0 plane to present a two-dimensional, color-contour plot. A multi-colored line segment drawn parallel to the ξi axis at the value, X=1, identifies the configuration's equilibrium radius for each value of the interface location. Equilibrium configurations marked in white lie at the bottom of the principal free-energy "valley" and are stable, while configurations marked in blue lie at the top of a free-energy "hill," indicating that they are unstable; the red dot identifies the location along this equilibrium sequence where the transition from stable to unstable configurations occurs.

For purposes of reproducibility, it is incumbent upon us to clarify how the values of the free energy were normalized in order to produce the free-energy surface displayed in Figure 1. The normalization steps are explicitly detailed within the fortran program, below, that generated the data for plotting purposes; here we provide a brief summary. We evaluated the normalized free energy, 𝔊51*, across a 200×200 zone grid of uniform spacing, covering the following (x,y)=(i,X) domain:

13

i

33

0.469230769

X

2.0

(With this specific definition of the y-coordinate grid, X=1 is associated with zone 70.) After this evaluation, a constant, Efudge=10, was added to 𝔊* in order to ensure that the free energy was negative across the entire domain. Then (inorm = 1), for each specified interface location, x=i, employing the equilibrium value of the free energy,

E0=𝔊51*(i,X=1)+Efudge,

the free energy was normalized across all values of y=X via the expression,

fe=(𝔊51*+Efudge)(E0)i|E0|i.

Finally, for plotting purposes, at each grid cell vertex ("vertex") — as well as at each grid cell center ("cell") — the value of the free energy, fe, was renormalized as follows,

vertex=femin(fe)max(fe)min(fe).

Via this last step, the minimum "vertex" energy across the entire domain was 0.0 while the maximum "vertex" energy was 1.0.


FORTRAN Program Documentation Example Evaluations

(See also associated Table 1)
Coord. Axis Coord. Name Associated Physical Quantity μeμc=1 μeμc=0.305
x-axis bsize iξi3 2.4163=1.395 8.19383=4.7307 14.3893=8.3076
y-axis csize Xχχeq 1 1 1
Relevant Lines of Code  
      eta = 3.0d0*muratio*bsize/(1.0d0+bsize**2)
      Gami = 1.0d0/eta-bsize
      frakL = (bsize**4-1.0d0)/bsize**2 + &
     &        DATAN(bsize)*((1.0d0+bsize**2)/bsize)**3
      frakK = Gami/eta + ((1.0d0+Gami**2)/eta)*(pii/2.0d0+DATAN(Gami))
      E0    = ((5.0d0*frakL) + (4.0d0*frakK)&
     &        - (3.0d0*frakL+12.0d0*frakK))/bsize**2+Efudge
          fescalar(j,k) = (csize**(-0.6d0)*(5.0d0*frakL)&
     &        + csize**(-3.0d0)*(4.0d0*frakK)&
     &   - (3.0d0*frakL+12.0d0*frakK)/csize)/bsize**2 + Efudge
          if(inorm.eq.1)fescalar(j,k)=fescalar(j,k)/DABS(E0) &
     &                  - E0/DABS(E0)
Variable Represents Value calculated via the expression …
eta ηi

3(μeμc)[i(1+i2)]

1.421 0.1851 0.1086
Gami Λi 1ηii 0.691 0.6705 0.9033
frakL 𝔏i (i41)i2+[1+i2i]3tan1i 10.37 186.80 937.64
frakK 𝔎i Λiηi+(1+Λi2)ηi[π2+tan1Λi] 0.518 20.544 46.882
  𝔏i𝔎i   20 9.093 20
E0 - Efudge 𝔊51*(i,X=1)

1i2[5𝔏i+4𝔎i(3𝔏i+12𝔎i)]=2(𝔏i4𝔎i)i2

8.525 9.3496 21.737
Figure 2:   Free-Energy Surface for (nc,ne)=(5,1) and μeμc=0.305
Free-Energy surface for 5_1 bipolytrope
Free-Energy surface for 5_1 bipolytrope

Left Panel: The free energy (vertical, blue axis) is plotted as a function of the radial interface location, ξi (red axis), and the normalized configuration radius, Xχ/χeq (green axis). Right Panel: Same as the left panel, but animated in order to highlight undulations of the surface. The value of the free energy is indicated by color as well as by the height of the warped surface — red identifies the lowest depicted energies while blue identifies the highest depicted energies; these same colors have been projected down onto the z=0 plane to present a two-dimensional, color-contour plot. A multi-colored line segment drawn parallel to the ξi axis at the value, X=1, identifies the configuration's equilibrium radius for each value of the interface location. Equilibrium configurations marked in white lie at the bottom of the principal free-energy "valley" and are stable, while configurations marked in blue lie at the top of a free-energy "hill," indicating that they are unstable; the red dot identifies the location along this equilibrium sequence where the transition from stable to unstable configurations occurs.

BiPolytrope00[edit]

Out-of-Equilibrium, Free-Energy Expression for BiPolytropes with Structural (nc,ne)=(0,0)

𝔊00*5(qν2)χeq[𝔊00Enorm]

=

52q3[ncA2X3/nc+neB2X3/ne3C2X1]

where,

A2

25q3[1+q3(f1𝔉)],

B2

25q3fA2,

C2

25q3f,

f

1+52(ρeρc)(1q21)+(ρeρc)2[1q51+52(11q2)],

𝔉

52(ρeρc)1q5[(2q2+3q3q5)+35(ρeρc)(1+5q25q3+q5)],

ρeρc

=

q3(1ν)ν(1q3).

The associated equilibrium radius is,

χeq

=

{(π3)22ncνnc1q3nc[1+25q3(f1𝔉)]nc}1/(nc3).

We have deduced that the system is unstable if,

ne3[3nencne]

<

A2C2=1f[1+q3(f1𝔉)].

Fortran Code[edit]

This is the program that generated the free-energy data for the "five-one" bipolytrope that is displayed in the above, Figure 1 image/animation.

      PROGRAM BiPolytrope
      real*8 pii
      real*8 bmin,bmax,cmin,cmax,db,dc
      real*8 c(200),b(200),chalf(199),bhalf(199)
      real*8 bsize,csize,emin,emax
      real*8 fepoint(200,200),fescalar(199,199)
      real*8 ell(200),ellhalf(199)
      real*8 muratio,eta,Gami,frakK,frakL
      real*8 eshift,ediff
      real   xx(200),yy(200),cell(199,199),vertex(200,200)
      real   valuemin,minlog,valufudge
      real*8 q,nu,chiEq,Enorm,E0,Efudge
      integer j,k,n,nmax,inorm
  101 format(4x,'bsize',7x,'csize',8x,'xi',10x,'A',12x,'B',12x,&
     &'fM',13x,'fW',11x,'fA',/)
! 102 format(1p8d12.4)
  103 format(2i5,1p3d14.6)
  201 format(5x,'valuemin = ',1pe15.5,//)
  205 format(5x,'For Cell-center ... emin, emax = ',1p2d14.6,/)
  206 format(5x,'For Cell-vertex ... emin, emax = ',1p2d14.6,/)
  701 format(5x,1p10d10.2)  
  700 format(8x,'xi',9x,'ell',8x,'eta',8x,'Lambda',5x,'frakK',&
     &       5x,'frakL',8x,'q',5x,'nu',5x,'chiEq',8x,'E0',/)
!!!!!!!!
!!!!!!!!
      inorm=1
      pii = 4.0d0*datan(1.0d0) 
      muratio = 1.0d0
      bsize = 0.0d0
      csize = 0.0d0
      Efudge = -10.0d0
      write(*,101)
!     write(*,102)bsize,csize,xival,coefA,coefB,fM,fW,fA
!!!!!!!!!!!
!
!  In this free-energy routine, c = X = chi/chi_eq and b = xi_i
!
!!!!!!!!!!!
      nmax = 200
      bmin = 1.0d0
      bmax = 3.0d0
      db   = (bmax-bmin)/dfloat(nmax-1)
      b(1) = bmin
      ell(1) = b(1)/dsqrt(3.0d0)
!  These values of cmin and cmax ensure that X=1 occurs at zone 70
      cmin = 0.469230769d0
      cmax = 2.00d0
      dc   = (cmax-cmin)/dfloat(nmax-1)
      c(1) = cmin
      do n=2,nmax
        b(n) = b(n-1)+db
        c(n) = c(n-1)+dc
        ell(n) = b(n)/dsqrt(3.0d0)
      enddo
      do n=1,nmax-1
        bhalf(n) = 0.5d0*(b(n)+b(n+1))
        chalf(n) = 0.5d0*(c(n)+c(n+1))
        ellhalf(n) = bhalf(n)/dsqrt(3.0d0)
      enddo
!
!  BEGIN LOOP to evaluate free energy (cell center)
!
      emin = 0.0d0
      emax = 0.0d0
      write(*,700)
      do j=1,nmax-1
        bsize = ellhalf(j)
      eta = 3.0d0*muratio*bsize/(1.0d0+bsize**2)
      Gami = 1.0d0/eta-bsize
      frakL = (bsize**4-1.0d0)/bsize**2 + &
     &        DATAN(bsize)*((1.0d0+bsize**2)/bsize)**3
      frakK = Gami/eta + ((1.0d0+Gami**2)/eta)*(pii/2.0d0+DATAN(Gami))
      q = 1.0d0/(1.0d0 + (0.5d0*pii+DATAN(Gami))/eta)
      nu = bsize*q/dsqrt(1.0d0+Gami**2)
      chiEq = dsqrt(pii/8.0d0)*(nu**2/(q*bsize**2))&
     &        *((1.0d0+bsize**2)/(3.0d0*bsize))**3
      Enorm = 16.0d0*(q/nu**2)*chiEq
      E0    = ((5.0d0*frakL) + (4.0d0*frakK)&
     &        - (3.0d0*frakL+12.0d0*frakK))/bsize**2+Efudge
      write(*,701)b(j),bsize,eta,Gami,frakK,frakL,q,nu,chiEq,E0
        do k=1,nmax-1
          csize=chalf(k)
          fescalar(j,k) = (csize**(-0.6d0)*(5.0d0*frakL)&
     &        + csize**(-3.0d0)*(4.0d0*frakK)&
     &   - (3.0d0*frakL+12.0d0*frakK)/csize)/bsize**2 + Efudge
          if(inorm.eq.1)fescalar(j,k)=fescalar(j,k)/DABS(E0) &
     &                  - E0/DABS(E0)
        if(fescalar(j,k).gt.0.5d0)fescalar(j,k)=0.5d0
          if(fescalar(j,k).lt.emin)emin=fescalar(j,k)
          if(fescalar(j,k).gt.emax)emax=fescalar(j,k)
!         write(*,103)j,k,bsize,csize,fescalar(j,k)
        enddo
      enddo
      write(*,205)emin,emax
!
!  BEGIN LOOP to evaluate free energy (cell vertex)
!
      emin = 0.0d0
      emax = 0.0d0
      do j=1,nmax
        bsize = ell(j)
      eta = 3.0d0*muratio*bsize/(1.0d0+bsize**2)
      Gami = 1.0d0/eta-bsize
      frakL = (bsize**4-1.0d0)/bsize**2 + &
     &        DATAN(bsize)*((1.0d0+bsize**2)/bsize)**3
      frakK = Gami/eta + ((1.0d0+Gami**2)/eta)*(pii/2.0d0+DATAN(Gami))
      q = 1.0d0/(1.0d0 + (0.5d0*pii+DATAN(Gami))/eta)
      nu = bsize*q/dsqrt(1.0d0+Gami**2)
      chiEq = dsqrt(pii/8.0d0)*(nu**2/(q*bsize**2))&
     &        *((1.0d0+bsize**2)/(3.0d0*bsize))**3
      Enorm = 16.0d0*(q/nu**2)*chiEq
      E0    = ((5.0d0*frakL) + (4.0d0*frakK)&
     &        - (3.0d0*frakL+12.0d0*frakK))/bsize**2 + Efudge
        do k=1,nmax
          csize=c(k)
          fepoint(j,k) = (csize**(-0.6d0)*(5.0d0*frakL)&
     &        + csize**(-3.0d0)*(4.0d0*frakK)&
     &   - (3.0d0*frakL+12.0d0*frakK)/csize)/bsize**2 + Efudge
          if(inorm.eq.1)fepoint(j,k)=fepoint(j,k)/DABS(E0) &
     &                  - E0/DABS(E0)
        if(fepoint(j,k).gt.0.5d0)fepoint(j,k)=0.5d0
          if(fepoint(j,k).lt.emin)emin=fepoint(j,k)
          if(fepoint(j,k).gt.emax)emax=fepoint(j,k)
!         write(*,103)j,k,bsize,csize,fepoint(j,k)
        enddo
      enddo
      write(*,206)emin,emax
!
!  Now fill single-precision arrays for plotting.
!
      do n=1,nmax
!       xx(n)=b(n)/b(nmax)
!       yy(n)=c(n)/c(nmax)
        xx(n)=b(n)-bmin
        yy(n)=c(n)-cmin
!       xx(n)=b(n)
!       yy(n)=c(n)
      enddo
      valuemin= -emin
      valufudge = 1.0d0/(emax-emin)
      do k=1,nmax
        do j=1,nmax
          vertex(j,k)=fepoint(j,k)+valuemin
          vertex(j,k)=vertex(j,k)*valufudge
        enddo
      enddo
      do k=1,nmax-1
        do j=1,nmax-1
          cell(j,k)=fescalar(j,k)+valuemin
          cell(j,k)=cell(j,k)*valufudge
        enddo
      enddo
      call XMLwriter01(nmax,xx,yy,cell,vertex)
      stop
      END PROGRAM BiPolytrope
      Subroutine XMLwriter01(imax,x,y,cell_scalar,point_scalar)
      real x(200),y(200),z(1)
      real cell_scalar(199,199),point_scalar(200,200)
      integer imax
      integer extentX,extentY,extentZ
      integer ix0,iy0,iz0
      integer norm(200,3)
!     imax=200
      ix0=0
      iy0=0
      iz0=0
      extentX=imax-1
      extentY=imax-1
      extentZ=0
      z(1) = 0.0
! Set normal vector 1D array
      do i=1,imax
        norm(i,1)=0
        norm(i,2)=0
        norm(i,3)=1
      enddo
  201 format('<?xml version="1.0"?>')
  202 format('<VTKFile type="RectilinearGrid" version="0.1" byte_order="LittleEndian">')
  302 format('</VTKFile>')
  203 format(2x,'<RectilinearGrid WholeExtent="',6I4,'">')
  303 format(2x,'</RectilinearGrid>')
  204 format(4x,'<Piece Extent="',6I4,'">')
  304 format(4x,'</Piece>')
  205 format(6x,'<CellData Scalars="cell_scalars" Normals="magnify">')
  305 format(6x,'</CellData>')
  206 format(8x,'<DataArray type="Float32" Name="magnify" NumberOfComponents="3" format="ascii">')
  207 format(8x,'<DataArray type="Float32" Name="cell_scalars" format="ascii">')
  399 format(8x,'</DataArray>')
  208 format(6x,'<PointData Scalars="colorful" Normals="direction">')
  308 format(6x,'</PointData>')
  209 format(8x,'<DataArray type="Float32" Name="colorful" format="ascii">')
  210 format(6x,'<Coordinates>')
  310 format(6x,'</Coordinates>')
  211 format(8x,'<DataArray type="Float32" format="ascii" RangeMin="0" RangeMax="5">')
  212 format(8x,'<DataArray type="Float32" format="ascii">')
  213 format(8x,'<DataArray type="Float32" Name="direction" NumberOfComponents="3" format="ascii">')
  501 format(10f9.5)
  502 format(10f9.5)
  503 format(5x,9(1x,3I2))
  504 format(10f9.5)
  505 format(5x,10(1x,3I2))
!!!!!
!
!  Begin writing out XML tags.
!
!!!!!
      write(*,201)                              !<?xml
      write(*,202)                              !VTKFile
        write(*,203)ix0,extentX,iy0,extentY,iz0,extentZ        !  RectilinearGrid
          write(*,204)ix0,extentX,iy0,extentY,iz0,extentZ      !    Piece
            write(*,205)                        !      CellData
              write(*,207)                      !        DataArray(cell_scalars)
      do j=1,imax-1
      write(*,501)(cell_scalar(i,j),i=1,imax-1)
      enddo
              write(*,399)                      !        /DataArray
              write(*,206)                      !        DataArray(cell_scalars)
      do j=1,imax-1
      write(*,503)(norm(i,1),norm(i,2),norm(i,3),i=1,imax-1)
      enddo
              write(*,399)                      !        /DataArray
            write(*,305)                        !      /CellData
            write(*,208)                        !      PointData
              write(*,209)                      !        DataArray(points)
      write(*,502)((point_scalar(i,j),i=1,imax),j=1,imax)
              write(*,399)                      !        /DataArray
              write(*,213)                      !        DataArray(cell_scalars)
      do j=1,imax
      write(*,505)(norm(i,1),norm(i,2),norm(i,3),i=1,imax)
      enddo
              write(*,399)                      !        /DataArray
            write(*,308)                        !      /PointData
            write(*,210)                        !      Coordinates
              write(*,212)                      !        DataArray(x-direction)
        write(*,504)(x(i),i=1,imax)
              write(*,399)                      !        /DataArray
              write(*,212)                      !        DataArray(y-direction)
        write(*,504)(y(i),i=1,imax)
              write(*,399)                      !        /DataArray
              write(*,212)                      !        DataArray(z-direction)
        write(*,504)z(1)
              write(*,399)                      !        /DataArray
            write(*,310)                        !      /Coordinates
          write(*,304)                          !    /Piece
        write(*,303)                            !  /RectilinearGrid
      write(*,302)                              !/VTKFile
      return
      end


Nonstandard Examination[edit]

In our introductory remarks, above, we said the warped free-energy surface drapes across a five-dimensional parameter "plane" such that,

𝔊51

=

𝔊(R,Kc,Mtot,q,ν).

From a more pragmatic point of view, we should have said that the "five-one" free-energy surface drapes across a five-dimensional parameter "plane" such that,

𝔊51

=

𝔊(R,Kc,Mtot,i,μeμc).

In our initial, standard examination of the structure of this warped free-energy surface, we held three parameters fixed — namely, Kc,Mtot,μeμc — and plotted 𝔊51(i,XR/Req). Now, let's fix X=1 and plot 𝔊51(i,μeμc). The following plot shows how a portion of the (i,μe/μc) grid maps onto the traditional (q,ν) plane. The numerical labels identify lines of constant ξi=3i — 7 (light green), 9 (pink), and 12 (orange) — and lines of constant μe/μc — 0.330 (purple), 0.315 (dark green), and 0.305 (white/blue).

xi-ell grid drawn on q-nu grid
xi-ell grid drawn on q-nu grid

See Also[edit]

In October 2023, this very long chapter was subdivided in order to more effectively accommodate edits. Here is a list of the resulting set of shorter chapters:

  1. Free-Energy Synopsis
  2. Free-Energy of Truncated Polytropes
  3. Free-Energy of BiPolytropes


Tiled Menu

Appendices: | VisTrailsEquations | VisTrailsVariables | References | Ramblings | VisTrailsImages | myphys.lsu | ADS |