Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
documentation:language_reference:functions:potentialexpandedonclm [2016/10/06 21:46] – created Maurits W. Haverkort | documentation:language_reference:functions:potentialexpandedonclm [2018/01/11 08:37] (current) – Maurits W. Haverkort | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== PotentialExpandedOnClm ====== | ||
+ | ### | ||
+ | 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(" | ||
+ | ### | ||
+ | |||
+ | ===== Input ===== | ||
+ | |||
+ | * PointGroup : String | ||
+ | * l : Integer | ||
+ | * Energy | ||
+ | |||
+ | ===== Output ===== | ||
+ | |||
+ | * Akm : Table containing " | ||
+ | |||
+ | ===== Example ===== | ||
+ | |||
+ | ### | ||
+ | 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 ==== | ||
+ | <code Quanty Example.Quanty> | ||
+ | function printAkms(Akm) | ||
+ | local Opp = Chop(NewOperator(" | ||
+ | print(" | ||
+ | print(Akm) | ||
+ | print(" | ||
+ | print(" | ||
+ | print(Chop(OperatorToMatrix(Opp))) | ||
+ | end | ||
+ | |||
+ | function printAkmp(Akm) | ||
+ | local t=sqrt(1/2) | ||
+ | local u=I*sqrt(1/ | ||
+ | local rotmatKp | ||
+ | { u, 0, u }, | ||
+ | { 0, 1, 0 }} | ||
+ | local Opp = Chop(NewOperator(" | ||
+ | print(" | ||
+ | print(Akm) | ||
+ | print(" | ||
+ | print(" | ||
+ | print(Chop(OperatorToMatrix(Opp))) | ||
+ | print(" | ||
+ | print(" | ||
+ | print(Chop(OperatorToMatrix(Rotate(Opp, | ||
+ | end | ||
+ | |||
+ | function printAkmd(Akm) | ||
+ | local t=sqrt(1/2) | ||
+ | local u=I*sqrt(1/ | ||
+ | local rotmatKd | ||
+ | { 0, 0, 1, 0, 0 }, | ||
+ | { 0, u, 0, u, 0 }, | ||
+ | { 0, t, 0,-t, 0 }, | ||
+ | { u, 0, 0, 0,-u }} | ||
+ | local Opp = Chop(NewOperator(" | ||
+ | print(" | ||
+ | print(Akm) | ||
+ | print(" | ||
+ | print(" | ||
+ | print(Chop(OperatorToMatrix(Opp))) | ||
+ | print(" | ||
+ | print(" | ||
+ | print(Chop(OperatorToMatrix(Rotate(Opp, | ||
+ | end | ||
+ | |||
+ | function printAkmf(Akm) | ||
+ | local t=sqrt(1/2) | ||
+ | local u=I*sqrt(1/ | ||
+ | local d=sqrt(3/ | ||
+ | local q=sqrt(5/ | ||
+ | local e=I*sqrt(3/ | ||
+ | local r=I*sqrt(5/ | ||
+ | local rotmatKf | ||
+ | { 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(" | ||
+ | print(" | ||
+ | print(Akm) | ||
+ | print(" | ||
+ | print(" | ||
+ | print(Chop(OperatorToMatrix(Opp))) | ||
+ | print(" | ||
+ | print(" | ||
+ | print(Chop(OperatorToMatrix(Rotate(Opp, | ||
+ | end | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | print(" | ||
+ | Et1u=1 | ||
+ | Akm = PotentialExpandedOnClm(" | ||
+ | printAkmp(Akm) | ||
+ | |||
+ | print(" | ||
+ | Eeg=1 | ||
+ | Et2g=2 | ||
+ | Akm = PotentialExpandedOnClm(" | ||
+ | printAkmd(Akm) | ||
+ | |||
+ | print(" | ||
+ | Ea2u=1 | ||
+ | Et1u=2 | ||
+ | Et2u=3 | ||
+ | Akm = PotentialExpandedOnClm(" | ||
+ | printAkmf(Akm) | ||
+ | </ | ||
+ | |||
+ | ==== Result ==== | ||
+ | <file Quanty_Output> | ||
+ | l=1 Oh | ||
+ | |||
+ | Akm = | ||
+ | { { 0 , 0 , 1 } } | ||
+ | |||
+ | | ||
+ | p_{-1}, | ||
+ | { { 1 , 0 , 0 } , | ||
+ | { 0 , 1 , 0 } , | ||
+ | { 0 , 0 , 1 } } | ||
+ | |||
+ | | ||
+ | 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 } } | ||
+ | |||
+ | | ||
+ | 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 } } | ||
+ | |||
+ | | ||
+ | d_{x^2-y^2}, | ||
+ | { { 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 } } | ||
+ | |||
+ | | ||
+ | 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 } } | ||
+ | |||
+ | | ||
+ | f_{xyz}, | ||
+ | { { 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 } } | ||
+ | </ | ||
+ | |||
+ | ===== Table of contents ===== | ||
+ | {{indexmenu> |