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
documentation:language_reference:functions:potentialexpandedonclm [2016/10/10 09:41] – external edit 127.0.0.1documentation:language_reference:functions:potentialexpandedonclm [2018/01/11 08:37] (current) 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_1,m_1,A_{k_1,m_1}\},\{k_2,m_2,A_{k_2,m_2}\},...\}$" defining the angular part of the potential such that $\big\langle \varphi_{\tau_1}(\vec{r}) \big| V(\vec{r}) \big| \varphi_{\tau_2}(\vec{r}) \big\rangle = \sum_{k=0}^{\infty}\sum_{m=-k}^{k}  A_{k,m} \big\langle Y_{l_1,m_1} \big| C_{k,m} \big| Y_{l_2,m_2} \big\rangle$, with $\varphi_{\tau_1}(\vec{r})=R_{n_1,l_1}(r) Y_{l_1,m_1}(\theta\phi)$
  
 ===== 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