Author Topic: geometry optimization for graphene  (Read 5785 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
geometry optimization for graphene
« on: August 30, 2012, 22:00 »
i am getting segmentation fault when trying to optimize geometry for a device ... is there a basic example of optimizing the geometry of a 2 probe graphene system?
« Last Edit: August 31, 2012, 04:44 by esp »

Offline Nordland

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 812
  • Reputation: 18
    • View Profile
Re: geometry optimization for graphene
« Reply #1 on: August 31, 2012, 06:59 »
If your are getting a segmentation fault, then is something wrong. If your system is confidential, please send it by email to support.

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5576
  • Country: dk
  • Reputation: 96
    • View Profile
    • QuantumATK at Synopsys
Re: geometry optimization for graphene
« Reply #2 on: August 31, 2012, 16:26 »
Please note you cannot use Huckel for optimizations.

Offline esp

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 318
  • Country: us
  • Reputation: 3
    • View Profile
    • University of Minnesota
Re: geometry optimization for graphene
« Reply #3 on: August 31, 2012, 18:36 »
I know .. I was able to try in VNL on windows, I got memory error .. then I tried on a very powerful linux machine with tons of memory ... segmentation fault ... I made the script first using VNL, following a tutorial ... my code looks like this:
Code
device_configuration = nlread(<filename>, object_id="cfg")[0]
calculator2 = my_DeviceLCAOCalculator(oList, bias, 0.0*Volt)
device_configuration.setCalculator(calculator2)
device_configuration.update()
device_configuration = OptimizeGeometry(
	device_configuration, max_forces=0.05*eV/Ang, max_steps=100, max_step_length=0.5*Ang, 
	trajectory_filename=None, disable_stress=True, optimizer_method=QuasiNewton())					
where my_DeviceLCAOCalculator is:
Code
def my_DeviceLCAOCalculator(oList, leftBias, rightBias):

	#----------------------------------------
	# Basis Set
	#----------------------------------------
	basis_set = [
		LDABasis.Carbon_SingleZeta,
		LDABasis.Boron_SingleZeta,
		LDABasis.Hydrogen_SingleZeta,
		LDABasis.Nitrogen_SingleZeta,
		]


	# -------------------------------------------------------------
	# Calculator
	# -------------------------------------------------------------

	if oList["SCF"] == 1:

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


		right_electrode_calculator = LCAOCalculator(
			basis_set=basis_set,
			numerical_accuracy_parameters=oList["numerical_accuracy_parameters"],
			# set these for SCF
			iteration_control_parameters=oList["iteration_control_parameters"],
		)

		#----------------------------------------
		# Device Calculator
		#----------------------------------------
		calculator = DeviceLCAOCalculator(
			basis_set=basis_set,
			# set these for SCF
			numerical_accuracy_parameters=oList["numerical_accuracy_parameters"],
			iteration_control_parameters=oList["iteration_control_parameters"],
			electrode_calculators=
				[left_electrode_calculator, right_electrode_calculator],
			electrode_voltages=( leftBias, rightBias )
		)

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

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

		#----------------------------------------
		# Device Calculator
		#----------------------------------------
		device_algorithm_parameters = DeviceAlgorithmParameters(
				initial_density_type=NeutralAtom(electrode_constraint_length=0.0*Ang),
		)
		calculator = DeviceLCAOCalculator(
			basis_set=basis_set,
			numerical_accuracy_parameters=oList["numerical_accuracy_parameters"],
			iteration_control_parameters=NonSelfconsistent,
			device_algorithm_parameters = device_algorithm_parameters,
			electrode_calculators= [left_electrode_calculator, right_electrode_calculator],
			electrode_voltages=( leftBias, rightBias)
		)

	return calculator

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5576
  • Country: dk
  • Reputation: 96
    • View Profile
    • QuantumATK at Synopsys
Re: geometry optimization for graphene
« Reply #4 on: September 1, 2012, 19:17 »
The only unusual setting I see is the electrode_constrain_length, try not setting it to zero. Where is the segfault? Insert some print statements to check when it actually occurs.

Offline esp

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 318
  • Country: us
  • Reputation: 3
    • View Profile
    • University of Minnesota
Re: geometry optimization for graphene
« Reply #5 on: September 1, 2012, 19:23 »
it is on the OptimizeGeometry call

Offline esp

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 318
  • Country: us
  • Reputation: 3
    • View Profile
    • University of Minnesota
Re: geometry optimization for graphene
« Reply #6 on: September 1, 2012, 19:32 »
actually hat portion is not being run because I have it using the self-consistent portion ..

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5576
  • Country: dk
  • Reputation: 96
    • View Profile
    • QuantumATK at Synopsys
Re: geometry optimization for graphene
« Reply #7 on: September 2, 2012, 21:27 »
This is too complex to troubleshoot without exact script.

Offline esp

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 318
  • Country: us
  • Reputation: 3
    • View Profile
    • University of Minnesota
Re: geometry optimization for graphene
« Reply #8 on: September 2, 2012, 22:41 »
well that is the very basic script, and i think the only thing needed is the nc file, but i will send by email thank you