Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - esp

Pages: [1] 2 3 ... 22
1
If i have a graphene 2 probe device with source, channel drain, there is a requirement to have the electrode repeated in the channel region .. if my electrodes are created n and p type by doping with specific location of Boron and Nitrogen atoms, and I want to show variation, this is a problem .. for example, if i have an electrode, and to dope it, i can add some dopant atoms in particular locations ... now if i want to see the effect of one of these dopant atoms being placed in the wrong location, i cannot do it, because moving one atom, with automatically require that same atom moved in the mirrored section inside the channel ... so .. is there any way around this requirement?

2
General Questions and Answers / question about bandstructure
« on: March 14, 2013, 03:25 »
I am not sure if I can explain this well but i will try ..

I did some calculations of bandstructure for graphene ribbons .. now to do this i understood that i needed a sort of unit cell, which for GNRs, is a sort of GNR with a very short length, like 2 hex rings long ... now, i wanted to see the change when doped, so i doped the graphene and i can see the bands shift up and down, n type, p type, etc ... now suppose i want to see the effect of variation ... so the idea is, you dope the graphene, but doping with dopant atoms (although not even possible today), assume it is possible at some time, and there is some variation in the position of the atoms ... Now, if  i want to see the bandstructure change not for a short 2 ring section, but for an entire electrode that is longer, then it all flattens out so that there is no more linear dispersion, etc .. so how can i get to what i am looking for, using atk, in a simple way?  

What i want to know is, for example, if doped and no variation gives Ev, Ec, and Ef values of e1, e2, e3, with some variation, how do these energy levels change? This is easy when the length is short, because for example the band edges are still discernable  .. but when it is longer it is hard to tell

Does this make sense?  if not i can try with pictures

3
General Questions and Answers / Re: Graphene heterostructures
« on: January 6, 2013, 23:28 »
ahh yes this is a great idea .... i already have a function in fact to remove edge atoms for a different purpose, i can modify that ... thank you

4
General Questions and Answers / Re: Graphene heterostructures
« on: January 5, 2013, 04:09 »
back to this question .. is there any way to do this programmatically and easier now in the latest atk?

5
yes thank you that is probably exactly what i did ... i will re-run thank you

6
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:

Code
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


7
General Questions and Answers / Re: Dr. Blom's NEGF Paper
« on: December 19, 2012, 19:06 »
Yes that is the one, sorry for not mentioning the other author

8
General Questions and Answers / Dr. Blom's NEGF Paper
« on: December 19, 2012, 13:17 »
I was looking for a good NEGF paper and came across the usual suspects (Lundstrom, Datta), but then i found a recent paper by Dr. Blom in 2011!  It is a great paper, you guys should check it out.  I do not have the reference in front of me, but wanted to mention it ..

9
ok thank you for all the notes i will try it again ...

10
I did not show there I am also running with bias of course ... like 0.5V Vds, trying to to 0 and 0.5V Vgs

Code

device_configuration.setMetallicRegions([metallic_region0(value = gate_voltage), metallic_region1(value = gate_voltage)] )

device_configuration.setCalculator(
calculator(electrode_voltages=(bias,0.0*Volt)),
initial_state=device_configuration)
device_configuration.update()


11
I don't understand, why would the computing power have no effect?  you said before that more history steps helps convergence speed, and i thought you need lots of RAM for more history steps .. the main cost of the machine i am talking about is memory ... it sounds like you are talking about convergence and i am talking about convergence speed

12
cannot post larger than 400k here, sent the nc file by email

I am using the following parameters:

oList["numerical_accuracy_parameters"] = NumericalAccuracyParameters(k_point_sampling=(1,1,101))
oList["iteration_control_parameters"] = IterationControlParameters(number_of_history_steps=30, tolerance=1e-4, max_steps=140)

Code
def my_LDOSCalculator(oList):
#----------------------------------------
# Basis Set
#----------------------------------------
basis_set = [
LDABasis.Carbon_SingleZeta,
LDABasis.Boron_SingleZeta,
LDABasis.Hydrogen_SingleZeta,
LDABasis.Nitrogen_SingleZeta,
]

device_algorithm_parameters = DeviceAlgorithmParameters(
initial_density_type=NeutralAtom(electrode_constraint_length=10.0*Ang),
)

#----------------------------------------
# Electrode Calculators
#----------------------------------------
left_electrode_calculator = LCAOCalculator(
basis_set=basis_set,
numerical_accuracy_parameters=oList["numerical_accuracy_parameters"],
iteration_control_parameters=oList["iteration_control_parameters"],
)

right_electrode_calculator = LCAOCalculator(
basis_set=basis_set,
numerical_accuracy_parameters=oList["numerical_accuracy_parameters"],
iteration_control_parameters=oList["iteration_control_parameters"],
)

#----------------------------------------
# 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],
)

return calculator

Code
						LDOS = LocalDeviceDensityOfStates(
configuration=device_configuration,
energy=energy,
kpoints=MonkhorstPackGrid(1,1),
contributions=All,
energy_zero_parameter=AverageFermiLevel,
infinitesimal=1e-06*eV,
self_energy_calculator=KrylovSelfEnergy(),
spin=Spin.Sum,
)


13
General Questions and Answers / Re: ldos running over 1 week
« on: December 17, 2012, 22:12 »
yes you are right, it is the self-consistent calc, i apologize .. i suppose i called it ldos, because that is the only think i calculate which uses that calcualtor, LCAO .. so yes, it is not LDOS, it is the SC loop ...

about the computer, i only meant to emphasize it is a very powerful computer with lots of memory ...

yes about the details, i will post the parameters ...

14
i have an LDOS calculation running on a $12k, 24 core computer with tons of memory .. for over 1 or 2 weeks now ... non converging i think .. currently at step 140 .. it is graphene GNR two probe device with double gate, N=10 wide, only 16nm long ... i really want an LDOS plot .. does this sound out of ordinary?

15
35Ghz ring oscillator using novel graphene spice models i developed from atomistic simulations using ATK!
https://www.ischematics.com/webspicy/report.py?RCODE=16576536524745454512a

basic spice model of GNR TFET inverter circuit using capacitance and IV curve fit to a level 1 spice model .. all obtained from atk!

Pages: [1] 2 3 ... 22