Items tagged with academic academic Tagged Items Feed

Below is the worksheet with the whole material presented yesterday in the webinar, “Applying the power of computer algebra to theoretical physics”, broadcasted by the “Institute of Physics” (IOP, England). The material was very well received, rated 4.5 out of 5 (around 30 voters among the more than 300 attendants), and generated a lot of feedback. The webinar was recorded so that it is possible to watch it (obviously for free, click the link above, it will ask you for registration, though, that’s how IOP works).

Anyway, you can reproduce the presentation with this the worksheet below (mw file linked at the end, or the corresponding pdf also linked with all the input lines executed). As usual, to reproduce the input/output you need to have installed the latest version of Physics, available in the Maplesoft R&D Physics webpage.

Why computer algebra?

 

 

 

... and why computer algebra?


We can concentrate more on the ideas instead of on the algebraic manipulations

 

We can extend results with ease

 

We can explore the mathematics surrounding a problem

 

We can share results in a reproducible way

 

Representation issues that were preventing the use of computer algebra in Physics

 

 


Notation and related mathematical methods that were missing:


coordinate free representations for vectors and vectorial differential operators,

covariant tensors distinguished from contravariant tensors,

functional differentiation, relativity differential operators and sum rule for tensor contracted (repeated) indices

Bras, Kets, projectors and all related to Dirac's notation in Quantum Mechanics

 

Inert representations of operations, mathematical functions, and related typesetting were missing:

 

inert versus active representations for mathematical operations

ability to move from inert to active representations of computations and viceversa as necessary

hand-like style for entering computations and textbook-like notation for displaying results

 

Key elements of the computational domain of theoretical physics were missing:

 

ability to handle products and derivatives involving commutative, anticommutative and noncommutative variables and functions

ability to perform computations taking into account custom-defined algebra rules of different kinds

(commutator, anticommutator and bracket rules, etc.)

 

 

Examples

 

The Maple computer algebra environment

   

Classical Mechanics

 

Inertia tensor for a triatomic molecule

   

Classical Field Theory

 

*The field equations for the lambda*Phi^4 model

   

*Maxwell equations departing from the 4-dimensional Action for Electrodynamics

   

*The Gross-Pitaevskii field equations for a quantum system of identical particles

   

Quantum mechanics

 

*The quantum operator components of  `#mover(mi("L",mathcolor = "olive"),mo("→",fontstyle = "italic"))` satisfy "[L[j],L[k]][-]=i `ε`[j,k,m] L[m]"

   

Quantization of the energy of a particle in a magnetic field

   

Unitary Operators in Quantum Mechanics

 

*Eigenvalues of an unitary operator and exponential of Hermitian operators

   

Properties of unitary operators

 

 

Consider two set of kets " | a[n] >" and "| b[n] >", each of them constituting a complete orthonormal basis of the same space.


One can always build an unitary operator U that maps one basis to the other, i.e.: "| b[n] >=U | a[n] >"

*Verify that "U=(&sum;) | b[k] >< a[k] |" implies on  "| b[n] >=U | a[n] >"

   

*Show that "U=(&sum;) | b[k] > < a[k] | "is unitary

   

*Show that the matrix elements of U in the "| a[n] >" and  "| b[n] >" basis are equal

   

Show that A and `&Ascr;` = U*A*`#msup(mi("U"),mo("&dagger;"))`have the same spectrum

   

````

Schrödinger equation and unitary transform

 

 

Consider a ket "| psi[t] > " that solves the time-dependant Schrödinger equation:

 

"i `&hbar;` (&PartialD;)/(&PartialD;t) | psi[t] >=H(t) | psi[t] >"

and consider

"| phi[t] > =U(t) | psi[t] >",

 

where U(t) is a unitary operator.

 

Does "| phi[t] >" evolves according a Schrödinger equation

 "i*`&hbar;` (&PartialD;)/(&PartialD;t) | phi[t] >=`&Hscr;`(t) | phi[t] >"

and if yes, which is the expression of `&Hscr;`(t)?

 

Solution

   

Translation operators using Dirac notation

 

In this section, we focus on the operator T[a] = exp((-I*a*P)*(1/`&hbar;`))

Settings

   

The Action (translation) of the operator T[a]"=(e)^(-i (a P)/(`&hbar;`))" on a ket

   

Action of T[a] on an operatorV(X)

   

General Relativity

 

*Exact Solutions to Einstein's Equations  Lambda*g[mu, nu]+G[mu, nu] = 8*Pi*T[mu, nu]

   

*"Physical Review D" 87, 044053 (2013)

 

Given the spacetime metric,

g[mu, nu] = (Matrix(4, 4, {(1, 1) = -exp(lambda(r)), (1, 2) = 0, (1, 3) = 0, (1, 4) = 0, (2, 1) = 0, (2, 2) = -r^2, (2, 3) = 0, (2, 4) = 0, (3, 1) = 0, (3, 2) = 0, (3, 3) = -r^2*sin(theta)^2, (3, 4) = 0, (4, 1) = 0, (4, 2) = 0, (4, 3) = 0, (4, 4) = exp(nu(r))}))

a) Compute the Ricci and Weyl scalars

 

b) Compute the trace of

 

"Z[alpha]^(beta)=Phi R[alpha]^(beta)+`&Dscr;`[alpha]`&Dscr;`[]^(beta) Phi+T[alpha]^(beta)"

 

where `&equiv;`(Phi, Phi(r)) is some function of the radial coordinate, R[alpha, `~beta`] is the Ricci tensor, `&Dscr;`[alpha] is the covariant derivative operator and T[alpha, `~beta`] is the stress-energy tensor

 

T[alpha, beta] = (Matrix(4, 4, {(1, 1) = 8*exp(lambda(r))*Pi, (1, 2) = 0, (1, 3) = 0, (1, 4) = 0, (2, 1) = 0, (2, 2) = 8*r^2*Pi, (2, 3) = 0, (2, 4) = 0, (3, 1) = 0, (3, 2) = 0, (3, 3) = 8*r^2*sin(theta)^2*Pi, (3, 4) = 0, (4, 1) = 0, (4, 2) = 0, (4, 3) = 0, (4, 4) = 8*exp(nu(r))*Pi*epsilon}))

c) Compute the components of "W[alpha]^(beta)"" &equiv;"the traceless part of  "Z[alpha]^(beta)" of item b)

 

d) Compute an exact solution to the nonlinear system of differential equations conformed by the components of  "W[alpha]^(beta)" obtained in c)

 

Background: paper from February/2013, "Withholding Potentials, Absence of Ghosts and Relationship between Minimal Dilatonic Gravity and f(R) Theories", by P. Fiziev.

 

a) The Ricci and Weyl scalars

   

b) The trace of "  Z[alpha]^(beta)=Phi R[alpha]^(beta)+`&Dscr;`[alpha]`&Dscr;`[]^(beta) Phi+T[alpha]^(beta)"

   

b) The components of "W[alpha]^(beta)"" &equiv;"the traceless part of " Z[alpha]^(beta)"

   

c) An exact solution for the nonlinear system of differential equations conformed by the components of  "W[alpha]^(beta)"

   

*The Equivalence problem between two metrics

 

 

From the "What is new in Physics in Maple 2016" page:

  

In the Maple PDEtools package, you have the mathematical tools - including a complete symmetry approach - to work with the underlying [Einstein’s] partial differential equations. [By combining that functionality with the one in the Physics and Physics:-Tetrads package] you can also formulate and, depending on the metrics also resolve, the equivalence problem; that is: to answer whether or not, given two metrics, they can be obtained from each other by a transformation of coordinates, as well as compute the transformation.

Example from: A. Karlhede, "A Review of the Geometrical Equivalence of Metrics in General Relativity", General Relativity and Gravitation, Vol. 12, No. 9, 1980

   

*Equivalence for Schwarzschild metric (spherical and Krustal coordinates)

   

Tetrads and Weyl scalars in canonical form

 

 

Generally speaking a canonical form is obtained using transformations that leave invariant the tetrad metric in a tetrad system of references, so that theWeyl scalars are fixed as much as possible (conventionally, either equal to 0 or to 1).

 

Bringing a tetrad in canonical form is a relevant step in the tackling of the equivalence problem between two spacetime metrics.

The implementation is as in "General Relativity, an Einstein century survey", edited by S.W. Hawking (Cambridge) and W. Israel (U. Alberta, Canada), specifically Chapter 7 written by S. Chandrasekhar, page 388:

 

 

`&Psi;__0`

`&Psi;__1`

`&Psi;__2`

`&Psi;__3`

`&Psi;__4`

Residual invariance

Petrov type I

0

"<>0"

"<>0"

1

0

none

Petrov type II

0

0

"<>0"

1

0

none

Petrov type III

0

0

0

1

0

none

Petrov type D

0

0

"<>0"

0

0

`&Psi;__2`  remains invariant under rotations of Class III

Petrov type N

0

0

0

0

1

`&Psi;__4` remains invariant under rotations of Class II

 

 

The transformations (rotations of the tetrad system of references) used are of Class I, II and III as defined in Chandrasekar's chapter - equations (7.79) in page 384, (7.83) and (7.84) in page 385. Transformations of Class I can be performed with the command Physics:-Tetrads:-TransformTetrad using the optional argument nullrotationwithfixedl_, of Class II using nullrotationwithfixedn_ and of Class III by calling TransformTetrad(spatialrotationsm_mb_plan, boostsn_l_plane), so with the two optional arguments simultaneously.

 

The determination of appropriate transformation parameters to be used in these rotations, as well as the sequence of transformations happens all automatically by using the optional argument, canonicalform of TransformTetrad .

 

restart; with(Physics); with(Tetrads)

`Setting lowercaselatin letters to represent tetrad indices `

 

