Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
documentation:language_reference:functions:potentialexpandedonclm [2016/10/10 09:41] – external edit 127.0.0.1documentation:language_reference:functions:potentialexpandedonclm [2018/01/11 08:23] Maurits W. Haverkort
Line 2: Line 2:
  
 ### ###
-alligned paragraph text+Given the onsite energies of the orbitals of all possible irreducible representations a potential expanded on renormalised Spherical Harmonics is created.  
 +### 
 + 
 +### 
 +Within crystal field or ligand field theory it is common practice to expand a potential on Spherical Harmonics. A potential expanded as such can be used to create a crystal field operator with the function NewOperator("C", ...). For more information see the documentation of the crystal field [[documentation:standard_operators:crystal_field|operator]]. 
 ### ###
  
 ===== Input ===== ===== Input =====
  
-  * bla : Integer +  * PointGroup : String 
-  * bla2 Real+  * l          : Integer 
 +  * Energy     Table of Doubles.
  
 ===== Output ===== ===== Output =====
  
-  * bla real+  * Akm Table containing {{k, m, Coefficient}, {k, m, Coefficient}, ...}
  
 ===== Example ===== ===== Example =====
  
 ### ###
-description text+The following example creates a potential expanded on renormalised spherical Harmonics for different point-groups and prints the expansion as well as the Hamiltonian for an p, d and f shell that arises from this potential. The energies of the orbitals of a given irreducible representation are set to arbitrary values. 
 +### 
 + 
 +### 
 +The example firstly defines three functions (for the p, d and f shell), that given a potential expanded on spherical harmonics print this potential, create an Hamiltonian on the basis of Spherical Harmonics and creates the Hamiltonian on a basis of Kubic Harmonics. The crystal field Hamiltonians are printed as a matrix, the basis functions used for this matrix are printed above the matrix. 
 ### ###
  
 ==== Input ==== ==== Input ====
 <code Quanty Example.Quanty> <code Quanty Example.Quanty>
