Cartesius Library
Todo List
Subprogram atomic_energies::energy_of_atomic_configuration (atomic_orbitals)

Author! Please comment what is the meaning of different cases ALT 30.03.2020

Author, please comment on the meaning of variables

Subprogram atomic_energies::energy_of_atomic_term (atomic_orbitals)
This is a stub for the subroutine calculating the energy of an atomic term. That latter has to be further specified by the quantum numbers of the total spin and total angular momentum. Even this does not specify the term completely
Subprogram basis_set_creator::createbasisofatomicorbitals (system, basis, typeOfBasis, parameters)
rename H-3 to MAP throughout program
Subprogram basis_set_creator::createbasisofatomicorbitals_full (system, basis, typeOfBasis, parameters)

Rewrite in terms of tree structure with initAllAtomicOrbitals and setRadialPartsForAtomicOrbitals

ALT 11.03.2020: Author! please reply to DR remark

Subprogram basis_set_creator::createbasisofatomicorbitals_new (system, basis, typeOfBasis, parameters)
Rewrite in terms of tree structure with initValenceAtomicOrbitals and setRadialPartsForAtomicOrbitals
Subprogram basis_set_creator::getquantumnumbersofatomicorbitals (atomicNumber, sizeOfBasis, principal, angular, azimuthal)
DR 27.03.2020 On another note, the orbitals for, say Zn will not have (even empty) p-orbitals available for calcualtions of excited states. We need to make sure this is dealt with.
Subprogram basis_set_creator::getquantumnumbersofatomicvalenceorbitals (atomicNumber, sizeOfBasis, principal, angular, azimuthal)
DR So what is the final verdict on which orbitals are which?
Module basis_sets

Write everything to a file.

Calulate the rest of the coefficients.

Subprogram buildparticle::init_from_molcryst (filename, system, stat)
Needs to be expanded up to forming the particle containing the unit cell of Molecular crystal 12.09.2021 ALT
Subprogram buildparticle::init_from_old_data_noalloc (system, filename, input_format, laboratory, system_name, stat)

Add a property to rootParticle that would allow to identify it as a fragment.

Break up the cases into individual subroutines to make cleaner code

Subprogram buildparticle::init_from_scfslg_file (filename, system, stat)

Add check for correct geometry of unit cell for given space group

Properly deallocate scfslg system in case of error during init.

Module electronic
this must be used when doing configuratoins. So far only the case of spin-orbital used to construct Slater determinant type of configurations is implemented however, we know how to build Young table type of configurations from orbitals
Subprogram electronic_groups::electronic_group::totalorbitalmoment
Phase out totalSpin. when it is used nowhere, delete the totalSpin field
Subprogram electronic_groups::electronic_group::totalspin
DR 30.09.2021 In every mention of totalSpin change it to Multiplicity = totalSpin+1 and make sure they are different by 1 everywhere in the code.
Subprogram hybrids::getjacobianglesfromhybridizationmatrix (hybmat, angles)
Check for inconsistencies caused by the non-bijective nature of this transformation.
Subprogram link_mod::link::constructor (value, next, pDeallocator)
Rename constructor to linkConstructor.
Subprogram mathematicalsubroutines::lorentzian (w, w0, width)
to be replaced by LorentzIm throughout all applications
Module moessbauer
Add printing of EFG tensors from different sources.
Subprogram orbitals::rk_element_sto (arg, orbital1, orbital2)
Add matrix element for different centers.
Subprogram orbitals_base::deallocate_spinorbital (pSpinOrbital)
DR 14.10.1021 Don't know how to correctly deallocate this. Please someone check this.
Subprogram orbitals_base::makehybridatomicorbital_from_vals (id, s, px, py, pz, atom, hybridOrbital)
Finish commenting for hybrid atomic orbitals.
Module parametrization
Such things are to be done with use of generic interface
Subprogram points::add_child_point (parent_point, id, system, r, o, result_point)
Rewrite library to automatically add 'point' to ends of all point IDs
Subprogram points::get_point_node (pPoint)
Remove get_point_node and make sure every point knows its node by construction. E.g. by always using add_child_point
Subprogram points::point::id
Make ID allocatable to remove lots of trim() functions.
Subprogram points::point::spacetree
The whole spaceTree concept is very confusing. It should be elaborated on.
Subprogram polymorphic_list_mod::morevalues (this)
Rename moreValues to isEndOfList.
Module polymorphic_tree
Add more tests for tree functions
Subprogram polymorphic_tree::add_node2 (tree, parentName, newName, newValue, pDeallocator, result_node)
Remove add_node above and rename add_node2.
Subprogram polymorphic_tree::printnode (someNode)
Add functionality to print data of other types.
Subprogram rotations::sphericaltocubicmatrices
Remove mention of sphricalToCubic matrices and harmonicstransform_(spdf) matrices. There is a generic function to get the correct coefficient
Module slg_energies_derivatives
Needs deep reshuffling. ALT
Module symmetry_mod

Add point group irreps

Add space group irreps

Add automatic detection of space group from crystal data

Subprogram symmetry_mod::init_space_group_from_hall (sg, symb)
Add hm_symbols and ITFC number in init
Subprogram valence_approximation::set_dsk_rho_from_slater_condon ()
Expand this idea to all params in module?
Module x3doutput
to rearrange the procedures according to cartesius logic. See comments in the specific procedure.
Subprogram x3doutput::produceyoungmodulus (this, CMatrix, VertrexArray, ColorArray, Resulution)
Needs to be cut in a function YoungModulus as belonging to the elasticity modulus and a generic function drawing whatever function dependent on two angles
Subprogram x3doutput::writeatom (this, atom)
needs to go to ParticleOutput
Subprogram x3doutput::writeatomsx3d (this, output_file)

needs to be part of the ParticeOutput module

needs to be part of the ParticeOutput module

Subprogram x3doutput::writeyoungmodulusx3d (this, CMatrix, output_file)
Needs to be cut in a function YoungModulus as belonging to the elasticity modulus and a generic function drawhing whatever function dependent on two angles
Subprogram youngtableaux::checkgeners (G)
Add other checks, if necessary.