0, "%1 is not a command in the %2 package", Tetrads, Physics

 

0, "%1 is not a command in the %2 package", Tetrads, Physics

 

[IsTetrad, NullTetrad, OrthonormalTetrad, PetrovType, SimplifyTetrad, TransformTetrad, e_, eta_, gamma_, l_, lambda_, m_, mb_, n_]

(7.4.1)

Petrov type I

   

Petrov type II

   

Petrov type III

   

Petrov type N

   

Petrov type D

   

 


Physics_2016_IOP_webinar.mw      Physics_2016_IOP_webinar.pdf


Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft


Formulating and solving the equivalence problem for Schwarzschild metric in a simple case

 

In connection with the digitizing in Maple 2016 of the database of solutions to Einstein's equations of the book Exact Solutions to Einstein Field Equations. I was recently asked about a statement found in the "What is new in Physics in Maple 2016" page:

  

In the Maple PDEtools package, you have the mathematical tools - including a complete symmetry approach - to work with the underlying [Einstein’s] partial differential equations. [By combining that functionality with the one in the Physics and Physics:-Tetrads package] you can also formulate and, depending on the metrics also resolve, the equivalence problem; that is: to answer whether or not, given two metrics, they can be obtained from each other by a transformation of coordinates, as well as compute the transformation.

This question posed is a reasonable one: "could you please provide one example?" This post provides that example.

 

First of all the existing science behind: in my opinion, the main reference regarding the equivalence problem is at the paper "A Review of the Geometrical Equivalence of Metrics in General Relativity", General Relativity and Gravitation, Vol. 12, No. 9, 1980, by A. Karlhede (University of Stockholm). This approach got refined later by others and, generally speaking, it is currently know as the Cartan-Karlhede method, summarized in chapter 9.2 of the book Exact Solutions to Einstein Field Equations. whose solutions were all digitized within the Physics and DifferentialGeometry packages for Maple 2016. This method of Chapter 9.2, however, is not the only approach to the problem, and sometimes simpler methods can handle the problem faster, or just in simpler forms.

 

The example worked out below is actually the example from Karlhede's paper just mentioned, on pages 704 - 706: "Show that the Schwarzschild metric and its form written in terms of isotropic spherical coordinates are equivalent, and derive the transformation that relates them". Because this problem happens to be simple for nowadays computer algebra, below I also tackle it modified, slightly more difficult variants of it. The approach shown works for more complicated cases as well.

 

Below we tackle Karlhede's paper-problem using: one PDEtools command, the Physics:-TransformCoordinates, the Physics:-Weyl command to compute the Weyl scalars and the Physics:-Tetrads:-PetrovType to see the Petrov type of the metrics involved. The transformation resolving the equivalence is explicitly derived.

 

Start loading the Physics and Tetrads package. To reproduce the computations below, as usual, update your Physics library with the one available for download at the Maplesoft R&D Physics webpage

with(Physics); with(Tetrads); Setup(auto = true, tetradmetric = null, signature = `+---`)

`Setting lowercaselatin letters to represent tetrad indices `

 

0, "%1 is not a command in the %2 package", Tetrads, Physics

 

0, "%1 is not a command in the %2 package", Tetrads, Physics

 

`* Partial match of  'auto' against keyword 'automaticsimplification'`

 

[automaticsimplification = true, signature = `+ - - -`, tetradmetric = {(1, 2) = 1, (3, 4) = -1}]

(1)

To formulate the problem, set first some symbols to represent the changed metric, changed mass and changed coordinates - no mathematics at this point

gt, mt, tt, rt, thetat, phit := `&gfr;`, `&mfr;`, `&tfr;`, `&rfr;`, `&vartheta;`, `&varphi;`

`&gfr;`, `&mfr;`, `&tfr;`, `&rfr;`, vartheta, varphi

(2)

Set now a new coordinates system, call it Y, involving the new coordinates (in the paper they are represented with a tilde on top of the letters)

Coordinates(Y = [tt, rt, thetat, phit])

`Default differentiation variables for d_, D_ and dAlembertian are: `*{Y = (`&tfr;`, `&rfr;`, `&vartheta;`, `&varphi;`)}

 

`Systems of spacetime Coordinates are: `*{Y = (`&tfr;`, `&rfr;`, `&vartheta;`, `&varphi;`)}

 

{Y}

(3)

According to eq.(7.6) of the paper, the line element of Schwarzschild solution in isotropic spherical coordinates is given by

`#msup(mi("ds"),mn("2"))` := ((1-mt/(2*rt))/(1+mt/(2*rt)))^2*d_(tt)^2-(1+mt/(2*rt))^4*(d_(rt)^2+rt^2*d_(thetat)^2+rt^2*sin(thetat)^2*d_(phit)^2)

(-2*`&rfr;`+`&mfr;`)^2*Physics:-d_(`&tfr;`)^2/(2*`&rfr;`+`&mfr;`)^2-(1/16)*(2*`&rfr;`+`&mfr;`)^4*(Physics:-d_(`&rfr;`)^2+`&rfr;`^2*Physics:-d_(vartheta)^2+`&rfr;`^2*sin(vartheta)^2*Physics:-d_(varphi)^2)/`&rfr;`^4

(4)

Set this to be the metric

Setup(metric = `#msup(mi("ds"),mn("2"))`)

Check it out

g_[]

Physics:-g_[mu, nu] = Matrix(%id = 18446744078306516254)

(5)

In connection with the transformation used further below, compute now the Petrov type and the Weyl scalars for this metric, just to have an idea of what is behind this metric.

PetrovType()

"D"

(6)

Weyl[scalars]

psi__0 = 0, psi__1 = 0, psi__2 = -64*`&rfr;`^3*`&mfr;`/(2*`&rfr;`+`&mfr;`)^6, psi__3 = 0, psi__4 = 0

(7)

We see that the Weyl scalars are already in canonical form (see post in Mapleprimes about canonical forms): only `&Psi;__2` <> 0 and the important thing: it depends on only one coordinate, `&rfr;` .

 

Now: we want to see if this metric (5) is equivalent to Schwarzschild metric in standard spherical coordinates

g_[sc]

`Systems of spacetime Coordinates are: `*{X = (t, r, theta, phi), Y = (`&tfr;`, `&rfr;`, `&vartheta;`, `&varphi;`)}

 

`Default differentiation variables for d_, D_ and dAlembertian are: `*{X = (t, r, theta, phi)}

 

`The Schwarzschild metric in coordinates `[t, r, theta, phi]

 

`Parameters: `[m]

 

Physics:-g_[mu, nu] = Matrix(%id = 18446744078795590102)

(8)

The equivalence we want to resolve is regarding an arbitrary relationship `&mfr;`(m)between the masses used in (5) and (8) and a generic change of variables from X to Y

TR := {phi = Phi(Y), r = R(Y), t = Tau(Y), theta = Theta(Y)}

{phi = Phi(Y), r = R(Y), t = Tau(Y), theta = Theta(Y)}

(9)

Using a differential equation mindset, the formulation of the equivalence between (8) and (5) under the transformation (9) is actually simple: change variables in (8), using (9) and the Physics:-TransformCoordinates command (this is the command that changes variables in tensorial expressions), then equate the result to (5), then try to solve the problem for the unknowns `&mfr;`(m), Phi(Y), R(Y), Theta(Y) and Tau(Y).

 

We note at this point, however, that the Weyl scalars for Schwarzschild metric in this standard form (8) are also in canonical form of Petrov type D and also depend on only one variable, r 

PetrovType()

"D"

(10)

Weyl[scalars]

psi__0 = 0, psi__1 = 0, psi__2 = -m/r^3, psi__3 = 0, psi__4 = 0

(11)

The fact that the Weyl scalars in both cases ((7) and (11)) are in canonical form (only `&Psi;__2` <> 0 ) and in both cases this scalar depends on only one coordinate is already an indicator that the transformation involved changes only one variable in terms of the other one. So one could just search for a transformation of the form r = R(`&rfr;`) and resolve the problem instantly. Still, to make the problem slightly more general, consider instead a generic transformation for r in terms of all of Y = (`&tfr;`, `&rfr;`, `&vartheta;`, `&varphi;`)

tr := r = R(Y)

r = R(Y)

(12)

PDEtools:-declare(r = R(Y))

R(`&tfr;`, `&rfr;`, vartheta, varphi)*`will now be displayed as`*R

(13)

Transform the  coordinates in the metric (because of having used PDEtools:-declare, derivatives of the unknowns R are displayed indexed, for compact notation)

TransformCoordinates(tr, g_[mu, nu])

Matrix(%id = 18446744078873927542)

(14)

Proceed equating (14) to (5) to obtain a set of equations that entirely formulates the problem

"convert(rhs(?)=? ,setofequations)"

{0 = (diff(R(Y), `&rfr;`))*(diff(R(Y), `&tfr;`))*R(Y)/(-R(Y)+2*m), 0 = (diff(R(Y), varphi))*(diff(R(Y), `&rfr;`))*R(Y)/(-R(Y)+2*m), 0 = (diff(R(Y), varphi))*(diff(R(Y), `&tfr;`))*R(Y)/(-R(Y)+2*m), 0 = (diff(R(Y), varphi))*(diff(R(Y), vartheta))*R(Y)/(-R(Y)+2*m), 0 = (diff(R(Y), vartheta))*(diff(R(Y), `&rfr;`))*R(Y)/(-R(Y)+2*m), 0 = (diff(R(Y), vartheta))*(diff(R(Y), `&tfr;`))*R(Y)/(-R(Y)+2*m), (-2*`&rfr;`+`&mfr;`)^2/(2*`&rfr;`+`&mfr;`)^2 = ((diff(R(Y), `&tfr;`))^2*R(Y)^2-4*(-(1/2)*R(Y)+m)^2)/(R(Y)*(-R(Y)+2*m)), -(1/16)*(2*`&rfr;`+`&mfr;`)^4/`&rfr;`^4 = (diff(R(Y), `&rfr;`))^2*R(Y)/(-R(Y)+2*m), -(1/16)*(2*`&rfr;`+`&mfr;`)^4/`&rfr;`^2 = -(diff(R(Y), vartheta))^2*R(Y)/(R(Y)-2*m)-R(Y)^2, -(1/16)*(2*`&rfr;`+`&mfr;`)^4*sin(vartheta)^2/`&rfr;`^2 = 2*((1/2)*(diff(R(Y), varphi))^2+(cos(vartheta)-1)*R(Y)*(cos(vartheta)+1)*(-(1/2)*R(Y)+m))*R(Y)/(-R(Y)+2*m)}

