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. IfLogToStdOut
, 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()
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.