FET2DSentaurusModelCalibration

class FET2DSentaurusModelCalibration(filename, object_id, parameter_extraction_results, number_of_processes_per_task=None, log_filename_prefix=None)

Check configuration input.

Parameters:
  • filename (str) – The full or relative filename path the study object should be saved to.

  • object_id (str) – The name of the study that the study object should be saved to within the file. This needs to be a unique name in this file.

  • parameter_extraction_results (dict) – The output of a FET2DAtomisticParameterExtraction.extractionResults() call.

  • number_of_processes_per_task (int | None | ProcessesPerNode) – The number of processes that will be used to execute each task. If the total number of process does not divide evenly into the tasks, some tasks may have less than this number of processes. If None, all available processes execute each task collaboratively.

  • log_filename_prefix (str | LogToStdOut) – Filename prefix for the logging output of the study. If LogToStdOut, all logging will instead be sent to standard output.

bfcal()

Getter for Bf_cal

channelMaterialName()
Returns:

The name of the channel material.

Return type:

str

channelThickness()
Returns:

The thickness of the channel in monolayers.

Return type:

int

contactMaterialName()
Returns:

The name of the contact material.

Return type:

str

contactOrientation()
Returns:

The Miller indices for the contact surface towards the channel.

Return type:

sequence of int

dependentStudies()
Returns:

The list of dependent studies.

Return type:

list of Study

deviceStructureVariables()
Returns:

Device structure variables.

Return type:

dict

eMparLEV()

Getter for EMparLEV

eMparUEV()

Getter for EMparUEV

eMperpLEV()

Getter for EMperpLEV

eMperpUEV()

Getter for EMperpUEV

eshift()

Getter for Eshift

extractionResults()
Returns:

All results excluding NL objects.

Return type:

dict

filename()
Returns:

The filename where the study object is stored.

Return type:

str

gcal()

Getter for g_cal

kcal()

Getter for k_cal

logFilenamePrefix()
Returns:

The filename prefix for the logging output of the study.

Return type:

str | LogToStdOut

lowerEnergyValley()

Getter for LowerEnergyValley

maxE()
Returns:

The upper energy limit for valley detection.

Return type:

PhysicalQuantity of type energy

metatext()
Returns:

The metatext of the object or None if no metatext is present.

Return type:

str | None

nLowBands()

Getter for NLowBands

nPparLEV()

Getter for NPparLEV

nPparUEV()

Getter for NPparUEV

nUpBands()

Getter for NUpBands

negfVariables()
Returns:

Input variables for NEGF.

Return type:

dict

nlinfo()

Get only the printable results from the extraction results - plain text.

Returns:

The study information.

Return type:

dict

nlinfoHtml()

Get only the printable results from the extraction results.

Returns:

The study information.

Return type:

dict

nlprint(stream=None)

Print a string containing an ASCII table useful for plotting the Study object.

Parameters:

stream (python stream) – The stream the table should be written to.
Default: NLPrintLogger()

numberOfProcessesPerTask()
Returns:

The number of processes to be used to execute each task. If None, all available processes execute each task collaboratively.

Return type:

int | None | ProcessesPerNode

numberOfProcessesPerTaskResolved()
Returns:

The number of processes to be used to execute each task. Default values are resolved based on the current execution settings.

Return type:

int

objectId()
Returns:

The name of the study object in the file.

Return type:

str

qatkBands()
Returns:

QATK bands.

Return type:

dict

resultsToTransfer()
Returns:

A copy of the relevant results from parameter extraction calculation.

Return type:

dict

saveToFileAfterUpdate()
Returns:

Whether the study is automatically saved after it is updated.

Return type:

bool

setMetatext(metatext)

Set a given metatext string on the object.

Parameters:

metatext (str | None) – The metatext string that should be set. A value of “None” can be given to remove the current metatext.

tfcal()

Getter for Tf_cal

uniqueString()

Return a unique string representing the state of the object.

update()

Run the calculations for the study object.

upperEnergyValley()

Getter for UpperEnergyValley

v0f_cal()

Getter for V0f_cal

Note

Study objects behave differently from analysis objects. See the Study object overview for more details.

Usage Examples

Example 1. Perform model calibration to extract the parameters used to run device characterization, with manually defined parameter extraction results.

from QuantumATK import *
from AddOns.FET2D.Study.FET2DSentaurusModelCalibration import FET2DSentaurusModelCalibration

# Define previous parameter extraction results.
parameter_extraction_results = {
    'channel_material_name': 'MoS2',
    'contact_material_name': 'Gold',
    'channel_thickness': 1,
    'maxE': 1.1 * eV,
    'contact_orientation': (0, 0, 1),
    'NBands': 8,
    'chi': 4.25 * eV,
    'eps': 3.38,
    'H': 0.0006516 * um,
    'BG': 1.699 * eV,
    'qatk_bands': '0.367\n1.081\n1.923\n0.989\n0.346\n0.801\n1.773\n0.989\n0.254\n1.081\n0.618\n0.989\n0.346\n0.801\n1.773\n0.989\n0.367\n1.081\n1.923\n0.989\n0.344\n0.801\n0.433\n0.989\n0.254\n1.081\n0.618\n0.989\n0.344\n0.801\n0.433\n0.989\n0.452\n0.484\n0.911\n0.85\n0.485\n0.484\n1.215\n0.85\n0.527\n0.484\n1.589\n0.85\n0.485\n0.484\n1.215\n0.85\n0.312\n0.714\n0.542\n0.989\n0.204\n1.311\n1.155\n0.989\n0.713\n0.714\n1.153\n0.989\n0.204\n1.311\n1.155\n0.989',
    'PhiSB': 0.276 * eV,
}

# Define the Model Calibration Study Object.
model_calibration = FET2DSentaurusModelCalibration(
    filename='fet2d_model_calibration_1642514480.76.hdf5',
    object_id='FET2DSentaurusModelCalibration_0',
    workfunction=7.835 * eV,
    parameter_extraction_results=parameter_extraction_results,
    log_filename_prefix_default='fet2d_model_calibration_',
)

# Start the calculations.
model_calibration.update()

# Extract the results.
model_calibration_results = model_calibration.extractionResults()

Example1.py

If a FET2DAtomisticParameterExtraction is available, the parameter extraction results can be defined as

parameter_extraction_results = parameter_extraction.extractionResults()

where parameter_extraction is an instance of FET2DAtomisticParameterExtraction that has completed all of its calculations.

See also General on FET2D.