(15)

This problem, shown in Karlhede's paper as the example of the approach he summarized, is solvable using the differential equation commands of PDEtools (in this case casesplit) in one go and no time, obtaining the same solution shown in the paper with equation number (7.10), the problem actually admits two solutions

PDEtools:-casesplit({0 = (diff(R(Y), `&rfr;`))*(diff(R(Y), `&tfr;`))*R(Y)/(-R(Y)+2*m), 0 = (diff(R(Y), varphi))*(diff(R(Y), `&rfr;`))*R(Y)/(-R(Y)+2*m), 0 = (diff(R(Y), varphi))*(diff(R(Y), `&tfr;`))*R(Y)/(-R(Y)+2*m), 0 = (diff(R(Y), varphi))*(diff(R(Y), vartheta))*R(Y)/(-R(Y)+2*m), 0 = (diff(R(Y), vartheta))*(diff(R(Y), `&rfr;`))*R(Y)/(-R(Y)+2*m), 0 = (diff(R(Y), vartheta))*(diff(R(Y), `&tfr;`))*R(Y)/(-R(Y)+2*m), (-2*`&rfr;`+`&mfr;`)^2/(2*`&rfr;`+`&mfr;`)^2 = ((diff(R(Y), `&tfr;`))^2*R(Y)^2-4*(-(1/2)*R(Y)+m)^2)/(R(Y)*(-R(Y)+2*m)), -(1/16)*(2*`&rfr;`+`&mfr;`)^4/`&rfr;`^4 = (diff(R(Y), `&rfr;`))^2*R(Y)/(-R(Y)+2*m), -(1/16)*(2*`&rfr;`+`&mfr;`)^4/`&rfr;`^2 = -(diff(R(Y), vartheta))^2*R(Y)/(R(Y)-2*m)-R(Y)^2, -(1/16)*(2*`&rfr;`+`&mfr;`)^4*sin(vartheta)^2/`&rfr;`^2 = 2*((1/2)*(diff(R(Y), varphi))^2+(cos(vartheta)-1)*R(Y)*(cos(vartheta)+1)*(-(1/2)*R(Y)+m))*R(Y)/(-R(Y)+2*m)}, [R, mt])

`casesplit/ans`([R(Y) = -(1/4)*(m-2*`&rfr;`)^2/`&rfr;`, `&mfr;` = -m], []), `casesplit/ans`([R(Y) = (1/4)*(2*`&rfr;`+m)^2/`&rfr;`, `&mfr;` = m], [])

(16)

By all means this does not mean this differential equation approach is better than the general approach mentioned in the paper (also in section 9.2 of the Exact Solutions book). This presentation above only makes the point of the paragraph mentioned at the beginning of this worksheet "... [in Maple 2016] you can also formulate and, depending on the the metrics also resolve, the equivalence problem; that is: to answer whether or not, given two metrics, they can be obtained from each other by a transformation of coordinates, as well as compute the transformation." 

 

In any case this problem above is rather easy for the computer. Consider a slightly more difficult problem, where `&mfr;` <> m. For example:

"subs(mt = 1/(mt^(2)),?)"

Physics:-g_[mu, nu] = Matrix(%id = 18446744078854733566)

(17)

Tackle now the same problem

"convert(rhs(?)=? ,setofequations)"

{0 = (diff(R(Y), `&rfr;`))*(diff(R(Y), `&tfr;`))*R(Y)/(-R(Y)+2*m), 0 = (diff(R(Y), varphi))*(diff(R(Y), `&rfr;`))*R(Y)/(-R(Y)+2*m), 0 = (diff(R(Y), varphi))*(diff(R(Y), `&tfr;`))*R(Y)/(-R(Y)+2*m), 0 = (diff(R(Y), varphi))*(diff(R(Y), vartheta))*R(Y)/(-R(Y)+2*m), 0 = (diff(R(Y), vartheta))*(diff(R(Y), `&rfr;`))*R(Y)/(-R(Y)+2*m), 0 = (diff(R(Y), vartheta))*(diff(R(Y), `&tfr;`))*R(Y)/(-R(Y)+2*m), (-2*`&rfr;`+1/`&mfr;`^2)^2/(2*`&rfr;`+1/`&mfr;`^2)^2 = ((diff(R(Y), `&tfr;`))^2*R(Y)^2-4*(-(1/2)*R(Y)+m)^2)/(R(Y)*(-R(Y)+2*m)), -(1/16)*(2*`&rfr;`+1/`&mfr;`^2)^4/`&rfr;`^4 = (diff(R(Y), `&rfr;`))^2*R(Y)/(-R(Y)+2*m), -(1/16)*(2*`&rfr;`+1/`&mfr;`^2)^4/`&rfr;`^2 = -(diff(R(Y), vartheta))^2*R(Y)/(R(Y)-2*m)-R(Y)^2, -(1/16)*(2*`&rfr;`+1/`&mfr;`^2)^4*sin(vartheta)^2/`&rfr;`^2 = 2*((1/2)*(diff(R(Y), varphi))^2+(cos(vartheta)-1)*R(Y)*(cos(vartheta)+1)*(-(1/2)*R(Y)+m))*R(Y)/(-R(Y)+2*m)}

(18)

The solutions to the equivalence between (17) and (5) are then given by

PDEtools:-casesplit({0 = (diff(R(Y), `&rfr;`))*(diff(R(Y), `&tfr;`))*R(Y)/(-R(Y)+2*m), 0 = (diff(R(Y), varphi))*(diff(R(Y), `&rfr;`))*R(Y)/(-R(Y)+2*m), 0 = (diff(R(Y), varphi))*(diff(R(Y), `&tfr;`))*R(Y)/(-R(Y)+2*m), 0 = (diff(R(Y), varphi))*(diff(R(Y), vartheta))*R(Y)/(-R(Y)+2*m), 0 = (diff(R(Y), vartheta))*(diff(R(Y), `&rfr;`))*R(Y)/(-R(Y)+2*m), 0 = (diff(R(Y), vartheta))*(diff(R(Y), `&tfr;`))*R(Y)/(-R(Y)+2*m), (-2*`&rfr;`+1/`&mfr;`^2)^2/(2*`&rfr;`+1/`&mfr;`^2)^2 = ((diff(R(Y), `&tfr;`))^2*R(Y)^2-4*(-(1/2)*R(Y)+m)^2)/(R(Y)*(-R(Y)+2*m)), -(1/16)*(2*`&rfr;`+1/`&mfr;`^2)^4/`&rfr;`^4 = (diff(R(Y), `&rfr;`))^2*R(Y)/(-R(Y)+2*m), -(1/16)*(2*`&rfr;`+1/`&mfr;`^2)^4/`&rfr;`^2 = -(diff(R(Y), vartheta))^2*R(Y)/(R(Y)-2*m)-R(Y)^2, -(1/16)*(2*`&rfr;`+1/`&mfr;`^2)^4*sin(vartheta)^2/`&rfr;`^2 = 2*((1/2)*(diff(R(Y), varphi))^2+(cos(vartheta)-1)*R(Y)*(cos(vartheta)+1)*(-(1/2)*R(Y)+m))*R(Y)/(-R(Y)+2*m)}, [R, mt])

`casesplit/ans`([R(Y) = -(1/4)*(m-2*`&rfr;`)^2/`&rfr;`, `&mfr;`^2 = -1/m], [`&mfr;` <> 0]), `casesplit/ans`([R(Y) = (1/4)*(2*`&rfr;`+m)^2/`&rfr;`, `&mfr;`^2 = 1/m], [`&mfr;` <> 0])

(19)

Moreover, despite that the Weyl scalars suggest that a transformation of only one variable is sufficient to solve the problem, one could also consider a more general transformation, of more variables. Provided we exclude theta (because there is cos(theta) around and that would take us to solve differential equations for Theta(theta), that involve things like cos(Theta(theta))), and also to speed up matters let's remove the change in phi, consider an arbitrary change in r and t

TR := select(has, {phi = Phi(Y), r = R(Y), t = Tau(Y), theta = Theta(Y)}, {r, t})

{r = R(Y), t = Tau(Y)}

(20)

PDEtools:-declare({r = R(Y), t = Tau(Y)})

R(`&tfr;`, `&rfr;`, vartheta, varphi)*`will now be displayed as`*R

 

Tau(`&tfr;`, `&rfr;`, vartheta, varphi)*`will now be displayed as`*Tau

(21)

So our transformation now involve two arbitrary variables, each one depending on all the four coordinates, and a more complicated function `&mfr;`(m). Change variables (because of having used PDEtools:-declare, derivatives of the unknowns R and Tau are displayed indexed, for compact notation)

TransformCoordinates(TR, g_[mu, nu])

Matrix(%id = 18446744078309268046)

(22)

Construct the set of Partial Differential Equations to be tackled

"convert(rhs(?)=?,setofequations)"

