User:Tom Allen/TensorExperimentsZ31

...

... for this model ...

...

...

... motion is energy ...

... therefore (because energy is conserved) ...

... the structure of a wave of energy depends upon the inertial reference frame in which it is observed ...

... and ...

... geodesics, together with the electric and magnetic fields, map it's structure ...

...

```gXm0All=. 1   0      _  0"_
gXm1All=. 1  _0.032  1  1"_

Initn =.   1              , 0    , 0 , 0    "_
Initdn=. ((0.032*0.054"_) , 0.01 , 0 , 0.054"_)*%@(1"_)

Initds=.|@((((0{])^2:)+((1{])^2:)+((2{])^2:)+-@((3{])^2:))^0.5"_)@Initdn

vS00xL   =.Initn
vS01dxL  =.0,0,0,0:
vS02d1L  =.Initdn%Initds
vS06ds   =.Initds
vS07count=.(0,12500"_)*1"_

vSgDd2=.0:

pdDV=:vSgD@vS''

pdDV arrayPut   'pdDV'
arrayClose 'pdDV'

gXm0All=. 1   0      _  0"_
gXm1All=. 1  _0.032  1  1"_

Initn =.   1              , 0      , 0 , 0    "_
Initdn=. ((0.032*0.054"_) , 0.0106 , 0 , 0.054"_)*%@(1"_)

Initds=.|@((((0{])^2:)+((1{])^2:)+((2{])^2:)+-@((3{])^2:))^0.5"_)@Initdn

vS00xL   =.Initn
vS01dxL  =.0,0,0,0:
vS02d1L  =.Initdn%Initds
vS06ds   =.Initds
vS07count=.(0,12000"_)*1"_

vSgDd2=.gXM([([(0{])@E1cn nRef@hknQ),:@(S03xH{]))]

pdDA=:vSgD@vS''

pdDA arrayPut   'pdDA'
arrayClose 'pdDA'

gXm0All=. 1   0      _  0"_
gXm1All=. 1  _0.032  1  1"_

Initn =.   1              , 0      , 0 , 0    "_
Initdn=. ((0.032*0.054"_) , 0.0106 , 0 , 0.054"_)*%@(2"_)

Initds=.|@((((0{])^2:)+((1{])^2:)+((2{])^2:)+-@((3{])^2:))^0.5"_)@Initdn

vS00xL   =.Initn
vS01dxL  =.0,0,0,0:
vS02d1L  =.Initdn%Initds
vS06ds   =.Initds
vS07count=.(0,12000"_)*2"_

vSgDd2=.gXM([([(0{])@E1cn nRef@hknQ),:@(S03xH{]))]

pdDB=:vSgD@vS''

pdDB arrayPut   'pdDB'
arrayClose 'pdDB'

gXm0All=. 1  0  _  0"_
gXm1All=. 1  0  1  1"_

Initn =.  1 , 0    , 0 , 0     "_
Initdn=. (0 , 0.01 , 0 , 0.0515"_)*%@(1"_)

Initds=.|@((((0{])^2:)+((1{])^2:)+((2{])^2:)+-@((3{])^2:))^0.5"_)@Initdn

vS00xL   =.Initn
vS01dxL  =.0,0,0,0:
vS02d1L  =.Initdn%Initds
vS06ds   =.Initds
vS07count=.(0,12500"_)*1"_

vSgDd2=.gXM([([(0{])@E1cn nRef@hknQ),:@(S03xH{]))]

pdDC=:vSgD@vS''

pdDC arrayPut   'pdDC'
arrayClose 'pdDC'
```

```NB. ... establish arrays if necessary ...

arrayOpen  'pdDV'
pdDV=: 12501 8 4 arrayGet   'pdDV'   NB. ... shape required ...
arrayClose 'pdDV'

arrayOpen  'pdDA'
pdDA=: 12001 8 4 arrayGet   'pdDA'   NB. ... shape required ...
arrayClose 'pdDA'

arrayOpen  'pdDB'
pdDB=: 24001 8 4 arrayGet   'pdDB'   NB. ... shape required ...
arrayClose 'pdDB'

arrayOpen  'pdDC'
pdDC=: 12501 8 4 arrayGet   'pdDC'   NB. ... shape required ...
arrayClose 'pdDC'
```