--- some example code+function printAkms(Akm) 
 +  local Opp = Chop(NewOperator("CF",1,{0},Akm)) 
 +  print("\nAkm = ") 
 +  print(Akm) 
 +  print("\n Operator on basis of spherical Harmonics or Kubic Harmonics (same for s orbital as a matrix"
 +  print("s"
 +  print(Chop(OperatorToMatrix(Opp))) 
 +end 
 + 
 +function printAkmp(Akm) 
 +  local t=sqrt(1/2) 
 +  local u=I*sqrt(1/2) 
 +  local rotmatKp   = {{ t, 0,-t }, 
 +                      { u, 0, u }, 
 +                      { 0, 1, 0 }} 
 +  local Opp = Chop(NewOperator("CF",3,{0,1,2},Akm)) 
 +  print("\nAkm = ") 
 +  print(Akm) 
 +  print("\n Operator on basis of spherical Harmonics as a matrix"
 +  print("p_{-1},p_{0},p_{1}"
 +  print(Chop(OperatorToMatrix(Opp))) 
 +  print("\n Operator on basis of Kubic Harmonics as a matrix"
 +  print("p_x, p_y, p_z"
 +  print(Chop(OperatorToMatrix(Rotate(Opp,rotmatKp)))) 
 +end 
 + 
 +function printAkmd(Akm) 
 +  local t=sqrt(1/2) 
 +  local u=I*sqrt(1/2) 
 +  local rotmatKd   = {{ t, 0, 0, 0, t }, 
 +                      { 0, 0, 1, 0, 0 }, 
 +                      { 0, u, 0, u, 0 }, 
 +                      { 0, t, 0,-t, 0 }, 
 +                      { u, 0, 0, 0,-u }} 
 +  local Opp = Chop(NewOperator("CF",5,{0,1,2,3,4},Akm)) 
 +  print("\nAkm = ") 
 +  print(Akm) 
 +  print("\n Operator on basis of spherical Harmonics as a matrix"
 +  print("d_{-2},d_{-1},d_{0},d_{1},d_{2}"
 +  print(Chop(OperatorToMatrix(Opp))) 
 +  print("\n Operator on basis of Kubic Harmonics as a matrix"
 +  print("d_{x^2-y^2},d_{z^2},d_{yz},d_{xz},d_{xy}"
 +  print(Chop(OperatorToMatrix(Rotate(Opp,rotmatKd)))) 
 +end 
 + 
 +function printAkmf(Akm) 
 +  local t=sqrt(1/2) 
 +  local u=I*sqrt(1/2) 
 +  local d=sqrt(3/16) 
 +  local q=sqrt(5/16) 
 +  local e=I*sqrt(3/16) 
 +  local r=I*sqrt(5/16) 
 +  local rotmatKf   = {{ 0, u, 0, 0, 0,-u, 0 }, 
 +                      { q, 0,-d, 0, d, 0,-q }, 
 +                      {-r, 0,-e, 0,-e, 0,-r }, 
 +                      { 0, 0, 0, 1, 0, 0, 0 }, 
 +                      {-d, 0,-q, 0, q, 0, d }, 
 +                      {-e, 0, r, 0, r, 0,-e }, 
 +                      { 0, t, 0, 0, 0, t, 0 }} 
 +  local Opp = Chop(NewOperator("CF",7,{0,1,2,3,4,5,6},Akm)) 
 +  print("\nAkm = ") 
 +  print(Akm) 
 +  print("\n Operator on basis of spherical Harmonics as a matrix"
 +  print("f_{-3},f_{-2},f_{-1},f_{0},f_{1},f_{2},f_{3}"
 +  print(Chop(OperatorToMatrix(Opp))) 
 +  print("\n Operator on basis of Kubic Harmonics as a matrix"
 +  print("f_{xyz},f_{5x^3-3x},f_{5y^3-3y},f_{5z^3-3z},f_{x(y^2-z^2)},f_{y(z^2-x^2)},f_{z(x^2-y^2)}"
 +  print(Chop(OperatorToMatrix(Rotate(Opp,rotmatKf)))) 
 +end 
 + 
 + 
 + 
 + 
 +print("\nl=1 Oh") 
 +Et1u=1 
 +Akm = PotentialExpandedOnClm("Oh",1,{Et1u}) 
 +printAkmp(Akm) 
 + 
 +print("\nl=2 Oh") 
 +Eeg=1 
 +Et2g=2 
 +Akm = PotentialExpandedOnClm("Oh",2,{Eeg,Et2g}) 
 +printAkmd(Akm) 
 + 
 +print("\nl=3 Oh") 
 +Ea2u=1 
 +Et1u=2 
 +Et2u=3 
 +Akm = PotentialExpandedOnClm("Oh",3,{Ea2u,Et1u,Et2u}) 
 +printAkmf(Akm)
 </code> </code>
  
 ==== Result ==== ==== Result ====
 <file Quanty_Output> <file Quanty_Output>
-text produced as output+l=1 Oh 
 + 
 +Akm =  
 +{ { 0 , 0 , 1 } } 
 + 
 + Operator on basis of spherical Harmonics as a matrix 
 +p_{-1},p_{0},p_{1} 
 +{ { 1 , 0 , 0 } ,  
 +  { 0 , 1 , 0 } ,  
 +  { 0 , 0 , 1 } } 
 + 
 + Operator on basis of Kubic Harmonics as a matrix 
 +p_x, p_y, p_z 
 +{ { 1 , 0 , 0 } ,  
 +  { 0 , 1 , 0 } ,  
 +  { 0 , 0 , 1 } } 
 + 
 +l=2 Oh 
 + 
 +Akm =  
 +{ { 0 , 0 , 1.6 } ,  
 +  { 4 , 0 , -2.1 } ,  
 +  { 4 , -4 , -1.2549900398011 } ,  
 +  { 4 , 4 , -1.2549900398011 } } 
 + 
 + Operator on basis of spherical Harmonics as a matrix 
 +d_{-2},d_{-1},d_{0},d_{1},d_{2} 
 +{ { 1.5 , 0 , 0 , 0 , -0.5 } ,  
 +  { 0 , 2 , 0 , 0 , 0 } ,  
 +  { 0 , 0 , 1 , 0 , 0 } ,  
 +  { 0 , 0 , 0 , 2 , 0 } ,  
 +  { -0.5 , 0 , 0 , 0 , 1.5 } } 
 + 
 + Operator on basis of Kubic Harmonics as a matrix 
 +d_{x^2-y^2},d_{z^2},d_{yz},d_{xz},d_{xy} 
 +{ { 1 , 0 , 0 , 0 , 0 } ,  
 +  { 0 , 1 , 0 , 0 , 0 } ,  
 +  { 0 , 0 , 2 , 0 , 0 } ,  
 +  { 0 , 0 , 0 , 2 , 0 } ,  
 +  { 0 , 0 , 0 , 0 , 2 } } 
 + 
 +l=3 Oh 
 + 
 +Akm =  
 +{ { 0 , 0 , 2.2857142857143 } ,  
 +  { 4 , 0 , 0.75 } ,  
 +  { 4 , -4 , 0.4482107285004 } ,  
 +  { 4 , 4 , 0.4482107285004 } ,  
 +  { 6 , 0 , -1.8107142857143 } ,  
 +  { 6 , -4 , 3.38753624124 } ,  
 +  { 6 , 4 , 3.38753624124 } } 
 + 
 + Operator on basis of spherical Harmonics as a matrix 
 +f_{-3},f_{-2},f_{-1},f_{0},f_{1},f_{2},f_{3} 
 +{ { 2.375 , 0 , 0 , 0 , -0.48412291827593 , 0 , 0 } ,  
 +  { 0 , 2 , 0 , 0 , 0 , 1 , 0 } ,  
 +  { 0 , 0 , 2.625 , 0 , 0 , 0 , -0.48412291827593 } ,  
 +  { 0 , 0 , 0 , 2 , 0 , 0 , 0 } ,  
 +  { -0.48412291827593 , 0 , 0 , 0 , 2.625 , 0 , 0 } ,  
 +  { 0 , 1 , 0 , 0 , 0 , 2 , 0 } ,  
 +  { 0 , 0 , -0.48412291827593 , 0 , 0 , 0 , 2.375 } } 
 + 
 + Operator on basis of Kubic Harmonics as a matrix 
 +f_{xyz},f_{5x^3-3x},f_{5y^3-3y},f_{5z^3-3z},f_{x(y^2-z^2)},f_{y(z^2-x^2)},f_{z(x^2-y^2)} 
 +{ { 1 , 0 , 0 , 0 , 0 , 0 , 0 } ,  
 +  { 0 , 2 , 0 , 0 , 0 , 0 , 0 } ,  
 +  { 0 , 0 , 2 , 0 , 0 , 0 , 0 } ,  
 +  { 0 , 0 , 0 , 2 , 0 , 0 , 0 } ,  
 +  { 0 , 0 , 0 , 0 , 3 , 0 , 0 } ,  
 +  { 0 , 0 , 0 , 0 , 0 , 3 , 0 } ,  
 +  { 0 , 0 , 0 , 0 , 0 , 0 , 3 } }
 </file> </file>
  
 ===== Table of contents ===== ===== Table of contents =====
 {{indexmenu>.#1}} {{indexmenu>.#1}}
- 
Print/export