{0 = (-4*(diff(Tau(Y), `&rfr;`))*(-(1/2)*R(Y)+m)^2*(diff(Tau(Y), `&tfr;`))+(diff(R(Y), `&rfr;`))*(diff(R(Y), `&tfr;`))*R(Y)^2)/(R(Y)*(-R(Y)+2*m)), 0 = (-4*(diff(Tau(Y), varphi))*(-(1/2)*R(Y)+m)^2*(diff(Tau(Y), `&rfr;`))+(diff(R(Y), varphi))*(diff(R(Y), `&rfr;`))*R(Y)^2)/(R(Y)*(-R(Y)+2*m)), 0 = (-4*(diff(Tau(Y), varphi))*(-(1/2)*R(Y)+m)^2*(diff(Tau(Y), `&tfr;`))+(diff(R(Y), varphi))*(diff(R(Y), `&tfr;`))*R(Y)^2)/(R(Y)*(-R(Y)+2*m)), 0 = (-4*(diff(Tau(Y), varphi))*(-(1/2)*R(Y)+m)^2*(diff(Tau(Y), vartheta))+(diff(R(Y), varphi))*(diff(R(Y), vartheta))*R(Y)^2)/(R(Y)*(-R(Y)+2*m)), 0 = (-4*(diff(Tau(Y), vartheta))*(-(1/2)*R(Y)+m)^2*(diff(Tau(Y), `&rfr;`))+(diff(R(Y), vartheta))*(diff(R(Y), `&rfr;`))*R(Y)^2)/(R(Y)*(-R(Y)+2*m)), 0 = (-4*(diff(Tau(Y), vartheta))*(-(1/2)*R(Y)+m)^2*(diff(Tau(Y), `&tfr;`))+(diff(R(Y), vartheta))*(diff(R(Y), `&tfr;`))*R(Y)^2)/(R(Y)*(-R(Y)+2*m)), (-2*`&rfr;`+1/`&mfr;`^2)^2/(2*`&rfr;`+1/`&mfr;`^2)^2 = (-4*(-(1/2)*R(Y)+m)^2*(diff(Tau(Y), `&tfr;`))^2+(diff(R(Y), `&tfr;`))^2*R(Y)^2)/(R(Y)*(-R(Y)+2*m)), -(1/16)*(2*`&rfr;`+1/`&mfr;`^2)^4/`&rfr;`^4 = (-4*(-(1/2)*R(Y)+m)^2*(diff(Tau(Y), `&rfr;`))^2+(diff(R(Y), `&rfr;`))^2*R(Y)^2)/(R(Y)*(-R(Y)+2*m)), -(1/16)*(2*`&rfr;`+1/`&mfr;`^2)^4/`&rfr;`^2 = (diff(Tau(Y), vartheta))^2*(R(Y)-2*m)/R(Y)-(diff(R(Y), vartheta))^2*R(Y)/(R(Y)-2*m)-R(Y)^2, -(1/16)*(2*`&rfr;`+1/`&mfr;`^2)^4*sin(vartheta)^2/`&rfr;`^2 = (-4*(-(1/2)*R(Y)+m)^2*(diff(Tau(Y), varphi))^2+2*((1/2)*(diff(R(Y), varphi))^2+(cos(vartheta)-1)*R(Y)*(cos(vartheta)+1)*(-(1/2)*R(Y)+m))*R(Y)^2)/(R(Y)*(-R(Y)+2*m))}

(23)

Solve the problem running a differential elimination (actually without solving any differential equations): there are more than two solutions

sol := PDEtools:-casesplit({0 = (-4*(diff(Tau(Y), `&rfr;`))*(-(1/2)*R(Y)+m)^2*(diff(Tau(Y), `&tfr;`))+(diff(R(Y), `&rfr;`))*(diff(R(Y), `&tfr;`))*R(Y)^2)/(R(Y)*(-R(Y)+2*m)), 0 = (-4*(diff(Tau(Y), varphi))*(-(1/2)*R(Y)+m)^2*(diff(Tau(Y), `&rfr;`))+(diff(R(Y), varphi))*(diff(R(Y), `&rfr;`))*R(Y)^2)/(R(Y)*(-R(Y)+2*m)), 0 = (-4*(diff(Tau(Y), varphi))*(-(1/2)*R(Y)+m)^2*(diff(Tau(Y), `&tfr;`))+(diff(R(Y), varphi))*(diff(R(Y), `&tfr;`))*R(Y)^2)/(R(Y)*(-R(Y)+2*m)), 0 = (-4*(diff(Tau(Y), varphi))*(-(1/2)*R(Y)+m)^2*(diff(Tau(Y), vartheta))+(diff(R(Y), varphi))*(diff(R(Y), vartheta))*R(Y)^2)/(R(Y)*(-R(Y)+2*m)), 0 = (-4*(diff(Tau(Y), vartheta))*(-(1/2)*R(Y)+m)^2*(diff(Tau(Y), `&rfr;`))+(diff(R(Y), vartheta))*(diff(R(Y), `&rfr;`))*R(Y)^2)/(R(Y)*(-R(Y)+2*m)), 0 = (-4*(diff(Tau(Y), vartheta))*(-(1/2)*R(Y)+m)^2*(diff(Tau(Y), `&tfr;`))+(diff(R(Y), vartheta))*(diff(R(Y), `&tfr;`))*R(Y)^2)/(R(Y)*(-R(Y)+2*m)), (-2*`&rfr;`+1/`&mfr;`^2)^2/(2*`&rfr;`+1/`&mfr;`^2)^2 = (-4*(-(1/2)*R(Y)+m)^2*(diff(Tau(Y), `&tfr;`))^2+(diff(R(Y), `&tfr;`))^2*R(Y)^2)/(R(Y)*(-R(Y)+2*m)), -(1/16)*(2*`&rfr;`+1/`&mfr;`^2)^4/`&rfr;`^4 = (-4*(-(1/2)*R(Y)+m)^2*(diff(Tau(Y), `&rfr;`))^2+(diff(R(Y), `&rfr;`))^2*R(Y)^2)/(R(Y)*(-R(Y)+2*m)), -(1/16)*(2*`&rfr;`+1/`&mfr;`^2)^4/`&rfr;`^2 = (diff(Tau(Y), vartheta))^2*(R(Y)-2*m)/R(Y)-(diff(R(Y), vartheta))^2*R(Y)/(R(Y)-2*m)-R(Y)^2, -(1/16)*(2*`&rfr;`+1/`&mfr;`^2)^4*sin(vartheta)^2/`&rfr;`^2 = (-4*(-(1/2)*R(Y)+m)^2*(diff(Tau(Y), varphi))^2+2*((1/2)*(diff(R(Y), varphi))^2+(cos(vartheta)-1)*R(Y)*(cos(vartheta)+1)*(-(1/2)*R(Y)+m))*R(Y)^2)/(R(Y)*(-R(Y)+2*m))}, [R, mt])

`casesplit/ans`([R(Y) = (1/4)*(2*`&rfr;`+m)^2/`&rfr;`, `&mfr;`^2 = 1/m, diff(Tau(Y), `&tfr;`) = -1, diff(Tau(Y), `&rfr;`) = 0, diff(Tau(Y), vartheta) = 0, diff(Tau(Y), varphi) = 0], [`&mfr;` <> 0]), `casesplit/ans`([R(Y) = (1/4)*(2*`&rfr;`+m)^2/`&rfr;`, `&mfr;`^2 = 1/m, diff(Tau(Y), `&tfr;`) = 1, diff(Tau(Y), `&rfr;`) = 0, diff(Tau(Y), vartheta) = 0, diff(Tau(Y), varphi) = 0], [`&mfr;` <> 0]), `casesplit/ans`([R(Y) = -(1/4)*(m-2*`&rfr;`)^2/`&rfr;`, `&mfr;`^2 = -1/m, diff(Tau(Y), `&tfr;`) = -1, diff(Tau(Y), `&rfr;`) = 0, diff(Tau(Y), vartheta) = 0, diff(Tau(Y), varphi) = 0], [`&mfr;` <> 0]), `casesplit/ans`([R(Y) = -(1/4)*(m-2*`&rfr;`)^2/`&rfr;`, `&mfr;`^2 = -1/m, diff(Tau(Y), `&tfr;`) = 1, diff(Tau(Y), `&rfr;`) = 0, diff(Tau(Y), vartheta) = 0, diff(Tau(Y), varphi) = 0], [`&mfr;` <> 0])

(24)

Consider for instance the first one

sol[1]

`casesplit/ans`([R(Y) = (1/4)*(2*`&rfr;`+m)^2/`&rfr;`, `&mfr;`^2 = 1/m, diff(Tau(Y), `&tfr;`) = -1, diff(Tau(Y), `&rfr;`) = 0, diff(Tau(Y), vartheta) = 0, diff(Tau(Y), varphi) = 0], [`&mfr;` <> 0])

(25)

Compute the actual solution behind this case :

pdsolve(`casesplit/ans`([R(Y) = (1/4)*(2*`&rfr;`+m)^2/`&rfr;`, `&mfr;`^2 = 1/m, diff(Tau(Y), `&tfr;`) = -1, diff(Tau(Y), `&rfr;`) = 0, diff(Tau(Y), vartheta) = 0, diff(Tau(Y), varphi) = 0], [`&mfr;` <> 0]), {R, Tau, mt})

{`&mfr;` = -1/m^(1/2), R(Y) = (1/4)*(2*`&rfr;`+m)^2/`&rfr;`, Tau(Y) = -`&tfr;`+_C1}, {`&mfr;` = 1/m^(1/2), R(Y) = (1/4)*(2*`&rfr;`+m)^2/`&rfr;`, Tau(Y) = -`&tfr;`+_C1}

(26)