```load 'plot'

pd <"1@(0|:])@:((cn0,cn1)@(S00xL{])"2) (i.@(12501"_){]) pdDV

pd <"1@(0|:])@:((cn0,cn1)@(S00xL{])"2) (i.@(12001"_){]) pdDA

pd <"1@(0|:])@:((cn0,cn1)@(S00xL{])"2) (i.@(24001"_){]) pdDB    NB. ... convergence ...

pd <"1@(0|:])@:(((cn0              ),cn1)@(S00xL{])"2) (i.@(12501"_){]) pdDC

pd <"1@(0|:])@:(((cn0+-@(0.032*cn3)),cn1)@(S00xL{])"2) (i.@(12001"_){]) pdDA

pd 'pdf'
pd 'show'
```

 ... geodesics ...

...

...

...

```gXm0All=. 1   0      _  0"_
gXm1All=. 1  _0.032  1  1"_

Initn =.   1              , 0      , 0 , 0    "_
Initdn=. ((0.032*0.054"_) , 0.0108 , 0 , 0.054"_)*%@(16"_)

Initds=.|@((((0{])^2:)+((1{])^2:)+((2{])^2:)+-@((3{])^2:))^0.5"_)@Initdn

vS00xL   =.Initn
vS01dxL  =.0,0,0,0:
vS02d1L  =.Initdn%Initds
vS06ds   =.Initds
vS07count=.(0,72000"_)*16"_

vSgDd2=.gXM([([(0{])@E1cn nRef@hknQ),:@(S03xH{]))]

pdDD=:vSgD@vS''

pdDD arrayPut   'pdDD'
arrayClose 'pdDD'

gXm0All=. 1   0      _  0"_
gXm1All=. 1  _0.032  1  1"_

Initn =.   1              , 0      , 0 , 0    "_
Initdn=. ((0.032*0.054"_) , 0.0108 , 0 , 0.054"_)*%@(32"_)

Initds=.|@((((0{])^2:)+((1{])^2:)+((2{])^2:)+-@((3{])^2:))^0.5"_)@Initdn

vS00xL   =.Initn
vS01dxL  =.0,0,0,0:
vS02d1L  =.Initdn%Initds
vS06ds   =.Initds
vS07count=.(0,72000"_)*32"_

vSgDd2=.gXM([([(0{])@E1cn nRef@hknQ),:@(S03xH{]))]

pdDE=:vSgD@vS''

pdDE arrayPut   'pdDE'
arrayClose 'pdDE'
```

```NB. ... establish arrays if necessary ...

arrayOpen  'pdDD'
pdDD=:1152001 8 4 arrayGet   'pdDD'   NB. ... shape required ...
arrayClose 'pdDD'

arrayOpen  'pdDE'
pdDE=:2304001 8 4 arrayGet   'pdDE'   NB. ... shape required ...
arrayClose 'pdDE'
```

```load 'plot'

pd ((1+i.@(86"_));5.90*i.@(86"_))''

pd <"1@(0|:])@:((cn0,cn1)@(S00xL{])"2) (i.@(0720000"_){]) pdDD

pd <"1@(0|:])@:((cn0,cn1)@(S00xL{])"2) (i.@(1440000"_){]) pdDE

pd <"1@(0|:])@:(((1+0.032*cn3),cn1)@(S00xL{])"2) (i.@(0720000"_){]) pdDD

pd <"1@(0|:])@:(((1+0.032*cn3),cn1)@(S00xL{])"2) (i.@(1440000"_){]) pdDE

pd 'pdf'
pd 'show'
```

 ... geodesic ...

...

...

...

