Icepak: Patching temperatures for transient runs
In order to patch temperatures for transient runs use the following method. I'm giving an example for temperature, since that's usually the common request.. (1) Turn off zone merging in the Solve panel. This will disable zone merging, so that each object in icepak gets written out separately.. (if you're sure that your objects have distinctive properties that'll prevent it from getting merged with another object in the case file, you can skip this step) (2) in your xxxyyy.uns_in file, after the "s i i" command, add the following commands (define a (thread-id (get-thread 'block_1-solid))) ;;; where 'block_1-solid is a zone name that gets created in the case file for a solid object named block.1 in icepak. The (re)naming convention converts any periods and other weird characters to the "_" character.. I recommend that you look at the xxxyyy.diag file first to see the name mapping from icepak to the case file. (patch (list 97 0 1 (list a) () 1000)) where i've patched a temperature value of 1000 K to the cells belonging to the zone-id stored in the variable a. The number 97 merely instructs fluent that it's temperature that you're trying to patch to the cells in that zone.. (3) Now just run the script file, xxxyyy.SCRIPT If you would like to patch different values in different zones (objects) you should just repeat the above procedure in the xxxyyy.uns_in file, BEFORE the (benchmark... ) procedure is called, i.e, before fluent is told to start iterating.. __________________________________________________ Following is the Simplified instructions for customers: ________________________________________________ 1. set appropriate time steps, save intervals etc. 2. Since temperature is the only initial condition you are specifying, don't bother to impose any temperatue initial conditions. Following will help you patch you initial condition. 3. start solution for the transient with "don't start solver" button clicked This will write out all necessary input files, but will not start solution. 4. in your job directory there will be a file 'solution_id'.uns_in. Edit this text file. 5. This file will have a line ... s i i after this line insert the following text: (define a (thread-id (get-thread 'Solder-solid))) (patch (list 97 0 1 (list a) () 513)) The word, Solder is the name of the object you want to patch temperature values for. 513 is the temperature in Kelvin (240 C) you are patching on solder. If your object name is something other than Solder, you should replace it. If you are patching any other temperature value change this. The object names in Icepak are renamed in the case file. The (re)naming convention converts any periods and other weird characters to the "_" character.. I recommend that you look at the xxxyyy.diag file first to see the name mapping from icepak to the case file. 6. Save the 'solution_id'.uns_in file 7. You will also have a 'solution_id'.SCRIPT (in unix) or 'solution_id'.scr.bat (in NT) file. 8. execute this script file. This will start the transient solution. You won't see the convergence monitor. To see this you will have to open the model in Icepak and create the solution monitor from solution/monitor menu. |
||
![]()
|