The fact that the time t appears defined in terms of the transformed time Tau(Y) = -`&tfr;`+_C1 involving an arbitrary constant is expected: the time does not enter the metric, it only enters through derivatives of Tau(Y) entering the Jacobian of the transformation used to change variables in tensorial expressions (the metric) in (22).

 

Summary: the approach shown above, based on formulating the problem for the transformation functions of the equivalence and solving for them the differential equations using the commands in PDEtools, after restricting the generality of the transformation functions by looking at the form of the Weyl scalars, works well for other cases too, specially now that, in Maple 2016, the Weyl scalars can be expressed also in canonical form in one go (see previous Mapleprimes post on "Tetrads and Weyl scalars in canonical form").  Also important: in Maple 2016 it is present the functionality necessary to implement the approach of section 9.2 of the Exact solutions book as well.

  

 


Download Equivalence_-_Schwarzschild.mw

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft


Tetrads and Weyl scalars in canonical form

 

The material below is about a new development that didn't arrive in time for the launch of Maple 2016 (March) and that complements in a relevant way the ones introduced in Physics in Maple 2016. It is at topic in general relativity, the computation of a canonical form of a tetrad, so that, generally speaking (skipping a technical description) the Weyl scalars are fixed as much as possible (either equal to 0 or to 1) regarding transformations that leave invariant the tetrad metric in a tetrad system of references. Bringing a tetrad in canonical form is a relevant step in the tackling of the equivalence problem between two spacetime metrics, and it is relevant in connection with the digitizing in Maple 2016 of the database of solutions to Einstein's equations of the book Exact Solutions to Einstein Field Equations.

The reference for this development is the book "General Relativity, an Einstein century survey", edited by S.W. Hawking (Cambridge) and W. Israel (U. Alberta, Canada), specifically Chapter 7 written by S. Chandrasekhar, and more specifically exploring what is said in page 388 about the Petrov classification.


A canonical form for the tetrad and Weyl scalars admits alternate forms; the implementation is as implicit in page 388:

 

`&Psi;__0`

`&Psi;__1`

`&Psi;__2`

`&Psi;__3`

`&Psi;__4`

Residual invariance

Petrov type I

0

"<>0"

"<>0"

1

0

none

Petrov type II

0

0

"<>0"

1

0

none

Petrov type III

0

0

0

1

0

none

Petrov type D

0

0

"<>0"

0

0

`&Psi;__2`  remains invariant under rotations of Class III

Petrov type N

0

0

0

0

1

`&Psi;__4` remains invariant under rotations of Class II

 

The transformations (rotations of the tetrad system of references) used are of Class I, II and III as defined in Chandrasekar's chapter - equations (7.79) in page 384, (7.83) and (7.84) in page 385. Transformations of Class I can be performed with the command Physics:-Tetrads:-TransformTetrad using the optional argument nullrotationwithfixedl_, of Class II using nullrotationwithfixedn_ and of Class III by calling TransformTetrad(spatialrotationsm_mb_plan, boostsn_l_plane), so with the two optional arguments simultaneously.

 

In this development, a new optional argument, canonicalform got implemented to TransformTetrad so that the whole sequence of three transformations of Classes I, II and III is performed automatically, in one go. Regarding the canonical form of the tetrad, the main idea is that from the change in the Weyl scalars one can derive the parameters entering tetrad transformations that result in a canonical form of the tetrad. 

 

with(Physics); with(Tetrads)

`Setting lowercaselatin letters to represent tetrad indices `

 

0, "%1 is not a command in the %2 package", Tetrads, Physics

 

0, "%1 is not a command in the %2 package", Tetrads, Physics

 

[IsTetrad, NullTetrad, OrthonormalTetrad, PetrovType, SimplifyTetrad, TransformTetrad, e_, eta_, gamma_, l_, lambda_, m_, mb_, n_]

(1)

(Note the Tetrads:-PetrovType command, unfinished in the first release of Maple 2016.) To run the following computations you need to update your Physics library to the latest version from the Maplesoft R&D Physics webpage, so with this datestamp or newer:

Physics:-Version()

"/Users/ecterrab/Maple/lib/Physics2016.mla", `2016, April 20, 12:56 hours`

(2)

An Example of Petrov type I

There are six Petrov types: I, II, III, D, N and O. Start with a spacetime metric of Petrov type "I"  (the numbers always refer to the equation number in the "Exact solutions to Einstein's field equations" textbook)

g_[[12, 21, 1]]

`Systems of spacetime Coordinates are: `*{X = (t, x, y, phi)}

 

`Default differentiation variables for d_, D_ and dAlembertian are: `*{X = (t, x, y, phi)}

 

`The McLenaghan, Tariq (1975), Tupper (1976) metric in coordinates `[t, x, y, phi]

 

`Parameters: `[a, k, kappa0]

 

"`Comments: `_k parametrizes the most general electromagnetic invariant with respect to the last 3 Killing vectors"

 

`Resetting the signature of spacetime from "+ - - -" to \`- + + +\` in order to match the signature in the database of metrics:`

 

g[mu, nu] = (Matrix(4, 4, {(1, 1) = -1, (1, 2) = 0, (1, 3) = 0, (1, 4) = 2*y, (2, 1) = 0, (2, 2) = a^2/x^2, (2, 3) = 0, (2, 4) = 0, (3, 1) = 0, (3, 2) = 0, (3, 3) = a^2/x^2, (3, 4) = 0, (4, 1) = 2*y, (4, 2) = 0, (4, 3) = 0, (4, 4) = x^2-4*y^2}))

(3)

The Weyl scalars

Weyl[scalars]

psi__0 = (1/4)*((4*I)*x^3*abs(x)^3-abs(x)^6+abs(x)^4*x^2+abs(x)^2*x^4-x^6)/(a^2*abs(x)^4*x^2), psi__1 = 0, psi__2 = -(1/4)*(x^2+abs(x)^2)*(x^4+abs(x)^4)/(a^2*abs(x)^4*x^2), psi__3 = 0, psi__4 = (1/4)*((4*I)*x^3*abs(x)^3-abs(x)^6+abs(x)^4*x^2+abs(x)^2*x^4-x^6)/(a^2*abs(x)^4*x^2)

(4)

... there is abs around. Let's assume everything is positive to simplify formulas, use Capital Physics:-Assume  (the lower case assume  command redefines the assumed variables, so it is not compatible with Physics, DifferentialGeometry and VectorCalculus among others).

Assume(x > 0, y > 0, a > 0)

{a::(RealRange(Open(0), infinity))}, {x::(RealRange(Open(0), infinity))}, {y::(RealRange(Open(0), infinity))}

(5)

The scalars are now simpler, although still not in "canonical form" because `&Psi;__4` <> 0 and `&Psi;__3` <> 1.

Weyl[scalars]

psi__0 = I/a^2, psi__1 = 0, psi__2 = -1/a^2, psi__3 = 0, psi__4 = I/a^2

(6)

The Petrov type

PetrovType()

"I"

(7)

The  call to Tetrads:-TransformTetrad two lines below transforms the current tetrad ,

e_[]

Physics:-Tetrads:-e_[a, mu] = Matrix(%id = 18446744078512745638)

(8)

into another tetrad such that the Weyl scalars are in canonical form, which for Petrov "I" type happens when `&Psi;__0` = 0, `&Psi;__4` = 0 and `&Psi;__3` = 1.

TransformTetrad(canonicalform)

Matrix(%id = 18446744078500192254)

(9)

Despite the fact that the result is a much more complicated tetrad, this is an amazing result in that the resulting Weyl scalars are all fixed (see below).  Let's first verify that this is indeed a tetrad, and that now the Weyl scalars are in canonical form

"IsTetrad(?)"

`Type of tetrad: null `

 

true

(10)

Set (9) to be the tetrad in use and recompute the Weyl scalars

"Setup(tetrad = ?):"

Inded we now have `&Psi;__0` = 0, `&Psi;__4` = 0 and `&Psi;__3` = 1 

simplify([Weyl[scalars]])

[psi__0 = 0, psi__1 = (-1/2-(3/2)*I)/a^4, psi__2 = (-1+I)/a^2, psi__3 = 1, psi__4 = 0]

(11)

So Weyl scalars computed after setting the canonical tetrad (9) to be the tetrad in use are in canonical form. Great! NOTE: computing the canonicalWeyl scalars is not really the difficult part, and within the code, these scalars (11) are computed before arriving at the tetrad (9). What is really difficult (from the point of view of computational complexity and simplifications) is to compute the actual canonical form of the tetrad (9).

 

An Example of Petrov type II

Consider this other solution to Einstein's equation (again, the numbers in g_[[24,37,7]] always refer to the equation number in the "Exact solutions to Einstein's field equations" textbook)

g_[[24, 37, 7]]

`Systems of spacetime Coordinates are: `*{X = (u, v, x, y)}

 

`Default differentiation variables for d_, D_ and dAlembertian are: `*{X = (u, v, x, y)}

 

`The Stephani metric in coordinates `[u, v, x, y]

 

`Parameters: `[f(x), a, Psi1(u, x, y)]

 

"`Comments: `Case 6 from Table 24.1:_Psi1(u,x,y): diff(_Psi1(u,x,y),x,x)+diff(_Psi1(u,x,y),y,y)=0, diff(x*diff(_M(u,x,y),x),x)+x*diff(_M(u,x,y),y,y)=_kappa0*(diff(_Psi(u,x,y),x)^2+diff(_Psi(u,x,y),y)^2)"

 

g[mu, nu] = (Matrix(4, 4, {(1, 1) = -2*x*(f(x)+y*a), (1, 2) = -x, (1, 3) = 0, (1, 4) = 0, (2, 2) = 0, (2, 3) = 0, (2, 4) = 0, (3, 3) = 1/x^(1/2), (3, 4) = 0, (4, 4) = 1/x^(1/2)}, storage = triangular[upper], shape = [symmetric]))