```gXm0All=. 1   0      _     0"_
gXm1All=. 1  _0.032  1.40  1"_

Initn =.   1              , 0      , 0 , 0    "_
Initdn=. ((0.032*0.054"_) , 0.0100 , 0 , 0.054"_)*%@(4"_)

Initds=.|@((((0{])^2:)+((1{])^2:)+((2{])^2:)+-@((3{])^2:))^0.5"_)@Initdn

vS00xL   =.Initn
vS01dxL  =.0,0,0,0:
vS02d1L  =.Initdn%Initds
vS06ds   =.Initds
vS07count=.(0,100000"_)*4"_

vSgDd2=.gXM([([(0{])@E1cn nRef@hknQ),:@(S03xH{]))]

pdDQ=:vSgD@vS''

pdDQ arrayPut   'pdDQ'
arrayClose 'pdDQ'
```

```NB. ... establish array if necessary ...

arrayOpen  'pdDQ'
pdDQ=:400001 8 4 arrayGet   'pdDQ'   NB. ... shape required ...
arrayClose 'pdDQ'
```

```gXm0All=. 1   0      _     0"_
gXm1All=. 1  _0.032  1.60  1"_

Initn =.   1              , 0      , 0 , 0    "_
Initdn=. ((0.032*0.054"_) , 0.0100 , 0 , 0.054"_)*%@(4"_)

Initds=.|@((((0{])^2:)+((1{])^2:)+((2{])^2:)+-@((3{])^2:))^0.5"_)@Initdn

vS00xL   =.Initn
vS01dxL  =.0,0,0,0:
vS02d1L  =.Initdn%Initds
vS06ds   =.Initds
vS07count=.(0,100000"_)*4"_

vSgDd2=.gXM([([(0{])@E1cn nRef@hknQ),:@(S03xH{]))]

pdDR=:vSgD@vS''

pdDR arrayPut   'pdDR'
arrayClose 'pdDR'
```

```NB. ... establish array if necessary ...

arrayOpen  'pdDR'
pdDR=:400001 8 4 arrayGet   'pdDR'   NB. ... shape required ...
arrayClose 'pdDR'
```

```gXm0All=. 1   0      _     0"_
gXm1All=. 1  _0.032  1.70  1"_

Initn =.   1              , 0      , 0 , 0    "_
Initdn=. ((0.032*0.054"_) , 0.0100 , 0 , 0.054"_)*%@(4"_)

Initds=.|@((((0{])^2:)+((1{])^2:)+((2{])^2:)+-@((3{])^2:))^0.5"_)@Initdn

vS00xL   =.Initn
vS01dxL  =.0,0,0,0:
vS02d1L  =.Initdn%Initds
vS06ds   =.Initds
vS07count=.(0,100000"_)*4"_

vSgDd2=.gXM([([(0{])@E1cn nRef@hknQ),:@(S03xH{]))]

pdDS=:vSgD@vS''

pdDS arrayPut   'pdDS'
arrayClose 'pdDS'
```

```NB. ... establish array if necessary ...

arrayOpen  'pdDS'
pdDS=:400001 8 4 arrayGet   'pdDS'   NB. ... shape required ...
arrayClose 'pdDS'
```

```load 'plot'

pd <"1@(0|:])@:(((cn0        ),cn1)@(S00xL{])"2) pdDQ

pd <"1@(0|:])@:(((1+0.032*cn3),cn1)@(S00xL{])"2) pdDQ

pd <"1@(0|:])@:(((cn0        ),cn1)@(S00xL{])"2) pdDR

pd <"1@(0|:])@:(((1+0.032*cn3),cn1)@(S00xL{])"2) pdDR

pd <"1@(0|:])@:(((cn0        ),cn1)@(S00xL{])"2) pdDS

pd <"1@(0|:])@:(((1+0.032*cn3),cn1)@(S00xL{])"2) pdDS

pd 'pdf'
pd 'show'
```

 ... different frequencies / different times ...

...

...

...

```load 'plot'

pd <"1@(0|:])@:((cn1,cn0+-@(0.032*cn3))@(S00xL{])"2) |.@(-@(1+i.@(220000"_)){]) pdDR

pd 'pdf'
pd 'show'
```

 ... change window size for different patterns ...