Author Topic: Why can not calculate the ElectronDensity of Bulkconfiguration using ATK-SE?  (Read 22590 times)

0 Members and 1 Guest are viewing this topic.

Offline esp

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 318
  • Country: us
  • Reputation: 3
    • View Profile
    • University of Minnesota
GNR TFET, two probe, 16nm long, 1.29nm wide .... i am trying to get the charge in the channel under different biases to calculate capacitance ... all i need is the total number of additional electrons from V1 to V2 .. then I want to do C = dQ/dV
« Last Edit: November 13, 2012, 11:24 by esp »

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5405
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Ok, then once you have computed the number of electrons you can basically forget about the size of the unit cell, I think. I would have mattered if you had periodic boundary conditions in a sheet.

But I also think you are just concerned with the true number of electrons, so there is no further need for normalization once you have that number.


Offline esp

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 318
  • Country: us
  • Reputation: 3
    • View Profile
    • University of Minnesota
that sounds good, but i still dont know how to calculate the number of electrons ... you completely confused me .. i was going to quit but that only hurts me, so i can't... i can only keep asking questions ... what doesnt make sense to me is that if you have a density, why is it so difficult?  you just multiply by volume right? only problem is, I dont know how to get the volume .. and since we went around and back i got lost ..
« Last Edit: November 13, 2012, 11:28 by esp »

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5405
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
That is the integral of the density over the volume, like you did above. So, density[:,:,:].sum() times the volume of the volume element.

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5405
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
I thought you had a nanosheet. All systems we simulate under periodic boundary conditions are effectively infinite, so there are infinitely many electrons. The number computed in this way is the number of electrons inside the simulation cell. So in that sense it's a number of electrons per a certain volume. The same would apply to any difference in densities. But for a quasi-1D device it's not so much an issue, then you can really talk about the absolute number of electrons inside the channel.

Offline esp

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 318
  • Country: us
  • Reputation: 3
    • View Profile
    • University of Minnesota
ok .. now were getting somewhere ... !!!!

from the manual:

# Calculate the volume of the volume element.
dV = numpy.dot(dX, numpy.cross(dY,dZ)) * length_unit**3

Great!


Offline esp

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 318
  • Country: us
  • Reputation: 3
    • View Profile
    • University of Minnesota
and now for the results .....

if i calcualted correctly,

0.01pF per square um

so that is 10fF per square um might possibly make sense

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5405
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
And probably (hopefully!) non-linear in the bias ;)

Offline esp

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 318
  • Country: us
  • Reputation: 3
    • View Profile
    • University of Minnesota
Let's see if these numbers make sense:
Code
	diffDensity1 = nlread(fName, ElectronDifferenceDensity, object_id="diffDensity[vg-0.25000][vds0.50000]")[0]
	diffDensity2 = nlread(fName, ElectronDifferenceDensity, object_id="diffDensity[vg-0.20000][vds0.50000]")[0]
	diffDensity3 = nlread(fName, ElectronDifferenceDensity, object_id="diffDensity[vg0.00000][vds0.50000]")[0]

	s1 = diffDensity1[:, :, :].sum()
	s2 = diffDensity2[:, :, :].sum()
	s3 = diffDensity3[:, :, :].sum()
	print s1, s2, s3, s2-s1, s3-s2

	# Find the volume elements.
	dX1, dY1, dZ1 = diffDensity1.volumeElement()
	dX2, dY2, dZ2 = diffDensity2.volumeElement()
	dX3, dY3, dZ3 = diffDensity3.volumeElement()
	length_unit1 = dX1.unit()
	length_unit2 = dX2.unit()
	length_unit3 = dX3.unit()
	# Calculate the volume of the volume element.
	dV1 = numpy.dot(dX1, numpy.cross(dY1,dZ1)) * length_unit1**3
	dV2 = numpy.dot(dX2, numpy.cross(dY2,dZ2)) * length_unit2**3
	dV3 = numpy.dot(dX3, numpy.cross(dY3,dZ3)) * length_unit3**3
	print "volumes", dV1, dV2, dV3
	numE1 = s1*dV1
	numE2 = s2*dV2
	numE3 = s3*dV3
	print "Total # electrons: ", numE1, numE2, numE3
Output:
Code
2.49328980937 1/Bohr**3 2.62952644165 1/Bohr**3 3.18669569532 1/Bohr**3 0.136236632277 1/Bohr**3 0.557169253673 1/Bohr**3
volumes 0.341388054851 Bohr**3 0.341388054851 Bohr**3 0.341388054851 Bohr**3
Total # electrons:  0.851179358199  0.897688917092  1.08789984483 
These are some pretty small volumes .. so this number of electrons is the number per a small volume element .. does it make sense if i now multiply this by device width and length to get total?
« Last Edit: November 13, 2012, 21:45 by esp »

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5405
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Ok, hm, a few things.

Perhaps most important: the difference in two difference densities at two voltages IS INDEED the same as the difference in two densities at two voltages.

However, as you hinted at, the electron difference density would not integrate up to the number of electrons, I missed that point. Only the total electron density would do that. So the main purpose of the difference density is, indeed, to look at differences between different bias or gate voltages.

You don't need the total number of electrodes (or, you can't get it anyway), what you need is the change in electrons (charge, really) relative to the change in voltage. And that is properly described in this way. I think the numbers make sense also, a decent fraction of an electron (0.05-0.2) per 0.1 V or so (I assume) sounds about right.

Offline esp

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 318
  • Country: us
  • Reputation: 3
    • View Profile
    • University of Minnesota
ok yes i thought something was strange about that ... but i did think it made sense the differences were the same .. ok ..

but still although this is all sound, it still this is then going to give me in the end, the change in charge, per this small volume correct? not the total change in charge in the device channel?

Offline esp

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 318
  • Country: us
  • Reputation: 3
    • View Profile
    • University of Minnesota
the device itself gives a good on/off ratio of at least 10^5, so there is definitely a huge change in charge .. i just need to quantify that

Offline esp

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 318
  • Country: us
  • Reputation: 3
    • View Profile
    • University of Minnesota
wouldnt it be as simple as multiplying the change in charge, per this small volume, but the total volume ?  If so, how to get that volume? I can use device width and length which I know, but I do not know the dimension in the direction perpendicular to the 2D graphene plane ... can I estimate maybe 1 Bohr ?

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5405
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
It's not charge in the volume element, it's the total charge in the channel. A nanoribbon doesn't have a well-defined volume...

Offline esp

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 318
  • Country: us
  • Reputation: 3
    • View Profile
    • University of Minnesota
ok then thank you very much .. it is just so small a capacitance so i was not sure .. ok thank you