(12)

Check the Petrov type

PetrovType()

"II"

(13)

The starting tetrad

e_[]

Physics:-Tetrads:-e_[a, mu] = Matrix(%id = 18446744078835577550)

(14)

results in Weyl scalars not in canonical form:

Weyl[scalars]

psi__0 = 0, psi__1 = 0, psi__2 = (1/8)/x^(3/2), psi__3 = 0, psi__4 = -((3*I)*a-2*x*(diff(diff(f(x), x), x))-3*(diff(f(x), x)))/(x^(1/2)*(4*y*a+4*f(x)))

(15)

For Petrov type "II", the canonical form is as for type "I" but in addition `&Psi;__1` = 0. Again let's assume positive, not necessary, but to get simpler formulas around

Assume(f(x) > 0, x > 0, y > 0, a > 0)

{a::(RealRange(Open(0), infinity))}, {x::(RealRange(Open(0), infinity)), (-f(x))::(RealRange(-infinity, Open(0))), (f(x))::(RealRange(Open(0), infinity))}, {y::(RealRange(Open(0), infinity))}

(16)

Compute now a canonical form for the tetrad, to be used instead of (14)

TransformTetrad(canonicalform)

Matrix(%id = 18446744078835949430)

(17)

Set this tetrad and check the Weyl scalars again

"Setup(tetrad = ?):"

Weyl[scalars]

psi__0 = 0, psi__1 = 0, psi__2 = (1/8)/x^(3/2), psi__3 = 1, psi__4 = 0

(18)

This result (18) is fantastic. Compare these Weyl scalars with the ones (15) before transforming the tetrad.

 

An Example of Petrov type III

g_[[12, 35, 1]]

`Systems of spacetime Coordinates are: `*{X = (u, x, y, z)}

 

`Default differentiation variables for d_, D_ and dAlembertian are: `*{X = (u, x, y, z)}

 

`The Kaigorodov (1962), Cahen (1964), Siklos (1981), Ozsvath (1987) metric in coordinates `[u, x, y, z]

 

`Parameters: `[Lambda]

 

g[mu, nu] = (Matrix(4, 4, {(1, 1) = 0, (1, 2) = exp(-2*z), (1, 3) = 0, (1, 4) = 0, (2, 2) = exp(4*z), (2, 3) = 2*exp(z), (2, 4) = 0, (3, 3) = 2*exp(-2*z), (3, 4) = 0, (4, 4) = 3/abs(Lambda)}, storage = triangular[upper], shape = [symmetric]))

(19)

Assume(z > 0, Lambda > 0)

{Lambda::(RealRange(Open(0), infinity))}, {z::(RealRange(Open(0), infinity))}

(20)

The Petrov type and the original tetrad

PetrovType()

"III"

(21)

e_[]

Physics:-Tetrads:-e_[a, mu] = Matrix(%id = 18446744078349449926)

(22)

This tetrad results in the following scalars

Weyl[scalars]

psi__0 = -2*Lambda*2^(1/2)+(11/4)*Lambda, psi__1 = -(1/2)*Lambda*2^(1/2)+(3/4)*Lambda, psi__2 = (1/4)*Lambda, psi__3 = -(1/2)*Lambda*2^(1/2)-(3/4)*Lambda, psi__4 = 2*Lambda*2^(1/2)+(11/4)*Lambda

(23)

that are not in canonical form, which for Petrov type III is as in Petrov type II but in addition we should have `&Psi;__2` = 0.

Compute now a canonical form for the tetrad

TransformTetrad(canonicalform)

Matrix(%id = 18446744078500057566)

(24)

Set this one to be the tetrad in use and recompute the Weyl scalars

"Setup(tetrad = ?):"

Weyl[scalars]

psi__0 = 0, psi__1 = 0, psi__2 = 0, psi__3 = 1, psi__4 = 0

(25)

Great!``

An Example of Petrov type N

g_[[12, 6, 1]]

`Systems of spacetime Coordinates are: `*{X = (u, v, y, z)}

 

`Default differentiation variables for d_, D_ and dAlembertian are: `*{X = (u, v, y, z)}

 

`The Defrise (1969) metric in coordinates `[u, v, y, z]

 

`Parameters: `[Lambda, kappa0]

 

"`Comments: `_Lambda < 0 required for a pure radiation solution"

 

g[mu, nu] = (Matrix(4, 4, {(1, 1) = 0, (1, 2) = -(3/2)/(y^2*Lambda), (1, 3) = 0, (1, 4) = 0, (2, 2) = -3/(y^4*Lambda), (2, 3) = 0, (2, 4) = 0, (3, 3) = 3/(y^2*Lambda), (3, 4) = 0, (4, 4) = 3/(y^2*Lambda)}, storage = triangular[upper], shape = [symmetric]))

(26)

Assume(y > 0, Lambda > 0)

{Lambda::(RealRange(Open(0), infinity))}, {y::(RealRange(Open(0), infinity))}

(27)

PetrovType()

"N"

(28)

The original tetrad and related Weyl scalars are not in canonical form:

e_[]

Physics:-Tetrads:-e_[a, mu] = Matrix(%id = 18446744078404437406)

(29)

Weyl[scalars]

psi__0 = -(1/4)*Lambda, psi__1 = -((1/4)*I)*Lambda, psi__2 = (1/4)*Lambda, psi__3 = ((1/4)*I)*Lambda, psi__4 = -(1/4)*Lambda

(30)

For Petrov type "N", the canonical form has `&Psi;__4` <> 0 and all the other `&Psi;__n` = 0.

Compute a canonical form, set it to be the tetrad in use and recompute the Weyl scalars

TransformTetrad(canonicalform)

Matrix(%id = 18446744078518486190)

(31)

"Setup(tetrad = ?):"

Weyl[scalars]

psi__0 = 0, psi__1 = 0, psi__2 = 0, psi__3 = 0, psi__4 = 1

(32)

All as expected.

An Example of Petrov type D

 

g_[[12, 8, 4]]

`Systems of spacetime Coordinates are: `*{X = (t, x, y, z)}

 

`Default differentiation variables for d_, D_ and dAlembertian are: `*{X = (t, x, y, z)}

 

`The  metric in coordinates `[t, x, y, z]

 

`Parameters: `[A, B]

 

"`Comments: `k = 0, kprime = 1, not an Einstein metric"

 

g[mu, nu] = (Matrix(4, 4, {(1, 1) = -B^2*sin(z)^2, (1, 2) = 0, (1, 3) = 0, (1, 4) = 0, (2, 2) = A^2, (2, 3) = 0, (2, 4) = 0, (3, 3) = A^2*x^2, (3, 4) = 0, (4, 4) = B^2}, storage = triangular[upper], shape = [symmetric]))

(33)

Assume(A > 0, B > 0, x > 0, 0 <= z and z <= (1/4)*Pi)

{A::(RealRange(Open(0), infinity))}, {B::(RealRange(Open(0), infinity))}, {x::(RealRange(Open(0), infinity))}, {z::(RealRange(0, (1/4)*Pi))}

(34)

PetrovType()

"D"

(35)

The default tetrad and related Weyl scalars are not in canonical form, which for Petrov type "D" is with `&Psi;__2` <> 0 and all the other `&Psi;__n` = 0

e_[]

Physics:-Tetrads:-e_[a, mu] = Matrix(%id = 18446744078503920694)

(36)

Weyl[scalars]

psi__0 = (1/4)/B^2, psi__1 = 0, psi__2 = (1/12)/B^2, psi__3 = 0, psi__4 = (1/4)/B^2

(37)

Transform the  tetrad, set it and recompute the Weyl scalars

TransformTetrad(canonicalform)

Matrix(%id = 18446744078814996830)

(38)

"Setup(tetrad=?):"

Weyl[scalars]

psi__0 = 0, psi__1 = 0, psi__2 = -(1/6)/B^2, psi__3 = 0, psi__4 = 0

(39)

Again the expected canonical form of the Weyl scalars, and `&Psi;__2` <> 0 remains invariant under transformations of Class III.

 

An Example of Petrov type O

 

Finally an example of type "O". This corresponds to a conformally flat spacetime, for which the Weyl tensor (and with it all the Weyl scalars) vanishes. So the code just interrupts with "not implemented for conformally flat spactimes of Petrov type O"

g_[[8, 33, 1]]

`Systems of spacetime Coordinates are: `*{X = (t, x, y, z)}

 

`Default differentiation variables for d_, D_ and dAlembertian are: `*{X = (t, x, y, z)}

 

`The  metric in coordinates `[t, x, y, z]

 

`Parameters: `[K]

 

"`Comments: `_K=3*_Lambda, _K>0 de Sitter, _K<0 anti-de Sitte"

 

g[mu, nu] = z

(40)

PetrovType()

"O"

(41)

The Weyl tensor and its scalars all vanish:

Weyl[nonzero]

Physics:-Weyl[mu, nu, alpha, beta] = {}

(42)

simplify(evala([Weyl[scalars]]))

[psi__0 = 0, psi__1 = 0, psi__2 = 0, psi__3 = 0, psi__4 = 0]

(43)

TransformTetrad(canonicalform)

Error, (in Tetrads:-CanonicalForm) canonical form is not implemented for flat or conformally flat spacetimes of Petrov type "O"

 

NULL


Download TetradsAndWeylScalarsInCanonicalForm.mw

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft

Suppose I have a function like this: f=cos(2t/m)+cos(2(t+5)/m).

 

Now for each fixed m, we get the maximum value of f. Then I want to build a plot where x-axis is m and y-axis is f, how could I do that? Please help!

 

