I tried doing what you said for doing an LDDOS calc, but I think I set something up incorrectly .. this is the error:
Traceback (most recent call last):
File "./zipdir/NL/Calculators/DeviceCalculatorInterface.py", line 192, in _update
File "./zipdir/NL/Calculators/LCAOCalculator/BaseLCAOCalculator.py", line 153, in _checkOrbitalsMatch
NLValueError: The number of orbitals must match for initializing the system. 3108 != 7252 (expected)
/home/it1/patakye/QuantumWise/atk-12.2.2/atkpython/bin/atkpython: line 3: 2345 Segmentation fault PSEUDOPOTENTIALS_PATH=$EXEC_DIR/../share/pseudopotentials PYTHONHOME=$EXEC_DIR/.. PYTHONPATH= LD_LIBRARY_PATH=$EXEC_DIR/../lib $EXEC_DIR/atkpython_exec $*
MPI Application rank 0 exited before MPI_Init() with status 139
here is my setup for the calculator:
def my_LDOSCalculator(oList):
#----------------------------------------
# Basis Set
#----------------------------------------
basis_set = [
LDABasis.Carbon_SingleZetaPolarized,
LDABasis.Boron_SingleZetaPolarized,
LDABasis.Hydrogen_SingleZetaPolarized,
LDABasis.Nitrogen_SingleZetaPolarized,
]
device_algorithm_parameters = DeviceAlgorithmParameters(
initial_density_type=EquivalentBulk(electrode_constraint_length=10.0 * Ang),
)
poisson_solver1 = MultigridSolver(
boundary_conditions=[NeumannBoundaryCondition,
DirichletBoundaryCondition,
PeriodicBoundaryCondition]
)
poisson_solver2 = MultigridSolver(
boundary_conditions=[NeumannBoundaryCondition,
DirichletBoundaryCondition,
DirichletBoundaryCondition]
)
#----------------------------------------
# Electrode Calculators
#----------------------------------------
left_electrode_calculator = LCAOCalculator(
basis_set=basis_set,
numerical_accuracy_parameters=oList["numerical_accuracy_parameters"],
iteration_control_parameters=oList["iteration_control_parameters"],
poisson_solver=poisson_solver1)
right_electrode_calculator = LCAOCalculator(
basis_set=basis_set,
numerical_accuracy_parameters=oList["numerical_accuracy_parameters"],
iteration_control_parameters=oList["iteration_control_parameters"],
poisson_solver=poisson_solver1)
#----------------------------------------
# Device Calculator
#----------------------------------------
calculator = DeviceLCAOCalculator(
basis_set=basis_set,
numerical_accuracy_parameters=oList["numerical_accuracy_parameters"],
iteration_control_parameters=oList["iteration_control_parameters"],
device_algorithm_parameters=device_algorithm_parameters,
electrode_calculators=[left_electrode_calculator, right_electrode_calculator],
poisson_solver=poisson_solver2)
return calculator