In order to implement a new material in Sentaurus the fastest and most efficient way consists in creating a new .par library file, structured with the same syntax architecture of standard material libraries.
Then include your customized file into the work directory and associate it to the SDevice tool of your project. That's it !
Be careful because all not-declared propertiy statements will automatically assume the Sentaurus standard values, i.e. those of Silicon, I guess...
if I well understood you're gonna delete/overwrite the Si library with your custom version intended for Perovskite. This worries me a bit. Let's suppose you do properly the job except for an (apparently) unsignificant statement that you omit to specify (the list of properties is very long and probably you don't need all of them in order to simulate your device). If the standard definition is Silicon, probably your SDevice tool will go crazy because the original material property now is missing. Why don't you define a new file from scratch? You will be able, at the end, to associate it to SDevice as THE material library (by double-clicking on the tool itself within the simulation tree in SWB and selecting the files associated to your tool).
At any rate, I'm not an expert of Perovskite and its applications and I have no experience on that naterial properties...
I go with Marco's answer regarding suggestion with .par file. Also, you need to make a copy of datexcodes.txt file into your project directory and make a entry there for created material.
Regarding new material validation,
I would suggest you to first match the resistivity of the material (do a simple I-V simulation of the creating material) with the reported resistivity (by tuning the defect density, carrier density inside the material) for electrical simulation. Regarding band gap and electron affinity, you need to take from reported experimental data.
You need to have correct n-k data for reliable optical simulation.
Now I have Parameter file for the new material.. But I am unable to copy the file to materialDB folder. can you explain the procedure to add parameter file.
As I already told you, it is sufficient to keep the .par in your work directory. Then, open the properties of the SDE tool (via SWB) and associate the file with it.
Let us know if it works (at least this procedure...)
The easiest way to add a material is to use an existing default material file. There are many extra materials in Sentaurus with names like 'Oxide', 'Insulator' and 'Metal'. Add these to your SDevice file. Then go to your default sdevice.par file (the one you get by adding materials to your SDevice program), and edit the necessary properties. This way, you need not change anything to the Datexcodes.txt, because you are customizing the Material only for that particular program. Also, you can reuse the original file later.
I added .par files in working directory, updated datexcodes.txt and added to working directory. Now I created a structure in sde in workbench (new materials are available only if I open the SDE in workbench, but not available if I open through command window) . finally I created the structure through workbench, but when I am running SDE+Sdevice it is giving error "floating point caught" and some times "convergence problem" , at the same time it is displaying the messages "undefined models" for all the newly added materials and models.
message is as follows
region "Tiox" (materil "Tiox") : UNDEFINED model "bandgap" .etc.....
the problem seems rather complex, and I would have a certain number of questions. Anyway, let's start from building-blocks. First, updating datexcodes.txt sounds a bit strange, as, for instance, the fact that materials are available only via SDE. For what concerns the 'floating point' warning, it seems that you defined your structure with an open shape somewhere. Please, check the geometry file. This could be the origin of all the other errors. The convergence issue per se, instead, may be generated by a so huge bunch of reasons that even a PhD thesis could completely exhaust. So I would start from basic questions, as:
1. Which physical models did you defined in region 'Tiox'? Is this name the same both for material and region? Maybe it is irrelevant, but I would suggest you to differentiate them.
2. Which material the region Tiox is made of? Titanuim oxide? Is this the new one you defined by-hand? And, if so, did you replaced the property statements of another material library or, as I suggested you in previous messages, did you created a new file from scratch?
3. Did you checked if the simulation tree is well constructed in terms of file dependencies? Open the project with SWB and right-click on each tool to verify whether they are defined in their natural hierarchy or not. This is also the way to check if the SDE tool is associated to the right .par file (as I mentioned many times).
I feel we're approaching to the solution. Bon courage!
now I am trying a very simple structure. luckily it is running but giving wrong IV-characteristics. I'm assuming this is because materials are UNDEFINED.(i.e new materials are not properly added)
pls see the highlighted message in the attachment.
here I defined Tiox(Titanium oxide) and you can find the models I have defined in the attachment ,
Yes, by sure having so many undefined models compromises your results!
From what i can deduce from the screenshot, the lack of definitions is diffused over all the structure. So, not only Tiox is affected but also all the other materials. This seems a file (or project) issue, rather than a syntax one. Make sure that your par file is read by SDevice!
I'll try to suggest you a simple test. Copy the text from all the libraries you need and paste it into a unique (new) file that you can call parameters.par, for instance. Put it in your working directory. Then open the project with SWB an double-click on the SDevice tool. In the new window that appears select the current library item then click on Associate... Browse your system folders until you reach the working directory. Select parameters.par to associate it to the project and save the changes.
Now try to simulate. If all works properly it's fine! Otherwise one needs to see what kind of error messages it shows in the logfile.
We are working on superconductor materials. we are in need of adding niobium and NbTiN material to TCAD library. please could anybody can tell that what are the parameter to be defined in that parameter file. There are many numeric values and formulas to define the material. how could we define that values and formulas for different materials.
I'd like to refresh this thread in the hope that new Sentaurus users can succeed in adding their own materials to their libraries, without painstakingly trying and failing for hours, like myself and some other people on here...
I'm mainly basing this on the official Sentarus Device Manual, the book 3D TCAD Simulation for CMOS Nanoelectronic Devices by Yung-Chun Wu and Yi-Ruei Jhan (Springer, 2018) and Gundala Babu's post in this thread.
Here is the step-by-step procedure that worked for me (on Linux):
1. The first step is to generate a new .par file for your material. The idea is to add this "parameter" file containing the information about the physical properties specific to your material into your Sentaurus Workbench so that you can choose to use it in your project.
For the sake of this explanation, let's pretend we are generating a parameter file for the material Vanadium.
2. In order to create the Vanadium.par file, we will first generate a default .par file for silicon, which we will use as a template. To generate this template file, open the Linux terminal in the folder where your Sentaurus project is located and type in the command: sdevice -P. This command will generate a text file called models.par in our folder (you may need to refresh the folder if you're using a GUI to see it appear there). This file contains all the default physical properties of silicon, which we will change to those of vanadium.
3. The next step is to rename this models.par file to Vanadium.par and to open it in a text editor of your choice.
4. The parameter file we have open now contains all the necessary physical information about the material you want to simulate. Some key parameters here include the effective electron/hole mass, dielectric permittivity, etc. This is where you edit the parameters which were generated automatically, which are that of Si, to the ones associated with your material. You will need to look up the appropriate values for your material and be mindful of the units, which are usually specified beside each parameter in square brackets.
5. Within each .par file, there are multiple physics models that you can choose to tell Sentaurus to use when calculating charge transport across your device. For example, calling the HighFieldDependence model in your SDEVICE command file (sdevice.cmd) will tell Sentaurus to consider how the carrier mobility saturates when the lateral electric field is increased to high values. Within HighFieldDependence in the Vanadium.par file, there are multiple formulae which you can assign to HighFieldDependence to account for this physical relationship. Which model you choose is up to you, and it depends on the material you are using. Empirical models are available for many materials in the literature, so you can define your own formulae within HighFieldDependence and ask Sentaurus to use them when it simulates the device, by changing the reference number beside the Vsat_Formula field, for example.
Note: There are two numbers separated by a comma in many of the parameters in the .par file. The first is the value for electrons, the second is the value for holes.
6. OK, let's say you have found the physical parameters for vanadium in the literature, you've replaced them in the .par file and are happy with the physical models you have specified for vanadium. We now need to place the Vanadium.par file in a folder that will be accessible to your Sentaurus project, and we need to register the existence of this .par file into a global database which Sentaurus checks to run the simulations.
7. This step is specific to each person's machine. You need to find the installation path of Sentaurus on your computer. Once there, you need to find the /lib/ folder. This folder contains a text file called datexcodes.txt. This is the database file into which we need to register the material vanadium. To do this, we use the following syntax:
Vanadium {
label="Vanadium"
group=Conductor
color=#000000, #ffffff
}
The group can be either Conductor, Semiconductor or Insulator. In the case of vanadium, we choose Conductor, but for another material, you may need to change this accordingly. The hexadecimal color codes will specify what the material will look like during visualizations. The label entry is important. Whatever is written between the quotation marks there is the exact name you will have to use when calling this material in your command files to let Sentaurus know this is the material you want to specify for a given region.
8. In the /lib/ directory there should also be another directory called /sdevice/. In it, you will find a folder called MaterialDB. This is the folder into which you copy the Vanadium.par file you've already edited.
Notes on steps 7 & 8: depending on the exact setup of your installation, you may be able to copy the MaterialDB folder and the datexcodes.txt file into your Sentaurus working directory where your projects are located, and the program will be able to source the information about materials from there directly, rather than referring to the files hidden deep in the /lib/ path. The Sentaurus search hierarchy starts with the local directory, before moving onto these deeper installation folders, but if Sentaurus cannot communicate with the right database it will throw up an error stating this when you try to run the simulation.
9. Now it's time to add the parameter file to your Sentaurus project. A sufficient way to do this for the SDEVICE Tool column in your Sentaurus Workbench is to right-click on the column, choose Edit Input and choose the Include Materials... window. Vanadium should have been added to the list of available materials, with a checkbox next to it which can be ticked, if everything worked fine in the back-end. Also, note that the .cmd file used in the SDEVICE Tool will need to refer to the internally-defined parameter file you've specified, with the syntax:
File {
parameter="@parameter@"
}
10. The SNMESH Tool column (located before SDEVICE in your Workbench) also needs to know which material parameter files to use. To tell it which ones to use, right-click on the column, choose Edit Input and choose Parameter. Here, you can specify the path pointing directly to your Vanadium.par file and you can link it to the label we registered in the database with the following example syntax:
#define ParFileDir .
Material="Vanadium" {
#includeext "ParFileDir/MaterialDB/Vanadium.par"
}
This snippet tells Sentaurus that the Parameter File Directory is the current folder (.), the material we are talking about in the database is the one with the label Vanadium, and its .par file is located in the MaterialDB folder we have copied into our Parameter File Directory, which is the current project folder.
Note: this exact snippet can also be used in the SDEVICE column, by specifying Edit Input -> Parameter. Then you will notice in Include Materials..., the Vanadium box has already been ticked.
11. This should have done the job for us. When you run a simulation node in the Workbench, if it fails (turns red) you can check its output with Ctrl+W. If it complains about anything to do with the material choice, it will state it in this output when you scroll down to the bottom of the report. If it's a problem with the text inside the Vanadium.par file, it will say something like "Insulators cannot have electron mass more than 0!" or "Invalid syntax". The clues here are usually good to allow for debugging. If it's a problem with the database, it will specifically mention the datexcodes.txt file. The issue will most likely be with the path, i.e. whether the file it is sourcing information from is located in the deep Sentaurus installation path or it needs to be in the current working directory. Best to just have the same copies of the two in both directories, so that you can avoid these errors.
I hope this was exhaustive enough to help people with this somewhat simple problem. Good luck with your simulations!