I have written the following coade in Maple:
r := 50;
l1 := 0.2742e-10;
s := I*w;
l := (-1.342110665*10^22*c^2*(Pi^4)-4.225000000*10^25*c^2*(Pi^2)+2.316990000*10^11*c1*(Pi^2)-1)/(-1.342110665*10^22*c^2*c1*(Pi^4)-7.140250000*10^43*c^2*c1*r^2*(Pi^4)+1.957856550*10^33*c^2*(Pi^4)+9.789282750*10^32*c*c1*(Pi^4)-1.690000*10^22*c*(Pi^2)-4.22500*10^21*c1*(Pi^2));
z1 := (c*l1*s^2+1)/(c*s);
z2 := l*s/(c1*l*s^2+1);
h := (z1+2*z2)*((z1+2*r)*(z1+3*z2)/(2*r)-2*z2)/z2-(1/2)*z2*(z1+2*r)*r;
f := h*(z1+3*z2)/z2-(z1+2*r)(2*r)*(z1+3*z2)+2*z2;
gain := 2*z2/f;
a := abs(gain);
d := diff(a, w);
s := subs(w = 2*pi*0.325e11, d)
Now, I have a function named "s" which I want to set to zero, and calculate the relationship between variables c & c1 in order to achieve this. How should it be done?
Thanks.


The year 2015 has been one with interesting and relevant developments in the MathematicalFunctions  and FunctionAdvisor projects.

• 

Gaps were filled regarding mathematical formulas, with more identities for all of BesselI, BesselK, BesselY, ChebyshevT, ChebyshevU, Chi, Ci, FresnelC, FresnelS, GAMMA(z), HankelH1, HankelH2, InverseJacobiAM, the twelve InverseJacobiPQ for P, Q in [C,D,N,S], KelvinBei, KelvinBer, KelvinKei, KelvinKer, LerchPhi, arcsin, arcsinh, arctan, ln;

• 

Developments happened in the Mathematical function package, to both compute with symbolic sequences and symbolic nth order derivatives of algebraic expressions and functions;

• 

The input FunctionAdvisor(differentiate_rule, mathematical_function) now returns both the first derivative (old behavior) and the nth symbolic derivative (new behavior) of a mathematical function;

• 

A new topic, plot, used as FunctionAdvisor(plot, mathematical_function), now returns 2D and 3D plots for each mathematical function, following the NIST Digital Library of Mathematical Functions;

• 

The previously existing FunctionAdvisor(display, mathematical_function) got redesigned, so that it now displays more information about any mathematical function, and organized into a Section with subsections for each of the different topics, making it simpler to find the information one needs without getting distracted by a myriad of formulas that are not related to what one is looking for.

More mathematics

 

More mathematical knowledge is in place, more identities, differentiation rules of special functions with respect to their parameters, differentiation of functions whose arguments involve symbolic sequences with an indeterminate number of operands, and sum representations for special functions under different conditions on the functions' parameters.

Examples

   

More powerful symbolic differentiation (nth order derivative)

 

Significative developments happened in the computation of the nth order derivative of mathematical functions and algebraic expressions involving them.

Examples

   

Mathematical handling of symbolic sequences

 

Symbolic sequences enter various formulations in mathematics. Their computerized mathematical handling, however, was never implemented - only a representation for them existed in the Maple system. In connection with this, a new subpackage, Sequences , within the MathematicalFunctions package, has been developed.

Examples

   

Visualization of mathematical functions

 

When working with mathematical functions, it is frequently desired to have a rapid glimpse of the shape of the function for some sampled values of their parameters. Following the NIST Digital Library of Mathematical Functions, a new option, plot, has now been implemented.

Examples

   

Section and subsections displaying properties of mathematical functions

 

Until recently, the display of a whole set of mathematical information regarding a function was somehow cumbersome, appearing all together on the screen. That display was and is still available via entering, for instance for the sin function, FunctionAdvisor(sin) . That returns a table of information that can be used programmatically.

With time however, the FunctionAdvisor evolved into a consultation tool, where a better organization of the information being displayed is required, making it simpler to find the information we need without being distracted by a screen full of complicated formulas.

To address this requirement, the FunctionAdvisor now returns the information organized into a Section with subsections, built using the DocumentTools package. This enhances the presentation significantly.

Examples

   

These developments can be installed in Maple 2015 as usual, by downloading the updates (bundled with the Physics and Differential Equations updates) from the Maplesoft R&D webpage for Mathematical Functions and Differential Equations


Download MathematicalFunctionsAndFunctionAdvisor.mw

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft

The well known William Lowell Putnam Mathematical Competition (76th edition)  took place this month.
Here is a Maple approach for two of the problems.

1. For each real number x, 0 <= x < 1, let f(x) be the sum of  1/2^n  where n runs through all positive integers for which floor(n*x) is even.
Find the infimum of  f.
(Putnam 2015, A4 problem)

f:=proc(x,N:=100)
local n, s:=0;
for n to N do
  if type(floor(n*x),even) then s:=s+2^(-n) fi;
  #if floor(n*x) mod 2 = 0  then s:=s+2^(-n) fi;
od;
evalf(s);
#s
end;

plot(f, 0..0.9999);

 

min([seq(f(t), t=0.. 0.998,0.0001)]);

        0.5714285714

identify(%);

So, the infimum is 4/7.
Of course, this is not a rigorous solution, even if the result is correct. But it is a valuable hint.
I am not sure if in the near future, a CAS will be able to provide acceptable solutions for such problems.

2. If the function f  is three times differentiable and  has at least five distinct real zeros,
then f + 6f' + 12f'' + 8f''' has at least two distinct real zeros.
(Putnam 2015, B1 problem)

restart;
F := f + 6*D(f) + 12*(D@@2)(f) + 8*(D@@3)(f);

dsolve(F(x)=u(x),f(x));

We are sugested to consider

g:=f(x)*exp(x/2):
g3:=diff(g, x$3);

simplify(g3*8*exp(-x/2));

So, F(x) = k(x) * g3 = k(x) * g'''
g  has 5 distinct zeros implies g''' and hence F have 5-3=2 distinct zeros, q.e.d.

 

How do I construct the seuqence 1/16 , 1/32 , 1/64 , 1/128 , 1/256 in maple?

 

What's the syntax?

I looked at the examples in here:

http://www.maplesoft.com/support/help/maple/view.aspx?path=seq

 

But didn't find something similar.

 

 

 

Consider a taper steel plate of uniform thickness t := 25mm as shown in the Fig. In addition to its self weight, the plate is subjected to a point load P := 100N at its mid point. Find the global force vector [F] , global stiffness matrix [K] , displacement in each element (1 and 2) , stresses in each element  (1 and 2) and reaction force at the support.Take E := 2*10^5N/mm2; rho := 8.2*10^(-5)kg/m3;

restart

t__1 := 150:

t__3 := 75:

w := 25:

l := 600:

t__2 := (t__1-t__3)/l*((1/2)*l)+t__3 = 225/2

A__1 := t__1*w = 3750``

A__2 := t__2*w = 5625/2``

A__3 := t__3*w = 1875``

Revised areas:

A__1e := (A__1+A__2)*(1/2) = 13125/4``

A__2e := (A__2+A__3)*(1/2) = 9375/4``

  E := 2*10^11:m2; F__1 := R__1:is support reaction N; F__2 := 100:N;``

rho__1 := 82*10^(-6) = 41/500000  N/mm2

rho__2 := 82*10^(-6) = 41/500000 N/mm2

l := 600:``

Number of elements,

n__e := 2:

l__e := 300 = 300````

q__0 := 100:N/m ; l := 1: m; n__e := 4:  elementsl  l__e := l/n__e: m;

We shall consider a two element system as shown in the Fig.
For element 1 Stiffness matrix K is

                                           Vector[row](2, {(1) = 1, (2) = 2})
K__1 := A__1e*E/l__e.(Matrix(2, 2, {(1, 1) = 1, (1, 2) = -1, (2, 1) = -1, (2, 2) = 1})) = Matrix([[2625000000000000, -2625000000000000], [-2625000000000000, 2625000000000000]])  Vector(2, {(1) = 1, (2) = 2})

For element 2 Stiffness matrix K is

                                         Vector[row](2, {(1) = 2, (2) = 3})
K__2 := A__2e*E/l__e.(Matrix(2, 2, {(1, 1) = 1, (1, 2) = -1, (2, 1) = -1, (2, 2) = 1})) = Matrix([[1875000000000000, -1875000000000000], [-1875000000000000, 1875000000000000]])  Vector(2, {(1) = 2, (2) = 3})

Global stiffness matrix obtained by adding all the elemental stiffness matrices and given b

           Vector[row](3, {(1) = 0, (2) = 0, (3) = 0})

K__g := Matrix(3, 3, {(1, 1) = K__1[1, 1], (1, 2) = K__1[1, 2], (1, 3) = 0, (2, 1) = K__1[2, 1], (2, 2) = K__1[1, 2]+K__2[1, 1], (2, 3) = K__2[1, 2], (3, 1) = 0, (3, 2) = K__2[2, 1], (3, 3) = K__2[2, 2]}) = Matrix([[K__1[1, 1], K__1[1, 2], 0], [K__1[2, 1], K__1[1, 2]+K__2[1, 1], K__2[1, 2]], [0, K__2[2, 1], K__2[2, 2]]])  Vector(3, {(1) = 0, (2) = 0, (3) = 0})

For element 1 Load matrix F is

  F__1e := (1/2)*`&rho;__1`*A__1e*l__e*(Vector(2, {(1) = 1, (2) = 1})) = Vector[column]([[861/25600], [861/25600]]) Vector(2, {(1) = 1, (2) = 2})

``

For element 2 Load matrix F isNULL

