Author Topic: CALCULATED CARRIER CONCENTRATION  (Read 65495 times)

0 Members and 1 Guest are viewing this topic.

Offline Nemthianhoi Zou

  • Regular QuantumATK user
  • **
  • Posts: 15
  • Country: in
  • Reputation: 0
    • View Profile
CALCULATED CARRIER CONCENTRATION
« on: August 4, 2025, 14:06 »
Greetings,
I am currently facing an issue while attempting to simulate carrier concentration—specifically, the function "carrier_conc" is not recognized. My objective is to compute carrier concentration as a function of chemical potential.

Could you please guide me on how to correctly perform these simulations?

Here is the code I am using:


# %% BulkConfiguration_0 (1)

# Set up lattice
vector_a = [3.950731, 0.0, 0.0]*Angstrom
vector_b = [0.0, 3.950731, 0.0]*Angstrom
vector_c = [0.0, 0.0, 3.950731]*Angstrom
lattice = UnitCell(vector_a, vector_b, vector_c)

# Define elements
elements = [Titanium, Tin, Oxygen, Oxygen, Oxygen]

# Define coordinates
fractional_coordinates = [[ 0.5,  0.5,  0.5],
                          [ 0. ,  0. ,  0. ],
                          [ 0. ,  0.5,  0.5],
                          [ 0.5,  0.5,  0. ],
                          [ 0.5,  0. ,  0.5]]

# Set up configuration
bulkconfiguration_0_1 = BulkConfiguration(
    bravais_lattice=lattice,
    elements=elements,
    fractional_coordinates=fractional_coordinates
    )

bulkconfiguration_0_1_name = "bulkconfiguration_0_1"


# %% Set LCAOCalculator

# %% LCAOCalculator

k_point_sampling = KpointDensity(
    density_a=4.0 * Angstrom, density_b=4.0 * Angstrom, density_c=4.0 * Angstrom
)

numerical_accuracy_parameters = NumericalAccuracyParameters(
    k_point_sampling=k_point_sampling
)

calculator = LCAOCalculator(
    numerical_accuracy_parameters=numerical_accuracy_parameters,
    checkpoint_handler=NoCheckpointHandler,
)


# %% Set Calculator

bulkconfiguration_0_1.setCalculator(calculator)

bulkconfiguration_0_1.update()

nlsave('BulkConfiguration_0_1_results.hdf5', bulkconfiguration_0_1)


# %% DensityOfStates

density_of_states = DensityOfStates(configuration=bulkconfiguration_0_1)
carrier_conc=calculateCarrierConcentration(contribution=Electron,fermi_shift=None,temperature=None)
nlsave('BulkConfiguration_0_1_results.hdf5', density_of_states)
nlsave('BulkConfiguration_0_1_results.hdf5', carrier_conc)


Thank you in advance for your support.

Offline AsifShah

  • QuantumATK Guru
  • ****
  • Posts: 216
  • Country: in
  • Reputation: 4
    • View Profile
Re: CALCULATED CARRIER CONCENTRATION
« Reply #1 on: August 21, 2025, 18:45 »
Hi,
You need to check if QATK support this function internally for carrier concentration. If not you can write a python script for calculating carrier concentration post DOS calculation.

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5749
  • Country: dk
  • Reputation: 112
    • View Profile
    • QuantumATK at Synopsys
Re: CALCULATED CARRIER CONCENTRATION
« Reply #2 on: September 3, 2025, 03:11 »
Use density_of_states.calculateCarrierConcentration(...)