Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| documentation:language_reference:functions:potentialexpandedonclm [2016/10/10 09:41] – external edit 127.0.0.1 | documentation:language_reference:functions:potentialexpandedonclm [2025/11/20 03:29] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| 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(" | ||
| ### | ### | ||
| ===== Input ===== | ===== Input ===== | ||
| - | * bla : Integer | + | * PointGroup : String |
| - | * bla2 : Real | + | * l |
| + | * Energy | ||
| ===== Output ===== | ===== Output ===== | ||
| - | * bla : real | + | * Akm : Table containing " |
| ===== 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(" | ||
| + | print(" | ||
| + | print(Akm) | ||
| + | print(" | ||
| + | print(" | ||
| + | print(Chop(OperatorToMatrix(Opp))) | ||
| + | end | ||
| + | |||
| + | function printAkmp(Akm) | ||
| + | local t=sqrt(1/ | ||
| + | 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/ | ||
| + | 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/ | ||
| + | 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 ==== | ==== Result ==== | ||
| <file Quanty_Output> | <file Quanty_Output> | ||
| - | text produced | + | 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 ===== | ===== Table of contents ===== | ||
| {{indexmenu> | {{indexmenu> | ||
| - | |||