F__2e := (1/2)*A__2e*l__e*`&rho;__2`*(Vector(2, {(1) = 1, (2) = 1})) = Vector[column]([[123/5120], [123/5120]]) 

``

 

Download wrong_answers.mwwrong_answers.mwwrong_answers.mw

Ramakrishnan V

rukmini_ramki@hotmail.com

 

``

 

I would appreciate if anyone lets me know how to write circular references  (say 1 inside a circle to refer element 1. At present i do a drawing insert text and using.

 

Also i do not know how to remove the boundary of the overall drawing.

NULL

 

Download A_DOUBT_to_be_sent_to_prime_community.mw

Ramakrishnan V

rukmini_ramki@hotmail.com

There have come unwanted lines and marks . I donot know how to remove them. Using doc.block, remove block seems to be little tough to incorporate! Please enlighten me. Modified doc. is most welcome. Thanks. Ramakrishnan V 

Gaussian Elimination Method

 

 

Given*the*equations

  restartreset:

with(Student[LinearAlgebra])``

(1)
Coefficient Tanle

Equation 1

Equation 2

Equation 3

Equations

`m__1,1` := 3:
`` 

`m__2,1` := 2:
``

`m__3,1` := 1:
``

`m__1,1`*x__1+`m__1,2`*y+`m__1,3`*z = `m__1,4`; = 3*x__1+y-z = 3

`m__2,1`*x__1+`m__2,2`*y+`m__2,3`*z = `m__2,4`; = 2*x__1-8*y+z = -5

```m__3,1`*x__1+`m__3,2`*y+`m__3,3`*z = `m__3,4`; = x__1-2*y+9*z = 8

The equations in matrix form is given by

Matrix([[3, 1, -1, 3], [2, -8, 1, -5], [1, -2, 9, 8]])

(2)

The Gaussian Elimination gives the simplified natrix equation as given below:

Matrix([[3, 1, -1, 3], [0, -26/3, 5/3, -7], [0, 0, 231/26, 231/26]])

(3)

``The equations in simplified form are:

3*x+y-z = 3

(4)

-(26/3)*y+(5/3)*z = -7

(5)

(231/26)*z = 231/26

(6)

``

The aolution ia obtained by solving the above equations in reverse order

{x = 1, y = 1, z = 1}

(7)

 

``

 

Download GausianFinal15Nov2015.mwGausianFinal15Nov2015.mw

We are looking for enthusiastic Maple users to become Maple Ambassadors, to inspire and educate others about the benefits that Maple brings to education.

 

As an Ambassador, you will have the opportunity to influence the development of Maple through regular meetings with Maplesoft developers, get advance news of upcoming features and products, get assistance with Maple events on your campus, and more. In return, we ask that you do what you are probably already doing – sharing your experiences with Maple, answer questions on forums (like this one!), sharing your Maple applications, providing us with feedback, etc.

 

You can find more information and an application form at Maple Ambassador Program. We’re looking forward to hearing from you!

 

Daniel

Maple Product Management

Are there any commands in maple that will help me find a suitable function that approximates the numerical solution of:



  restart;
  PDE := diff(v(x, t), t) = diff(v(x, t), x, x);
  JACOBIINTEGRAL := int(JacobiTheta3(0, exp(-Pi^2*s))*v(1, t-s)^4, s = 0 .. t);
  IBC:= D[1](v)(0,t)=0,
        D[1](v)(1,t)=-0.000065*v(1, t)^4,
        v(x,0)=1;
#
# For x=0..1, t=0..1, the solution varies only very slowly
# so I have increased the timestep/spacestep, just to speed
# up results generation for diagnostic purposes
#
  pds := pdsolve( PDE, [IBC], numeric, time = t, range = 0 .. 1,
                  spacestep = 0.1e-1, timestep = 0.1e-1,
                  errorest=true
                )

diff(v(x, t), t) = diff(diff(v(x, t), x), x)

 

int(JacobiTheta3(0, exp(-Pi^2*s))*v(1, t-s)^4, s = 0 .. t)

 

(D[1](v))(0, t) = 0, (D[1](v))(1, t) = -0.65e-4*v(1, t)^4, v(x, 0) = 1

 

_m649569600

(1)

#
# Plot the solution over the ranges x=0..1,
# time=0..1. Not a lot happens!
#
  pds:-plot(x=1, t=0..1);

 

#
# Plot the estimated error over the ranges x=0..1,
# time=0..1
#
  pds:-plot( err(v(x,t)), x=1,t=0..1);

 

#
# Get some numerical solution values
#
  pVal:=pds:-value(v(x,t), output=procedurelist):
  for k from 0 by 0.1 to 1 do
      pVal(1, k)[2], pVal(1, k)[3];
  od;

 

t = 0., v(x, t) = Float(undefined)

 

t = .1, v(x, t) = .999977377613528229

 

t = .2, v(x, t) = .999967577518313666

 

t = .3, v(x, t) = .999959874331053822

 

t = .4, v(x, t) = .999952927885405241

 

t = .5, v(x, t) = .999946262964885979

 

t = .6, v(x, t) = .999939702966688881

 

t = .7, v(x, t) = .999933182128311282

 

t = .8, v(x, t) = .999926675964661227

 

t = .9, v(x, t) = .999920175361791563

 

t = 1.0, v(x, t) = .999913676928735229

(2)

 

 

 

Download PDEprob2_(2).mw

 

I am refering to the first graph, is there a way in maple to find an explicit suitable approximating function?

I.e, I want the function to have the same first graph obviously, it seems like addition of exponent and a line function, I tried plotting exp(-t)-0.3*t, it doesn't look like it approximates it very well. Any suggestion on how to implement this task in maple?

Thanks.

 

Dear collagues

Hi,

I write a code to solve a system of ODE. It solve the ODES in a wide range of parameters but as I decrease NBT below 0.5, it doesnt converge. I do my best but I couldn't find the answer. Would you please help me? Thank you

Here is my code and it should be run for 0.1<NBT<10. the value of NBT is input directly in res1.

restart:
EPSILONE:=1000:
Digits:=15:

a[mu1]:=5.45:
b[mu1]:=108.2:
a[k1]:=1.292:
b[k1]:=-11.99:




rhop:=4175:
rhobf:=998.2:
mu1[bf]:=9.93/10000:
k1[bf]:=0.597:

rhost(eta):=1-phi(eta)+phi(eta)*rhop/rhobf;
k:=unapply(k1[bf]*(1+a[k1]*phi(eta)+b[k1]*phi(eta)^2),eta);


eq1:=(diff(u(eta), eta))*a[mu1]*(diff(phi(eta), eta))+2*(diff(u(eta), eta))*b[mu1]*phi(eta)*(diff(phi(eta), eta))+((diff(u(eta), eta))+(diff(u(eta), eta))*a[mu1]*phi(eta)+(diff(u(eta), eta))*b[mu1]*phi(eta)^2)/(eta+EPSILONE)+diff(u(eta), eta, eta)+(diff(u(eta), eta, eta))*a[mu1]*phi(eta)+(diff(u(eta), eta, eta))*b[mu1]*phi(eta)^2+1-phi(eta)+phi(eta)*rhop/rhobf:
eq2:=(1+a[k1]*phi(eta)+b[k1]*phi(eta)^2)*(diff(T(eta), eta))/(eta+EPSILONE) + (a[k1]*(diff(phi(eta), eta))+2*b[k1]*phi(eta)*(diff(phi(eta), eta)))*(diff(T(eta), eta))+(1+a[k1]*phi(eta)+b[k1]*phi(eta)^2)*(diff(T(eta), eta, eta));
eq3:=diff(phi(eta),eta)+phi(eta)/(N_bt*(1+gama1*T(eta))^2)*diff(T(eta),eta):

eq2:=subs(phi(0)=phi0,eq2):
eq3:=subs(phi(0)=phi0,eq3):


eval(dsolve({eq3,phi(1)=phiv},phi(eta)),(T)(1)=1):
Phi:=normal(combine(%)):
Teq:=isolate(eval(eq2,Phi),diff(T(eta),eta)):
ueq1:=eval(eq1,Phi)=0:
ueq2:=subs(Teq,ueq1):


lambda:=0;
Ha:=0;
N_bt:=cc*NBT+(1-cc)*0.8;
kratio:=k1[p]/k1[bf]:






GUESS:=[T(eta) =0.0001*eta, u(eta) =0.1*eta, phi(eta) = 0.3*(eta-1)^4];
res1 := dsolve(subs(NBT=0.48,gama1=0.2,phiv=0.06,{eq1,eq2,eq3,u(0)=lambda*D(u)(0),D(u)(1)=0,T(0)=0,phi(1)=phiv,T(1)=1}), numeric,method=bvp[midrich],maxmesh=4000,approxsoln=GUESS, output=listprocedure,continuation=cc):
G0,G1,G2:=op(subs(subs(res1),[phi(eta),u(eta),diff(T(eta),eta)])):

masst:=evalf(int((1-G0(eta)+G0(eta)*rhop/rhobf)*G1(eta), eta = 0..1));
heatt:=(1+a[k1]*G0(0)+b[k1]*G0(0)^2)*G2(0);

plots:-odeplot(res1,[[eta,T(eta)]],0..1,legend=[T],color=["Black"],linestyle=Solid,axes=boxed,thickness=3);
plots:-odeplot(res1,[[eta,u(eta)]],0..1,legend=[u],color=["Black"],linestyle=Solid,axes=boxed,thickness=3);
plots:-odeplot(res1,[[eta,phi(eta)]],0..1,legend=[phi],color=["Black"],linestyle=Solid,axes=boxed,thickness=3);

>
>

 

Thank you

 

Amir

1 2 3 4 5 6 7 Last Page 1 of 29