Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
2 views1,202 pages

ProCAST20180 UserGuide

Uploaded by

Shu Li
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views1,202 pages

ProCAST20180 UserGuide

Uploaded by

Shu Li
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1202

ProCAST 2018.

0 User's Guide
Table of Contents

ProCAST 2018.0 User's Guide .................................................................................... 1


Conventions and Symbols ......................................................................................... 1
Introduction ................................................................................................................ 2
Software Capabilities .............................................................................................. 2
Software Organization ............................................................................................ 4
User Manual Presentation ...................................................................................... 7
Multi-Screen Support .............................................................................................. 7
On Linux .......................................................................................................... 7
On Windows .................................................................................................... 8
FlexLM TIMEOUT Option ....................................................................................... 8
Search .................................................................................................................... 8
Visual-SDK Batch ................................................................................................... 9
How to use it in Python scripting ........................................................................ 9
How to run your Python script............................................................................. 9
Windows Platform ........................................................................................ 9
Linux Platform ............................................................................................ 10
License Requirement .................................................................................... 11
More Help on Python Scripting ..................................................................... 11
Appendix - Visual-SDK Batch ........................................................................... 13
What's New .............................................................................................................. 28
Version 2018.0 with Visual-Cast 13.5 .................................................................. 28
Version 2018.0 with Visual-Cast 13.0 .................................................................. 28
Version 2016.1 ..................................................................................................... 28
Version 2016.0 ..................................................................................................... 28
Version 2015.0 with Visual-Cast 11.5 .................................................................. 29
Version 2015.0 with Visual-Cast 11.0 .................................................................. 29
Version 2015.0 ..................................................................................................... 29
Version 2014.5 ..................................................................................................... 29
Version_2014.0 .................................................................................................... 29
Version_2013.5 .................................................................................................... 29
Version 2013.0 ..................................................................................................... 30
Software Manager .................................................................................................... 30
Module Calls ......................................................................................................... 32
Command Line Options ........................................................................................ 40
Advanced Module Calls ........................................................................................ 45
Run List ................................................................................................................ 47
Software Configuration ......................................................................................... 48

i
Customized Installation ........................................................................................ 49
VE License Information and License Validation Procedure ..................................... 53
Introduction ........................................................................................................... 54
Linux: FEATURE and ON_INIT Strategy Type .................................................... 56
Linux: Context and 1 Context ............................................................................... 60
Validation on Linux: Token ................................................................................... 63
Validation on Linux: Individual Features and Third Party Tools ........................... 64
Pre-Processing......................................................................................................... 67
Introduction ........................................................................................................... 67
File Options .......................................................................................................... 67
File Open Options ............................................................................................. 69
Save Image/Movie/Report ................................................................................ 72
Append File ....................................................................................................... 78
File Export ......................................................................................................... 79
New Session ..................................................................................................... 80
Save Session .................................................................................................... 80
Execute Session ............................................................................................... 81
Page Setup ....................................................................................................... 82
Header Settings ............................................................................................ 85
Footer Settings .............................................................................................. 86
Margin Settings ............................................................................................. 88
Page Menu .................................................................................................... 89
Preview ............................................................................................................. 94
Print ................................................................................................................... 96
Preferences....................................................................................................... 97
Edit Options ........................................................................................................ 111
View Options ...................................................................................................... 112
View Transformation ....................................................................................... 133
Mouse Manipulations ...................................................................................... 139
Pop-up Menus ................................................................................................ 140
Pre-Defined Views .......................................................................................... 141
Databases .......................................................................................................... 142
Material Database ........................................................................................... 143
Technical Details about Material Database ................................................ 176
Material Properties ...................................................................................... 180
Thermodynamic Databases ........................................................................ 184
Computation of Thermophysical Properties Based On the Different Segregation Models
.................................................................................................................... 205
Calculation of Stress Properties .................................................................. 207
Databases Recommended Range .............................................................. 210
Influence of Alloying Elements .................................................................... 212

ii
Stress Database .......................................................................................... 220
Stress Models and Properties ..................................................................... 224
Digitized Hardening ..................................................................................... 236
Plastic and Viscoplastic Properties Determination...................................... 237
Viscoplastic Properties Recommendations ................................................. 249
Visco-elasticity ............................................................................................ 260
Fatigue Model ............................................................................................. 262
Filter Database ............................................................................................ 264
Exothermic Database .................................................................................. 266
Anisotropic Database .................................................................................. 269
Microstructure Database ............................................................................. 269
Interface Database ......................................................................................... 276
Standard HTC ............................................................................................. 278
Die Combo HTC .......................................................................................... 279
Die Coating.................................................................................................. 280
Die Spray..................................................................................................... 282
Process Conditions Database ........................................................................ 288
Velocity Calculator ................................................................................... 298
Ladle Calculator ....................................................................................... 299
Inlet Mass Flow Rate Calculator .............................................................. 304
Wall .......................................................................................................... 305
Flow Colored Path ................................................................................... 305
HPDC Machine Database ............................................................................... 328
Interface Material Link .................................................................................... 329
Cast .................................................................................................................... 330
Start Simulation .............................................................................................. 331
Data Checks ................................................................................................... 339
Simulation Parameters ................................................................................... 341
General Simulation Parameters .................................................................. 355
Cycling Simulation Parameters [Cycles] ..................................................... 364
Thermal Simulation Parameters ................................................................. 368
Advanced............................................................................................................ 373
Radiation Simulation Parameters ............................................................... 375
Advanced............................................................................................................ 377
Flow Simulation Parameters ....................................................................... 378
Pouring Control .................................................................................................. 385
Advanced1.......................................................................................................... 388
Advanced2.......................................................................................................... 390
Turbulence Simulation Parameters ............................................................. 396
Lost Foam ................................................................................................... 398

iii
Technical Information: Lost Foam ...................................................................... 400
Core Gas ..................................................................................................... 404
Technical Information: Core Gas........................................................................ 406
Stress Simulation Parameters .................................................................... 408
Advanced............................................................................................................ 411
Micro Simulation Parameters ...................................................................... 414
APM............................................................................................................. 420
NAPM .......................................................................................................... 421
CAFE_Simulation_Parameters ................................................................... 421
Miscellaneous Simulation Parameters ........................................................ 421
Simulation Parameters Recommendations ................................................. 421
To disable the porosity and piping calculations ....................................... 424
POROS = 1.............................................................................................. 424
POROS = 4 (obsolete) ............................................................................ 428
POROS = 8 (obsolete) ............................................................................ 428
Volume Manager ............................................................................................ 437
Rosette Definition ........................................................................................ 479
Interface HTC Manager .................................................................................. 480
Process Condition Manager ........................................................................... 492
Gravity Vector/Tilt ........................................................................................... 504
Symmetry ........................................................................................................ 534
Periodic ........................................................................................................... 540
Virtual Mold ..................................................................................................... 541
Model Summary.............................................................................................. 546
Clean Data ...................................................................................................... 550
Model_Comments ........................................................................................... 551
Workflow ............................................................................................................. 551
Generic ........................................................................................................... 552
Gravity............................................................................................................. 564
HPDC .............................................................................................................. 580
HPDC Machine Selection ............................................................................... 610
Investment (Equiax) ........................................................................................ 616
LPDC .............................................................................................................. 634
Optimization .................................................................................................... 652
Known Limitations ....................................................................................... 687
Appendix-A- Criteria Description in ProCAST............................................. 687
Tools ................................................................................................................... 689
Measure .......................................................................................................... 689
CAD Options / Modeling Tolerance ................................................................ 703
Volume Options .............................................................................................. 707

iv
Post Editor ...................................................................................................... 709
Section Cut ..................................................................................................... 709
Volume Cut ..................................................................................................... 730
Clip Plane........................................................................................................ 732
Annotation ....................................................................................................... 733
Transform........................................................................................................ 734
Merge Models ................................................................................................. 742
Detach Elements ............................................................................................ 745
Explode ........................................................................................................... 745
Customize ....................................................................................................... 746
General .................................................................................................... 747
Appearance ............................................................................................. 753
Toolbars ................................................................................................... 754
Commands .............................................................................................. 756
Scripts ...................................................................................................... 757
Keyboard ................................................................................................. 759
Mouse ...................................................................................................... 760
Change PID .................................................................................................... 766
Units ................................................................................................................ 767
Pre-Defined Output Criterion .......................................................................... 768
Function Editor ................................................................................................ 773
Geometric Modulus ......................................................................................... 775
Compute Thickness ........................................................................................ 776
Window ............................................................................................................... 779
Copy Window .................................................................................................. 779
Couple Windows ............................................................................................. 780
Couple All Windows ........................................................................................ 780
Swap Window ................................................................................................. 781
Page Layout .................................................................................................... 781
Show Only....................................................................................................... 787
Show All .......................................................................................................... 788
Help .................................................................................................................... 788
Shortcut Keys (Hotkeys) ................................................................................. 791
Contact Support .............................................................................................. 792
Take Survey .................................................................................................... 792
myESI Customer Portal .................................................................................. 794
User Experience Improvement Program ........................................................ 794
Run of the Calculation ............................................................................................ 796
Solver ................................................................................................................. 796
Troubleshooting .................................................................................................. 799

v
Procedure to Run Standalone DataCAST .......................................................... 803
Results Viewing...................................................................................................... 804
Results Analysis ..................................................................................................... 804
Colored Flow Path .............................................................................................. 805
Chvorinov's Thermal Modulus ............................................................................ 806
Porosity............................................................................................................... 807
Niyama (Ny) Microporosity Model ...................................................................... 807
Dimensionless Niyama Microporosity Model ..................................................... 808
Fatigue Life Indicator .......................................................................................... 810
Hot Tearing Indicator .......................................................................................... 811
Cracking Indicator .............................................................................................. 811
Freckles Indicator ............................................................................................... 812
Fluid Front Tracking ........................................................................................... 815
Criterion Functions ............................................................................................. 823
Hot Spots ............................................................................................................ 823
Turbulent Model ................................................................................................. 825
BurnOn ............................................................................................................... 831
Cristal ................................................................................................................. 831
Piston Information for HPDC: Velocity, Force and Counter Pressure................ 833
Parallel Solver (DMP) ............................................................................................ 834
Introduction ......................................................................................................... 834
How Does ProCAST Parallel Work? .................................................................. 836
Use of the Parallel Solver ................................................................................... 840
Repeatability ....................................................................................................... 844
Machine Configuration ....................................................................................... 845
Case Setups........................................................................................................... 845
Thermal .............................................................................................................. 846
Volume Manager ............................................................................................ 847
Interface HTC Manager .................................................................................. 851
Process Condition Manager ........................................................................... 853
Simulation Parameters ................................................................................... 858
Fluid Flow & Filling ............................................................................................. 859
Radiation ............................................................................................................ 862
Stress ................................................................................................................. 870
Filters .................................................................................................................. 877
Semi-Solid Casting ............................................................................................. 881
Centrifugal Casting ............................................................................................. 884
Core Blowing ...................................................................................................... 887
Large Ingot Filling ............................................................................................... 894
Pin Squeeze ....................................................................................................... 895

vi
Advanced Porosity Module .................................................................................... 901
Introduction ......................................................................................................... 902
Advanced Porosity Pre-Processing .................................................................... 903
Material Properties .......................................................................................... 906
Gas and Bubble Properties............................................................................. 910
Process Information ........................................................................................ 914
Calculation Settings ........................................................................................ 921
Examples of prefix_poro.d Input File .............................................................. 927
APM Examples ............................................................................................... 932
Advanced Porosity Solver .................................................................................. 942
Advanced Porosity Post-Processing .................................................................. 946
APM Appendix .................................................................................................... 949
Appendix 1: APM Flow Chart.......................................................................... 949
Appendix 2: Growth Model of a Pore .............................................................. 951
Appendix 3: Gas Thermodynamic Database .................................................. 952
Appendix 4: List of the APM Parameters ........................................................ 955
APM References ............................................................................................. 958
New Advanced Porosity Module ............................................................................ 958
Introduction ......................................................................................................... 959
NAPM - Physical Model ...................................................................................... 959
Alloy Mass Conservation ................................................................................ 960
Darcy's Flow ................................................................................................... 960
Boundary Conditions ...................................................................................... 961
Porosity Nucleation Criterion .......................................................................... 962
Porosity Growth Model ................................................................................... 963
NAPM - Numerical Implementation .................................................................... 966
Guidelines for NAPM Usage .............................................................................. 969
Turning on NAPM Option................................................................................ 970
Basic Setup of NAPM Input Parameters ........................................................ 971
Advanced Input Options (I) ............................................................................. 973
Advanced Input Options (II) ............................................................................ 975
References ......................................................................................................... 977
Macrosegregation .................................................................................................. 977
Microstructures....................................................................................................... 980
Introduction ......................................................................................................... 980
Case Set-up and Results ................................................................................... 982
Examples ............................................................................................................ 988
Iron and Steel ................................................................................................... 1000
Introduction to Iron and Steel........................................................................ 1001
Iron and Steel Models ................................................................................... 1005

vii
Case Studies ................................................................................................ 1011
Microstructures - Stress Coupling ........................................................................ 1029
Stress Properties Depending Upon Microstructure .......................................... 1029
Final Stress Properties as Function of Microstructure ..................................... 1039
CAFE .................................................................................................................... 1042
Defining CAFE in Volume Manager ................................................................. 1042
Specifying the Calculation Zone ....................................................................... 1043
Adding CAFE Simulation Parameters .............................................................. 1048
Input Data Parameters ..................................................................................... 1049
Computation_of_Growth_Kinetics_(a2_and_a3) ............................................. 1057
CAFE Solver ..................................................................................................... 1059
CAFE Results ................................................................................................... 1063
CAFE - Histogram ......................................................................................... 1063
CAFE - Statistics ........................................................................................... 1064
CAFE - Pole Figure ....................................................................................... 1065
Euler Angle Tool ........................................................................................ 1067
CAFE - Misorientation ................................................................................... 1068
CAFE - Under Cooling .................................................................................. 1069
CAFE_References ........................................................................................... 1070
Continuous Casting .............................................................................................. 1071
Principles .......................................................................................................... 1071
Setup ................................................................................................................ 1076
Steady State Cases ...................................................................................... 1076
Non Steady State Cases (MiLE) ................................................................... 1094
MiLE Examples ................................................................................................ 1111
Thermal + Flow ............................................................................................. 1111
Thermal + Stress .......................................................................................... 1118
Hot Cracking (for Continuous Casting) ................................................................ 1121
Introduction ....................................................................................................... 1122
The RDG Hot Tearing Criterion ........................................................................ 1122
Structure of the Input Files ............................................................................... 1124
Running a Case ................................................................................................ 1127
Viewing of the Results ...................................................................................... 1128
References ....................................................................................................... 1134
User Functions ..................................................................................................... 1134
User Functions Description .............................................................................. 1134
User Functions Templates ............................................................................... 1142
External Heat Transfer Coefficient Function ................................................. 1143
Spray Heat Transfer Coefficient Function .................................................... 1144
Spray Temperature Function ........................................................................ 1145

viii
External Temperature Function .................................................................... 1147
Emissivity Function ....................................................................................... 1148
Heat Flux Function ........................................................................................ 1149
Interface Heat Transfer Coefficient Function ................................................ 1150
Mass Source Flow Rate Function ................................................................. 1152
Mass Source Vector Function....................................................................... 1153
Translation Vector Function .......................................................................... 1154
Imposed Velocity Vector Function ................................................................ 1155
Solid Transport Velocity Vector Function ..................................................... 1156
Displacement Function ................................................................................. 1157
External Function .......................................................................................... 1159
Microstructural Entities ................................................................................. 1163
User Functions Language and Compiler .......................................................... 1163
User Functions Use and Units.......................................................................... 1165
USF Export Through User Function ................................................................. 1167
Input-Output Files................................................................................................. 1169
Tips & Traps ......................................................................................................... 1176
Inlet Velocity ..................................................................................................... 1176
HPDC Shot Recommendations ........................................................................ 1177
LPDC Recommendations ................................................................................. 1177
Convergence Problems .................................................................................... 1185
Stress Calculations ........................................................................................... 1186
Gaps in Stress Models ..................................................................................... 1186
Stress Visualization .......................................................................................... 1189
Shell Preheating in Investment Casting ........................................................... 1192

ix
ProCAST 2018.0 User's Guide
This User's Guide is divided into the following sections:
 Introduction
 What’s New
 Software Manager
 VE License Information and License Validation Procedure
 Pre-Processing
 Run of the Calculation
 Results Viewing
 Results Analysis
 Parallel Solver (DMP)
 Case Setups
 Advanced Porosity Module
 New Advanced Porosity Module
 Macrosegregation
 Microstructures
 Microstructures - Stress coupling
 CAFE
 Continuous Casting
 Hot Cracking (for Continuous Casting)
 User Functions
 Input-Output files
 Tips & Traps
If you are new to this online help system, you should take a few moments to read the following:
 Conventions and Symbols

Related User Manuals


 Visual-Mesh (Cast)
 Visual-Viewer (Cast)
 QuikCAST Solver Launch in Visual-Cast

Conventions and Symbols


A number of typographic conventions and symbols are used throughout this manual. Please take
a few moments to familiarize yourself with them. You may find that this helps you locate and
understand the information you need.
Keyboard and Mouse
 Keystrokes are enclosed in pointed brackets <...> and combined with the + sign.
E.g. <Ctrl>+<A> means pressing the "Ctrl" and "A" keys on your keyboard simultaneously.
 The usual mouse vocabulary is used, that is, pointing, clicking, picking, double-clicking,
right-clicking, holding down, and dragging.
Text Styles
When the mouse pointer is moved over a hotspot, the pointer changes from the default arrow

( ) to a pointing hand ( ) and the color of the hotspot changes from blue to green.

1
 Hyperlink hotspots are shown in underlined bold blue font. When you click a hyperlink
hotspot, you are taken to information on another page, or to another location on the same
page. Once a hyperlink hotspot is clicked, its color changes from blue to purple.
 Drop-down text hotspots are shown in underlined blue font. When you click a drop-down
text hotspot, its color changes from blue to green and the hotspot expands the current
paragraph with additional information that was hidden in order to preserve the page layout.
Click the hotspot again to hide the additional text.
Symbols
A number of instantly recognizable symbols pinpoint specific information in the manual:
The paragraph in italics that follows this icon is a short summary. This allows you to
decide whether the topic is of interest to you or not.

The highlighted paragraph in italics that follows this icon is a note.

The sentence that follows this icon introduces a step-by-step procedure. This breaks
down a specific task into a numbered sequence of simple actions.

Introduction
This section consists of the following topics:
 Software Capabilities
 Software Organization
 User Manual Presentation
 Multi-Screen Support
 FlexLM TIMEOUT Option
 Search
 Visual-SDK Batch
Software Capabilities
ProCAST is a software using the Finite Element Method (FEM). It allows the modeling of Thermal
Heat Transfer (Heat flow), including Radiation with View Factors, Fluid flow, including mold filling,
Stresses fully coupled with the thermal solution (Thermomechanics). Besides that, it includes also
Microstructure/Heat treatment modeling, Grain structure modeling and Porosity modeling.
Special models are included in order to account for Semi Solid Modeling (SSM), Lost Foam and
Core blowing. Specific features are included to account for processes such as Gravity Sand
Casting High Pressure Die Casting (HPDC), Low Pressure Die Casting (LPDC), Gravity Die
Casting (GDC), Investment Casting, Continuous Casting Centrifugal and Tilt. Finally, customized
models for foundry processes, such as filters, sleeves are included.
Examples

2
Thermal calculation (Visualization of the Solid Fraction) - Courtesy of Inossman, Gruppo Cividal

Mold filling and Fluid flow calculation (Courtesy of FOMET)

3
Thermomechanical calculation (Courtesy of Düdal)
Software Organization
The software is organized around one common integrated environment, which calls the different
applications:
 Visual-Mesh: CAD geometry handling and Mesh generator
 Visual-Cast: Pre-processor, coupled with databases
 ProCAST: Solvers
 Visual-Viewer: Post-processor and data export unit
 Visual-Process for customization
The following figure presents the structure of the software. First, the geometry, in the form of a
CAD model is loaded into Visual-Mesh, to discretize the geometry (to generate finite element
mesh). Then, the mathematical model (casting model setup) is configured in Visual-Cast, Pre-
Processor. Visual-Cast is linked to ThermodynamicMaterialDatabase in which all casting
materials with Thermal, Fluid and Mechanical properties are available. Finally, the results can be
analyzed or exported (for further processing) in the Visual-Viewer Post-Processor.

4
The ProCAST solvers are divided into "Physical modules" with the following capabilities:
Thermal Module
 Heat conduction (Fourier equation)
 Latent heat release during solidification
 Cycling in die casting
 Sleeves (insulating and exothermic)
 Non-coincident meshes
 Solidification time
 Hot Spot
 Chvorinov’s modulus
 Mold burn on Secondary Dendrite Arm spacing
 Shrinkage porosity model
 Pin Squeeze
 Micro, macro-shrinkage and gas models (option)
 Niyama criterion
 Mold rigidity
 Die coating
Radiation Module
 Net radiation method
 Full view factor capabilities
 Mirror and rotational symmetries
 Relative motion of materials
 Solid or surface enclosures
Fluid Flow Module
 Navier-Stokes equation
 Penalization of the flow in the mushy zone and in the solid

5
 Mold filling algorithm, with free surface
 Filter model
 Newtonian and Non-Newtonian flow
 Semi-solid casting models (option)
 Lost Foam model (option)
 Core Blowing models (option)
 Core gas model (option)
 Tilt pouring
 Centrifugal casting (option)
 Turbulent models
 Surface tension
 Oxides, material age and flow length
 Air entrainment
 Gas models
 Misrun
Stress Module
 Elastic, Elastic-plastic, Elasto-visco-plastic, Visco-elastic
 Rigid or vacant materials
 Automatic calculation of the air gap heat transfer
 Contact algorithm between the different materials
 Contact pressure
 Die Fatigue prediction
 Hot Tearing indicator
 Distortions
 Residual Stresses
Microstructure and Heat Treatment Module
 Macrosegregation (steel)
 Grey iron (lamellar eutectic)
 Hypo eutectic Nodular Cast Iron model
 Eutectic Nodular Cast Iron Model
 Compacted Graphite Iron (CGI) model
 Ni-Resist model
 Equiaxed Dendrite Model
 Eutectic Model
 TTT/CCT model based on Kolmogorov-Johnson-Mehl-Avrami
 Heat Treatment Advisor for age hardening of A356/357 T4/6/7
Continuous Casting Module
 Steady state model
 Non steady state model (MiLE Algorithm for the start-up phase)
 Couple thermal-flow-stress for casting and die distortion
 Tundish modeling
 SEN optimization
 Metallurgical length
 Heat balance to optimize primary and secondary cooling
Optimization Module (embedded in Visual in the next release)
 Curve Fitting (Inverse modeling)
 Process parameters
 Robustness
 DoE

6
Grain Structure (CAFÉ) Module
 Equiaxed to Columnar Transition
 Grain structure
The features linked to specific processes (e.g. cycling, tilt, ...) are embedded in the corresponding
physical modules.
User Manual Presentation
 The Getting Started chapter presents briefly the set-up of a simple thermal case.
 The Pre-Processing chapter details the usage of the various menus available in Visual-
Cast. Databases, Simulation Parameters are also presented in this chapter.
 After the Run of the Calculation chapter, two chapters are dedicated to Results Viewing
and Results Analysis.
 The Case Setups chapter details the setup of different cases and is divided according to
the "Physical modules", i.e. Thermal, Fluid Flow & Filling, Radiation, Stress, etc.
 Finally, Tips & Traps and Tutorials will illustrate the use of the software.
 Visual-Mesh (Cast), the mesh generator, is presented in a separate manual from the
Visual-Environment interface.
 Visual-Viewer (Cast), the post processor, is presented in a separate manual from the
Visual-Environment interface.
Multi-Screen Support
On Linux
To work with multi-screen support on Linux, you should set the following list variables:
1. VHOST_DISPLAYMULTI_ENABLE: This variable should be 1 to enable the multi-screen
feature, or 0 to disable it.
For example, to enable multi-screen feature: setenv VHOST_DISPLAYMULTI_ENABLE 1
2. VHOST_DISPLAYPRIMARY_INDEX: This variable allows you to specify the zero-based
index of the monitor to be used to display the application. If this variable is defined, the first
screen will be used by default.
For example, to define Screen 1 as primary screen: setenv
VHOST_DISPLAYPRIMARY_INDEX 0
To define Screen 2 as primary screen: setenv
VHOST_DISPLAYPRIMARY_INDEX 1
3. VHOST_DISPLAYCONFIG_LIST: This variable is used to define the screen configuration
you want to use. This variable consists of a list of values, with each screen configuration
separated by “;” character. A screen configuration should be defined as follows:
left*top*right*bottom. If this variable is not defined, the application will try to automatically
determine the screen configuration using Xinerama library.
For example, to specify that you have two screens docked on the right side of the first
screen:

7
setenv VHOST_DISPLAYCONFIG_LIST 0*0*1680*1050;1680*0*1440*900

On Windows
For smooth transition between multi-monitors on Windows, you should define environmental
variable VHOST_DISPLAYSTRICT_ENABLE=0

When you run Visual-Environment on multiple monitors and try to drag the window
from one monitor to the other, it requires two steps: (1) Drag from source monitor halfway,
and (2) Drag from target monitor the remainder. Other programs like Windows Explorer
can be dragged from one monitor to the other in one step. With the env variable
VHOST_DISPLAYSTRICT_ENABLE=0, this issue is solved.
FlexLM TIMEOUT Option

TIMEOUT is a flexnet optional keyword that can be set to control the release of licenses
when the application has been inactive for a period of time.
To enable this, you must set the environment variable VHOST_FLEXTIMEOUT_ENABLE with
value 1.
Procedure
1. If the application is inactive, it is detected and signalled after 30 minutes.
2. After signalling inactivity, another dialog box is posted to inform you that TIMEOUT is
checked. If you do not respond, the license is released at the end of the TIMEOUT period.
For example, if TIMEOUT = 2700 (i.e., 45 minutes) and the application is inactive, it is signalled
after 30 minutes. If you do not respond, the license is released 15 minutes after informing you
about the inactivity.
Search

Description of the search feature.


This section contains information about the search feature. Using this feature, you can search for
the commands from menu bar.
 There is an edit box at the right side of the menu bar where you can enter text after
focusing on it.

To search for a command


 Click inside the search edit box to focus the edit.
 Enter text using keyboard.
 The search result will be displayed in a menu.

8
To execute a command
 Search for the command. The result will be displayed in a menu.
 Click on the menu item or select the menu item and then press “Enter” key. The command
will be executed.
To see a command’s path and shortcut
 Search for the command. The result will be displayed in a menu.
 Place the mouse pointer over the menu item. A tooltip will be shown.
 You can see the full command’s path along with its shortcut from the tooltip.

Visual-SDK Batch

Visual-SDK Batch is a Python interface to APIs that facilitates access to Visual-


Environment’s CoreData-Model. This interface allows you to import the APIs as a Python
module, namely VistaDb, in the Python scripts. The scripts can be run directly from Python
console without launching VE.
VistaDb Python module provides access to around 2000 APIs using which files can be imported,
required operations can be performed on any entity and finally, the data can be exported back
into a file.

SDK Batch is certified only for scripting in “Crash, Impact, Safety” trade.
How to use it in Python scripting
VECoreSDK.py is the Visual-SDK Batch Python interface which is located under
/Tools/VDBTools/ directory in the Visual-Environment installation. The Initialize method in
VECoreSDK class initializes the SDK environment, thereby allowing access to data model APIs
through VistaDb module.
How to run your Python script
Windows Platform
A shortcut Visual-SDK Batch is created on Visual-Environment installation. Double-click on this
shortcut to launch the Visual-SDK Batch console. It sets the environment for Visual-SDK Batch
(see image below).

Now type python space your script and arguments to your script to start the execution.

9
Linux Platform
An alias vesdkbatch is created on Visual-Environment installation in Linux. To run your Python
script, type vesdkbatch space your script and arguments to your script, and press Enter to start
the execution (see image below).

Python script example to modify MATER attributes:

For more Python script examples, refer Appendix – Visual-SDK Batch.

10
License Requirement
Visual-SDK Batch requires VISUAL_SDK_BATCH license feature while running.
More Help on Python Scripting
To get more detailed information on available Visual Data-Model (VistaDb) Python APIs, you can
use API Help. API Help is available with all Visual-Environment versions. To invoke API Help,
launch Visual-Environment > go to Visual-SDK (Define Process) application > Help menu > API
Help (see below image).

The API Help is invoked in the web browser (see image below).

To see all available Python APIs for VE core data model, click on API. It will list all VE modules
available for Python scripting in the left side windows with number of APIs in each module. Here,
select VistaDb module. It will list all APIs available in VistaDb module in the below left window
(marked with green color).

11
Currently, Visual-SDK batch supports only VistaDb Python module APIs for
scripting.

To get information on VPS solver keywords and their attributes (fields) and corresponding VE
core data model class and attributes, select Solvers. It will list all solvers in the left side window.
Here, select PAM-CRASH. It will list all the keywords of VPS in the below left side window
(marked with green color). To get information on any keyword, select the keyword. A table will be
listed in the main area with details of keyword field name (as per VPS solver), data type, Vista DB
class (the class name in which this field is stored), attribute name in data model and description.
One small Python script example is also listed at the bottom with the usage.

12
Appendix - Visual-SDK Batch
Examples: Five Python script examples are explained in the following sections. To run these
examples, you can copy the Python script code into a text file and save it with .py extension. After
that, you can run the saved script with Visual-SDK Batch.
1. Creating new entities:
a. This example demonstrates how to create new entities.
b. This script takes pc file as input.
c. First, it loads the input pc file into the Visual Data-Model.
d. After loading model, it creates one function (FUNCT / ) in the loaded model with title
‘New function’.
e. Three points are appended to the created function.
f. ScaleX and ScaleY field values are set to 1.0.
g. OffsetX and OffsetY values are set to 0.0.
h. XAxis and YAxis are set to unknown (-1).
i. Export the modified model into a new pc file.

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import os
import sys
if len(sys.argv) < 2:
print "Error: Input pc file is not passed."
sys.exit(0)

pcFile = sys.argv[1]
currentDir = os.getcwd()

13
pcFilePath = currentDir+"/"+pcFile
if os.path.exists(pcFilePath) == False:
pcFilePath = pcFile
if os.path.exists(pcFilePath) == False:
print "Error: Passed input pc file "+pcFile+" not found."
sys.exit(0)
#-- add path to python path
sys.path.append(os.path.dirname(os.path.realpath(sys.argv[0])))

from VECoreSDK import *


VELib = VECoreSDK()
VELib.Initialize()

import VistaDb
model, error = VistaDb.LoadFile(pcFilePath, Visual_File_Format_PAMCRASH)

#-- Creating a function

import VgPoint2
funcTitle = "New function"
PointList = []

#point 1
point1 = VgPoint2.VgPoint2 ()
point1.x = 0.0
point1.y = 0.0
PointList.append(point1)
#point 2
point2 = VgPoint2.VgPoint2 ()
point2.x = 0.2
point2.y = 10.0
PointList.append(point2)
#point 3
point3 = VgPoint2.VgPoint2 ()
point3.x = 0.5
point3.y = 100.0
PointList.append(point3)

func = VistaDb.ModelCreateObject (model, r"FeLoadCurveClass")


funcId = VistaDb.ModelGetUniqueId (model, "FeLoadCurveClass", 0)

14
VistaDb.SetId (func, funcId)
ret = VistaDb.DbsSetName (func, funcTitle)
VistaDb.SetDoubleValue (func, r"ScaleX", 1.)
VistaDb.SetDoubleValue (func, r"ScaleY", 1.)
VistaDb.SetDoubleValue (func, r"OffsetX", 0.)
VistaDb.SetDoubleValue (func, r"OffsetY", 0.)
VistaDb.SetIntegerValue (func, r"XAxis",-1)
VistaDb.SetIntegerValue (func, r"YAxis",-1)
VistaDb.AppendVgPoint2List (func, r"PointList", len(PointList), PointList)

#-- export file with options


#-- Maintain directory structure=No or Yes - Same as in File->Export panel in VCP. By
default, it is set to Yes.
#-- Solver files=No or Yes - Same as in File->Export panel in VCP. By default, it is set to
Yes.
#-- Block prompt=No or Yes - To block console prompts. By default, it is set to Yes.
VistaDb.ExportFile(model, "D:\\temp\\CreatingNewEntities.pc",
Visual_File_Format_PAMCRASH, "Solver files=Yes;Block prompt=No")

2. Modifying entities:
a. This example demonstrates how to modify entities in the model.
b. This script takes pc file as input.
c. First it loads the input pc file into the Visual Data-Model (VistaDb.LoadFile).
d. After loading model, it gets all the material in the model.
e. All the materials are looped over to modify them.
f. For each material, it creates card image object (VistaDb.ActivateCI)
g. Once card image is created, it gets field values and modifies them.
h. After modification, export the model with new path.

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import os
import sys
if len(sys.argv) < 2:
print "Error: Input pc file is not passed."
sys.exit(0)

pcFile = sys.argv[1]
currentDir = os.getcwd()
pcFilePath = currentDir+"/"+pcFile
if os.path.exists(pcFilePath) == False:
pcFilePath = pcFile
if os.path.exists(pcFilePath) == False:

15
print "Error: Passed input pc file "+pcFile+" not found."
sys.exit(0)
#-- add path to python path
sys.path.append(os.path.dirname(os.path.realpath(sys.argv[0])))

from VECoreSDK import *


VELib = VECoreSDK()
VELib.Initialize()

import VistaDb
model, error = VistaDb.LoadFile(pcFilePath, Visual_File_Format_PAMCRASH)

#--- Get all materials in the model


num_mats,mat_list = VistaDb.ModelGetObjectList(model,"FeMatClass")

#--- Go over and check each materials attributes (fields) values and modify them
for cur_mat in mat_list:
mat_id = VistaDb.GetId(cur_mat)
len, mat_name = VistaDb.GetObjectName(cur_mat)
print "\n" + mat_name

#--- Activate card image


VistaDb.ActivateCI(1, [cur_mat], 0, 1, model)
ret, rho, type = VistaDb.GetFieldValue("RHO")
#--- VistaDb.GetFieldValue API takes the field name and returns its value in the card
#--- It returns 3 values:
#--- 1. ret-> it is the return value and if ret == -1, then field is not found in the card
otherwise field value is returned
#--- 2. rho-> value of the field in the card. Always returned in string form
#--- 3. type-> field value type. type == 0 for interger, type == 1 for float and type == 2 for
string. This type can be used to convert return field value

#--- Check and modify material density


if rho != None and not "<" in rho:
print "RHO Old value" + rho
if float(rho) < 1000.0:
rho = "1000.0"
VistaDb.SetFieldValue("RHO", rho)
print "RHO New value: " + rho

#--- Check and modify material young modulus

16
ret, e, type = VistaDb.GetFieldValue("E")
if e != None and not "<" in e:
print "E Old value: " + e
if float(e) > 200.0:
e = "200.0"
VistaDb.SetFieldValue("E", e)
print "E New value: " + e

ret, isint, type = VistaDb.GetFieldValue("ISINT")

if isint != None and not "<" in isint:


print "ISINT Old value: " + isint
if int(isint) != 2:
isint = "2"
VistaDb.SetFieldValue("ISINT", isint)
print "ISINT New value: " + isint

ret, qvm, type = VistaDb.GetFieldValue("QVM")


if qvm != None:
print "Field QVM Value: " + qvm

ret, lcleak, type = VistaDb.GetFieldValue("LCLEAK")


if lcleak != None:
print "Filed LCLEAK Value: "+lcleak

#-- export file with options


#-- Maintain directory structure=No or Yes - Same as in File->Export panel in VCP. By
default, it is set to Yes.
#-- Solver files=No or Yes - Same as in File->Export panel in VCP. By default, it is set to
Yes.
#-- Block prompt=No or Yes - To block console prompts. By default, it is set to Yes.
VistaDb.ExportFile(model, "D:\\temp\\ModifyingEntities.pc",
Visual_File_Format_PAMCRASH, "Maintain directory structure=Yes;Solver files=No;Block
prompt=No")

3. Deleting entities:
a. This example demonstrates how to delete entities in the model.
b. This script takes pc file as input.
c. First it loads the input pc file into the Visual Data-Model (VistaDb.LoadFile).
d. After loading model, it gets all the material in the model.
e. Delete the first material from the model (VistaDb.ModelDestroyObject).
f. Export the modified model.

17
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import os
import sys
if len(sys.argv) < 2:
print "Error: Input pc file is not passed."
sys.exit(0)

pcFile = sys.argv[1]
currentDir = os.getcwd()
pcFilePath = currentDir+"/"+pcFile
if os.path.exists(pcFilePath) == False:
pcFilePath = pcFile
if os.path.exists(pcFilePath) == False:
print "Error: Passed input pc file "+pcFile+" not found."
sys.exit(0)
#-- add path to python path
sys.path.append(os.path.dirname(os.path.realpath(sys.argv[0])))

from VECoreSDK import *


VELib = VECoreSDK()
VELib.Initialize()

import VistaDb
model, error = VistaDb.LoadFile(pcFilePath, Visual_File_Format_PAMCRASH)

#-- Get all materials and delete one material


num_mats,mat_list = VistaDb.ModelGetObjectList(model,"FeMatClass")

#-- Go over all material and print their name


for cur_mat in mat_list:
len, mat_name = VistaDb.GetObjectName(cur_mat)
print mat_name

#--- Delete first material in the model


if num_mats > 0:
VistaDb.ModelDestroyObject(model, mat_list[0])

#-- Any entity in the model can be deleted after getting it from the model

18
#-- export file with options
#-- Maintain directory structure=No or Yes - Same as in File->Export panel in VCP. By
default, it is set to Yes.
#-- Solver files=No or Yes - Same as in File->Export panel in VCP. By default, it is set to
Yes.
#-- Block prompt=No or Yes - To block console prompts. By default, it is set to Yes.
VistaDb.ExportFile(model, "D:\\temp\\DeletingEntities.pc",
Visual_File_Format_PAMCRASH, "Maintain directory structure=Yes;Solver files=No;Block
prompt=Yes")

4. Model hierarchy:
a. This example demonstrates how to get model hierarchy.
b. This script takes pc file as input.
c. First it loads the input pc file into the Visual Data-Model (VistaDb.LoadFile).
d. After loading model, it gets all include/submodel/module, etc., components in the
model (VistaDb.ModelGetObjectList).
e. Loops all the include/submodel/module, etc., and prints each type in the console.
f. Export the model.

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import os
import sys
if len(sys.argv) < 2:
print "Error: Input pc file is not passed."
sys.exit(0)

pcFile = sys.argv[1]
currentDir = os.getcwd()
pcFilePath = currentDir+"/"+pcFile
if os.path.exists(pcFilePath) == False:
pcFilePath = pcFile
if os.path.exists(pcFilePath) == False:
print "Error: Passed input pc file "+pcFile+" not found."
sys.exit(0)

#-- add path to python path


sys.path.append(os.path.dirname(os.path.realpath(sys.argv[0])))

from VECoreSDK import *


VELib = VECoreSDK()
VELib.Initialize()

19
import VistaDb
model, error = VistaDb.LoadFile(pcFilePath, Visual_File_Format_PAMCRASH)

#--- Get all submodels (it includes submodel, include, stage, module etc.)
subModelNumb, subModelList = VistaDb.ModelGetObjectList (model,
"OrganizeSubModClass")

#--- Go over all model hierarchy items


for cur_submodel in subModelList:
#-- Identify their types with solver keyword
ret, submodel_name = VistaDb.GetObjectName(cur_submodel)
submodel_type = VistaDb.GetIntegerValue(cur_submodel,
"SubModelIncludeFileType")

if submodel_type == 0:
submodel_include_flag = VistaDb.GetIntegerValue(cur_submodel,
"OrganizeSubModAsIncludeFile")
if submodel_include_flag == 1:
print "It is a include. Keyword - 'INCLU /'. Name - " + submodel_name
else:
print "It is a submodel (VCP specific). Keyword -
'$@SBMODEL_BEGIN'. Name - " + submodel_name

elif submodel_type == 3:
print "It is a model. Keyword - 'MODEL /'. Name - " + submodel_name
elif submodel_type == 4:
print "It is a global module. Keyword - 'GLOBAL/'. Name - " +
submodel_name
elif submodel_type == 5:
print "It is a modulur module. Keyword - 'MODULE/'. Name - " +
submodel_name
elif submodel_type == 6:
print "It is a stage. Keyword - 'STAGE /'. Name - " + submodel_name
elif submodel_type == 7:
print "It is a switch. Keyword - 'SWITCH/'. Name - " + submodel_name
elif submodel_type == 8:
print "It is a switch case. Keyword - 'SWCASE/'. Name - " + submodel_name

#--- Get parent in the model hierarchy


parent = VistaDb.GetObjectValue(cur_submodel, "OrganizeSubModParentObject")

#--- Get all entities (cards) belong to current item

20
num_entities, entity_list = VistaDb.OrganizeGetAllSubModelTaggedEntities(model,
cur_submodel)

#-- export file with options


#-- Maintain directory structure=No or Yes - Same as in File->Export panel in VCP. By
default, it is set to Yes.
#-- Solver files=No or Yes - Same as in File->Export panel in VCP. By default, it is set to
Yes.
#-- Block prompt=No or Yes - To block console prompts. By default, it is set to Yes.
VistaDb.ExportFile(model, "D:\\temp\\ModelHierarchy.pc",
Visual_File_Format_PAMCRASH, "Maintain directory structure=Yes;Solver files=No;Block
prompt=Yes")

5. VistaDb API help:


a. This example explains some most commonly used VistaDb APIs with its usage.
b. This script takes pc file as input.
c. First it loads the input pc file into the Visual Data-Model (VistaDb.LoadFile).
d. Goes over the model and explains some most commonly used Visual Data-Model
(VistaDb) APIs with API documentation.
e. Export the model.

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

#--- This script explains how to use Visual-SDK Batch.


#--- This also explains some important Visual Data-Model (VistaDb) APIs
import os
import sys
if len(sys.argv) < 2:
print "Error: Input pc file is not passed."
sys.exit(0)

pcFile = sys.argv[1]
currentDir = os.getcwd()
pcFilePath = currentDir+"/"+pcFile
if os.path.exists(pcFilePath) == False:
pcFilePath = pcFile
if os.path.exists(pcFilePath) == False:
print "Error: Passed input pc file "+pcFile+" not found."
sys.exit(0)
#-- add path to python path
sys.path.append(os.path.dirname(os.path.realpath(sys.argv[0])))

21
#--- import and initalize the Visual Core Library
from VECoreSDK import *
VELib = VECoreSDK()
VELib.Initialize()

#-- Import Visual Data-Model python module


import VistaDb

#--- Import the passed pc file into Visual Data-Model


model, error = VistaDb.LoadFile(pcFilePath, Visual_File_Format_PAMCRASH)

#--- Get current active model

#--- API Name: 'VistaDb.GetCurrentModel'


#--- Arguments: None
#--- Returns: 1. Current active pre-model (e.g .pc file)
#--- Usage: You can use this API to get active current pre-model

current_model = VistaDb.GetCurrentModel()

#--- API Name: 'VistaDb.GetCurrentResultModel'


#--- Arguments: None
#--- Returns: 1. Current active post-model (e.g .ERF, .DSY etc)
#--- Usage: You can use this API to get active current post (result) model

# current_post_model = VistaDb.GetCurrentResultModel()

#--- Get all materials in the model

#--- API Name: 'VistaDb.ModelGetObjectList'


#--- Arguments: 1. Current active model (current_model)
#--- 2. Class name ("FeMatClass")
#--- Returns: 1. Number of entities in the model
#--- 2. Vista object list of entities in the model
#--- Usage: You can use 'VistaDb.ModelGetObjectList' API to get all entities in the
model of any type by passing its class name.
#--- For example, for parts class name is "FePartClass", for nodes "FeNodeClass"
and so on.

num_materials, material_list = VistaDb.ModelGetObjectList(current_model,"FeMatClass")

22
#--- Go over all materials and check each materials attributes (fields) values and modify
them
for current_material in material_list:

#--- Get material ID

#--- API Name: 'VistaDb.GetId'


#--- Arguments: 1. Vista object
#--- Returns: 1. Identifier (ID) of the passed vista object
#--- Usage: You can use this API to get indetifier of any entity in the model.

material_id = VistaDb.GetId(current_material)

#--- Get material name

#--- API Name: 'VistaDb.GetObjectName'


#--- Arguments: 1. Vista object
#--- Returns: 1. Length of the entity name
#--- 2. Entity name
#--- Usage: You can use this API to get name of any entity

material_name_length, material_name = VistaDb.GetObjectName(current_material)


print "\n Material Name: " + material_name

#--- Activate Card Image (CI) to set/get card field values

#--- API Name: 'VistaDb.ActivateCI'


#--- Arguments: 1. Number of entities to activate the card image
#--- 2. Vista object list of entities to activate the card image
#--- Returns: None
#--- Usage: You can use Card Image (CI) APIs, to set/get values in the entity card.
#--- Before you can use Card Image APIs, you require to activate
'VistaDb.ActivateCI'
#--- the Card Image for a given entity.
#--- This can be used for all entity types, e.g material, part, DIS3D, contacts etc.
#--- Limitations: Other entities references in the card (e.g functions in material) cannot
be set/get with this.
#--- And only integer, float and string values can be set/get in the entity card.
VistaDb.ActivateCI(1, [current_material], 0, 1, current_model)

#--- Get younag modulas of the material

23
#--- API Name: 'VistaDb.GetFieldValue'
#--- Arguments: 1. Field name as spcified in the solver manual
#--- Returns: 1. If -1 then field does not exist in the card. Note:-Looks some issue
sometime returning as 0 when RHO is not there in the card
#--- 2. Field value in string form
#--- 3. type-> field type (type -> 0 for interger, type -> 1 for float and type -> 2 for
string. This type can be used to convert return field value
#--- Usage: You can use this API to get any field value in the card
return_flag, rho, type = VistaDb.GetFieldValue("RHO")

if return_flag != -1 and rho != None:


print "\n Material young modulus value: " + rho
new_rho = "1000.0"

#-- Set some new value to the field in the card


#--- API Name: 'VistaDb.SetFieldValue'
#--- Arguments: 1. Field name as spcified in the solver manual
#--- 2. New value of the field in string form
#--- Returns: 1. -1 if unsuccessful otherwise successful
#--- Usage: You can use this API to get any field value in the card
return_value = VistaDb.SetFieldValue("RHO", new_rho)

#--- Get a vista object from its ID.

#--- API Name: 'VistaDb.ModelGetObjectFromId'


#--- Arguments: 1. Current active model
#--- 2. Class name of the entity
#--- 3. Entity ID
#--- Returns: Vista object if entity found with given ID otherwise None.
#--- Usage: You can use this API to get any entity for given ID and its class name in
Vista data base

mater_10101 = VistaDb.ModelGetObjectFromId(current_model, "FeMatClass", 10101)

#--- Get material name

#--- API Name: 'VistaDb.GetStringValue'


#--- Arguments: 1. Vista object of the entity
#--- 2. Resource name as specified in the Vista data model
#--- Returns: Name of the entity if found otherwise None.

24
#--- Usage: You can use this API to get entity name.
#---- But it is reccomanded to use 'VistaDb.GetObjectName' API instead of this.

mater_name = VistaDb.GetStringValue(mater_10101, "Name")

print "\n Material (Id 10101) name is: " +str(mater_name)

#--- Get stree-staring(LC1 to LC8) functions referred in the material

#--- API Name: 'VistaDb.GetObjectValue'


#--- Arguments: 1. Vista object of the entity
#--- 2. Resource name as specified in the Vista data model
#--- Returns: Vista object of the reference entity.
#--- Usage: You can use this API to get entity references
LC1 = VistaDb.GetObjectValue(mater_10101, "LCStressStrain1Pam")

LC2 = VistaDb.GetObjectValue(mater_10101, "LCStressStrain2Pam")


LC3 = VistaDb.GetObjectValue(mater_10101, "LCStressStrain3Pam")
LC4 = VistaDb.GetObjectValue(mater_10101, "LCStressStrain4Pam")
LC5 = VistaDb.GetObjectValue(mater_10101, "LCStressStrain5Pam")
LC6 = VistaDb.GetObjectValue(mater_10101, "LCStressStrain6Pam")
LC7 = VistaDb.GetObjectValue(mater_10101, "LCStressStrain7Pam")
LC8 = VistaDb.GetObjectValue(mater_10101, "LCStressStrain8Pam")

#--- Get part with name 001_SELOUT_Part

#--- API Name: 'VistaDb.ModelGetObjectFromName'


#--- Arguments: 1. Current active model
#--- 2. Class name of the entity
#--- 3. Entity Name
#--- Returns: Vista object if entity found with given Name otherwise None.
#--- Usage: You can use this API to get any entity for given Name and its class name in
Vista data base
part_001_sellout = VistaDb.ModelGetObjectFromName(current_model, "FePartClass",
"001_SELOUT_Part")

print "\n Part with name '001_SELOUT_Part' is: " + str(part_001_sellout)

#--- Delete a rigid body with id 1010221

25
rbody_1010221 = VistaDb.ModelGetObjectFromId(current_model,
"FeNodalRgdBdyClass", 1010221)
print "\n Rigid body with ID 1010221 is: " + str(rbody_1010221)
if(rbody_1010221 != None):
#--- API Name: 'VistaDb.ModelDestroyObject'
#--- Arguments: 1. Current active model (current_model)
#--- 2. Vista object to be deleted
#--- Returns: None
#--- Usage: This API can be used to delete any entity in the model
VistaDb.ModelDestroyObject(current_model, rbody_1010221)

#--- Check contact (ID 10201) IRMV value and if it is not equal to 2 then set it to 2
contact_10201 = VistaDb.ModelGetObjectFromId(current_model, "FeContactClass",
10201)
print "\n Contact with ID 10201 is: " + str(contact_10201)
if(contact_10201 != None):
#--- API Name: 'VistaDb.GetIntegerValue'
#--- Arguments: 1. Vista object
#--- 2. Resource name as specified in the Vista data model
#--- Returns: 1. Integer value value in the card (here IRMV value in the contact
card)
#--- Usage: This API can be used to get integer value from the card where
irmv_val = VistaDb.GetIntegerValue(contact_10201,
"InitialPenetrationRemovalFlag")
if irmv_val != 2:
#--- API Name: 'VistaDb.SetIntegerValue'
#--- Arguments: 1. Vista object
#--- 2. Resource name as specified in the Vista data model
#--- 3. New value (here 2) to be set in the entity card
#--- Returns: None
#--- Usage: This API can be used to set integer value in the entity card
VistaDb.SetIntegerValue(contact_10201, "InitialPenetrationRemovalFlag", 2)

#--- Get all SHELL elements by giving its keyword name

#--- API Name: 'VistaDb.VdbGetEntityListForAGivenKeyword'


#--- Arguments: 1. Current active model (current_model)
#--- 2. Keyword name ("SHELL / ")
#---3. Sub-type(""). For example to get material type 100, then pass keyword name as
"MATER / " and sub-type "100".
#--- 4. Solver (2). VPS solver number is equal to 2 in Vista data model
#--- Returns: 1. Number of shell elements in the model

26
#--- 2. Vista object list of shell elements in the model
#--- Usage: You can use this API to get entities from a given keyword with a sub-type.

num_shells, shell_list = VistaDb.VdbGetEntityListForAGivenKeyword(current_model,


"SHELL / ", "", 2)
print "\n Number of shell elements in the model are: " +str(num_shells)

#--- Get all include files in the model

#--- API Name: 'VistaDb.OrganizeMngrGetSubModelsOfGivenType'


#--- Arguments: 1. Current active model (current_model)
#---2. sub-model type (0 -> for 'INCLU / ' include file or sub-model (VCP specific))
#--- For other types:
#--- a) submodel_type -> 3 for 'MODEL / '
#--- b) submodel_type -> 4 for 'GLOBAL/ '
#--- c) submodel_type -> 5 for 'MODULE/ '
#--- d) submodel_type -> 6 for 'STAGE / '
#--- e) submodel_type -> 7 for 'SWITCH/ '
#--- f) submodel_type -> 8 for 'SWCASE/ '
#--- Returns: 1. Number of inlcude and submodels in the model
#--- 2. Vista object list of inlcudes and submodels in the model
#--- Usage: This API can be used to submodel types entities in the model (see 'a)' to 'f)'
for more details)
submodel_type = 0
num_includes_submodels, inlcude_submodel_list =
VistaDb.OrganizeMngrGetSubModelsOfGivenType(current_model, submodel_type)

#--- now collect include files


include_list = []
for current_include in inlcude_submodel_list:
submodel_include_flag = VistaDb.GetIntegerValue(current_include,
"OrganizeSubModAsIncludeFile")
if(submodel_include_flag == 1):
include_list.append(current_include)

print "\n Number of include files in the model are: " +str(len(include_list))

#-- export file with options


#-- Maintain directory structure=No or Yes - Same as in File->Export panel in VCP. By
default, it is set to Yes.
#-- Solver files=No or Yes - Same as in File->Export panel in VCP. By default, it is set to
Yes.

27
#-- Block prompt=No or Yes - To block console prompts. By default, it is set to Yes.
VistaDb.ExportFile(model, "D:\\temp\\APIHelp.pc", Visual_File_Format_PAMCRASH,
"Maintain directory structure=Yes;Solver files=Yes;Block prompt=Yes")

What's New
This section consists of the following topics:
 Version 2018.0 with Visual-Cast 13.5
 Version 2018.0 with Visual-Cast 13.0
 Version 2016.1
 Version 2016.0
 Version 2015.0 with Visual-Cast 11.5
 Version 2015.0 with Visual-Cast 11.0
 Version 2015.0
 Version 2014.5
 Version 2014.0
 Version 2013.5
 Version 2013.0
Version 2018.0 with Visual-Cast 13.5
This section describes the main news of ProCAST v2018.0 with Visual-Cast 13.5.
The links refer to the corresponding sections of the release notes for more details.
 Visual-Cast
 Visual-Mesh (Cast)
 Visual-Viewer (Cast)
Version 2018.0 with Visual-Cast 13.0
This section describes the main news of ProCAST v2018.0 with Visual-Cast 13.0.
The links refer to the corresponding sections of the release notes for more details.
 Visual-Mesh (Cast)
 Visual-Cast
o ProCAST
o QuikCAST
 Visual-Viewer (Cast)
Version 2016.1
This section describes the main news of ProCAST v2016.1.
The links refer to the corresponding sections of the release notes for more details.
 Visual-Mesh (Cast)
 Visual-Cast
o ProCAST
o QuikCAST
 Visual-Viewer (Cast)
Version 2016.0
This section describes the main news of ProCAST v2016.0.
The links refer to the corresponding sections of the release notes for more details.
 Visual-Mesh (Cast)
 Visual-Cast

28
o ProCAST
o QuikCAST
 Visual-Viewer (Cast)
Version 2015.0 with Visual-Cast 11.5
This section describes the main news of ProCAST v2015.0 with Visual-Cast 11.5.
The links refer to the corresponding sections of the release notes for more details.
 Visual-Mesh (Cast)
 Visual-Cast
 ProCAST
 Visual-Viewer (Cast)
Version 2015.0 with Visual-Cast 11.0
This section describes the main news of ProCAST v2015.0 with Visual-Cast 11.0.
The links refer to the corresponding sections of the release notes for more details.
 Visual-Mesh (Cast)
 Visual-Cast
 ProCAST
 Visual-Viewer (Cast)
Version 2015.0
This section describes the main news of ProCAST v2015.0.
The links refer to the corresponding sections of the release notes for more details.
 Visual-Mesh
 Visual-Cast
 ProCAST
 Visual-Viewer (Cast)
Version 2014.5
This section describes the main news of ProCAST v2014.5.
The links refer to the corresponding sections of the release notes for more details.
 Visual-Mesh
 Visual-Cast
 ProCAST
 Visual-Viewer (Cast)
Version_2014.0
This section describes the main news of ProCAST v2014.0.
The links refer to the corresponding sections of the release notes for more details.
 Visual-Mesh
 Visual-Cast
 ProCAST Solver
 Visual-Viewer (Cast)
Version_2013.5
This section describes the main news of ProCAST v2013.5.
The links refer to the corresponding sections of the release notes for more details.
 Visual-Mesh

29
 Visual-Cast
 ProCAST Solver
 Visual-Viewer (Cast)
Version 2013.0
This section describes the main news of ProCAST v2013.0.
The links refer to the corresponding sections of the release notes for more details.
 Visual-Mesh
 Visual-Cast
 ProCAST Solver
 Visual-Viewer (Cast)

Software Manager
When the software is installed on Windows, an icon named ESI Group is automatically installed
on the Desktop of the computer. Click on this icon, then on the "Visual-Environment 13.5" icon. In
the Visual-Environment 13.5 folder, click on the Visual-Cast 13.5 icon to launch Visual-Cast 13.5

30
or in the Visual-Environment 13.5 folder, instead of clicking on Visual-Cast 13.5, clicking on
Visual-Environment 13.5 opens the following window.

Select Trade from the "Select set of application:" drop-down list.


Select Casting category and select the required default context.

This section consists of the following topics:


 Module Calls
 Command Line Options
 Advanced Module Calls
 Run List
 Software Configuration
 Customized Installation

31
Module Calls
The different contexts in the Casting application can be called from the Applications bar.
Click on Applications menu to get the list of contexts under Casting category.

Click on Mesh, Cast or Viewer to activate the specific context. Clicking on Manager posts the
Application Manager.

General Procedure to Set Up a Casting Case in Visual-Cast


There are two approaches to set up case from ProCAST2013 in Casting Trade of Visual-
Environment. They are detailed as follows:
1. Set up the Pre model or Case on CAD in Casting Trade: Load and handle CAD model
in Visual-Mesh (Cast). Change the context to Visual-Cast. Set up the Pre Model in Visual-
Cast (assign materials, initial condition, boundary condition, interface condition & solver
parameters). Change the context to Visual-Mesh (Cast). Generate mesh in Visual-Mesh
(Cast) (2D and 3D). Submit the case to solver in Visual-Cast. View results in Visual-Viewer
(Cast).
2. Regular mode to set up the case similar to ProCAST2013: Load and clean the CAD file
in Visual-Mesh (Cast). Mesh the CAD model. Change context to Cast. Set up the case.
Submit the case to ProCAST solver in Cast. Change context to Viewer to view the results.

32
Generic organization of applications in Casting Simulation Trade is followed.
Launch Visual-Mesh (Cast) by selecting "Mesh" option in the Application bar.
Open the case from File menu with appropriate format (STEP, IGES... or .vdb file). Please
refer to the Info on Visual-Mesh (Cast) in Manual for further details.

33
34
35
Applying Boundary Conditions directly on CAD data is strongly recommended as it
brings more flexibility in the set up management: in case of remeshing, set up is not
modified and can be run without any modification.
The DataCAST module is internally available in Start Simulation panel of Visual-Cast.
Initially, we can activate the same from Options tab of Start Simulation panel. This
translates one input file generated by the pre-processor Visual-Cast (i.e. the prefixd.dat (or
.vdb) file) into binary files (prefixg.unf) which will be used by the calculation. Some error
checking is also performed at this stage.
Soon after the DataCAST is run, messages are written in command console in Visual-
Cast, as shown below.

DataCast run can be separately run if required by user, or else whenever we run
ProCAST, DataCast run is internally taken care of.
Upon "Run", a Command Window will be automatically opened and the solver will start
calculations. As this window is independent from Visual-Cast, it is possible to use it while
the calculation is running. When the calculation is finished, a PAUSE will be prompted and

36
one has to press any key (e.g. ENTER) to make the window close. If there is a problem
during the execution, a warning or an error message may be printed in this window.

APM, CAFE, HCS & Inverse solvers are available in Start Simulation panel.
Results can be viewed at any point of time (even during the run of the calculation) by
changing context to Viewer from Application Menu. If the case name is set, as well as the
current working directory, the case is automatically loaded in the post-processor upon
context change from Cast to Viewer, as shown below.

37
To monitor the status of the calculation, one has to click on Monitor button in Start
Simulation panel. This will display the status of simulation run.
A graphical status of the simulation will be shown with the relevant information concerning
the calculation (i.e. percent filled, solid fraction, time step, current time, CPU time, ...)
corresponding to the case name indicated in the Case Name field as soon as we click on
Monitor. The status is refreshed automatically. To exit the Status window, press the Close
button.

38
Generic Commands of Visual-Environment

39
All the commands used to launch any contexts inside Visual-Environment are
available in User Guide under the section Command Line Options in Visual-Environment
Command Line Options

Description of command line options.


Command Line Arguments
To launch VE from Command line, use the syntax:

Typical examples:
…\VisualEnvironment.bat -activeconfig Trade:cis -activeapp VisualCrashPamCrash
…\VisualEnvironment.bat -activeconfig Others:SYSTUS -activeapp VisualSystus
…\VisualEnvironment.bat -activeconfig Others:MESH -activeapp VisualMesh

Solutions in Application Name to be used on Command Line


Manager
Custom Solutions:All
Seat Solutions:Seat

Trade in Application Name to be used on Command Line


Manager
Custom Trade:All
Casting Trade:Casting
Composites Trade:CompositesandPlastics
Crash,Impact,Safety Trade:cis
Electromagnetics Trade:Electromagnetics
Fluid Dynamics Trade:CFD
Multi-Physics Trade:Multi-Physics
NVH and Dynamics Trade:NVHandDynamics
Sheet Metal Forming Trade:SheetMetalForming
Virtual Integration Platform Trade:ssi
Welding and Assembly Trade:WeldingandAssembly

40
Performance in Application Name to be used on Command Line
Manager
Custom Performance:All
Crash PAM Performance:Crash
MEDYSA Performance:MEDYSA
NVH-IA Performance:NVH-IA
Safe Performance:Safe
Seal Performance:Seal
Shock Performance:Shock
VPS Performance:VPS

Others in Application Name to be used on Command Line


Manager
Custom Others:All
LS-DYNA Others:LS-DYNA
MADYMO Others:MADYMO
NASTRAN Others:NASTRAN
RADIOSS Others:RADIOSS
SYSTUS Others:SYSTUS
VTM Others:VTM
Visual-Mesh Others:MESH
Visual-Viewer Others:VIEWER

Application Name in Name to be used on Command Line


Application Manager
Assembly VisualAssembly
CAD Clean VisualGeomRepair
Cast VisualCast
CEM VisualCEM
CFD VisualCFD
Crash DYNA VisualCrashDyna
Crash PAM VisualCrashPamCrash
Crash RAD VisualCrashRad
DIEMAKER VisualDieMaker
Distortion VisualPLY
DSS VisualDSS
FORM VisualFORM
Heat Treatment VisualHeatTreatment
Life NASTRAN VisualLifeNastran
Local Model Advisor VisualLocalModelAdvisor

41
Materials (Composites) VisualCompositeMaterials
MEDYSA VisualMedysa
Mesh VisualMesh
Mesh (Cast) VisualMeshCast
NVH-Interior Acoustics VisualCrashPamCrashNVH
Process Executive VisualProcessExec
Quoting VisualQuoting
RTM VisualRTM
Safe VisualSafe
Safe MAD VisualSafeMadymo
SDK (Debug Process) VisualProcessBuilderDebug
SDK (Define Enterprise Process) VisualProcessBuilderDefineEnterpriseProcess
SDK (Define Process) VisualProcessBuilderDefineProcess
SDK (Define Reports) VisualProcessBuilderDefineReports
SDK (Execute Process Builder) VisualProcessBuilderExecute
Seal VisualSEAL
Seat Dynamic Comfort VisualSeatDynamicComfort
Seat Single Core Model VisualSeatSingleCoreModel
Seat Static Comfort VisualSeatComfort
Seat Thermal Comfort VisualSeatThermalComfort
Seat Trim Manufacturing VisualSeatTrimManufacturing
Seat Whiplash VisualSeatSafety
Shock VisualShock
Stamp VisualStamp
SYSTUS VisualSystus
Viewer VisualViewerGeneral
Viewer (Cast) VisualViewerCast
Viewer (CFD) VisualViewerCFD
Viewer (Composites) VisualViewerCompositesForming
Viewer (Seal) VisualViewerSeal
Viewer (Weld) VisualViewerWeld
VTM VisualVTM
Weld VisualWeld

Following is a list of command line options:


-sessionrun session Session all applications.
filename
-nodisplay Running the application in NO SCREEN mode.
-exit Exit the application.

42
-ftype <filetype> To specify the file format. Refer the table below for the
supported file formats.
-imp <filename> To specify the file name to import.
-exp <filename> To specify the file name to export.
-exp_as_imp <filename> To specify the file name to export as imported.
-e <ascii file name> All the curves from the file will be plotted.
Visual-Viewer specific command lines
-cmdf <cmd filename> Loading of PAMVIEW command file.
-tmpvarsep <separator> To specify the separator for template input variables.
-tmpvar <variable list> To specify the template input variables.
-template <template Loading of Visual-Viewer template.
filename>
-tmpdata To specify file names of the template. This will be used to
overlay the template with iteration data files.
-tmpmode This will be used along with the tmpdata option.
This is used to specify to load the template in
“Append” or “Overlay” mode.
Visual-Mesh specific command line
-batch_mesh To mesh loaded model using Mesh-Process (2D).
-tetra_mesh To mesh loaded model using Tetra Mesh-Process.
-param_file To supply batch-mesh parameters through a file.
<batch_mesh.config file>
-elem_qual_file <filename> To supply element quality parameter values through a file
(used for Mesh-Process and Tetra-Mesh process).

File Format File type character


PAMCRASH p
LS-DYNA d
RADIOSS rb for block format and r for sequential, r42, r44,
r51 - block format
MADYMO m
NASTRAN n
IGES ig
VISTA format db
CATIA ct
UG ug
SYSTUS sy
STL st
DSY (PAMCRASH output file) pr
LS-DYNA output file dr

43
For Casting Trade in Windows
1. Batch Script Run
VEBatch.bat -activeconfig Trade:Casting -activeapp VisualCast -sessionrun
<session_file_name>
For example, in Visual-Cast:
C:\Users >D:\VE9\Windows-x64\VEBatch.bat -activeconfig Trade:Casting -activeapp
VisualCast -sessionrun
C:\Users\Desktop\Test_For_Versions\Casting_Simulation_Suite_Session.py
For all other applications in Casting Trade, just change in the above command as shown
below:
-activeapp VisualMeshCast
-activeapp VisualViewerCast

VEBatch.bat will be in the installed directory under \Windows-x64 for Windows 64 bit
& \Windows-x86 for Windows 32
2. File loading
Generic Option:
a. With application in screen mode:
VisualEnvironment.bat -activeconfig Trade:Casting -activeapp applicationname -
ftype p -imp “File Path”
For example, in Visual-Cast with Screen display mode:
..\VisualEnvironment.bat -activeconfig Trade:Casting -activeapp VisualCast -ftype p
-imp "C:\Users\Desktop\Porosity_QuickTest\T017.vdbt"
For all other applications in Casting Trade, just change in the above command as
shown below:
-activeapp VisualMeshCast
-activeapp VisualViewerCast
b. Running application in no screen mode:
VisualEnvironment.bat -activeconfig Trade:Casting -activeapp applicationname -
ftype p -imp “File Path” -nodisplay
For example, in Visual-Cast without Screen display mode:
..\VisualEnvironment.bat -activeconfig Trade:Casting -activeapp VisualCast -ftype p
-imp "C:\Users\Desktop\Porosity_QuickTest\T017d.dat" -nodisplay
For all other applications in Casting Trade, just change in the above command as
shown below:
-activeapp VisualMeshCast
-activeapp VisualViewerCast
However, in VE13.5, this is not completely no screen mode. It will hide the display
object, so reference to the graphics is still required. Because of this, remote
launching is still not possible in Linux systems.
c. Exiting the application after loading the file:
..\VisualEnvironment.bat -activeconfig Trade:Casting -activeapp applicationname -
ftype p -imp “File Path” -exit
For example, in Visual-Mesh (Cast):

44
..\VisualEnvironment.bat -activeconfig Trade:Casting -activeapp VisualMeshCast -
ftype p -imp "C:\Users\Desktop\Porosity_QuickTest\T017d.dat" -exit
For all other applications in Casting Trade, just change in the above command as
shown below:
-activeapp VisualCast
-activeapp VisualViewerCast
3. Session Run
a. With application in screen mode:
VisualEnvironment.bat -activeconfig Trade:Casting -activeapp applicationname -
sessionrun “File Path”
For example, in Visual-Viewer (Cast) without Screen display mode:
..\VisualEnvironment.bat -activeconfig Trade:Casting -activeapp VisualViewerCast -
sessionrun "C:\Users\Desktop\Porosity_QuickTest\T017.py"
For all other applications in Casting Trade, just change in the above command as
shown below:
-activeapp VisualCast
-activeapp VisualMeshCast
b. Running application in no screen mode
VisualEnvironment.bat -activeconfig Trade:Casting -activeapp applicationname -
sessionrun “File Path” -nodisplay
For example, in Visual-Viewer (Cast) without Screen display mode:
..\VisualEnvironment.bat -activeconfig Trade:Casting -activeapp VisualViewerCast -
sessionrun "C:\Users\Desktop\Porosity_QuickTest\T017.py" -nodisplay
For all other applications in Casting Trade, just change in the above command as
shown below:
-activeapp VisualCast
-activeapp VisualMeshCast
4. DataCast Run
For example, in Visual-Cast:
..\VisualEnvironment.bat -activeconfig Trade:Casting -activeapp VisualCast -nodisplay -
imp C:\Users\Desktop\Porosity_QuickTest\T017.vdb -datacast -exit

It is mandatory to give the working folder to use this option as shown in the example.
"Flag" is an integer value defining:
0: no layer
1: partial layer
2: full layer

Similarly, on Linux, the above commands can be used.


Advanced Module Calls
Advanced modules such as Advanced Porosity module, CAFE module or HCS solver can now be
called from the Start Simulation panel.
To do so, the solver options should be initially activated.

45
 "Advanced Porosity module" will activate the possibility to launch Advanced Porosity
calculations (see the Advanced Porosity Module chapter for more details).
 "HCS module" will activate the possibility to launch HCS calculations.
 "CAFE Module" will activate the possibility to launch CAFE calculations.

'Execute ProCAST first' option, as shown in the below GUI, is automatically activated
for any Advanced Solvers, for example, APM, CAFE, ..., to be run.

46
Run List
The Run List allows the automatic launching of several calculations in a row, as well as the
"chaining" of different calculations (such as a ProCAST thermal calculation followed by an
Advanced Porosity calculation). This also allows the launching of calculations in batch mode.

47
When "Solver available" is selected from left window, by default, active model is selected and
populated on to the right window. To change the case, use 'browse folder' option. Clicking on
Save button will save the batch file. Run list will run the batch file. Adding and removing the
solvers from the list can be done with the help of the right and left blue arrows.

There is also a provision to run only DataCast separately in Visual-Cast, from Start
Simulation GUI in Cast menu. Restart can be done by entering the corresponding step
number, by toggling on "Re-Start" check box in the Start Simulation GUI.
Software Configuration

ProCAST versions are automatically detected if ProCAST solvers are installed in the
system. With selected version, its solver path is shown in Path below Solver in Start
Simulation GUI. If it is not detected, then ProCAST solver needs to be correctly installed.

48
Customized Installation
Generally, software is installed in a centralized database location of the company.
ProCAST allows to install the software in a Read-only location and to customize the location of
the files that have to be modified by the user (status files, preferences, Visual Application launch
through ProCAST Manager).
1. User databases: User databases capabilities can be used wherever we need to modify
the databases in Visual-Cast.
Procedure: Copy all/desired materials from Public database to User database.

If user database is not active, please activate by giving correct paths in User
database path.
Material Database in Visual-Cast

49
50
Copying the Materials in User Database
Right-click on All (folder) in Public database and select Copy. Click User database tab.

51
Right-click on All (folder) and select Paste. More options about Database are available in
the User Manual in the VE version.

52
The level of copy is extended to all folders of Company Database. Company
Database is similar to User Database. As the name indicates, Company database is
reserved for Companies to have their own customized databases.
2. Other Customization option through Environment variable
ProCAST20135_USER for the status files and preferences.
If the user wants to set their own preferences and status files, they should copy the "pref"
and "statpro" directories to the desired location (e.g. /my_pref_location/pref and
/my_pref_location/statpro). Then, the ProCAST20135_USER environment variable should
be manually set to the /my_pref_location directory.

Please note that the "Preferences" directory contains preferences of the User
customized icons of Visual-Mesh (Cast).
VE License Information and License Validation Procedure
This section consists of the following topics:
 Introduction

53
 Linux: FEATURE and ON_INIT Strategy Type
 Linux: Context and 1 Context
 Validation on Linux: Token
 Validation on Linux: Individual Features and Third Party Tools
Introduction
This piece of paper is very important in ensuring the license checkout in Visual-Environment at
application level, feature level and for various strategies. It is so important to ensure the license
checkout as it is directly linked to money, and also it is very important to double-check the
correctness of checkout before communicating to the respective team heads. An attempt is made
here to document each and every aspect of license validation and its procedure in this document
to ensure the smooth validation of license checks in Visual-Environment.
Feature-Based License Scheme (the only one proposed for CASTING): The client needs an
individual feature for each context (1 for Mesh, 1 for Viewer, 1 for Weld, ...). Each time he selects
a context, he fetches a feature license that is released when the application exits. If the feature is
not available, the client cannot select the corresponding context.
Token-Based License Scheme: The client needs a tokens pool dedicated to Visual. Each time
he selects a context, he fetches a fixed number of tokens from the pool. When all available
tokens (in the license file) are used, the client will not be able to select a new context.
Context-Based License Scheme: The client may use 1, 2 or ANY contexts in a VE session,
depending on the context license he has (CONTEXT1, CONTEXT2, CONTEXT3). For each
session run, he will fetch a context license. When all available context licenses are used, the
client will not be able to launch a VE session.

Types of Licenses
Three different types of licenses exist:
 FEATURE:Licenses based on features (previous system).
 CONTEXT:Licenses based on contexts count.
 VISUAL_CONTEXT1: One context can be used.
 VISUAL_CONTEXT2: Two contexts can be used simultaneously.
 VISUAL_CONTEXT3: Three or more contexts can be used simultaneously.
 TOKEN: Licenses based on tokens count.
 Each context is converted in VISUAL_TOKEN tokens.
 Usage of contexts increases the number of tokens requested.
In all cases, a VISUAL_BASE seat is required to launch Visual-Environment.

Feature System
 It is the previous licensing system.
 To add flexibility, two strategies to check out the features are proposed.
 On Init:The features are requested during the initialization phase.
 On Fly:The features are requested during the usage, when entering the contexts.
 Unavailable contexts (no licenses) are now grayed in Application bar and Application
Manager.
 VISUAL_BASE seat required to launch VE.

Context System
 This system is based on the number of contexts to be used.
 There are three options:
 VISUAL_CONTEXT1:One context can be used.

54
 VISUAL_CONTEXT2:Two contexts can be used simultaneously.
 VISUAL_CONTEXT3:Three or more contexts can be used simultaneously.
 Selected contexts can be managed and modified during the session using the Context
Manager in the Context bar.
 Third-party options are not converted in contexts and require standard features.
 VISUAL_BASE seat required to launch VE.

List of Compatible Applications


All contexts except:
 Visual-Seal
 Visual-Process Builder

Token System
 This system is based on the usage of VISUAL_TOKEN tokens.
 Each context is converted in tokens.
 Depending of the usage, tokens are requested.
 The number of tokens really used is computed in a way to limit the maximum
number of tokens used in a single session (maximum of 12 tokens per session).
 Third-party options are not converted in tokens and require standard features.
 VISUAL_BASE seat required to launch VE.

Number of Tokens by Context


All contexts check out six tokens except:
 Visual-Mesh (Cast): 4 tokens
 Visual-DSS: 2 tokens
 Visual-Process Builder: Not available in Tokens mode

Used Tokens in a Session


 From 0 to 6 tokens (first context):Full “tokens price”.
 From 6 to 18 tokens (second and third contexts):Half “tokens price”.
 More than 18 tokens (Three and more contexts):No more tokens taken.
 One VISUAL_BASE seat by session.

Synthesis
Compatibility of contexts versus strategy:

Application name FEATURE CONTEXT TOKENS

Visual-Process Executive VISUAL_PROCESS_EXECUTIVE 6

Visual-Mesh (Cast) VISUAL_MESH 4

Visual-Viewer (Cast) VISUAL_VIEWER 6

VisualDSS VISUAL_COMPOSER 2

55
Visual-Cast VISUAL_CAST 6

Visual-Weld VISUAL_WELD 6

Visual-SDK VISUAL_PROCESS_BUILDER

List of Third Party Components Not Included in Either Context or Token


 The Visual-Environment seat:
 VISUAL_BASE
 The CAD converters:
 VISUAL_CATIA (import CATIA V4 files)
 VISUAL_CATIAV5 (import CATIA V5 files)
 VISUAL_UNIGRAPHICS (import UG files)
 VISUAL_PARASOLID (import Parasolid files)
 VISUAL_INTEROP_STEP (import Step files)
 VISUAL_INTEROP_PROE (import Pro Engineer files)
 Thermal properties calculation in Visual-Cast:
 COMPUTHERM_AL
 COMPUTHERM_NI
 COMPUTHERM_FE
 COMPUTHERM_TI
 COMPUTHERM_MG
 COMPUTHERM_CU
 Other tools:
 VISUAL_VKI (to read NASTRAN op2 files)
 VISUAL_RADPAM
 VISUAL_FULLSTS/VISUAL_ALLSTS (for Morphing)
 VISUAL_WISETEX (for Wisetex)
 STAMP2G_IOLIB (for psp2erf in StampTools)
 CRIPTE_BASE (for CRIPTE Tools)
Linux: FEATURE and ON_INIT Strategy Type
 Install version locally [it is all right to validate even on server version]
 Clean up VE and .mwesi folders from the home path
 Set env variable FLEXLM_DIAGNOSTICS=3

Sometimes, for few third party tools and for few features, FLEXLM_DIAGNOSTICS
fails to capture all the information. So, it is advised to ask your system administrator to
provide you with server flexlm license log. You can use this log information (Flexlm Extract
functionality) only when you are using the server based license. In case you are using
Node lock license, use the log enabling Flexlm log options available in Flexlm tools
(C/flexlm/ in case of Windows, and for Linux, check with system administrator).
Typical log Extract functionality looks like the following:

20:16:56 (pam_lmd) OUT: "VISUAL_BASE"


20:16:57 (pam_lmd) OUT: "VP_SOLUTIONS" (6 licenses)
20:16:57 (pam_lmd) OUT: "VISUAL_TOKEN" (6 licenses)

20:17:21 (pam_lmd) OUT: "VISUAL_ALLSTS"

56
20:17:22 (pam_lmd) IN: "VISUAL_ALLSTS"

20:17:26 (pam_lmd) OUT: "VISUAL_ALLSTS"


20:17:27 (pam_lmd) IN: "VISUAL_ALLSTS"

20:18:00 (pam_lmd) OUT: "VISUAL_ALLSTS"


20:18:00 (pam_lmd) IN: "VISUAL_ALLSTS"

20:18:25 (pam_lmd) IN: "VP_SOLUTIONS" (6 licenses)


20:18:25 (pam_lmd) IN: "VISUAL_BASE"
20:18:25 (pam_lmd) IN: "VISUAL_TOKEN" (6 licenses)

 Launch version with alias visualenv -strategy


 Toggle on Feature and On_Initialization in the posted License strategy dialog.

 In the posted Application Manager, select Custom and Select All.

57
 Check in the background terminal for Application Checkout success. It typically looks
like the following:

The string "Checkout Succeeded: VISUAL_BASE..." indicates the feature is checked out.
 As the license strategy is defined Feature and On_Init, on launch all the applications
should be checked out (skin will not be checked out). Following are the features that
should check out on launch [The list given below is with reference to VE8.0].

FEATURE STATUS

VISUAL_BASE

58
VISUAL_CEM

VISUAL_COMPOSITE_MATERIALS

CRASH_DYNA

CRASH_PAM

CRASH_RAD

DSS

LIFE_NASTRAN

LOCAL_MODEL_ADVISOR

MEDYSA

MESH

PROCESS_EXECUTIVE

SDK

SEAL

SYSTUS

SAFE

SAFE_MAD

SHOCK

VIEWER

WELD

CAST

RTM

You should check similarly by launching VisualEnvironmentBeta.bat and should


check for Beta Features checkout. On launching beta script, it should check out all the
above listed features along with the beta features, viz., COMPOSITE_FORMING,
COMFORT,DIEMAKERand VISUAL_OPT.

Feature names, viz., Composer, HVI, VISUAL_PROCESS_BUILDER and Rayon


are still old names. It is supposed to be VISUAL_DSS, VISUAL_SHOCK, VISUAL_SDK
and VISUAL_VTM.

VISUAL_BASEis common for all strategies and it should check out always by default
on launch of Visual-Environment.

Linux: FEATURE and ON_FLY Strategy Type

59
 Launch version with alias visualenv -strategy
 Toggle on Feature and On_Fly in the posted License strategy dialog.
 Check in the background terminal for Application Checkout success. Here, check out
will happen only for the active application.
 After launching the application, change applications one by one and check for Checkout
Success.

On setting any Skin as default application in the Application Manager, check out
should happen for its parent applications.
E.g.: Keep NVH_Interior Acoustics as default in Application Manager and launch Visual-
Environment. Check out should happen for VISUAL_CRASH_PAM.
Similarly, for Visual-Cast, Visual-Viewer (Cast) should checkout, for SYSPLY -> SYSTUS,
for Mesh Cast -> Visual-Mesh, for SDK (Debug or any) -> VISUAL-PROCESS BUILDER
and so on.
Linux: Context and 1 Context
 Launch version with alias visualenv -strategy
 Toggle on Context and 1 Context in the posted License strategy dialog.
 Check in the background terminal for Application Checkout success. Here, check out
will happen only for the active application. Info in the background terminal will be as shown
below.

 Open Application Manager: Check and ensure that only One context should be toggled ON
and on selecting any other application/context, it should warn user.

60
 Try to toggle on Skins. It should allow to select skins in the Application Manager and the
same should reflect in the Application Menu.

61
 Now load any file in the active application. Open Application Manager; try to toggle OFF
the active application. Should warn user to close the loaded model before changing the
active application when the license strategy is Context and 1 Context.

62
Validation on Linux: Context and 2 Context
 Launch version with alias visualenv -strategy
 Toggle on Context and 2 Context in the posted License strategy dialog.
 CONTEXT 2 should check out and in Application Manager should allow to select only two
applications + skins.

 CONTEXT 2 should check out and in Application Manager should allow to select only two
applications + respective skins.
 Try to Select All or try to select more than 2 applications. Should warn user.
 Toggle OFF both active applications. Change the trade and toggle ON any other two
applications. Should allow to do so without any warning as mentioned in Context and 1
Context strategy.

Validation on Linux: Context and 3 Context


 Launch version with alias visualenv -strategy
 Toggle on Context and 3 Context in the posted License strategy dialog.
 CONTEXT 3 should check out and in Application Manager should allow to select all
applications + skins.

Validation on Linux: Token


 Launch version with alias visualenv -strategy
 Toggle on TOKEN in the posted License strategy dialog.

63
 Check in the background terminal for Application Checkout success. Here, check out
will happen only for the active application. Info in the background terminal will be as shown
below. This mean the token will be consumed for VISUAL_BASE + active application.
Background info looks as follows:

 Check the total tokens consumed on each application change. At any point, for single
launch, maximum number of tokens could be 12. Check the Data sheet given in the
Introduction for number of tokens for each application and for other details.

It is advised to validate total number of tokens consumed for each trade by setting
different trades in Application Manager in different launches.
Validation on Linux: Individual Features and Third Party Tools

It is advised to check the features check out for all third party tools and for all visual
features with the help of Flexlm Log Extract method.
Visual-Mesh
Feature: VISUAL_MESH2MESH
 Launch version with alias visualenv -strategy
 Toggle on FEATURE in the posted License strategy dialog, or Any strategy.
 Launch VCP -> File New -> Create mesh using 3/4 point Mesh method.
 VISUAL_MESH2MESHshould check out for 2D and 3D options for all contexts other than
Visual-Mesh context.

Feature: VISUAL_CATIA

64
 Launch Visual Mesh
 Load Z:\data2\FEMA\CATIA_V4\982_3D259.modelor any *.model file from
Z:\data2\FEMA\CATIA_V4\
 *VISUAL_CATIAshould check out.

Feature: VISUAL_CATIAV5
 Launch Visual Mesh
 Load Z:\data2\FEMA\CATIA_V5\5557-10R_E.CATPartor any *.CATPart file from
Z:\data2\FEMA\CATIA_V5\
 VISUAL_CATIAV5should check out.

Feature: VISUAL_UNIGRAPHICS
 * Launch Visual Mesh
 * Load
Z:\data2\FEMA\UG_V18\UG\gmt921_body_side_otr_rr_qtr_lh_sver_tl127469_002\103245
32.geo_fin001.002999.prtor any *.prt file from Z:\data2\FEMA\UG_V18\UG\
 *VISUAL_UNIGRAPHICSshould check out.

Feature: VISUAL_PARASOLID
 Launch Visual Mesh
 Load Z:\data2\FEMA\Parasolid\SW3dPS-aro_posterior.x_bor any *.x_b file from
Z:\data2\FEMA\Parasolid\
 VISUAL_PARASOLIDshould check out.

Feature: VISUAL_INTEROP_PROE
 Launch Visual Mesh
 Load Z:\data2\FEMA\PRO-E\Proe\02930.prt.1or any *.prt.1 file from Z:\data2\FEMA\PRO-
E\Proe\
 VISUAL_INTEROP_PROEshould check out.

Feature: VISUAL_INTEROP_STEP
 Launch Visual Mesh
 Load Z:\data2\FEMA\STEP\STEP\02931.STPor any *.STP file from
Z:\data2\FEMA\STEP\STEP\
 VISUAL_INTEROP_STEPshouldcheck out.

Feature: Tetra Mesh (Only check, nothing will be checked out) *

65
 Launch Visual Mesh
 File -> New
 Menu Volume -> Box -> Apply
 Menu 3D -> Tetra Mesh Process
 In the Tetra Mesh explorer Process tab -> Right click Begin -> Ok.
 Flexlm diagnostics message will post at the time of Tetra Mesh step. (For this, you have to
define the env variable FLEXLM_DIAGNOSTICS = 3) *.

Feature: 2D Morph or 3D Morph [VISUAL_ALLSTS]


 Launch Visual Mesh
 File -> Load any file -> Perform 2D Morph or 3D Morph
 Check out should happen forVISUAL_ALLSTS

Visual-Viewer (Cast)
Feature: VISUAL_VKI
 Launch Visual-Viewer (Cast)
 Loada file.
 Should check out VISUAL_VKI

 On exit, the application check out VISUAL_VKI should be released.

Visual-Cast
Feature: COMPUTHERM for [AL, FE, NI, TI, MG and for CU]
 Launch Visual-Cast.
 Menu Data Base
 Material Database

66
 Select Al and any material in Al
 In the posted Material DB editor -> Computation Tab -> Select "Compute" for any of the 3
options listed.
 On computing, the check out should happen for COMPUTHERM_AL
 Exit the application.
 Checked In feature should be released.

Repeat the above steps for material FE, NI, TI, MG and for CU, check out and check
in should happen for COMPUTHERM_FE, COMPUTHERM_NI, COMPUTHERM_MG and
COMPUTHERM_CU, respectively.

Repeat all the above mentioned steps on Windows forgetting started.


Pre-Processing
This section consists of the following topics:
 Introduction
 File Options
 Edit Options
 View Options
 Databases
 Cast
 Workflow
 Tools
 Window
 Help
Introduction
Visual-Cast can be accessed by right-clicking on Visual-Cast and changing context inside Casting
trade (if Visual-Viewer (Cast) / Visual-Mesh (Cast) context is active).
File -> Open can be used to open the case file.
Different formats of file import are available. The browse window will open so that the user can
select the desired input files (see the Files Types Supported).
The top bar menu is divided in to 9 menus which allow to perform all the operations to set up a
case.
File Options

This section describes the File menu options, which include opening, saving, appending,
importing, exporting and printing of files.
File Menu Options

67
1. New: Select File > New to open a new document with default name 'Document3vdb'.
(Visual-Cast opens document with name as Document3.vdb).
2. Open: Select File > Open to open a file dialog box, to select the file to be imported.
Select the appropriate type from the Files of type option.
File Types Supported:
a. ProCAST files
i. General Model set-up in d.dat format.
ii. Surface mesh in .sm format.
iii. Volume mesh in .mesh format.
b. VDB files
Visual native format. Files saved in this format can be restored back with all the
details. Saving performance will be the best in this format.
c. STL files
d. PAM-CRASH files (*.pc)
3. Close: Select File > Close to close the currently opened file.
4. Close All: Select File > Close All to close all the files.
5. Save: Select File > Save to save a file in Vista database format (.vdb), overwriting the
previously existing file.
6. Save As: Select File > Save As to save a file in Vista database format (.vdb), with a
different name.
7. Save Image/Movie/Report: Select File > Save Image/Movie/Report to post the Save
Image/Movie/Report dialog box, where you can specify the options to save the file as an
image, movie or report.
8. Append: Select File > Append to merge another model into the existing model.

68
9. Export: Select File > Export to export the files in the following formats: Abaqus, PAM-
CRASH, PAM-MEDYSA, LS-DYNA, NASTRAN, RADIOSS, MADYMO, SYSTUS,
ProCAST Surface Mesh, ProCAST d.dat, Volume, Mesh and STL files.
10. Start New Session: Select File > Session > Start New to start a new session.
(The session file is a python file (.py) containing a series of commands to be executed.
Session file records all the GUI operation and can be used to re-create a model from
scratch.)
11. Save Session: Select File > Session > Save to save the session file.

The session file will be overwritten when the product is invoked afresh, so rename
the existing session file and then invoke the product.
12. Execute Session: Select File > Session > Execute to re-run the session by selecting the
Python file.
a. In Windows, the session file will be written in My Documents/VE/..
b. In Linux platforms, the session file will be written in the current directory location.
13. Page Setup: Select File > Page Setup to set the header, footer and margin settings of the
page.
14. Preview: Select File > Preview to preview the windows before saving them
15. Print: Select File > Print to print the page / pages directly.
16. Preferences: Select File > Preferences to set various generic parameters throughout the
model or application.
File Open Options

This section describes the File Open options.


PATH:
 Select File > Open from the menu.
Result: The Open dialog box is posted.

69
Functionalities
To Add a Shortcut in the Places Bar

1. Browse for the required folder and click the (Tools) icon to post a pop-up menu.
2. From the pop-up menu, select Add to "My Places".

Result: The selected folder will be added to the end of the left side list of the dialog box.

70
To Remove a Shortcut in the Places Bar:
Right-click on the item to remove to post a pop-up menu, and select Remove to remove it from
the Places Bar.

By default, Places Bar list contains a list of predefined folders. It is not possible to
remove a predefined entry.
To List Previously Visited Folders

1. Click the (Tools) icon to post a pop-up menu.


Result: The list of previously visited folders (folder history) is displayed below the Add to
"My Places" menu item, from which you can select a folder.

By default, this list is empty and will grow each time you select a new file. The
maximum number of folders that can be listed is 26.

Note on file path length:


 PAM-CRASH, DYNA, RADIOSS files can be loaded with a file path length of 1024 in UNIX
and 255 in Windows.
 All post files and NASTRAN can be loaded with a file path length of 255 in UNIX and
Windows.
 MADYMO files can be loaded with a file path length of 240 in both UNIX and Windows.

71
Save Image/Movie/Report

Description of "Image / Movie" option.


PATH:
 Select File > Save Image/Movie/Report from the menu, or
 Use the shortcut key <Ctrl>+<I>.
Result: The Save Image/Movie/Report panel is posted.

Image option Movie option

72
Frame by frame option (Selected window) Frame by frame option (Current page)

73
Report option

Panel Options
1. Export options:
a. Image: Export images in JPEG, GIF, PNG or BMP formats.
b. Movie: Export movie in AVI, MOV, MP4 or Animated GIF formats.
If window is selected, then it must be model window.
If it is page, then page must contain at least one model window for movie export.
c. Frame by frame: Export images of each frame for the selected model window in
JPEG, GIF, PNG or BMP formats.
By default, image for all the frames will be exported.
Listed frames are the play frames that can be controlled through Result >
Animation Control > States to Animate.

74
d. Reports: Report can be generated for PDF, PS, PowerPoint and PowerPoint with
Movie.
2. Image Dimensions:
Image/movie dimension can be controlled by either entering image width, height value in
dimension drop-down editor, or by adjusting the vertical and horizontal scroll bars.
In dimension drop-down editor, width and height values are separated with "X". To enter a
specific dimension, type width and height separated by the non numerical character and
press "Enter" key. Values are in pixels.
Dimensions for report cannot be modified.
When the Export Image/Movie/Report panel is posted, dimension of the current page is
exactly the same as the dimension shown in the dimension drop-down editor.
Ten successful exported dimensions will be saved in INI file, and the same will be
available on posting the dimension drop-down editor.

Image dimension is inclusive of header footer height and the margin dimensions. For
smaller dimensions, image/movie size will be smaller.
3. Page range:
a. Current Page: This will save the current page in the selected format.
b. Pages: This will save the selected pages in the selected format.
This option is available only for image export.
c. All Pages: This will save all the pages in the selected format.
This option is available only for image export.
d. Selected window: Selected window can be saved as image or movie with this
option.
By default, on selecting a window, it will be maximized to single window if more than
one window is present in the current page.
On coming back to other page options, the original page template will be restored.
4. Display options:
a. Fit: This option will fit the selected pages before actually taking the snapshot.
b. Title: Model tile will be exported based on OFF/ON of this button.
ON/OFF will be reflected immediately on the model window.
This option is applicable only for model windows.
c. White Background: This option will set white background to the model windows
before actually taking the snapshot.
d. Margin: This option enables you to opt for margin or not in the export image.
Not applicable for movie export.
For movie export, margin is ignored.
If margin is OFF, then there will not be any margin in export image.
If it is ON, then margin will be exported in the image and the margin value will be
the same as it is adjusted in File > Page Setup > Margin panel.
e. Header Footer: This option indicates whether header / footer should be considered
while exporting image.
This option is not applicable for movie export.

75
This option is applicable for image as well as frame by frame image export.
Setting for the header footer is done through File > Page Setup > Header Footer
panel.
5. MOVIE options:
a. This option will be enabled for movie export and is applicable only for the AVI, MOV
and MP4 movie export.
b. Compression Format Used: Select from the list the codecs displayed in the
combo box to export the window movie.

Movie image quality and size of the exported format depends upon the codec
used for compression while exporting the window movie.
c. Num Frames: Displays the total number of frames the exported page movie will
have.

Number of frames to be exported in the movie can be controlled through the


play frames button available in Result > Animation Control > States to Animate.
By default, all the frames will be exported. If the current page has more than one
simulation / video models and if they are not synchronized properly, then number of
frames to be exported will be huge.
d. Frames per sec (fps): It is also known as Frame rate. It is the rate at which an
imaging device displays frames. To increase the speed of the movie, fps must be
increased.

In AnimatedGIF, AVI, MOV or MP4 movie export, speed of movie can be


controlled through this option.
6. Export:
Export the image/movie with the settings done in the panel.
All the settings will be retained in panel for the full session.

Default name for the image in case of selected window will be model name if window
is model window, and it will be curve secondary name if the only one curve is available in
selected window. In All Pages and Page Range options, the file name will start from the
file name with suffix page number. The default name will always be unique name in the
selected folder for the current page and selected window option.
List of codecs supported for reading mode
Keyword Description
asv1 ASUS V1
asv2 ASUS V2
avs AVS (Audio Video Standard) video
bmp BMP image
cinepak Cinepak
camstudio CamStudio
8bps QuickTime 8BPS video
ffv1 FFmpeg video codec #1

76
ffvhuff Huffyuv FFmpeg variant
flashsv Flash Screen Video v1
flv Flash Video (FLV) / Sorenson Spark / Sorenson
H.263
gif GIF (Graphics Interchange Format)
h261 H.261
h263 H.263 / H.263-1996, H.263+ / H.263-1998 / H.263
version 2
h263i Intel H.263
h264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
huffyuv Huffyuv / HuffYUV
indeo2 Intel Indeo 2
indeo3 Intel Indeo 3
indeo5 Intel Indeo Video Interactive 5
interplayvideo Interplay MVE video
jpegls JPEG-LS
mdec Sony PlayStation MDEC (Motion DECoder)
mimic Mimic
mjpeg MJPEG (Motion JPEG)
mjpegb Apple MJPEG-B
motionpixels Motion Pixels video
mpeg1video MPEG-1 video
mpeg2video MPEG-2 video
mpeg4 MPEG-4 part 2
mpegvideo MPEG-1 video
msmpeg4v1 MPEG-4 part 2 Microsoft variant version 1
msmpeg4v2 MPEG-4 part 2 Microsoft variant version 2
msmpeg4 MPEG-4 part 2 Microsoft variant version 3
msrle Microsoft RLE
msvideo1 Microsoft Video 1
pbm PBM (Portable BitMap) image
pcx PC Paintbrush PCX image
pgm PGM (Portable GrayMap) image
pgmyuv PGMYUV (Portable GrayMap YUV) image
pictor Pictor/PC Paint
png PNG image
ppm PPM (Portable PixelMap) image
rpza QuickTime video (RPZA)
rv10 RealVideo 1.0

77
rv20 RealVideo 2.0
rv30 RealVideo 3.0
rv40 RealVideo 4.0
sgi SGI image
smc QuickTime Graphics (SMC)
targa Truevision Targa image
tiff TIFF image
camtasia TechSmith Screen Capture Codec
vmnc VMware Screen Codec / VMware Video
wmv1 Windows Media Video 7
wmv2 Windows Media Video 8
wmv3 Windows Media Video 9
List of codecs supported for exporting
Keyword Description Codec for writing
asf asv1, asv2, mjpeg, mpeg1video,
mpeg2video, mpeg4, msmpeg4v1,
msmpeg4v2, msmpeg4, libxvid
avi jpegls, ljpeg, mjpeg, mpeg1video,
mpeg2video, mpeg4, msmpeg4v1,
msmpeg4v2, msmpeg4, png, wmv1,
wmv2, libxvid
mov gif, mjpeg, mpeg1video, mpeg2video,
mpeg4, png, rawvideo, tiff, libxvid
mp4 mjpeg, mpeg1video, mpeg2video,
mpeg4, libxvid

In Movie or Frame by frame image export, frames exported are the play frame and
the same can be controlled through Result > Animation Control > States to Animate.
Append File

This functionality enables you to append a file to another with Id control, and to view, create
and export entities to an include file.
PATH:
 Select File > Append from the menu, or
 Use the keyboard shortcut keys <Alt> + <P>.
Result: A file selection dialog box is posted.
 Select the file to be appended to the existing model and click the Open button.
Result: The Append Options dialog box is posted.

78
Append Options
1. As Include file: The loaded file will be added as an include file to the active sub-model. An
INCLUDE card will be created.
2. As Submodel: The loaded file will be added as sub-model to the active sub-model
3. Merge with active submodel: The loaded file will be merged with the active sub-model.
No INCLUDE card will be created.
File Export
PATH:
 Select File > Export... from the menu.
Result: The Export panel is posted to export the model in the required format. Only mesh
information is exported.

79
New Session

Description of "New Session" option.


PATH:
 Select File > Session > Start New from the menu.
Result: All the open windows and loaded files in the application will be closed.
Save Session

At any point of time, the existing session can be saved to a new file.
PATH:
 Select File > Session > Save from the menu.
Result: The Save Session panel is posted.

80
Procedure:
1. Enter the name of the file to which the session is to be saved.
Result: The session till this point of time will be written to the newly selected file.
Execute Session

Select this option to run an existing session.


PATH:
 Select File > Session > Execute from the menu.
Result: The Execute Session panel is posted.

81
Procedure
1. Select a session file and click on Open button.
Result: The selected session is executed.
Page Setup

This option will post the Page Setup panel, which can be used to modify the settings for
printing.
PATH:
 Select File > Page Setup... from the menu.
Result: The Page Setup panel is posted.

82
Panel Options
1. Orientation: Orientation of the page can be changed to Portrait or Landscape by
selecting the corresponding radio button.

In portrait mode, the export to PowerPoint will not work properly.


2. Paper Size: Three different paper sizes are provided in the drop-down list for printing.
3. Presets: There are three options to display the page borders.
a. No Border: No border is displayed for the blocks.
b. Outline: Only the outline is drawn for the page.
c. Inner and Outer: All the blocks displayed in the page will have the inner and outer
border displayed.
The Line Style and Color buttons can be used to change the style and color of the
border lines.

83
4. Title Display: This toggle can be used to display or switch OFF the title.
a. Title text field: This displays the title of the current page.
Page title can have multiple lines of text.
b. Apply: Click on this button to apply the title changes to the current page.
c. Apply to All: Click on this button to apply the title changes to all the pages.
5. Settings: On clicking this button, Title Settings panel is posted.
It enables changing of font and line attributes for the title.
On changing the attributes, only the current page title will automatically get updated.
a. Apply to All: Click on this button to apply the title attributes changes to all the
pages.
6. Save Title Settings: If this toggle is checked ON, the title attributes are also saved into the
preference file.

Only the first page title and its attributes are saved in the preference file.
a. Save...: Click on this button to save all the preview settings into a preference file.
The extension for this file is .pr.
b. Restore...: Click on this button to restore a previously saved preference file.
Tab Options
 Header Settings
 Footer Settings
 Margin Settings
Right-click Option
 Page Menu

84
Header Settings

Description of header settings.


PATH:
 Post the Page Setup panel (File > Page Setup...) and select the Header tab.
Result: The Header tab is posted where you can specify the header settings.

Panel Options
1. Header: There are three fields marked as Left:, Center: and Right:, which can be used to
enter the texts for the corresponding positions.
The display will not get updated as soon as any text is entered in the text fields.
Click on Apply button to refresh the preview.

2. Predefined Macros : When predefined macros are selected, they will


display the corresponding value in the preview.
The first two icons post pop-up lists of available macros.
Select the text field where the macro is to be added, and select the required option from
the pop-up list.
Result: The macro is inserted in the text field.
To display the same in the preview, click on Apply button.

85
The inserted macro will be shown with "<>". As long as the macro is within the
brackets, it behaves as a macro. If the brackets are removed, it will no longer be a macro,
but will behave as plain text.

a. : Insert date at any of the selected locations (Left, Center or Right).


Three different formats are available for date.

b. : Insert page number at any of the selected locations (Left, Center or Right).
Three different formats are available for page number insertion.

c. : Insert a picture (logo) at any of the selected locations (Left, Center or Right).
3. Font properties: Font families, sizes and styles are available for the header texts.
The selected text attributes will be displayed in the text attribute sections.
The selection means a text field containing the header footer should be active.
The selected option is automatically applied on the page.
The Color button posts the Color panel to select the required color.
4. Margins: There are five options to display the borders for header.
a. No Border: No border is displayed for the header.
b. Outline: Only the outline is drawn for the header.
c. Inner and Outer: Inner and outer borders are displayed for left and right headers.
d. Top: Only the top header line will be displayed.
e. Bottom: Only the bottom header line will be displayed.
5. Line Style and Color: These buttons can be used to change the line style and the color
for the header boundaries.
6. Header Height: This text field can be used to modify the header height.
The height is in inches.
The Apply button can be used to apply the modified header height, or "Enter" key can also
be used for this purpose.
Footer Settings

Description of footer settings.


PATH:
 Post the Page Setup panel (File > Page Setup...) and select the Footer tab.
Result: The Footer tab is posted where you can specify the footer settings.

86
Panel Options
1. Footer: There are three fields marked as Left:, Center: and Right:, which can be used to
enter the texts for the corresponding positions.
The display will not get updated as soon as any text is entered in the text fields.
Click on Apply button to refresh the preview.

2. Predefined Macros : When predefined macros are selected, they will


display the corresponding value in the preview.
The first two icons post pop-up lists of available macros.
Select the text field where the macro is to be added, and select the required option from
the pop-up list.
Result: The macro is inserted in the text field.
To display the same in the preview, click on Apply button.

The inserted macro will be shown with "<>". As long as the macro is within the
brackets, it behaves as a macro. If the brackets are removed, it will no longer be a macro,
but will behave as plain text.

a. : Insert date at any of the selected locations (Left, Center or Right).

87
Three different formats are available for date.

b. : Insert page number at any of the selected locations (Left, Center or Right).
Three different formats are available for page number insertion.

c. : Insert a picture (logo) at any of the selected locations (Left, Center or Right).
3. Font properties: Font families, sizes and styles are available for the footer texts.
The selected text attributes will be displayed in the text attribute sections.
The selection means a text field containing the header footer should be active.
The selected option is automatically applied on the page.
The Color button posts the Color panel to select the required color.
4. Margins: There are five options to display the borders for footer.
a. No Border: No border is displayed for the footer.
b. Outline: Only the outline is drawn for the footer.
c. Inner and Outer: Inner and outer borders are displayed for left and right footers.
d. Top: Only the top footer line will be displayed.
e. Bottom: Only the bottom footer line will be displayed.
5. Line Style and Color: These buttons can be used to change the line style and the color for
the footer boundaries.
6. Footer Height: This text field can be used to modify the footer height.
The height is in inches.
The Apply button can be used to apply the modified footer height, or "Enter" key can also
be used for this purpose.
Margin Settings

Description of margin settings.


PATH:
 Post the Page Setup panel (File > Page Setup...) and select the Margins tab.
Result: The Margins tab is posted where you can specify the margin settings.

88
Panel Options
1. Top: Top margin can be changed by entering a different value in the text field.
2. Bottom: Bottom margin can be changed by entering a different value in the text field.
3. Left: Left margin can be changed by entering a different value in the text field.
4. Right: Right margin can be changed by entering a different value in the text field.

Page Menu

Description of Page right-click menu options.


PATH:
 In Page View, right-click on a page or All Pages folder. Page menu is posted.
Menu Options
1. Page Rename: Right-click on any page folder or All Pages folder and select Rename...

89
Result: A dialog box is posted showing the names of all the pages.

90
Procedure
a. Select the required page from the list box or select the required page from Page/File
View explorer. The Current Name and New Name fields show the selected page
name.
b. Edit the New Name field and give a New Title.
c. Click on Apply or Ok to update the list box with the new title, as shown below.

Result: The new title will be applied to the page name in the Page/File View
explorer, and the list box will be updated with the new page title.
2. Reset Curve Colors: Right-click on any page folder or All Pages folder and select this
option.

91
Result: The page curve colors will be reset to default curve colors.
3. Delete: Select multiple Pages and right-click to post the Delete option.

92
Multiple Pages can be deleted with On click with this option. Select the pages required for
deletion and right-click to post the menu. In the menu, select the Delete option to delete
the required page/pages.
The following dialog box is posted if multiple pages are selected. On confirmation, the
selected page/pages will be deleted. If pre windows are present in any of the pages, a
message box to check whether saving of the model information is required or not is posted
before deletion.

93
Similarly, multiple windows can also be deleted by selecting the required windows and
right-clicking to post the menu. Select the Delete option from the menu to delete the
windows.

Preview

Print preview gives you a preview of the windows before saving them into a PDF / JPG file.
PATH:
 Select File > Preview from the menu.
Result: The Preview window is posted.

94
Usage
1. You can specify the pages that you want to save into the PDF / JPG file.
2. The print preview allows you to define the header and footer for a particular page.
3. The header and footer can be applied to the left, center and right sides of the document.
4. The margin area can also be modified to suit the requirements.
5. You can define any available font for the header and footer.
6. You can save the file in two views: Portrait and Landscape.
7. You can also insert individual titles for each page.
8. The attributes of the title can also be modified, either globally or for each page.
9. The windows present in the page can be exported as images into the PDF document, or
each page or all pages can be exported as JPEG images.
Panel Options
1. Close: Click on this button to close the print preview and restore the normal view.
2. Setup...: Click on this button to post the Page Setup panel.
3. Save As...: Click on this button to post the Save As panel.
4. Page Numbers: The page combo box displays the list of pages available.
The drop-down list can be used to select the desired page from the list.
The buttons can be used to move to the first, last, next and previous pages.
5. Zoom: Predefined zoom factors can be applied to the preview page.
There is also an option to zoom the preview to the screen size.
6. Fit: This option is provided to fit either the current page or all the pages:
a. Current Page: Use this option to fit only the current page.
b. All Pages: Use this option to fit all the pages before saving either as PDF / JPEG /
PNG / GIF.

95
Print

This option enables you to print the page / pages directly to a printer.
PATH:
 Select File > Print... from the menu.
Result: The Print panel is posted to select the print options.

Usage
1. Specify the serial number of the page / pages to be printed.
2. The Print panel provides options to print either directly to a specified printer, or using
Acrobat Reader.
3. All the available printers configured to the system will be listed out and a desired printer
can be selected.
4. In Unix/Linux systems, a command line option for print can be entered, or selected from
the existing list of commands displayed.
Panel Options
1. Name: For Windows version, this combo box will list the already configured printers for the
system.
When the panel is posted for the first time, the default printer configured to the system will
be displayed along with the status information.

If there are no printers configured for the system, a note will be posted in the panel to
indicate the same.
2. Current Page: This will print only the current page.
3. Page Range: This will print the selected pages.

96
The page range can be entered as 1,2,3 or 1-2,3 or 1,2,3-6,8, etc.
4. All Pages: This will print all the pages.
5. White Background: This option will set white background to the model windows before
actually taking the snapshot.
6. Header Footer: Specifies whether header / footer is required while printing.
7. No. of copies: Number of copies to print.
Preferences

The Preferences dialog box enables you to set various generic parameters throughout the
model or application. If the parameters are already set, they will be read first and you can modify
them.
PATH:
 Select File > Preferences from the menu, or
 Use the keyboard shortcut keys <Alt> + <G>.
Result: The Preferences dialog box is posted.
You can modify the following settings in this dialog box.
General

This section contains information about setting the configuration of the Visual-Environment
General behavior. Using the General tab, you can set preference for the Recent File List, Context
menu style, Document tilling, Sensitivity of arrow keys.
PATH:
 Select General tab in Preferences dialog box.

97
Tab Options
1. Recent File List
a. In the items shown in recently used lists spinner control, specify the number of
recently used items to be displayed at the end of File menu.

b. You can enable or disable the full path name display in the recent file list using the
Display the full path name check box.
2. Screen steps with arrow keys: In this section, you can customize the sensitivity of arrow
keys for translation, rotation and zoom.
a. In the Translation text box, specify the steps for translation.
b. In the Rotation text box, specify the steps for rotation.
c. In the Zoom text box, specify the steps for zoom.

98
3. Contextual Menus: In this section, you can customize how the contextual menus will
appear in Visual-Environment.
a. Select the Enable submenus check box if you want the contextual menu to appear
as a group of sub-menus.

b. Deselect the Enable submenus check box if you want the whole contextual menu
to appear as one pop-up menu.

d. Reset Changes
a. Factory Setting: Click this button to discard set changes and restore the factory
setting.
b. Reset: Click this button to discard changes and restore the previous setting.

Directories

This section contains information about setting the configuration of the Visual-Environment
directory and file selection behavior. Using the Directories tab, you can set the path for the
home/temporary directory and the default path to display during file selection.
PATH:
 Select Directories tab in Preferences dialog box.

99
Tab Options
1. Initial directory for file selection: A list of file selection services is shown in this section.
You can choose the behavior for each service. The options are:

a. Always: You can specify the default path to use always during file selection.
b. Last directory for active application: The last directory chosen during file
selection is used as the default directory for the active application.
c. Last directory across applications: The last directory chosen during file selection
is used as the default directory across applications.
d. "Start in" directory: The application start-in directory is used as the default
directory for file selection.
e. Same as opened/imported folder: The same directory chosen during file
selection/import is used as the default directory.
f. Like "Export": You can select this option to use the same settings specified for
another service.

100
2. VE Home Directory: You can specify the path to be used as home directory for the
application. Click the Default button to reset the path to the default value.
3. Temporary files: You can specify the path that the application will use for temporary files.
Click the Default button to reset the path to the default value.
4. Factory Setting: Click this button to discard set changes and restore the factory setting.

Selection

This section contains information about setting the configuration of the Visual-Environment
Selection behavior. Using the Selection tab, you can customize the selection of objects, selection
color.
PATH:
 Select Selection tab in Preferences dialog box.

Tab Options
2. Color: In this section, you can customize the color of selected objects.
a. If you want the selected object’s color to be inverted, select the Video inversion
option.

101
b. If you want to use a custom color for the selected objects, select the Customize
option and select the color from the combo box. You can define your own custom
color by selecting the Customize option in the combo box, which will post the Color
dialog box.

3. Show temporarily the selected objects when they are hidden: Select this check box if
you want the hidden objects to be shown temporarily when they are selected.
4. Reset Changes
a. Factory Setting: Click this button to discard set changes and restore the factory
settings.
b. Reset: Click this button to discard changes and restore the previous setting.

3D View

This section contains information about setting the configuration of the Visual-Environment
3D View behavior. Using the 3D View tab, you can customize the display options of the view.
PATH:
 Select 3D View tab in Preferences dialog box.

102
Tab Options
1. View orientation: This section enables you to set the default orientation of the view when
the model is loaded:
a. Axonometric: The orientation is based on the axonometric settings specified for
Direction and Vector Up.
b. View YZ: Sets the orientation to the YZ plane.
c. View XY: Sets the orientation to the XY plane.
d. View XZ: Sets the orientation to the XZ plane.
2. Axonometric: This section enables you to specify the settings for the axonometric
projection. The center is always 0. You can change the direction for the x, y and z axis,
and the Vector Up is calculated automatically.
3. Mouse operations
a. Anchor operation: You can enable the anchor operations when rotating and
zooming. Enabling this option takes into consideration the current mouse position
on the model to determine the point on which to rotate or zoom.
4. Coordinates system
a. Model: You can enable the display of the triad in the center of the model using this
option.
b. Unit Length: You can enable this option to show the triad in the center of the model
always as a unit vector. This option can only be used if Model coordinates system is
enabled.

103
5. Compass: The compass enables you to easily zoom, translate and rotate the view.

a. Show the compass: Show or hide the compass.


b. Horizontal/vertical translation: Enable or disable translation using the compass.
Translation is done by dragging the mouse over the compass arrows.
c. Horizontal/vertical rotation: Enable or disable rotation using the compass.
Rotation is done by dragging the mouse between the arrow head and circle.
d. Zoom buttons: Enable or disable zoom using the compass. Zoom is done by using
the + and – buttons.
e. Mirror buttons: Enable or disable mirror viewing using the compass. Mirror viewing

is done by icon for horizontal plane or icon for vertical plane.


f. Axis translation: Enable or disable translation across an axis using the compass.
Axis translation is done by dragging the mouse over the triad arrow heads.
g. Axis rotation: Enable or disable rotation across an axis using the compass. Axis
rotation is done by dragging the mouse over the triad arrow tails.
h. 2d circle rotation: Enable or disable 2D rotation using the compass. 2d circle
rotation is done by dragging the mouse over the compass circle.
i. View orientation: Enable or disable setting view orientation using the compass.
View orientation setting is done by double-clicking on the triad arrows.
j. Position: You can set the position of the compass in the four different corners of
the view.
f. Reset Changes
a. Factory Setting: Click this button to discard set changes and restore the factory
setting.
b. Reset: Click this button to discard changes and restore the previous setting.

Graphics

This section contains information about setting the configuration of the Visual-Environment
Graphics behavior. Using the Graphics tab, you can customize the rendering in the 3D View.
PATH:
 Select Graphics tab in Preferences dialog box.

104
Tab Options
1. Display Mode: The display thumbnail demonstrates the available display modes.
The following display modes are available:
a. Boundary: Displays only the boundary lines of the model.
b. Featureline: Displays the feature lines of the model. The sharp edge angle is used
to calculate the feature line.
c. Wireframe: Displays the model in wireframe mode.
d. Flat: Displays the model with flat shading (using face normals).
e. Smooth: Displays the model with smooth shading (using vertex normals).
f. Flat Wireframe: Displays the model with flat shading including the lines for
wireframe.
g. Smooth Wireframe: Displays the model with smooth shading including the lines for
wireframe.
h. Flat Featureline: Displays the model with flat shading including the feature lines.
2. Rendering:
a. Enable 'Optimized Rendering': Allows to enable or disable the optimized
rendering. By default, optimized rendering is enabled if the graphic card and the
driver meet the minimum requirement of supporting OpenGL 3.1

105
Even with this requirement met, some card/driver combinations may cause
the performance to suffer. In such a case, disabling 'Optimized Rendering' will help.
c. Display Attributes
a. Line Width: You can specify the width of the lines that are used to draw the model
(for example, the width of the lines in wireframe).
b. Point Size: You can specify the size if the points that are used to draw the model
(for example, the size used to display the nodes).
c. Sharp Edge Angle: You can specify the angle used to determine if an edge should
be considered as sharp or not. By default, this value is fixed as 45 degrees.
4. Factory Setting: Click this button to discard set changes and restore the factory settings.

Console

This section contains information about setting the configuration of the Visual-Environment
Console behavior. Using the Console tab, you can customize the number of console lines to be
displayed, the font for the console’s text, whether or not console text should be written to log files,
where the log files should be located and how log files will be managed, which application to be
used to open directories and file association.
PATH:
 Select Console tab in Preferences dialog box.

106
Tab Options
1. Console
a. Number of lines: In this text box, you can specify the number of lines to be
displayed in the console.
b. Font: In this drop-down list, you can specify the font for the console text.
c. Enable log: You can enable or disable the console log by using the Enable log
check box. By default, the console log will be enabled. By enabling the console log,
text in the console will be written to the log file.
d. Delete old log files after: Old log files will be automatically managed by the
application as defined criteria. By default, the application will delete file/s older than
the last 100 files. You can change how the application deletes old log file/s.
i. Select one from the following criteria from the drop-down list:
1. Files: Files older than the specified number of files will be deleted.
2. Days: Files older than the specified number of days will be deleted.
ii. Specify the number of files or days, which will be used to determine which
files are old enough to be deleted.
e. Specify log file directory: When the console log is enabled, you can specify the
location where the log files will be located. By default, the log file path will be set to
${HOST_HOMEDIR_PATH}/Logs for Windows and ${HOST_STARTIN_PATH}
for UNIX. Log files will be created in the specified location in the following format:
VisualHostConsole-XXX-YYMMDD-HHmmss.log

107
where:
XXX: Computer name
YY: Year
MM: Month
DD: Day
HH: Hour
mm: Minute
ss: Second
2. Folder Browser
a. Use specific folder browser: You can enable or disable a specific folder browser
using this check box. On enabling a specific folder browser, the application will open
directories (i.e., Open Containing Folder action) using the specified folder browser.
b. Specify folder browser: When Use specific folder browser option is enabled,
you can specify the browser application’s executable path.
c. Arguments: You can supply application-specific arguments.
3. File Associations: This section enables you to specify which file type should be opened
with which application.
a. File Type: Specify the file extension, i.e., log, txt. More than one file extension can
be specified by separating them with a semicolon, i.e., pc;log
b. Application: Specify the path of the application which will be used to open the
associated file/s.
c. Arguments: You can supply application-specific arguments.

d. : Click this icon to add a row to the File Associations table. Click the icon
to select the application path.

e. : Select a row to be deleted in the File Associations table and click this icon to
delete it from the table.
4. Expand path (un-check this option to edit): You can use both the absolute and relative
path to specify the log file’s location. You can also use predefined Environment variable to
specify log path location. On selecting this option, all the environment variables' paths will
be automatically expanded.
5. Reset Changes
a. Factory Setting: Click this button to discard set changes and restore the factory
settings.
b. Reset: Click this button to discard changes and restore the previous setting.

Window Manager

This section contains information about setting the configuration of the Visual-Environment
window behavior. Using the Window Manager tab, you can set preference for the Window drag
effects, Application activation, and Title bar action.
PATH:
 Select Window Manager tab in Preferences dialog box.

108
Tab Options
1. Application activation: In this section, you can customize how the application will be
activated.
a. Window manager behavior: If you select this option, application activation will be
as default Window manager behavior.
b. Focus under mouse: If you select this option, the application will be activated
whenever the mouse is over the application.
2. Titlebar action: In this section, you can customize the application dialog boxes'
expand/collapse feature.
a. Standard behavior: If you select this option, an expand/collapse button will be
visible in the dialog title bar and you can expand/collapse the dialog box by clicking
on this button.
b. Roll up: If you select this option, double-clicking on the title bar will either
expand/collapse the dialog box, as required.
3. Dragging window effect: In this section, you can customize the effect of window dragging
in Visual-Environment.
a. Window manager behavior: As the name suggests, on selecting this option,
dragging effect of windows will be default as the window manager of the operating
system.

109
b. Window manager behavior with less update: On selecting this option, dragging
effect of windows will be default as the window manager of the operating system,
but with less screen refresh.
c. Do not show window content: On selecting this option, dragging effect of
windows will not show the window content, just the outline of the window.

Cast Preferences

This section contains information about setting the configuration of the Visual-Environment
specific to Visual-Cast context.
PATH:
 Select Cast Preferences tab in Preferences dialog box.

Tab Options
1. Country/Region: This is used to display by default material names/unit systems based on
Region/Country. Currently only material names in the material DB are updated based on
selected region.
2. Units:

110
a. Length: Selected length unit is used for the calculation of quantities.
b. Mass: Selected mass unit is applied to weight calculator.
c. Time: Selected time unit is applied.
d. Temperature: Selected temperature unit is applied.
3. Casting Solver: There are two solvers, ProCAST and QuikCAST. On selecting the
solver, the current environment changes to allow user to perform simulations on the
selected solver.
For easy access, casting solver option is given as a combo box in Cast toolbar.

4. Sub Solver Options: APM, CAFE, HCS sub-solvers can be switched on or off based on
the selection. If they are switched on, The corresponding solvers will be enabled in Start
Simulation panel.

Common buttons
1. OK: Click this button to accept any changes made and exit the dialog box.
2. Cancel: Click this button to reject any changes made and exit the dialog box.
3. Apply: Click this button to accept any changes made in the dialog box.
Edit Options

This section describes the Edit menu options, which include copy, paste and different
methods of selection of entities.
Edit Menu Options

1. Copy: Copies the selected entities to the clipboard.


2. Paste: Pastes the current selection to the selected model window.
3. Select All: Selects all the entities present in the model window.
4. Select All Visible: Selects all the entities which are currently visible in the model window.
5. Deselect All: Deselects all the currently selected entities in the model window.
6. Reverse Selection: Deselects the currently selected entities and selects the remaining
entities which were previously not selected.
7. Save Selection: Saves the currently selected entities to the clipboard.
8. Load Selection: Entities from the clipboard are added to the current selection.

111
View Options

This section describes the View menu options.


View Menu Options

1. Display: These options enable you to change the rendering mode of selected model
objects.
There are eight different rendering styles available.
To set the rendering style for a model object:
a. If several model windows are open in the session, make sure that the correct model
window is active.
i. You can make a model window active by clicking anywhere on it (except on
the icons at both ends of the window title bar).
b. Select the desired model object/s in the graphic model window or Explorer window.
c. Activate the desired rendering style using one of the following methods:
i. Display Mode / Option Icons in Views toolbar

In the Views toolbar, click the tool button that corresponds to the desired
setting (see table below):

Icon Description of Display Mode

112
Sets rendering style of the active selection to Wireframe.

Sets rendering style of the active selection to Flat.

Sets rendering style of the active selection to Flat and Wireframe.

Sets rendering style of the active selection to Smooth.

Sets rendering style of the active selection to Smooth and Wireframe.

Sets rendering style of the active selection to Boundary.

Sets rendering style of the active selection to Featureline.

Sets rendering style of the active selection to Flat and Featureline.

Icon Description of Display Option


Adds/removes Transparency in the active selection, based on the
/ selected Display Mode.
Toggles Boundary display in the active selection while moving.
/
Description and examples of rendering styles
1. Wireframe: Only the edges of the model object are visible. This
display mode is particularly useful for viewing inner model objects,
while outer objects are still visible and identifiable.
2. Boundary: Each face of the model object is set to boundary display
mode.
3. Flat (hidden lines): Each face of the model object is filled with a
uniform color.
4. Flat and Wireframe: Same as Flat mode, but in addition, the edges of
the model object are outlined in a contrasting color. Useful for
distinguishing individual faces of the model object.
5. Smooth (shaded hidden lines): Each face of the model object is
filled with color as for Flat mode, but in addition, a smooth shading of
the color towards the edges is applied. This display mode irons out the
sharp edges of the model objects and therefore is particularly suited
for rendering smooth shapes.
6. Smooth and Wireframe: Same as Smooth mode, but in addition, the
edges of the model object are outlined in a contrasting color. With this
mode, you obtain a natural rendering while distinguishing individual
faces of the model object.
7. Featureline: Each face of the model object is set to featureline display
mode.
8. Flat and Featureline: Same as Flat mode, but in addition to this,
feature lines of the model are outlined in a contrasting color.
Examples of rendering styles

113
Model display in Wireframe mode Model display in Boundary mode

Model display in Flat mode Model display in Flat and Wireframe


mode

114
Model display in Smooth mode Model display in Smooth and Wireframe
mode

Model display in Featureline mode Model display in Flat and Featureline


mode

ii. View menu: Select the corresponding Display sub-menu option in the View
menu.

115
iii. Selected model object pop-up menu
1. Right-click on the selection in the model window or Explorer window.
2. Select the View > Display Attributes... option in the pop-up menu.
Result: The Attributes dialog box is displayed.
3. Activate the desired rendering style option in the dialog box.
4. You can set the Sharp Edge Angle for Featureline and Flat and
Feature Line display modes.
5. Click the OK button to exit the dialog box.
2. Visibility: These options enable you to set the visibility of selected model objects.

Seven different options (Show, Hide, Show All, Hide All, Show Unselected, Hide
Unselected and Reverse Visibility) are available.
3. Window Background Color: These options enable you to modify the background color of
the model window.
PATH:
 Click the Window Background Color icon in the Views toolbar, or

116
 Select View > Window Background Color from the menu.

Result: The window background color options are displayed.


Functionalities
The window background color menu provides access to the following functionalities:

117
a. Standard Colors: These are standard predefined background colors that you can
choose from.
b. Custom Colors: These colors are defined in the Window Background Color dialog
box.
When you select a Standard or Custom color directly from the menu, this color is
applied either to all contexts or to the active context, depending on the setting of the
Apply to parameter in the Window Background Color dialog box.
c. Customize...: This option posts the Window Background Color dialog box.

118
i. Apply to: You can choose whether to apply the color below to All Contexts
or only to the Active Context.
ii. Unicolor / Bicolor: You can define two kinds of background:
1. Unicolor Background: When this option is selected, the Color 2 tab
is deactivated.
2. Bicolor Background: When this option is selected, Color 1 and
Color 2 tabs are activated. The Color 1 tab corresponds to the top
color of the gradient while the Color 2 tab corresponds to the bottom
color of the gradient.
iii. Basic Colors / Custom Colors: You can select a basic color, or create a
custom color.
iv. Preview: On the left side of the Preview frame, you can preview the result of
the color you defined, while on the right side, you can view the list of recent
background colors.
v. Commit Buttons

119
1. Reset: Click this button to revert to the initial settings.
2. OK: Click this button to apply the changes and close the dialog box.
3. Cancel: Click this button to discard the changes that are not applied
and close the dialog box.
4. Apply: Click this button to apply the changes and keep the dialog box
open.
d. All Applications: This is the color defined for all contexts in the Window
Background Color dialog box.
e. Factory Setting: This is the default factory setting background color.
4. ModelColors: Three different ModelColors schemes (Scheme1, Scheme2 and Scheme3)
are available.
5. Lighting: Two different Lighting schemes (Scheme1 and Scheme2) are available.
6. FullScreen option: <Ctrl> + <F10>
Select the FullScreen option from the View menu, or use the keyboard shortcut keys
<Ctrl> + <F10> to display the model window in full-screen mode.
Click the Close the full screen button or use the keyboard shortcut keys <Ctrl> + <F10>
to return to the previous mode.
7. Save, Restore Views and Custom Views options: Five different Save and Restore
options for views (View1, View2, Display1, Display2 and Display3) are available.
Saving and restoring View1 and View2 applies the saved view to the currently visible
objects in the model window.
Saving and restoring Display1, Display2 and Display3 applies the saved view to the
objects present in the model window at the time of saving.
Custom Views can be exported in .xml format and the views can be restored by browsing
and selecting the saved xml and clicking on the required view.

a. Modify the point of view in the model window to the desired view.
b. Select View > Custom Views from the menu.
c. In the View Manager dialog, browse to an existing xml file or create a xml file at any
location.
d. Click the Add button to add the current view in the xml file.
e. Click the Delete button to delete an existing view from the xml file.

120
The saved xml file can be selected again at any time or in another session to restore the
saved views.
8. 3D View Commit Buttons: These options enable you to determine the position of
the Commit button in the model window. Five different positions (Near Mouse, Right,
Bottom, Left, Top) are available or you can choose not to display the Commit button by
selecting None.

9. Remove Section Environment: This option enables you to restore the model geometry
when Section Environment has already been invoked.
10. Invoke Section Environment: After defining sections, when you click on Invoke Section
Environment, the model geometry is switched OFF and only the cut sections are
displayed.
11. Model Coordinate System: You can switch on/off display of the model coordinate system
using this option.
12. Screen Coordinate System: You can switch on/off display of the screen coordinate
system using this option. This option is available only when Compass is hidden in the
model window.
13. Compass: This functionality enables you to perform View Transformation operations.
Refer View Transformation section for details.

The compass is an interactive manipulator available in the 3D window to interactively


manage the view.
Compass Display
The display of the compass can be activated from:
a. View menu:
i. Select View > Compass > Show/Hide from the menu.
b. Compass right-click menu

c. Preferences dialog box


i. Select File > General Preferences… from the menu.
Result: The Preferences dialog box is posted.
ii. Select 3D View tab.

121
iii. Under Compass group box, select Show the compass option.
Compass Options
Several options are available in the compass. They are described below:
a. 2D Rotation: From the compass, you can activate a rotation in 2 dimensions.
To do so, you should grab the main circle of the compass.
The circle will then be highlighted and the cursor shape will change.

This 2D rotation option is similar to the one which can be activated from the Views
toolbar.

b. Horizontal/Vertical Translation: You can perform two types of constrained


translation from the compass:
i. Horizontal translation: To perform horizontal translation, you should grab the
horizontal arrow located outside of the 2D rotation circle.
The arrow will then be highlighted and the cursor shape will change.

ii. Vertical translation: To perform vertical translation, you should grab the
vertical arrow located outside the 2D rotation circle.
The arrow will then be highlighted and the cursor shape will change.

122
c. Horizontal/Vertical Rotation: You can perform two types of constrained rotation from
the compass:
i. Horizontal rotation: To perform horizontal rotation, you should grab the
horizontal axis located outside the 2D rotation circle.
It will then be highlighted and the cursor shape will change.

ii. Vertical rotation: To perform vertical rotation, you should grab the vertical
axis located outside the 2D rotation circle.
It will then be highlighted and the cursor shape will change.

d. Axis Translation: You can perform translation along x, y, z axis.


For this, you should grab the arrow according to which you want to translate the
model.

123
e. Axis Rotation: You can perform rotation around x, y, z axis.
For this, you should grab the axis according to which you want to rotate the model.

f. View Orientation: To set pre-defined views, you should double-click on axis.


The double-clicked axis will then point out of the screen, perpendicular to it.
i. Front View: Double-click on X.

ii. Rear View: Double-click on -X.

124
Negative axis is displayed when you move the mouse over the location
of the negative axis.

iii. Left Side View: Double-click on Y.

iv. Right Side View: Double-click on -Y.

v. Top View: Double-click on Z.

vi. Bottom View: Double-click on -Z.

125
vii. Isometric View: Double-click on the yellow ball in the middle of the
compass.

g. Mirror View: You can mirror the view taking as mirror plane:

i. The horizontal Plane


ii. The vertical Plane
To get the view mirrored, you should click the icon representing the desired plane.
h. Zoom: Both zoom in and out are available, respectively, by clicking on the

and icons located at the left bottom corner of the compass.

Clicking on these compass icons is equivalent to the icons and located in


the Views toolbar.
Compass Options: Display Management
You can manage the display of compass options either from:
a. Right-click on the Compass itself.

126
b. Compass toolbar

Each one of these options can be deactivated independently so that you can fully
customize the compass according to your specific needs.
a. 2D Rotation: If you deactivate the 2D rotation, the circle won't be displayed
anymore in 3D view:

b. Horizontal/Vertical Translation: If you deactivate the horizontal/vertical


translation, both the axis and arrows will enable rotation of the model.

c. Horizontal/Vertical Rotation: If you deactivate the horizontal/vertical rotation, both


the axis and arrows will enable translation of the model.

127
d. Axis Translation: If you deactivate the axis translation, both the axis and arrows
will enable rotation of the model.

e. Axis Rotation: If you deactivate the axis rotation, both the axis and arrows will
enable translation of the model.

f. View Orientation:If you deactivate the view orientation, double-click on x, y, z axis


won't take you anymore to predefined views.
g. Mirror: If you deactivate the reverse option, the icons won't be displayed anymore in
the compass corner.

128
h. Zoom: If you deactivate the zoom options, the icons won't be displayed anymore in
the compass corner.

Save View, Undo View


Options to save and undo the current view are available from the right-click menu of the
compass.

Incremental View Manipulation


Refer to the Incremental View Manipulation section under View menu.
Compass Position
The compass position is customizable from:
a. Right-click on the compass itself.

b. Preferences dialog box


Select File > General Preferences… from the menu.
Result: The Preferences dialog box is posted.
Select 3D View tab.

129
Under Compass group box, you can change the options using Position drop-down
list.
14. Incremental View Manipulation: These options enable you to set numerical values for
moving the model.
This dialog box is accessible from:
a. View menu:
i. Select View > Incremental View Manipulation from the menu.
b. Right-click on the compass

Dialog Box Options


a. Increments: This tab enables you to move the model precisely with the help of
numerical values.

You should enter the desired value for the step and then press the adjacent icon
corresponding to the direction in which you want to move the model.
At any point of time, you can click the Undo and Redo buttons, if needed.
b. Parameters: In this tab, you can customize the step that will be used when:

130
i. Clicking on the compass (horizontal and vertical axis and arrows, zoom
icons).
ii. Clicking on the and icons located in the Views toolbar.
iii. Pressing the keyboard arrows for translation.
This customization of parameters is also available from the Preferences dialog box
of the File menu.
Select File > General Preferences… from the menu.
Result: The Preferences dialog box is posted.
Select General tab.
The options are available under Screen steps with arrow keys group box.
c. View Definition: This tab enables you to define the view volume and the center.

131
The view volume is the portion of space, defined by a box in X-, Y-, Z- screen
coordinates, which is seen on the screen.
By default, VisualHost framework computes the box surrounding all nodes of the
structure and sets the view volume in such a way that this box will always be
included in the volume, independently of the global rotation.
This means that the largest dimension of the structure will define the effective view
volume.
The center is set to the center of the box surrounding the nodes.
The view volume and the center may be defined by Box -- defining two corners of
the surrounding box -- or by Center -- defining the coordinates of the center and the
maximum size of the box.
The Ratio text field enables you to define a scale value applied to the current view
volume.
A value of 1 will fit the biggest size (X, Y or Z) of the current structure to the smallest
size of the graphical window.
By default, the scale value is set to 1.
15. Zoom Size Bar: This option indicates the current zoom level of the model displayed in the
window.
PATH:
 Select View > Zoom Size Bar from the menu.
By default this is off.
Once it is activated (or deactivated), the status is remembered across different
sessions.
Description

132
The size of the model displayed in the window (indicating current zoom level) is indicated
by a small bar at the bottom right side of the window.

The number shown to the right of the bar indicates the length in model units for the bar-
length shown in the window.
16. HomePage: This option displays the Home Page of Visual-Environment.
This option is accessible from:
a. View menu: Select View > Incremental View Manipulation from the menu.
b. Select Home Page option from Pg/Fl tab of the Explorer.
Model window can be restored by clicking on the X mark on the top-right hand side of the
Home Page or by selecting the required page from the Pg/Fl tab of the Explorer.
17. Status Bar, Explorer, Console and Application Bar: These options enable you to turn
ON/OFF the status bar, explorer, console or application bar respectively.

Other Options
 Pre-Defined Views
View Transformation

This section describes the available tools to modify the point of view in the model window.

Types of View Transformation


1. Translation: The view is panned horizontally or vertically in the model window plane.
a. Window Centering: You can center the model window view on the point you
specify.
i. Activate the window centering mode. There are two ways of doing this:

1. Click the (Define Viewpoint (C)) icon in the Views toolbar, or


2. Press and hold down the 'C' key on the keyboard.

133
ii. Place the mouse pointer at the desired point in the active model window and
click the left mouse button.
Result: The view is automatically translated so that the specified point lies at
the center of the active model window.
iii. Repeat the above steps until you are satisfied with the view.
iv. Release the 'C' key, if you had pressed it to activate the window centering
mode.
b. Panning: You can pan the view of the active model window.
i. Activate the view panning mode. There are two ways of doing this:

1. Click the (Translation (S)) icon in the Views toolbar, or


2. Press and hold down the 'S' key on the keyboard.
While using the second method, ignore step (ii) of the procedure.
ii. Place the mouse pointer in the active model window area, and click and hold
down the left mouse button.
iii. Drag the mouse in the direction opposite to the one in which you want the
view to be panned (as if you were dragging the model instead) and release
the mouse button.
iv. Repeat the above steps until you are satisfied with the view.
v. Click the (Translation (S)) icon again to disable the view panning mode,
or release the 'S' key, depending on the activation method you chose.

You can pan the active model window view directly by repeatedly pressing the
arrow key corresponding to the opposite direction of the desired view panning
movement.
2. Rotation: The view is rotated in 2D/3D about the center of the model window.
a. 90° Rotation: You can rotate the view by 90° increments about a horizontal or
vertical axis lying on the model window plane and passing from the model window
center.
i. To rotate the active model window view 90° about the horizontal axis:

1. Click the (Horizontal Rotation) icon in the Views toolbar.


2. Repeat step 1 to increment rotation by 90° each time.
ii. To rotate the active model window view 90° about the vertical axis:

1. Click the (Vertical Rotation) icon in the Views toolbar.


2. Repeat step 1 to increment rotation by 90° each time.
b. 180° Rotation: You can rotate the active model window view by 180° increments
about the vertical axis.

i. Click the (Reverse View) icon in the Views toolbar.


ii. Repeat step 1 to increment rotation by 180° each time.
c. 2D Rotation: You can rotate the view of the active model window in 2D.

i. Click the (2D Rotation) icon in the Views toolbar to activate the 2D
rotation mode.

134
ii. Place the mouse pointer in the active model window area, and click and hold
down the left mouse button.
iii. Drag the mouse in the direction opposite to the one in which you want the
view to be rotated (as if you were dragging the model instead), and release
the mouse button when you are satisfied with the view.
iv. Click the (2D Rotation) icon again to deactivate the 2D rotation mode.
d. Step-less Rotation: You can rotate the view of the active model window in 3D.
i. Activate the step-less rotation mode. There are two ways of doing this:

1. Click the (3D Rotation (A)) icon in the Views toolbar, or


2. Press and hold down the 'A' key.
While using the second method, ignore step (ii) of the procedure.
ii. Place the mouse pointer in the active model window area, and click and hold
down the left mouse button.
iii. Drag the mouse in the direction opposite to the one in which you want the
view to be rotated (as if you were dragging the model instead), and release
the mouse button.
Refer the Mouse Manipulations section for details on how to use the mouse
to view rotation.
iv. Repeat steps (ii) and (iii) until you are satisfied with the view.
v. Click the (3D Rotation (A)) icon again to deactivate the step-less
rotation mode, or release the 'A' key, depending on the activation method
you chose in step (i).

You can rotate the active model window view directly by repeatedly pressing
the numeric keypad arrow key (<2>, <4>,<6> and <8>) corresponding to the
opposite direction of the desired view rotation movement.
In addition, the numeric keypad keys <7> and <9> execute, respectively, an anti-
clockwise and clockwise view rotation about an axis perpendicular to the model
window plane, and passing from its center.
e. Continuous Rotation: You continuously rotate the view of the active model
window.

i. Click the (Continuous Rotation) icon in the Views toolbar.


ii. Place the mouse pointer in the active model window area, and click and hold
down the left mouse button.
iii. Move the mouse in the direction opposite to the one in which you want the
view to be rotated (as if you were dragging the model instead).
Result: The model rotates continuously in the selected direction.
Release the mouse button when you are satisfied with the view.

Click the (Continuous Rotation) icon again to deactivate the continuous


rotation mode.
3. Zooming: The view is zoomed in towards, or zoomed out from, the model window center.
There are several tools and methods for zooming in and out the active model window view:

135
a. Rubber-band zoom: This tool enables you to zoom in directly on a model area of
interest to you.
To use the Rubber-band zoom tool:

i. Click the (Zoom Area (Z)) icon in the Views toolbar.


ii. Specify the rectangle area that you want to magnify.
iii. Place the mouse pointer at one of the corners of the desired rectangle area.
iv. Click and hold down the left mouse button.
v. Drag the mouse along the diagonal to the opposite corner of the desired
rectangle area and release the mouse button.
Result: While you drag the mouse, the so-defined rectangle is visualized in
the model window by a thin black line.
As soon as you release the mouse button, the view is magnified so that the
largest dimension of the defined rectangle area fits the corresponding
dimension of the active model window.

The smaller the rectangular area you specify, the greater the zoom factor you
obtain.
b. Incremental zoom: This functionality enables you to zoom in or out the active
model window view in a stepwise, incremental fashion.
i. To zoom in the view:

1. Click the (Zoom+ (Ctrl+Page Up)) icon in the Views toolbar.


2. Repeat step 1 until you are satisfied with the view.
ii. To zoom out the view:

1. Click the (Zoom- (Ctrl+Page Down)) icon in the Views toolbar.


2. Repeat step 1 until you are satisfied with the view.

You can access the incremental zoom functionality through the mouse wheel
button if your mouse is equipped with one. Turn the wheel button backward or
forward to respectively zoom in or out.
On a standard two-button mouse, use the <Ctrl> + <Page Up> and <Ctrl> + <Page
Down> shortcuts, respectively, to the same effect.
c. Step-less zoom: This tool enables you to zoom in or out the view with the help of
the mouse in a continuous "step-less" manner.
To zoom the active model window view:
i. Activate the step-less zooming mode. There are two ways of doing this:

1. Click the (Progressive Zoom (D)) icon in the Views toolbar, or


2. Press and hold down the 'D' key
While using the second method, ignore step (ii) of the procedure.
ii. Place the mouse pointer in the active model window area, and click and hold
down the left mouse button.
iii. Drag the mouse down or up to zoom in or out the view, respectively, (as if
you were dragging the model instead) and release the mouse button.
iv. Repeat steps (ii) and (iii) until you are satisfied with the view.

136
v. Click the (Progressive Zoom (D)) icon again to deactivate the view
zooming mode, or release the 'D' key, depending on the activation method
you chose in step (i).
d. View fitting: This tool enables you to automatically adjust the zoom factor of the
view so that the visible model or selected model object extent matches the model
window extent.
i. To fit the visible model view:

1. Click the (Fit (F)) icon in the Views toolbar, or


2. Right-click in the model window and select the View > Fit option from
the pop-up menu.
Example of view fitting on visible model: (a) before (b) after fitting

(a) (b)

ii. To fit the view based on a selection:


1. Select the desired model object/s in the active model window.
2. With the mouse pointer within the model window extent, click the right
mouse button.
3. Select the View > Fit Selection option from the pop-up menu.
Example of view fitting on selection: (a) before (b) after fitting

137
(a) (b)

Other Options
1. Perspective: You can set the active model window in perspective view.

a. To define the perspective view, click the (Perspective) icon in the Views
toolbar.
b. Click this icon again to return to the previous view.
2. 3 Point View: You can set the active model window in the direction defined by 3 selected
points.
To define the 3 point view plane:

a. Click the (3 Point View) icon in the Views toolbar.


b. Select 3 points on the active model to define the view plane.
Result: The active model window is set in the direction of the 3 point view plane.
3. 2 Point View: You can set the active model window in the direction defined by 2 selected
points.
To define the 2 point view plane:

a. Click the (2 Point View) icon in the Views toolbar.


b. Select 2 points on the active model to define the view plane.
Result: The active model window is set in the direction of the 2 point view plane.
4. Activate anchor rotation/zoom: You can activate anchored rotation/zoom of the active
model.

To activate anchored rotation/zoom, click the (Anchor Rotation On/Off) icon.

Result: The anchored rotation/zoom is activated, and the icon changes to .


5. Deactivate anchor rotation/zoom: You can deactivate anchored rotation/zoom of the
active model, i.e., enable non-anchored rotation/zoom.

138
To deactivate anchored rotation/zoom, click the (Anchor Rotation On/Off) icon.

Result: The anchored rotation/zoom is deactivated, and the icon changes to .

The (Refresh) icon in the Views toolbar refreshes the application.


Mouse Manipulations

All interactions with the interface, except alphanumeric inputs, can be controlled through a
standard two-button mouse with straightforward manipulations:
1. The left mouse button is used for all interactions with the visible objects and features on
the interface, like clicking a function button or menu option, selecting an element set, or
activating a window or dialog box.
2. A number of "modifier" keys are used to extend the left mouse button's functionality.

Modifier Functionality Notes on usage


key
d Activates the step-less zoom mode when With the <d> key held down, drag the
the mouse pointer is within the active mouse up or down to zoom out or
graphic model window area. zoom in, respectively.
a Activates 3D view rotation when the With the <a> key held down, drag the
mouse pointer is within the active graphic mouse to rotate the view.
model window area. (See note on3D view rotationfor
details)
s Activates the view panning mode when With the <s> key held down, drag the
the mouse pointer is within the active mouse to pan the view in the desired
graphic model window area. direction.
3. The right mouse button is used for displaying contextual pop-up menus.
4. The wheel button, when the mouse has one, provides a shortcut to a number of functions,
summarized in the following table.

Interface Turn the wheel Turn the wheel Press the wheel…
feature on forward… backwards…
focus
Window with Scrolls the window Scrolls the window Activates the free panning
vertical scroll upwards. downwards. mode.
bar (See note onfree panning
modefor details)
Graphic Zooms in the Zooms out the model No effect.
window area model view. view.
Model window Zooms in the Zooms out the model When no view transformation
model view. view. mode is active, activates 2D or
3D view rotation mode.
(See note on2D/3D view
rotation modefor details)
Otherwise conforms to the active
view transformation mode
(rotation or panning).
Drop-down Selects previous Selects following list No effect.

139
list list item (if any). item (if any).
Slider control Moves slider up if Moves slider down if No effect.
vertical or left if vertical or right if
horizontal. horizontal.

2D/3D view rotation mode: There are two mouse driven view rotation modes:
 2D: This mode is automatically engaged when the direction of the mouse displacement is
approximately tangential to an imaginary circle centered on the model window center and
passing through the initial mouse position. The view is rotated about an axis perpendicular
to the screen plane and passing through the center of the model window.
 3D: This rotation mode occurs for all mouse displacements other than those described
above. The view is rotated about an axis parallel to the screen plane, passing through the
center of the model window and perpendicular to the direction of the current mouse
displacement.

Free panning mode: By taking the mouse pointer away from the initial point where
the mode was activated, the window is panned continuously in the direction of the mouse
pointer displacement. The distance of the current mouse pointer position from the initial
position determines the speed of the panning movement. To exit the free panning mode
press the wheel button or the left mouse button again.
Pop-up Menus

Pop-up menus are displayed on clicking the right mouse button. These menus are
contextual in the sense that the options they display depend on the interface feature that is
present under the mouse pointer while clicking, and the active application. For example, clicking
the right mouse button with the pointer over a single item in the Explorer window will display a
pop-up menu featuring an Edit option, among others.

An exception to the above is when you right-click in the Menu Bar or Toolbar area. In
this case (and in all applications) the Toolbar options menu is displayed, with the toolbar
list corresponding to the active application.
Selection of a pop-up menu option is made as for regular menus, that is, by clicking the left
mouse button.
Examples of pop-up menus

Selection right-click menu

140
View right-click menu

Tools right-click menu

Pre-Defined Views

A number of tool buttons are available in the Views toolbar, enabling you to quickly access
the most commonly used standard view settings.
Procedure
1. If several model windows are open in the session, make sure that the required model
window is active.
2. Click the icon that corresponds to the required view setting.

141
The View Orientation icons are arranged as a drop-down list in the Views toolbar.
This can be detached to post the View Orientation toolbar.
Icon Name Description

Isometric View Sets the active model window in isomeric view.

Top View Sets the active model window parallel to the XY model plane.

Front View Sets the active model window parallel to the ZY model plane.

Left View Sets the active model window parallel to the XZ model plane.

Bottom View Sets the active model window parallel to the YX model plane.

Rear View Sets the active model window parallel to the YZ model plane.

Right Side View Sets the active model window parallel to the ZX model plane.

Gravity Direction Sets the active model window according to the Gravity direction.

You can customize the pre-defined views by selecting File > General Preferences
from the menu. Select the 3D View tab of the Preferences dialog box. Here, you can
specify the default view center for each of the plane views, and both the default view
center and the orientation for isometric view.
Databases

Database menu allows to access Material, Interface & Process Condition Databases.

142
Look and feel of all Databases are similar.
 Material Database
 Interface HTC
 Process Condition
 HPDC Machine
 Interface Material Link
Material Database
Material Database can be accessed from Database menu - Material:

Material Database Usage detailed

143
(1) Various menus for loading, path settings, unit settings are available for access:
a. File:
i. Export Active Materials: Selected materials from the active database are exported
in .xml format.
ii. Import Materials: Materials are imported from a .db file or an xml file to User,
Company or to a new temporary database. A new folder named
“User_Import_Count” is created and the materials are populated below the new
folder.

iii. RecentMatList: Displays the recently navigated materials by the user. This list is
saved and restored between sessions. Allows the user to select a material from the
list and the material gets selected if it exists.

144
iv. Exit: To exit the material editor.
b. Database menu: Set/load different databases.

There are four different databases, and three DB paths are shown in this panel:
i. PUBLIC: The path of this cannot be modified.
ii. COMPANY: Database can be edited and specifically created for any COMPANY.

Browse folder ( ) option is available to give path for DB. Created from both XML
file formats (MatML and MTXML) and ProCAST .db files. Company Database is
loaded/created after necessary conversion.
iii. USER: Database which can be exclusively used/edited by User. Browse folder

( ) option is available to give path for DB. Created from both ProCAST .db files
and XML file formats (MatML and MTXML). User Database is created/loaded after
necessary conversion.
iv. Model: This database is available when model is loaded. This DB shows the
materials which are owned by model only.
Clicking on Apply will activate the databases, as shown below.

145
c. Unit: Units of an entire material can be set from this menu. The available units are User
defined, FPS, SI and CGS.

The User Defined, FPS, SI and CGS units can be saved with a selected material in
Database. When the material is assigned to a volume, the material properties are
converted to SI units and saved.

The material names based on region/country can be displayed by setting the


required Region/Country name in Cast Preferences tab in Preferences dialog box.
(2) Databases are changed by clicking on tabs like Public, User, ...
a. Public is a read-only database indicated by a lock icon. The materials in this database can
be copied or exported to .xml files.
b. User and Company databases: User can view, create, modify, and delete of materials
and folders. User can copy/cut/paste/export of materials.
i. Versioning: The User and Company databases has the starting version of 2.1. The
databases less than this version or without any version can be loaded into the
current version. Whenever lower version database is loaded, a file with

146
“filename_Copy.mtxdb” is created and old database is copied to this file and loaded
into material editor. If a higher version database greater than 2.1 is loaded, then
user is given a warning message.
ii. Backup: The User and Company databases are backed up once per session when
the editor is launched for the first time after a database integration check. If the
integration check fails, then the database is restored from the previous back of the
database.
iii. Password Protection of Company Database: The company database can be
protected using a password against modifications to materials. The protected
company database is read only and no changes to materials are allowed. If the
database is unlocked using valid credentials, then the database is opened for read
and write.

c. Model is also a read-only database consisting of materials owned by the currently loaded
model. The model materials can be copied to user or company databases and exported to
.xml files. The changes to material in model database are saved to the model. The model
database lists only the materials which are not part of public, user or company database
but owned by the current model.

147
(3) Filter: Materials can be filtered by folder using this drop-down list, as shown below.

(4) Explorer tree: Shows the materials available in database and various options like copy.
Creating new materials/folders (USER/COMPANY) in database is also possible.

148
Right-click on material and select Copy to duplicate material and paste it in Company/User
database. CTRL+C and CTRL+V can also be used for Copy and Paste.

Activate User database by clicking on the User tab ( ). Right-click on any of the materials.

Various other options

149
a. New Material: To create a new material.

Unique material names are required for creating / renaming materials.


i. Below UnSorted: Right-clicking on All and selecting New Material creates material
below Unsorted folder with UnSorted_New and incremental count to get a unique
name in the following fashion.

150
ii. Below any Folder: Right-clicking on any folder and selecting New Material creates
material named after Folder Name appended with New and incremental count to
get a unique material name in the following fashion.

b. New Folder: This option creates a New Folder.

Unique folder names are required for creating / renaming folders.


c. Cut: To remove material(s)/folder(s) and paste it to other folder or database.
d. Copy: To copy material(s)/folder(s).
e. Paste: To paste material(s)/folder(s).
f. Rename: To rename a material.
g. Delete: To delete material(s)/folder(s).
h. Encrypt

151
i. Right-click on the material and select Encrypt, as shown above. The Set password
panel is posted, where you can enter and confirm a password, and enter an expiry
date for the password if required. There is also an option to display the password in
the panel. Click on OK in the Set password panel to apply the password.

ii. Selected material is encrypted, as shown below.

152
iii. Right-click and select Decrypt to view the properties.
iv. When encrypted materials are used in the setup, solver launch or data cast
execution, the application exports encrypted properties to prefix_mat.xml.
v. Solver decrypts this data and uses it for the calculation.
Example

153
vi. Visual-Viewer (Cast) cannot read the encrypted data. Hence, density, liquids/solidus
values are not displayed.

Visual-Environment internally uses OpenSSL library for encryption and decryption


operations.
c. Export: To export material(s)/folder(s) to xml file.
d. Drag and Drop of Materials/Folders: Materials can be dragged and dropped over folders
in User and Company databases for better categorization. The folders can be dragged or
moved to other folders.
(5) Metadata: Active material metadata details like Description and Name can be entered here.

154
Clicking on displays Material Description dialog to enter description for the active material.
The description can be entered or modified. The description is accepted using OK and discarded
using Cancel. The description is shown in the text field.

155
(6) Different properties of material can be accessed through these tabs. Clicking on
and selecting a tab shows/hides a category tab with properties, as shown below.

156
(7) Composition is the place where users get access to:

a. Thermodynamic Computations: button uses CompuTherm engine and


thermodynamic database (option). The Base element and the solute element compositions
are the inputs to thermodynamic computations.
Properties of materials can be computed with three different diffusion models by clicking
on drop-down combo list of Solid Diffusion Model, as shown below:

157
When is checked, then m, k and D1 properties, which are required
for CAFÉ Computations, are also computed for the respective solute element
compositions. m, k and D1 properties can also be edited manually.
i. Back Diffusion: By inputting cooling rate, properties can be computed using Back
Diffusion Rule (recommended). The default value for cooling rate is 1K/sec.

ii. Scheil
iii. Lever
For technical details about Back Diffusion, Scheil and Lever methods, see chapter:
Thermodynamic Databases.

158
The recommended range and default composition elements are derived from
Computherm Thermodynamic Databases recommendation.
b. CAFE Computations: An optional model for CAFÉ computations. Refer Computation of
Growth Kinetics (a2 and a3) section for details. m, k and D1 values are the required
properties for the CAFÉ Computations. These values can be computed by checking

at the time of or the values for these properties


can also be edited for respective solute element compositions. The cells for these
properties are editable only for the solute elements that have composition.

All the computed properties are shown in Blue color in all tabs.

Elements Tree node in Explorer tab for Composition: This option is shown when
Composition category tab is active and Base element is selected to add additional solute
elements to the chemical composition.

159
The elements that are added using this option are not used in the thermodynamic
computations.
i. Add to Composition: Add selected elements to the existing list of solute elements of
Composition tab at the end of default solute elements.

Duplicate element is not allowed as base or to the list of solute elements.


ii. Delete: Deletes the selected list of optional solute elements other than default elements in
Composition tab.

160
(8) Plot Editor Features

161
a. : Creates a new table for input.
b. : Imports a new curve file with various formats.

162
c. : Saves the curve table.

d. : Copies the curve.


e. : Pastes the curve.

f. : Deletes the curve.


g. : To enable or disable tool tip.
h. : To translate the curve by holding left mouse button in curve window.
i. : To zoom in to specific region of curve in curve window.

j. : To fit the curve.


k. : Dynamic zoom in /out with left mouse button in the curve window.

l. : To select points on the curve and highlight it in the table.

m. : To select a curve to display points.

n. : To set range for a curve.


o. Right-click options in Curve creation table.

163
(9) Table options:
Various right-click options are available in the table. They are as follows:
a. Copy: Copies the values of row. Multiple selection is possible by holding 'Shift' key.
b. Paste: Pastes the values in empty row.
c. Delete: Deletes the values in selected cells.
d. Format: Displays the values in different formats.
(10) Right-click options in the curve window.

164
a. View: This has various options like Zoom (to zoom curve), Pan (to translate curve), Fit (to
fit the curve), Dynamic Zoom, Legend Display (to show or turn off the Legend in curve
window), Show All Curves (showing all the hidden curves).
b. Tools: Various options to save the curve in the form of image with Save Image As (generic
option to save), Save Image to Clipboard (can be copied to any document), Save Image to
File (copies to default path).
c. Other options like Edit, Curves (basically to change the curve color, line and style),
markers (to change the marker color, line and style), and functions (to do various
operations on curves like Trigonometric, Arithmetic functions).

165
(11) Searching Feature: Search of materials in the active database based on criteria or select
from the list of materials using the drop-down list. The drop-down lists the materials that exist in
active database based on folder filter available at the top of Search panel. All materials are listed
by default for ‘All’ filter and the list adapts based on selected folder filter.

166
Folder Filter Lists the folders in active database. Based on the selected folder, the
materials are listed out in the explorer below their parent.
Material Lists the materials that exist in the active database taking into
Filter account the folder filter. The selected material is highlighted in the
tree.
Search Edit Shows the selected material or active search. The active search can
Box be modified here. Based on active search and folder filter, materials
are listed out in the explorer.
Reset Clears the active search and list materials based on the folder filter.
Advanced Posts advanced search dialog to facilitate editing of advanced
search search criteria. The criteria are taken into account along with the
folder filter and matching materials are listed.
Recent Displays the recent searches executed successfully. The first
Search List installation lists a pre-defined set of searches which are useful
for editing / executing / to know how the search syntax is.

Folder filter is always taken into account along with search criteria and
matching materials are listed out.
a. Material Filter and Edit Box: To filter Materials based on folder filter or based on criteria.
Materials can be selected in three ways:
i. By using drop-down list:

ii. Input material name to match the material from the list of materials:

iii. Input material name using “Material:EN*” command in search edit box. Search
count displays the number of materials that matched the criteria. The tree also
displays the materials matched to search criteria with their parent folders.

167
Input “*” in search edit box to clear the search and to list the materials based
on the folder filter.

b. Advanced Search :

Search Syntax
Colon (:) To separate the criteria key and value
Plus (+) To join the criteria with a meaning of BOTH
Two Vertical bars (||) To join the criteria with a meaning of Either Or

Search Criteria
Material Searches Material names with the given value
Property Looks for the specified property inside the material
Property Finds given model inside the material
Model
Const.Value The given float value is searched inside materials.
Curve.Value Searches the given float value inside any of curves defined in
materials
String.Value Finds a string type of value defined in materials
Curve.Label Looks for the match of curve label defined in materials.
Country If material has different names in different countries and is specified
for each material, then materials can be found based on their
country. Lists the materials whose name is defined for the given
country like US, EUROPE, CHINA, JAPAN and INDIA.

168
Search Examples
Material:EN* Material is the key and EN* is the value
Material:EN* + All materials name starting with EN and having
Property:Ag property Ag
Material:A* || Material: C* List all materials with name starting with either A or C

Click on to display a Resizable Advanced Search Dialog to Create/Edit/Delete/Show


search criteria for searching Materials with any combination.
i. Add Criteria: Add Criteria button displays a list of pre-defined Criteria to search
Materials with any combination.

After selecting a criterion, the selected criterion is shown as below. Join column
displays options to select between + and ||. Search value column displays all the
values available in the active database for the corresponding search key.

The change in each criterion is updated to the Search Edit Box as combination of
"Key:Value (join) Key :Value...".
ii. The Delete column displays the buttons to delete respective rows.

169
iii. The Search button executes the combined query in the Search Edit Box and the
Cancel button discards the new combined query. On a successful query, the filtered
materials are displayed in the explorer tree and a count is displayed below the Edit
Box, as shown below.

170
Every successful query is added to the top of Recent Search List.

c. Recent Search List: On clicking button, a list of most recent successful Searches
items pops up, which enable faster search.

171
d. Reset: The button clears active search in the Edit Box and resets the query. The
material list is shown as per the folder filter and the explorer refreshes with the
corresponding list of materials.

Input “*” in search edit box to clear the search and to list the materials based
on the folder filter.

When material has data for specific heat, latent heat and Enthalpy, preference is given to
Enthalpy data. The data for specific heat and latent heat is deleted and Enthalpy data is retained.
(12) Tree Tab Panel:
a. Add New Material: A shortcut to create material below the selected folder in User and
Company Databases.

172
b. Sort Materials: Sorts list of folders/materials in alphabetical order selected any folder.

173
(13) Right-click options in Category Tabs:

174
a. Copy/Paste/Clear:
i. Copy: Selected parameter value or list of values are copied and kept in clip board
for later paste operation.
ii. Paste: Paste copied parameter values if the source and target parameter ID list
match.
iii. Clear: Clear list of selected parameter values.
b. Hide columns: User can hide only optional columns in every tab.

This section consists of the following topics:


 Technical Details about Material Database
 Material Properties
 Thermodynamic Databases
 Computation of Thermophysical Properties Based On the Different Segregation
Models
 Calculation of Stress Properties
 Databases Recommended Range
 Influence of Alloying Elements

175
 Stress Database
 Stress Models and Properties
 Digitized Hardening
 Plastic and Viscoplastic Properties Determination
 Viscoplastic Properties Recommendations
 Visco-elasticity
 Fatigue Model
 Filter Database
 Exothermic Database
 Anisotropic Database
 Microstructure Database
Technical Details about Material Database
All the material properties are stored in Databases. This section describes the database
containing the material properties for Thermal, Flow and Stress calculations.
When a material is clicked in explorer, corresponding material property details are shown and a
window appears with the following content:

176
Firstly, material category tabs which have property values are automatically highlighted with
orange color. The active tab with property values is shown in yellow color. Other category tabs
like Exothermic, Filter and so on, are hidden. To add an optional tab, click on (+) tab.

Changes or modifications are only possible in USER/COMPANY database. The


default category tabs are Composition, Thermal and Fluid. The optional tabs like Filter,
Exothermic and so on are not shown when property values are not available.
Then, the material properties are organized in different tabs, with a hierarchical structure. So first
let us look into Composition, Thermal, Fluid properties:
The yellow tabs indicate that values are defined for the corresponding properties. Once a
"Thermal" or "Fluid" tab is selected, it becomes active, and so on. The figure below shows the
definition of the thermal conductivity:

The above figure shows the standard panel for material properties definition. User can define a
material property as a Const.(Constant) or a F(T) (Table) or sometimes as a user’s Function, by
selecting the drop-down option in the Type column, as shown below.

177
Before entering a Value / Table to a property, please select Value Unit and F(T) unit.
Otherwise changing the units after the definition, converts/ modifies the value of property.
When Const. is selected, the user can choose the units and enter the constant material property
in the field below "Value" column.
When F(T) is selected, the user can input the temperature-dependent property.
When F(t) is selected, the user can input the time-dependent property.
When "Function" is selected, the user can control the property through user function. Please refer
User Functions section for more details.
Above the table, the buttons allow to erase the whole table, erase only the selected line, import or
export the table. For imports, the table should be in the form of a text file, with X and Y values on
the same line, separated by at least a blank. The number of lines should not exceed 200. The
export format is the same.

The values of a parameter both const or Table are saved to the database when
material is saved. The same way properties of different options like viscosity or stress
types are also save to Database.

178
All the properties which can be defined as temperature-dependent are organized in the same
way. The only thing which changes is the hierarchy in properties, as shown below for the
Fluid/Viscosity/Carreau-Yasuda/Zero Viscosity definition.

Some of the properties are defined only by constants, such as the latent heat or the filter
properties. In this case, only the corresponding constant(s) should be entered, as shown below.

179
The following Material Properties section describes the different properties, and when they
should be defined.
Material Properties
Good material properties are the best base for a good simulation. Properties could be found in
several locations, such as literature, material suppliers, universities, web, ...
One can get material properties from the following websites.
www.matweb.com is material properties website which contains a lot of useful data.
www.matdata.net is a search engine for material properties.
Public data is ESI data, taken from various public sources and our own experience. Data is
seldom intrinsic to a material, it depends on the state and preparation of the material.
Another way to obtain material properties is through the Thermodynamic Databases (option)
which are embedded into Visual-Cast (see the Thermodynamic Databases section for more
details).

Thermal Problems

180
No phase change
For thermal problems (with or without solidification), the minimum data required is the following
(typically for mold materials):
Thermal conductivity
Specific heat
Density
These properties can be either constant or temperature dependent.

With phase change (solidification)


When solidification is present (i.e., for casting materials), one should define in addition the
following properties:
Fraction of solid
Latent heat or enthalpy
Liquidus and Solidus temperatures
The fraction of solid curve must be temperature-dependent. It should start at 0.0 at high
temperature and increase to 1.0 towards the low temperatures. The fraction of solid should be a
strictly descending curve and it should be strictly defined between 0.0 and 1.0. If it is not the case,
a warning will be issued. If there is an isothermal transformation (e.g. eutectic plateau), it should
be "spread" over an interval of one degree.
The latent heat, liquidus and solidus temperatures are defined by constants. The liquidus and
solidus temperatures are used for the porosity models and for the calculation of the permeability
of the mushy zone in the case of flow calculations.
Visual-Cast offers an alternative in the definition of the phase change. Instead of defining the
specific heat, and the latent heat, one can define the corresponding enthalpy curve.
The enthalpy as a function of temperature, H(T), is defined as follows:

where cp(T) is the specific heat as a function of temperature, L is the latent heat and fs is the
fraction of solid.
As there are two ways of defining the phase change, the software automatically detects if there is
a conflict in order to have either:
Specific Heat
Latent Heat
or
Enthalpy
Density
The density is used in thermal calculation (it multiplies the specific heat, the enthalpy and the
latent heat), as well as in fluid flow calculations and in porosity calculations. Please refer to the
Porosity models section for more details about the density definition.

Fluid Flow Problems


For fluid flow problems, it is mandatory to define the viscosity. Then, optional definitions are
available, such as "Surface Tension", "Permeability" and pressure drop with "Filter".

181
Viscosity
Several viscosity models are available in ProCAST:
Newtonian
Carreau-Yasuda
Power-cutoff
The Carreau-Yasuda model corresponds to Non-Newtonian flow, where the viscosity depends
upon the shear rate (see the equation below):

with:

strain rate

zero strain rate viscosity

infinite strain rate viscosity

phase shift
n Power law coefficient
a Yasuda coefficient
The above parameters can be defined in the database (as constants or as function of
temperature) as follows:

182
The Power-cutoff is used in the case of Semi-Solid casting.
Surface tension
The surface tension is based on the standard formulation which says that the pressure difference
across the free surface is proportional to the free surface curvature. Air pressure and this
pressure difference are used on the free surface nodes in the flow calculation. As the curvature
has to be computed, the results are only reliable if enough mesh points reasonably describe such
smooth surface. Surface tension may be used in the following situations: thin jets, droplets
formations, free surface motion, ...
Permeability
For a casting material, the permeability is defined by a Carman-Kozeny model, modified by
Beckermann at low fraction of solid. The user has also the ability to define its own permeability
table, as a function of Fraction of solid. In this case, a high permeability corresponds to a "free
flow", whereas a low value corresponds to "no flow". For "casting" materials, the permeability is
applied only in between the solidus and the liquidus temperatures.
For mold materials (in the case of lost foam or any case run with GAS 2 model), a permeability
should be defined. In this case, one can define a constant or a temperature dependent
permeability.

183
In ProCAST, mold permeability is entered in terms of a length unit.
In QuikCAST, it is in terms of a GF index.
Most foundries (at least in North America) use an AFS index.
Here is the conversion between all of them:
Please use the following Units conversion for the value of the Permeability (K):

where the units of “K” are cm 2.


For Filter materials, if the Permeability is defined, it will override the default permeability
calculated from the Filter tab.

Temperature dependent data


For temperature dependent properties, it is recommended to define the data in a range that is
sufficiently large to cover the temperature range experienced in the simulation.
In any case, ProCAST will perform extrapolation to obtain the required data outside of the range
given by the user.
The general rule is to extend the curves with constant value equal to the last given point, i.e., the
value outside the temperature range is assumed equal to the last available value.
An exception is made for enthalpy (since constant enthalpy with temperature is meaningless). For
enthalpy, linear extrapolation of the curve is performed using the last available slope, i.e., the
slope defined by the last two points of the curve.
Thermodynamic Databases
Material properties, such as the enthalpy curve and the solidification path (i.e., the fraction of solid
curve versus temperature), density, viscosity and thermal conductivity as well as elastic and yield
stress data can be computed automatically from thermodynamic databases.
Visual-Cast has an automatic link with thermodynamic databases to calculate these properties. It
is thus possible to compute the enthalpy curve, the fraction of solid curve, the density, the
viscosity and the thermal conductivity, based upon the chemical composition, for the following
systems and the following alloying elements:

CompuTherm LLC Databases

Al database:
Ag Al B C Cr Cu Fe Gd Ge Hf Li Mg Mn Ni Sc Si Sn Sr Ti V Y Zn Zr

Fe database:
Al B C Co Cr Cu Fe Mg Mn Mo N Nb Ni P S Si Sn Ti V W Zr

Ni database:
Al B C Co Cr Cu Fe Hf Ir Mn Mo N Nb Ni Pt Re Ru Si Ta Ti W Zr

Ti database:
Al B C Cr Cu Fe H Mo N Nb Ni O Si Sn Ta Ti V Zr

184
Mg database:
Ag Al C Ca Ce Cu Fe Gd La Li Mg Mn Nd Ni Sc Si Sn Sr Y Zn Zr

Cu database:
Al B Bi C Cr Cu Fe Mn Ni P Pb Se Si Sn Ti Zn

Co database:
Al B C Cr Fe Mo Ni Re Ta W Pt

Computherm thermodynamic database in 2018.0:

Al database:

1: Modified the Eta_Prime and C14 laves phase as requested by Kaiser Aluminum to get rid of
the miscibility gaps of these two phases above 90F for the precipitation simulation of Al-Mg-Zn-
Cu alloys.

2: The Al-Fe-Zn ternary system was revised in order to describe the Australia (AZ and AM) alloys.

3: The Al-Ag, Ag-Cu binary systems and Al-Cu-Ag ternary system were updated on the basis of
reference [1, 2]
Graphical illustrations

185
4: The Al-Fe, Al-Si binary systems were updated on the basis of Du’s work [3]. The stability of
Al2Fe and Al5Fe2 were modified.
Graphical illustrations

186
5: Three additional elements Co, Nb and Sb were added:
23 binary systems: Al-Co, Al-Sb, Co-Cu, Co-Mn, Co-Fe, Co-Si, Co-Cr, Co-Zn, Cu-Sb, Mg-
Sb, Al-Nb, B-Nb, Co-Nb, Cr-Nb, Cu-Nb, Fe-Nb, Mn-Nb, Nb-Si, Nb-Sn, Nb-Ti, Nb-V, Nb-Y,
Nb-Zr
6 ternary systems: Al-Co-Cu, Al-Co-Fe, Al-Co-Si, Al-Co-Mn, Al-Cu-Sb, Al-Mg-Sb

6: The metastable (Al,Si)3Zr phase was added.

References:
1. Witusiewicz, V.T., et al., The Ag-Al-Cu system part I: Reassessment of the constituent
binaries on the basis of new experimental data. Journal of Alloys and Compounds, 2004.
385(1-2): p. 133-143.
2. Witusiewicz, V.T., et al., The Ag–Al–Cu system: II. A thermodynamic evaluation of the
ternary system. Journal of Alloys and Compounds, 2005. 387(1-2): p. 217-227.
3. Du, Y., et al., A thermodynamic description of the Al–Fe–Si system over the whole
composition and temperature ranges via a hybrid approach of CALPHAD and key
experiments. Intermetallics, 2008. 16(4): p. 554-570.

Ni database:
Minor changes: Modified Co-Si and Hf-Si binaries and some C-related ternaries

Ti database:
Added full descriptions for many binaries and modified O-related binaries:
Al-Mn, Al-Mo, Al-O, B-Mn, B-Si, B-V, C-Mn, Cr-O, Cu-Mo, Cu-Nb, Cu-Ni, Cu-Si, Cu-Sn,
Cu-Ta, Cu-Zr, Fe-O, Fe-Si, H-Ti, H-Zr, Mn-Mo, Mn-Nb, Mn-Ni, Mn-Ta, Mo-Ni, Mo-Sn, Nb-
Ni, Nb-O, Nb-Si, Ni-Sn, Ni-Zr, O-Ni, Si-Sn, Si-Ta, Si-V, V-Zr

Fe & Mg database:
Only minor modifications were made for the PanFe and PanMg databases

187
The other alloying elements which are not present in this list are not available in the database and
will have no effect on the computed material properties. More details about composition
recommendations are given in the Databases Recommended Range section.
To activate the thermodynamic database, one should go in the Composition tab of the material
properties window.

Then the Base alloy (i.e. Al, Fe, Co, Cu, Ni, Ti or Mg) should be set, then all alloying element with
its concentration (in weight percent) are displayed. Once the chemical composition is entered,
left-click on Compute Properties, as shown above, to get options like "Scheil" or "Lever" or "Back
Diffusion" or Multiple solidification, to start the computation of the properties.

The trace elements below 0.01% should not be entered as it can affect the
convergence of the computation.
Scheil and Lever correspond to two different microsegregation models. In the case of "Lever", the
Lever Rule is applied, which corresponds to a complete mixing of the solute in the solid (i.e., very
good diffusion in the solid). On the other hand, the Scheil model corresponds to no diffusion at all
in the solid phase (both models consider complete mixing or infinite diffusion in the liquid). The
"Back Diffusion" model allows for some diffusion in the solid and corresponds thus to a situation
in between the Lever Rule and Scheil.

188
When the "Back Diffusion" model is used, an average cooling rate (corresponding to a
representative cooling rate of the casting to be modeled) should be specified in order to
determine the amount of back diffusion.

189
Please note that the cooling rate should not be set below 0.01 K/s. If a lower value is
needed, please use the Lever Rule model.
For iron and carbon steel, the Lever rule is still recommended.
The main difference between the three models is the shape of the fraction of solid curve at the
end of solidification, as well as the solidus temperature (see figure below).

190
The following figure shows the influence of the different models on the fraction of solid curve for
an A356 alloy (Al-Si7%-Mg0.3%). The curves labeled 0.1 K/s and 1.0 K/s correspond to the
"Back Diffusion" model with these cooling rates. For such alloy, the Lever Rule model will
correspond to low cooling rates (below 0.01 K/s), whereas the Scheil model will correspond to
high cooling rates (above 20 K/s). One can see that the back diffusion has a quite important effect
on the solidus temperature.

On the following alloy (Mar-M 200 Hf), the difference in the solidus temperature between the
Scheil model and the Lever rule is 550 degrees!

191
It is recommended to use the "Back Diffusion" model with a representative cooling
rate. However, when this is not known, it is recommended, for most alloys, to use the
Scheil model, except for low alloy steels where the diffusion in the solid is very fast.

Usually, solidus temperature from handbook refers to the equilibrium condition that
could be calculated using the lever or the back diffusion model with a cooling rate of 0 k/s.
However it is recommended for the calculation to use a realistic cooling rate to compute
the material properties.

The multiple solidification model allows the user to consider multiple cooling rates. The back
diffusion method is executed for all the given cooling rates. The first cooling rate is used to update
the all material properties. The rest of the cooling rates are used to update the multiple slopes for
the curves of Enthalpy and Fraction of Solid.

192
The multiple slopes for the curves of Enthalpy and Fraction of Solid are displayed, as shown
below.

193
To activate this model, the parameter MFSPATH must be activated from the Thermal tab of
Simulation Parameters, as shown below.

194
This model cannot be used in combination with MICRO 1.

In the example above, when the Scheil button is selected, the following curves appear:

195
One could see the fraction of solid curve, as well as the fractions of the different phases as a
function of temperature.
In the same time, automatically, the fraction of solid curve, the liquidus and solidus temperatures,
the enthalpy curve, the density, the viscosity and the thermal conductivity are stored in the
database, as shown hereafter (of course the values are finally stored only when the "Save" button
is pressed, before exiting the database).
Thermal conductivity

196
Density

197
Enthalpy

198
Fraction of solid

199
Liquidus-Solidus

200
Viscosity

201
Please note that when a thermodynamic database is used, as the enthalpy is calculated, the
specific heat and the latent heat should not be defined (as they are contained in the enthalpy).
During the Thermodynamic database calculation, a file named "prefix.phs" is created. It contains
for each temperature the phase fractions, as well as the composition of each phase. This
information is not needed for a ProCAST calculation, but it can be interesting for other purposes
(e.g. growth kinetics calculations).

In Visual-Cast, it is written in temp directory: Please type %temp in command prompt


of window to get this path.
For example, it is written as shown in below path.

202
203
For some chemical compositions, it may happen that the software which extracts the data from
the Thermodynamic database is not able to find the right set of stable phases at low temperature.
Usually, this does not affect the determination of properties of interest (which are nearer the
solidification range). Thus, it is possible to use the calculated values as such. If such a situation
occurs, one should check the calculated data in order to be sure that it covers at least the
temperature range of interest.
In very few cases, it is possible that the density calculation does not give relevant results. In such
a situation, this result should not be used (or the wrong values should be erased).

204
As a general rule, if the results are not realistic, it is advised to suppress (i.e. ignore) the elements
which are present in very low concentrations. This is especially true for traces of Sulfur (S) and
Phosphorus (P) in steels, which sometimes "corrupt" the results.
Computation of Thermophysical Properties Based On the Different Segregation Models
The predicted thermal physical properties can be different between different calculation methods
even for a same alloy. The reason is that the different calculation methods can give different
phases at low temperature for some alloys. This is particularly true for Fe-based alloys, since
there is a solid phase change at around 700°C. Lever rule predicts the fully equilibrium phases.
However, for Scheil and Back Diffusion (modified Scheil), the solid phase change is not modeled
such that the phases will change as soon as solidification finishes. Figure 1 shows the prediction
of phase fraction for an AISI1040 steel based on those three methods. Lever calculation predicts
the FCC to BCC solid phase change but not Scheil and Back Diffusion.

Scheil Lever Back Diffusion

Figure 1. Precited Phase fraction

Hence, the predicted thermos-physical properties can be different at low temperature. On the
other hand, those properties should be quite close at above the solid phase change temperature,
which is around 700°C for Fe-based alloys. As a result, thermal analysis will not be affected much
since casting FE analysis mainly focuses on high temperatures.
Figures 2 shows the calculated enthalpy curve on those three methods. It clearly shows the
phases change for Lever but not Scheil and Back Diffusion.

205
Scheil Lever Back Diffusion

Figure 2. Enalthoy prediction

Figures 3 shows the calculated thermal conductivity curve on those three methods. Because of
the different phases predicted, the predicted thermal conductivities are different below the solid
phase change temperature.

Scheil Lever Back Diffusion

Figure 3. Thermal conductivity prediction

Figures 4 shows the calculated density curve on those three methods. It clearly shows that there
is no solid phase change for Scheil calculation but there is one for Lever. As for Back Diffusion, a
model is introduced to predict the expansion during cooling based on the cooling rate at solid for
Fe-based alloys in order to have a better stress prediction.

Scheil Lever Back Diffusion

Figure 4. Density prediction

In summary, the predicted thermal physical properties can be different between different
calculation methods even for the same alloy, particularly for Fe-based alloys. The density
calculation for Back Diffusion is modeled in order to better reflect the expansion based on the
cooling rate. Similarly, thermal conductivity based on Back Diffusion method can be modeled in
the future.

206
Calculation of Stress Properties
Beside the thermal properties, it is possible to automatically calculate some Stress properties.
At this stage, the Young's modulus, the Poisson's ratio and the Thermal expansion coefficient can
be calculated based upon the phases obtained from the thermodynamic databases. For Al, Mg
and Fe alloys, the Yield Strength can also be calculated (this can be done only if the Back
Diffusion model is selected).

Stress Properties are automatically calculated in Visual-Cast whenever we use


"Scheil" or "Lever" or "Back Diffusion".
Please note that the other Stress properties (i.e. hardening, viscoplastic, ...) cannot be calculated
at this stage (for Al, Mg and Fe only, the Yield stress can be calculated). Thus these properties
will remain empty.
The following figures show examples of computed Stress data from C95300.

Young's modulus

207
Poisson's ratio

208
Thermal expansion coefficient

There may be thermal expansion when computing the aluminum chemical


compositions.

The Yield Stress can be calculated for Al, Mg and Fe systems. Moreover, the Yield Stress
calculation takes into account the effect of the microstructure (mainly the SDAS) through the
cooling rate. The following figure shows the calculated Yield Stress of the A356 alloy, for different
cooling rates:

209
One can see that the effect is very strong as it can change by about 100% between low and high
cooling rates.
Databases Recommended Range
The CompuTherm databases can be used for the following elements and in the following ranges.
More information can be obtained on the www.computherm.com website.
The recommended composition ranges mentioned directly in the Visual-Cast Material Editor are
not strict limits. These are ranges which were extensively tested.
The Thermodynamic Database User's Guide (from CompuTherm LCC) is added in the
software installation. This manual describes for each alloying system the phases which are
calculated, the limitations as well as the validations which have been made.

Al Database
Developed for Al-rich alloys such as commercial casting and wrought alloys. Tested with more
than 40 commercial Al alloys.

20 Components:
Major alloy elements: Al, Cu, Fe, Mg, Mn, Si, Zn
Minor alloy elements: Ag, B, C, Cr, Gd, Ge, Hf, Li, Ni, Sc, Sn,
Sr, Ti, V, Y, Zr

Major phases (total 237 phases): Liquid, Fcc_A1(Al),


Diamond_A4(Si), Al5Cu2Mg8Si6, Al8FeMg3Si6, Eps, Sigma-(Al,Cu,Zn)2Mg,
T-(Al,Cu,Zn)49Mg32, Al20Cu2Mn3, Al23CuFe4, Al7Cu2Fe, S-Al2CuMg, TAO(t),
a-AlFeSi, b-AlFeSi, AL15_FeMn3Si2(a-AlMnSi), AlMnSi-Beta,

210
AlCu_Theta(q), Al13Fe4, AlMg_Beta, Al11Mn4, Al12Mn, Al4Mn, AL6_FeMn,
Al3Ni1, AlSr4, Mg2Si,Al3Zr, Al3Sc_x

Fe Database
Developed for Fe-rich alloys.
21 Components:
Major alloy elements: Fe, Co, Cr, Mo, Ni, V, W.
Minor alloy elements: Al, B, C, Cu, Mg, Mn, N, Nb, Ni, P, S, Si,
Ti.

155 Phases: Liquid, BCC_A2 (ferrite), HCP_A3, FCC_A1 (austenite),


TCP phases, Carbides, and so on.
It was observed that alloy elements which are present in very small quantities (such as P and S)
may cause problems in the phase determination. As these elements do not significantly affect the
material properties (although it may have important effects in other fields), it is recommended to
remove these elements for the computation.

Mg Database
Developed for commercial Mg-rich alloys
21 components:
Major alloy elements: Mg, Al,Ca, Ce, Gd, Li, La, Mn, Nd, Ni, Si,
Sn, Sr, Y, Zn.
Minor alloy elements: Ag, C, Cu, Fe, Sc, Zr.

Contains more 445 phases where 160 assessed (refer to the


separated manual for more details).

Ni Database
Developed for commercial Ni-rich alloys.
22 Components: Al, B, C, Co, Cr, Cu, Fe, Hf, Ir, Mn, Mo, N, Nb,
Ni, Pt, Re, Ru, Si, Ta, Ti, W, and Zr

99 Phases: Liquid, Fcc_A1(g), L12_Fcc(g¢), TCP phases, Carbides,


and so on.

Ti Database
Developed for commercial Ti-rich alloys such as alpha, alpha+beta, and beta alloys.
18 Components: Al, B, C, Cr, Cu, Fe, H, Mo, N, Nb, Ni, O, Si, Sn,
Ta, Ti, V and Zr

108 Phases: Liquid, BCC_A2(b), HCP_A3(a), DO19_Ti3Al(a2), Laves,


and so on.

Cu Database

211
Developed for commercial Cu-rich alloys.
16 Components:
Major alloy elements: Cu, Cr, Fe, Ni, Pb, Si, Sn, Zn
Minor alloy elements: Al, B, Bi, C, Mn, P, Se and Ti

220 Phases are calculated.

Co Database
Developed for commercial Co-rich alloys.
11 Components: Al B C Cr Fe Mo Ni Re Ta W Pt

77 Phases are calculated.

Please note that Pb is a very "delicate" allowing element (i.e., it is very difficult to predict
accurately the phases formed in the presence of Lead) and its addition may lead to odd results.
This is a known problem of the CompuTherm database and it is not linked to ProCAST itself. If
odd results are obtained, the amount of Pb should be reduced for the calculation (or the
CompuTherm database should not be used).
The Pb limit in the release notes of CompuTherm is 5%, however, it was observed that this limit is
too high and it does not work in most cases above 1%.
Influence of Alloying Elements
The goal of this section is to illustrate the influence of alloying elements on properties and to
show why properties obtained with thermodynamic databases may differ from experimental data.
Example 1: Al Alloy
Example 2: Ni Alloys

Al Alloy
An AlSi9Cu3Fe will be considered to illustrate the effect of an alloying element on the fraction of
solid curve (as well as on the liquidus and solidus lines). The usual average chemical composition
of such an alloy is as follows:

212
When the Scheil model is used with the above composition, 10 phases are found (in addition to
the liquid phase):

213
Starting from AlSi9Cu3Mg0.3, the other alloying elements are added progressively. The effect on
the solid fraction curve is shown in the following figures (please note that the Temperature scale
is changing from one graph to the next one):

214
AlSi9Cu3Mg0.3

AlSi9Cu3Mg0.3Fe1.3
(The effect of Fe is mainly visible at the liquidus)

215
AlSi9Cu3Mg0.3Fe1.3Mn0.55Ni0.55Zn1.2
(Mn, Ni and Zn are mainly affecting the second half of the curve)

AlSi9Cu3Mg0.3Fe1.3Mn0.55Ni0.55Zn1.2Cr0.15
(Cr is raising the liquidus temperature from 612 to 640°C)

216
AlSi9Cu3Mg0.3Fe1.3Mn0.55Ni0.55Zn1.2Cr0.15Ti0.15
(When Ti is added, the Al3Ti phase appears, with a very high liquidus temperature above 760°C)
The following figure shows the solid fraction curves for all the alloys together.

217
In order to see the effect near the liquidus, the same figure is shown, with a different vertical
scale. Only the first 5% are shown.

One can see in the latter figure the effect of Ti. Ti is added in order to create this Al3Ti phase
which is stable at very high temperatures, and acts as an inoculant. The amount of this phase is
very small (around 0.5%).

218
The above example shows that one should be careful with the use of Thermodynamic databases.
In this case, for instance, it would be advisable to ignore the Ti for the thermodynamic
computation, in order to avoid this "artificially" high liquidus temperature.
This also explains why there are differences observed between literature values (measurements)
and computed values for liquidus and solidus temperature. This is due to the fact that such values
are measured usually by Thermo analysis and that small amounts of solid (like the few percent
due to Fe, Cr and Ti near the liquidus temperature) cannot be detected. One should note that the
usual literature value of the liquidus for this alloy is 588°C, which corresponds to a computed
value of about 5% of fraction of solid. The measurement of the solidus temperature is even more
difficult and thus, it is normal to observe differences.

Ni Alloys
Usually, alloy composition is given with a range around the nominal value. The following example
illustrates the effect of small composition changes within this range on the value of the liquidus
temperature.
The following table shows the composition of three typical Ni alloys, with the Low, Nom and High
compositions.

All these compositions were computed using the CompuTherm thermodynamic database of
ProCAST. One can see that taking the extreme compositions at the limit of the range can lead to
differences in the liquidus temperature of +/- 30-40°C.

219
This has to be taken into account when comparing experimental values with computed ones, as
well as during the real process, as composition fluctuations can significantly affect the
solidification conditions and thus the defects which may appear.
Stress Database
To access the Stress database, one should click on (+/-) tab and activate Stress from Category
menu of Material Database.

When a new stress database entry is created, the following window appears.

220
The first thing to do is to select the desired model among the four following options:
Linear-Elastic
Elasto-Plastic
Elasto-ViscoPlastic
Visco-Elastic

Vacant, Rigid are the two properties that are available inside Volume manager itself.

221
"Vacant" is used to specify that the domain will not participate in the stress calculation. Thus, no
stress and no strain will be calculated and the domain will not participate in the contact algorithm
(i.e., the domain will not create any resistance to the neighboring domains). No properties should
be defined for a Vacant domain.
No stress calculation will be done in a "Rigid" domain; however, the domain will participate in the
contact algorithm (i.e., the neighboring domains will not be allowed to penetrate the Rigid ones).
No properties should be defined for a Rigid domain.
For the four other models, the following data is required:
a. Linear-Elastic

b. Elasto-Plastic

222
c. Elasto-ViscoPlastic

d. Visco-Elastic

223
The four models, as well as the meaning of the corresponding properties, are described in the
Stress Models and Properties section.

For stress calculations, the thermal material properties must include the phase
change (i.e., fraction of solid curve). Otherwise, no stresses will be calculated in this
material. (As the fraction of solid will not be defined, it will be considered as "zero" and no
stress will be calculated).
For more advanced calculations, it is possible to define mechanical properties which are not only
temperature dependent, but also a function of the microstructure and/or the defects (such as
porosity). For more details, please refer to the Stress Properties Depending Upon
Microstructure chapter.
Stress Models and Properties

Before defining the stress properties, one should be aware of the following: For
stress calculations, the thermal material properties must include the phase change (i.e.,
fraction of solid curve). Otherwise, no stresses will be calculated in this material. (As the
fraction of solid will not be defined, it will be considered as "zero" and no stress will be
calculated).
The three stress models available in ProCAST can be summarized in the following figure.

224
Linear Elastic Model

The Elastic model is mainly characterized by the Young's modulus. It corresponds to the slope of
the initial part of the stress-strain curve.
Beside the Young's modulus, one should define the Poisson's Ratio and the Thermal Expansion
coefficients. The value of the Poisson's ratio is usually around 0.3 for metals.

225
Young's modulus:

Poisson's Ratio:

Thermal Expansion:

The thermal expansion can be defined in two different ways:


"Thermal Strain"
"Secant" thermal expansion coefficient
In case a Strain curve is measured as a function of Temperature, one can directly input such a
curve in the "Thermal Expansion/Strain" tab.

However, in the equation (see above), it is the "Secant" thermal expansion coefficient which is
used.
Thus, one can define "Secant" thermal expansion coefficient directly.
The figure below shows how to transform a measured "Strain curve" (shown in blue) in a Secant
thermal expansion coefficient. To do so, one needs to define a Reference Temperature (T ref),
shown in the above figure as T o, which corresponds to a zero strain. The "Secant" thermal
expansion coefficient at temperature T 2 corresponds to the slope S2 of the line between a zero
strain (To) and the strain at the temperature T2.

226
In the case of a constant Thermal Expansion coefficient, the strain curve is a straight line and the
coefficient corresponds to the slope of this line. One does NOT need to define a reference
temperature in the case of a Constant coefficient.

Elasto-Plastic Model

For the Elasto-Plastic model, the properties described above for the Elastic model (i.e., the
Young's modulus, the Poisson's ratio and the Thermal Expansion coefficients) should also be
defined.
In addition, one should define the Yield stress and the Hardening coefficient.

227
The Yield stress corresponds to the stress at which plastic deformation starts. It can be
temperature dependent.

The hardening coefficient corresponds to the slope of the stress-strain curve in the plastic range.
Four different models of hardening are available in ProCAST:

228
Linear hardening is defined as follows:

whereas Non-linear hardening is defined as:

229
The Hardening can also be defined freely in an ASCII file where one can enter any "digitized"
curve. More information about this possibility can be found in the Digitized Hardening section.
In order to take into account for the "Kinematic" non-isotropic hardening behavior (Bauschinger
effect), the Amstrong-Frederick model is available:

x is called the back stress. It corresponds to the "movement" of the center of the Yield surface.
Isotropic and Kinematic models can be used either individually or together.

Elasto-ViscoPlastic Model

230
For the Elasto-ViscoPlastic model, the properties described above for both the Elastic model (i.e.
the Young's modulus, the Poisson's ratio and the Thermal Expansion coefficients) and the Elasto-
Plastic model (i.e. the Young's modulus and the Hardening coefficient) should also be defined.
In order to account for the visco-plasticity, three models are available:
a) Perzyna
b) Norton
c) Strain Hardening Creep

a) Perzyna model
This model allows to describe the secondary (steady-state) creep with threshold.

Where is Viscous Param and is power.

b) Norton model
This model allows to describe the secondary (steady-state) creep with no threshold.

231
Where is Viscous Param, is power, is Activation Energy.
As there is no threshold value, the data for the Yield Stress and the Hardening will be ignored.

c) Strain Hardening Creep model


This model allows to describe both the primary (strain hardening) creep and secondary (steady-
state) creep regimes with a possible threshold.

Where is Viscous Param, is power, is Activation Energy and is Strain Power.


For the three models, one has (for the plastic model):

or

Moreover, the value of the normalization stress ( * ) is defined by the user (usually a value of 1
is recommended, in the same unit system as the measured stresses). One should note that the
value of  and n will depend upon the selected value for *.

Further details on the Perzyna law can be found in: "Numerical Modeling in Materials
Science and Engineering", M. Bellet, M. Rappaz and M. Deville, Spinger, 2003, pp. 306-
310.

232
The principles of the determination of plastic and visco-plastic properties from experimental
measurements are described in the Viscoplastic Properties Determination section. Some
advice about the viscoplastic properties is written in the Viscoplastic Properties
Recommendations section.
Finally, one should however notice that in most cases, the use of an elastic-plastic model gives
very realistic results, without the burden of finding appropriate data for the visco-plastic behavior.

Stress Properties Depending Upon Microstructure


For more advanced calculations, it is possible to define mechanical properties which are not only
temperature dependent, but also a function of the microstructure and/or the defects (such as
porosity). For more details, please refer to the Stress Properties Depending Upon
Microstructure chapter.

Annealing
During a stress calculation, at high temperature, the plastic deformation is not contributing to the
hardening. The stress solver was modified in order to ignore the contribution of the plastic
deformation to the hardening, above a critical temperature (called "Annealing temperature"). As a
result, only the plastic deformation which has occurred below the "Annealing temperature" will
contribute to the hardening.
The Annealing temperature is defined in the Stress properties panel, as shown below. The
Annealing model will be activated if a value is specified in this tab.

During a heat treatment, when a part is heated up from a low temperature to a temperature above
the critical Annealing Temperature, the "pre-existing" plastic deformation contribution to the
hardening will be "erased" (which means that when the part is further cooled below the Annealing

233
temperature, the hardening takes into account only the plastic deformation contribution which
starts to be accumulated as soon as the temperature is below the Annealing temperature).
Please note that the "Plastic strain" (which can be viewed in the post-processing) will be the
result of the accumulation of all the plastic deformation, below and above the Annealing
temperature (without reset).
The Annealing model can be used with either the Elasto-Plastic or the Elasto-ViscoPlastic
models.

Temperature-dependent Stress Data


The three graphs hereafter show how it is recommended to define the Elastic Young's modulus,
the Yield stress and the Hardening coefficient (in the case of Linear Hardening) over the whole
temperature range. These recommendations will allow the best compromise between the physics
and the convergence of the stress solver.

Please note that the definition of these parameters in the mushy zone will influence
the hot tearing indicator prediction.
The value of the Young's modulus in the mushy zone (below a fraction of solid of 20%) should be
set as a constant value corresponding to the value of fs = 20%. Usually, this corresponds to
values between 50 and 500 MPa.

Please note that the Young's modulus can be automatically calculated in Visual-Cast
as function of the chemical composition, using the thermodynamic databases.
The value of the Yield stress in the mushy zone (below a fraction of solid of 50%) should be set
as a constant value corresponding to 5-10 MPa. One should not set values below 5 MPa.

234
If no data are available, the Hardening (in case of linear hardening) can be set to about 1/20 of
the Young's modulus. In all cases, the Hardening should be set to 0 MPa for fraction of solid
smaller than 50%.

If a tensile test is made on a sample which will be fully mushy at a given time, a non-
zero value of the Hardening should be set for fraction of solid below 50%. However, this
case is never occurring in usual casting processes.
Concerning the Poisson's ratio, if a value of 0.5 is set, it is automatically changed in the software
to 0.48.
Together with these data, the corresponding Simulation Parameters are recommended (see the
Stress Simulation Parameters section for more details):
CRITFS = 0.5
CONVS = 0.01 (for more accuracy, it is advised to use a smaller value like 0.001)

235
PENALTY = 0.01
AVEPEN = 0.1 mm (for large casting, this value can be increased)
SCALC = 5
Digitized Hardening
Instead of defining the Hardening either as Linear or with a Power law, it is possible to enter in an
ASCII file digitized hardening curves (i.e. the plastic part of tensile test curves at different
temperatures).
To activate this mode, one should select the "Table" tab in the "Hardening" tab:

Then, the number of tables specified in the ASCII file should be set (i.e. the number of different
temperatures at which a curve is digitized - two in the example below).
The corresponding ASCII file should be called: *ssN.dat (e.g.: prefixssN.dat), where N is the
domain number, and it should have the following structure:
STRESS_UNIT 4
CURVE 1
POINTS 4
TEMPERATURE 1 293.
0. 8.1159e+01
0.02 1.7684e+02
0.03 2.2671e+02
0.04 2.8462e+02

CURVE 2
POINTS 3
TEMPERATURE 1 823.
0. 9.838
0.01 3.89105e+01
0.05 4.73871e+01
The stress units are defined first (the unit code corresponds to the one of the ProCAST d.dat file -
e.g. 4 corresponds to MPa).
Then, the number of the curve should be specified, followed by the number of points in the curve.

236
The temperature at which the curve is defined (with the unit code before it - e.g. 1 corresponds to
degrees Kelvin, 2 to Centigrade and 3 to Fahrenheit), followed by the curve itself (strain - stress).
Please note that only the plastic part of the curve (i.e. the hardening) is defined by the tables.
This means that each curve should start by a zero strain (this is mandatory) and that the
corresponding stress value is the Yield stress at this temperature. Thus, the Yield stress defined
in the “Stress" tab in Visual-Cast will not be used in the case of Tables (the values will be
ignored).
Each curve can have a different number of points. Above the last point, the Stress is extrapolated
as a constant (i.e. perfect plasticity).

Each domain (of the mesh) for which we would like to use the digitized hardening
should have its corresponding prefixssN.dat file. This means that if it should be used in
domains 2, 5 and 8, one should duplicate the same file three times with the names
prefixss2.dat, prefixss5.dat and prefixss8.dat.
Plastic and Viscoplastic Properties Determination
In order to determine the plastic and viscoplastic properties (o, H, , n) at different
temperatures, including the transition, two methods are suggested (for the Perzyna model with
linear hardening):
 Tensile test method
 Creep test method

where:

Tensile Test Method


In the "tensile test method", one should perform controlled tensile tests.
These tensile tests should be performed for different temperatures using various strain rates. To
do so, the tensile test should be done at constant RAM speed (in order to pull at specified strain

237
rates). The stress and strain should be recorded during these tests. This is usually obtained with
a Gleeble machine.
The figure below shows the results of such measurements: at low temperature (T1 - green curve),
the curve is independent from the strain rate. Thus, the behavior is elastic-plastic. At high
temperature (T3 - red curves), one can see that the stress level depends upon the strain rate and
that there is no hardening (viscoplasticity only), as the curve is horizontal at a given stress level.
At "intermediate" temperature (T2 - blue curves), one has both plasticity (with hardening) and
viscoplasticity (as the curve depends upon the strain rate).

Low Temperature
At low temperature (usually T1 < Tm/3), the tensile test curve is independent from the strain rate.
This means that different tests made at different RAM speeds give the same curve (see the green
curve in the figure below).

238
From this curve, one can get the Yield stress (o) and the Hardening coefficient (H).
The value of the viscous parameter () should be set to zero in order to "disable" the
viscoplasticity. The Power (n) can be set to any value as it will not be used.
High Temperature
At high temperature (usually T3 > Tm/2), the tensile test curve is dependent from the strain rate
and the stress level is constant (no hardening) after the transition stage (see the red curves in the
figure below). As there is no hardening, the value of H should be set to zero. Therefore the
threshold (y) is equal to the Yield stress o.

239
In order to obtain the viscoplastic parameters ( and n), one should first determine the value of
the Yield stress (o), which can be equal to zero. To do so, one should perform a tensile test at
the lowest possible strain rate (possibly zero!) and see the value of the stress on the plateau. If
this value is very low, one can consider that the Yield stress (o) is zero. In order to determine this
value, one can also make loading-unloading tests, with increasing loads until plastic deformation
is obtained.
Then, for each measured tensile test curve, the value of (- Y)/* (which is the stress level of the
plateau minus the Flow stress, Y, which is equal to o in this case, as H = 0) and d/dt should be
plotted in a log-log graph.
The value of  and n can be deduced from this graph (see below).

240
Intermediate Temperature
At intermediate temperature (usually Tm/3 < T3 < Tm/2), the tensile test curve is dependent from
the strain rate and the stress level is not constant (hardening) after the transition stage (see the
blue curves in the figure below).

241
The hardening (H) corresponds to the slope of the curves (after the transition stage). In this
model, the hardening is the same for all strain rates.
In order to obtain the viscoplastic parameters ( and n), one should first determine the value of
the Yield stress (o), which can be equal to zero. To do so, one should perform a tensile test at
the lowest possible strain rate (possibly zero!) and see the value of the stress zero plastic strain.
If this value is very low, one can consider that the Yield stress (o) is zero. In order to determine
this value, one can also make loading-unloading tests, with increasing loads until plastic
deformation is obtained.
Then, for each measured tensile test curve, the value of (- Y)/* (which is the extrapolated
stress level at zero strain minus the Flow stress, Y. In this case, Y is equal to o, as pl = 0 -
because the extrapolation is performed a zero strain) and d/dt should be plotted in a log-log
graph. The value of  and n can be deduced from this graph (see previous figure).

Creep Test Method


In the "creep test method", one should perform controlled creep tests (plastic deformation as a
function of time for a given fixed load).

242
The creep tests should be performed for different temperatures using various loads (stress).
The figure below shows the results of such measurements: at low temperature (T1 - green
curves), the curves are independent from time (plateau). Thus, the behavior is elastic-plastic. At
high temperature (T3 - red curves), one can see that the plastic strain is increasing linearly with
time (viscoplasticity only). At "intermediate" temperature (T2 - blue curves), one has both
plasticity (with hardening) and viscoplasticity.

Low Temperature
At low temperature (usually T1 < Tm/3), the following curves are measured at different loads.

243
From these curves, one can get the Yield stress (o) and the Hardening coefficient (H). To do so,
the values (shown in the graph below) of  and  (at the different loads) should be plotted in a -
graph. A linear or Power Law Hardening can be fitted on those points.

244
Beside the above, the value of the viscous parameter () should be set to zero in order to
"disable" the viscoplasticity. The Power (n) can be set to any value as it will not be used.
High Temperature
At high temperature (usually T3 > Tm/2), the slope of each curve represents the strain rate, d/dt
(see the red curves in the figure below).

245
In order to obtain the viscoplastic parameters ( and n), one should first determine the value of
the Yield stress (o), which can be equal to zero. To do so, one should perform a creep test at
decreasing loads. The Yield stress is reached when there is no more plastic strain. If this value is
very low, one can consider that the Yield stress (o) is zero.
Then, for each measured creep curve (shown above), the value of strain rate (d/dt) should be
plotted as a function of (- Y)/* (which is the stress level of the plateau minus the Flow stress,
Y, which is equal to o in this case, as H = 0) in a log-log graph (see below).
The value of  and n can be deduced from this graph (see below).

246
Beside the above values, as there is no hardening, the value of H should be set to zero.
Therefore the threshold (y) is equal to the Yield stress o.
Intermediate Temperature
At intermediate temperature (usually Tm/3 < T3 < Tm/2), the creep test curves are dependent
from both the load (stress level) and time (see the blue curves in the figure below).

247
From these curves, one can get the Yield stress (o) and the Hardening coefficient (H) as
described above in the "Low Temperature" section. To do so, the values (shown in the graph
below) of  and  (at the different loads) should be plotted in a - graph. A linear or Power Law
Hardening can be fitted on those points.

248
In order to obtain the viscoplastic parameters ( and n), one should first determine the value of
the Yield stress (o), which can be equal to zero. To do so, one should perform a creep test at
decreasing loads. The Yield stress is reached when there is no more plastic strain. If this value is
very low, one can consider that the Yield stress (o) is zero.
Then, for each measured creep curve (see blue curves in the zoom below), the values of the
INITIAL strain rate (d/dt) should be plotted as a function of (- Y)/* (which is the load, i, minus
the Flow stress, Y. In this case, Y is equal to o, as pl = 0 - because the extrapolation is
performed at time=0, where the strain is zero) in a log-log graph (as described in the "High
Temperature" section).
Viscoplastic Properties Recommendations
Perzyna model
The Perzyna model is defined as follows (see the Stress Models and Properties section for
more details):

249
If we express the stress as a function of the strain rate when

we have the following:

The second term of the right hand side can be called the "Viscoplastic stress" ( ).
Thus, we have:

with

If we perform a "numerical isothermal tensile test" at various strain rates, one gets the following
curves. The first graph is with a zero hardening, whereas the second graph is with hardening.

250
251
One can see how the "Viscoplastic stress" is increasing with the strain rate.
As the "Viscoplastic stress" is a function of the inverse power of the "Power" term "p", it is very
sensitive to this parameter. Thus, the combination of the "Power" term and the "Viscous
parameter" term should lead to consistent values of the "Viscoplastic stress", and that at each
temperature.
The following figures show the temperature dependence of the Viscous parameter and the Power
for an A356 Aluminum alloy. Please note that the Viscous parameter is displayed in a logarithmic
scale.

252
253
Based on the Viscous parameter and the Power of the above graphs, the "Viscoplastic stress"
has been calculated for different strain rates, as shown hereafter.

One can see in the above graph that the "Viscoplastic stress" is higher at intermediate
temperature. However, this "Viscoplastic stress" is normalized by the Yield Stress (see next
figure)

254
It becomes clear that the viscoplasticity is negligible at low temperature and is significant at high
temperature, as shown below.

When viscoplastic properties are determined for a new material, it is strongly advised to compute
and plot (in Excel for instance) the "Viscoplastic stress", as well as the "Normalized Viscoplastic

255
stress", at the different temperatures and for different strain rates. This will allow to ensure that
the curves are consistent (e.g. the curves should normally not cross each other) and that the
order of magnitudes are right. The following section shows how the "Viscoplastic stress" can
change a lot with a "small change" of the viscous parameter and/or the Power.

Important Remark About Tabulation of Viscous Parameter


The Viscous Parameter varies across many orders of magnitude (from 1e36 at low temperature
down to 1e6 at high temperature - 30 orders of magnitude). This is why it is displayed in a
logarithmic scale.
The following figure shows the same curves as the previous section, but all grouped together.

In Visual-Cast, all the properties defined by tables are linearly interpolated. In the case of the
Viscous parameter, as the values change over so many orders of magnitude, the linear
interpolation is not anymore appropriate if the curve is defined by too few points.
In the next example, the properties (corresponding to the A356 alloy of the above figure) between
300 and 500°C are defined only by two points. Thus, the software will make a linear interpolation
of the Viscous Parameter and the Power between these two temperatures. The following figures
show the "interpolated" values of the calculated "Viscoplastic Stress" at 320, 400 and 480°C (see
red dots). This shows that this linear interpolation is not appropriate and leads to "wrong" values
of the "Viscoplastic Stress" (especially at 480°C).

256
Calculated values of the "Viscoplastic Stress" and of the "Normalized Viscoplastic Stress" at 320°C,
based upon linearly interpolated values of the Viscous Parameter and the Power between 300 and
500°C

257
Calculated values of the "Viscoplastic Stress" and of the "Normalized Viscoplastic Stress" at 400°C,
based upon linearly interpolated values of the Viscous Parameter and the Power between 300 and
500°C

258
Calculated values of the "Viscoplastic Stress" and of the "Normalized Viscoplastic Stress" at 480°C,
based upon linearly interpolated values of the Viscous Parameter and the Power between 300 and
500°C
In order to prevent such odd behavior, one should make sure that the Viscous Parameter and the
Power are tabulated with enough points (for instance with a 20°C interval).

Norton model
The Norton law, usually used to describe secondary creep (also called stationary creep), is:

Where σ is the Von-Mises equivalent stress and the viscoplastic strain rate. A common
simplification is to consider that the effect of temperature is captured by only one parameter in
pre-factor of the stress. So there are two possible assumptions:
1. Assuming Q=0:

Then the equation reduces to and the identification of p and η is done similar to
Perzyna law, plotting ln( ) as function of ln(σ).

2. Assuming η constant:
This is a classic secondary creep description.
First, the power p is determined by plotting ln( ) as function of ln(σ) for each test temperature.
The parameter p is the slope of the linear interpolation.

259
Then, one can write:

So, if one plots as a function of 1/T, one can determine Q and η with a linear regression.
Of course, none of these two simplifications is physically exact. Creep mechanisms are complex
and originate in some thermally activated microstructural evolutions. However, for the scope of a
parametric description of viscoplastic effects (secondary creep) in a numerical simulation, the
simplification is justified.

Strain Hardening Creep model

Here we have a large number of parameters to identify: η, Q, p and q, all temperature dependent.
Without forgetting that σycan also be given as a hardening law (in "plastic" menu), which would
mean two additional parameters.
So, here again, some simplifications are suggested:
 Assume Q=0
 At high temperature, assume that the threshold stress σy is a constant of a few MPa.
 σ* = 1 MPa for normalization. All stresses hereafter have to be in MPa.
Then we have:

This equation can be used for example to describe primary creep followed by secondary creep.
During a creep test (constant temperature T and stress σ), the integration between t=0 and time t
gives the strain as function of time:

Knowing that η and p can be identified in the "secondary creep" part of the test (stationary
regime), one can now identify q by fitting the experimental creep curve (strain vs. time) with a
power law.
Visco-elasticity
Waxes used in investment casting are polymers which exhibit viscoelastic behavior.
As the calculation of deformations of waxes may be important for such processes, viscoelastic
models were introduced in Visual-Cast.
This section describes briefly the models which are implemented in the software, followed by a
short description of the different inputs, in relationship with the above mentioned models.

260
The constitutive model for viscoelasticity that is implemented in ProCAST is isotropic and
assumes that the time dependence is limited to the shear response. Thus, we can write the
Cauchy stress σ as,

where s is the deviatoric stress, p is the pressure, and I is the identity matrix. The strain ε is given
by,

where e is the deviatoric strain and θ is the volumetric strain.


The volumetric response is assumed to be elastic, i.e.

where K is the bulk elastic modulus defined in terms of the instantaneous Young's modulus E and
the instantaneous Poisson's ratio v as

The deviatoric response is assumed to be viscoelastic, i.e.

where G is the shear relaxation function which is defined in terms of a Prony series.

where G∞ represents the long term shear modulus, Gi are relaxation shear moduli, and the λi are
shear relaxation times. Gi and λi are user inputs. G∞ is derived from the instantaneous shear
modulus, G0, and the relaxation shear moduli. G0 is itself derived from the instantaneous Young's
modulus.
The reduced time t' is related to real time through the following equation,

where T is the temperature and S(T) is the shift function. Note that when S(T)=1, which is the
temperature independent case, we have t'=t.
The Williams-Landell-Ferry (WLF) equation is used as the shift function.

where C1 and C2 are material constants, T0 is the reference temperature. A special case of T 0 is
the glassy transition temperature.
In summary, the required user input data for the viscoelastic model are instantaneous Young's
modulus, the instantaneous Poisson's ratio, the thermal expansion coefficient. These all appear
in the usual place in the stress data input screen. Then under the Shear Modulus tab, there is a
Constant tab and a Relaxation tab. The WLF constants C1, C2, and T0 are entered under the first
tab. In the second tab, there is a table where the relaxation shear moduli Gi and their
corresponding shear relaxation times λi are entered.
For the Stress material properties definition, select the Visco-elastic properties.

261
For the Elastic properties (Young's Modulus, Poisson's Ratio and Thermal Expansion), the
instantaneous properties should be defined as a standard elastic material.
The specific data for the visco-elastic properties should be defined in the "Shear Modulus" tab.

First, the Williams-Landell-Ferry (WLF) constants (see equation above) are defined in the first
"Constant" tab.
Second, the relaxation shear moduli table should be defined in the second tab (see equation
above).
Otherwise, all the other conditions (e.g. displacement BC and Simulation Parameters) should be
defined in a standard way.
Fatigue Model
Hard-coded Model - (Old Model)
A fatigue indicator is automatically computed in Visual-Cast, when cycles and stress are ON. The
parameters of the model correspond to measured values for a typical die alloy (H13 steel),
published by the Society of Automotive Engineers. No values are needed for this model and one
should note that the values are measured at room temperature and thus, the effect of
temperature is only taken into account through the temperature-dependent stress properties (i.e.
Young's modulus, Yield stress, Hardening, ...). One should not compare the influence of different
steels with this hard-coded fatigue model.

Modified Model - (New Model)


A modified fatigue indicator can be introduced in Visual-Cast by adding parameter
FATIGUE_DATA in the p.dat file. The life cycle NR is calculated by the so-called Coffin-Manson
law and Basquin law.
FATIGUE_DATA 1 = Coffin Mason law only
FATIGUE_DATA 2 = Basquin law only
FATIGUE_DATA 3 = Coffin Mason law for low cycle and Basquin law for high cycle
When Coffin-Manson Law for low cycle fatigue is written in the form of

and Basquin Law for high cycle fatigue is written in the form of

262
Where are constants and C1(T) and are temperature functions and
defined at certain temperature points.
These data can be read into Visual-Cast from an ASCII file named prefixftg.dat, which has the
following structure:
The following values correspond to the input of the new model to reproduce results of the old
model:

File Prefixftg.dat:

TEMPERATURE_UNIT 2
STRESS_UNIT 4
COFFIN_MANSON_LAW
EXPONENT 1.721170396
NUMBER_OF_POINTS 1
100. 0.580404385
BASQUIN_LAW
EXPONENT 8.064516129
BASQUIN_CONSTANT 1
NUMBER_OF_POINTS 1
100. 884.
All the words appearing in the file need to be followed to the letter.
The file should always start with the line that defines the input temperature unit, and followed by
the line that defines the stress unit of the input data.
The next are two sets of data for Coffin-Manson Law and Basquin Law.
In the Coffin-Manson Law data set, it starts with the declaration line of COFFIN_MANSON_LAW,
followed by a line defining the exponent used in the equation. The next line identifies how
many points are used to define the temperature function C 1(T), which is followed by these point
values. First column of these values is always for temperature and the second column is for
C1(T). It is suggested that the data is given in the ascending order of temperature, but it is not
requested.
Basquin Law data is given in a similar fashion except that an additional line for the
BASQUIN_CONSTANT is included.
There is no requirement for the particular order of the two sets of data that define Coffin-Manson
Law and Basquin Law in the file. However, the order of the lines in each data set needs to be
kept as shown except for the temperature dependent function data points, otherwise ProCAST
will stop with a message indicating error in the fatigue data.

Relationship of Material Constants in Fatigue Models


The Coffin-Manson model of SAE (SAE J1099) is written as

and Basquin model is written as

Where ∆εp/2 and ∆εe/2 are plastic strain amplitude and elastic strain amplitude, E is modulus of
elasticity, c is fatigue ductility exponent, εf is fatigue ductility coefficient, b is fatigue strength
exponent, σf is fatigue strength coefficient, and 2Nf is the fatigue life cycle.

263
The newly implemented Coffin-Manson model is in the form of

and Basquin model is in the form of

where ∆εp* is plastic strain amplitude, α, β and C3 are consonants, and C1(T) and σUTS(T) are
temperature functions and defined at certain temperature points, and NR is the fatigue life cycle.
To determine the relationship of the constants used in the models, we first consider the Coffin-
Manson model of Eq.(1) and Eq.(3). Noting the definition of all the variables used in Eq.(1) and
Eq.(2), we can write Eq.(1), using the variable of Eq.(3), as

Or

Which gives

Compare Eq.(7) to Eq.(3), we have β=-1/c, and C1(T)=(εf)-1/c.


Similarly, for Basquin model, we write Eq.(2), using the variable of Eq.(4) and noting the definition
of all the variables, as

Or

Which gives

Compare Eq.(10) to Eq.(4), we have α=-1/b, σUTS(T)=σf, and C3=1.


Using these relationships, data provided in SAE (SAE J1099) can be used in the newly
implemented fatigue models.
Filter Database
Example of Filter Database

264
Filters are characterized by the following properties:
Void fraction
Surface area per Unit Volume
Pressure Drop
The void fraction (Fv) corresponds to the amount of "porosity" or void inside the filter. This value
is dimensionless [-]. The definition of this value is mandatory in all cases.
The Surface area per Unit Volume (Sa) corresponds to the amount of "interface" between the
filter material and the air (when the filter is empty) per unit volume (see example below). This
value is used for the calculation of the thermal exchange between the filter and the liquid metal
going through, as well as for the automatic permeability calculation. The units are the reversed of
a distance (e.g. [1/m]). The definition of this value is mandatory in all cases.

265
The Permeability of the filter (i.e. its resistance to the flow) can be calculated in three different
ways.
a) Automatic permeability calculation
From the Void Fraction (Fv) and the Surface Area per Unit Volume (Sa) definitions, the
permeability can be automatically computed (based upon Carman-Kozeny), according to the
following relationship:

This mode is activated if the "Pressure Drop" and "Permeability" tabs are not defined.
b) Pressure drop calculation
If the "Pressure Drop" tab is defined, then, the permeability is calculated, using the following
values (coming from simple experiments), and the following equation:

where v, P and x are measured values which can be made in a simple experiment (or provided
by the Filter supplier). Please note that the Flow rate, v, corresponds to the velocity used in the
experiment and not the velocity of your casting model.
If both the "Pressure Drop" and "Permeability" tabs are defined, the "Permeability" values are
ignored (and replaced by the ones obtained from the above equation).
c) Specified permeability
It is also possible to define a given permeability value in the "Permeability tab". In this case, the
"Void fraction" is not used for the automatic Carman-Kozeny relationship.

See the Filters section for more details about the settings of cases with Filters.
Exothermic Database
Example of Exothermic Database

266
Technical Details
Exothermic sleeve can be modeled in Visual-Cast, with the appropriate heat generation.
Firstly, the exothermic sleeve should be meshed as a separate material domain. Then, the
corresponding material properties should be assigned and the "EXOTHERMIC" type should be
defined in Volume Manager as follows. (If the EXOTHERMIC type is not defined, the exothermic
energy, as defined hereafter, will not be released):

267
The material properties of the Exothermic sleeve must be defined as follows:

268
The Thermal properties (thermal conductivity, density and specific heat) should be defined as
usual for sleeve material in Thermal tab. In addition, the exothermic properties should be defined
in the "Exothermic" tab. The Exothermic energy corresponds to the amount of energy which is
generated during the burning of the sleeve. The Ignition Temperature corresponds to the
temperature at which the exothermic reaction is initiated.
The "burning kinetics" is defined in the table, as a fraction of burning, which is a function of time.
Once the exothermic reaction is started (i.e. when the temperature goes above the ignition
temperature), the exothermic energy will be released according to the burnt fraction.
Anisotropic Database
Example of Anisotropic Database

For anisotropic materials, the permeability and conductivity values in 2nd and 3rd axis can be
specified in the 'Anisotropic' category of material database.
Permeability value in the main axis should be specified in 'Fluid' category whereas Conductivity in
main axis should be specified in 'Thermal' category.
Microstructure Database
This database can be posted by clicking new tab ( + ) button.

Microstructures during cooling or during heat treatment can now be simulated based upon Time-
Temperature-Transformation (TTT) or Continuous Cooling-Transformation (CCT) diagrams. A
new category is added in the material editor.
This new TTT/CCT database containing 8 different steel alloys, coming from Sysweld, has been
introduced.
Introduction
The formation of microstructures associated with solid state phase transformations during cooling
or during heat treatment can now be simulated with ProCAST using models based upon time-
temperature-transformation (TTT) or Continuous Cooling-transformation (CCT) diagrams.
TTT/CCT diagrams can be found in handbooks or scientific publications for a variety of alloys.

269
They provide information about the starting and ending times of a phase transformation for
isothermal (see illustration below) or continuous cooling conditions.

The TTT/CCT module of ProCAST is based on the Kolmogorov-Johnson-Mehl-Avrami (KJMA)


expression for the overall kinetics of a phase transformation governed by a nucleation and growth
process. The volume fraction of the transformed phase (e.g. volume fraction of ferrite) is obtained
with:

where fmax is a maximum for the fraction transformed (e.g. equilibrium amount of ferrite), n is an
exponent and  is a characteristic transformation time. These parameters are determined from
the information contained in the TTT/CCT diagram. They depend on the local temperature and
cooling rate.
A differential form of this expression is integrated over the cooling path in order to account for the
local thermal conditions. It permits to calculate microstructure maps based on the thermal history
at every node of the finite element mesh.
Pre-processing
Coded TTT/CCT diagrams are grouped in a database which contains an entry for each of them.
In short, the operations required to activate the TTT/CCT module simply consist of assigning in
Visual-Cast an entry of the TTT/CCT database to the casting domains and setting to 1 the
TTTMIC Simulation Parameter. In more detail, the operations are as follows:
1) A TTT/CCT diagram should be assigned to all casting domains. This can be done in the
Material Database's Microstructure tab.

270
In the microstructure tab, all the available TTT/CCT models are displayed as a drop-down list.
You have to select the required model and click "save" button. Then that model is assigned to
that material.

2) On selection of TTT/CCT Data from the list, a new tab TTT/CCT is added, as shown below.

For CCT diagrams, the user can simply introduce cooling rate.
TTT diagram display is obtained by giving various temperatures for which transformation kinetics
are computed and plotted.
On selection of “Draw CCT diagram”, following diagram is drawn.

271
3) The TTT/CCT module should then be activated by setting to 1 the TTTMIC parameter in the
Microstructure tab of the Simulation parameter panel, as shown below. For faster calculations,
the coupling level can be set to -1, which will deactivate the feedback from the solid state
transformation to the thermal calculation. Temperature plateaus in the cooling curve associated
with the formation of pearlite are however no longer obtained in that case.

272
4) Initial phase: By default, the initial phase is LIQUID. For solid state phase transformations it
may be needed to specify a different initial phase. This can be done by creating a small text file in
the calculation directory. This file must be named:
[prefix]MLp.dat
It should contain just one line with the following content:
INITIAL_CONSTITUENT [Phase_name]
where phase_name is one the phases of the TTT diagram. A list of phase names is given in the
data file METALLURGYLINK.dat which is either located in the local directory or in the TTT
diagram database [ProCAST installation directory]\dat\db\TTT\[diagram number]
Very often, the initial phase is austenite. So the [prefix]MLp.dat file will be:
INITIAL_CONSTITUENT AUSTENITE
If the file [prefix] MLp.dat is not present in the calculation directory, the initial phase will normally
be liquid.
Database

273
Currently the TTT/CCT database contains eight steels which are coming from the Sysweld
database.

A description of the chemical compositions, phases and CCT diagrams of these alloys can be
found in the SYSWELD Database located in the software installation. Each alloy is described, as
shown below.

These alloys can also be found in the standard database (for the thermophysical properties).
Post-processing
The results of TTT/CCT microstructure calculations can be visualized in the VisualCAST post-
processor, as shown below.

274
The list of available constituents is automatically displayed in the menu, as shown below.

Results
As an illustration, the TTT/CCT microstructure module has been applied to the heat treatment of
a carbon steel gear component. The figure below illustrates the proportion of microstructure

275
constituents (pearlite, bainite and martensite) obtained after heat treatment for two types of
cooling conditions: water quenching and air cooling.

Interface Database
Interface Database can be accessed from Database menu or from Interface HTC Manager.

276
The "Interface" database contains four types of entries:
Standard
Die Combo
Die Coating
Die Spray
The "standard" interface is a heat transfer coefficient between two different domains, where a
"coincident" or "non-coincident" interface has been defined (not applicable in case of perfect
contact - EQUIV).
"Die Combo" is a specific entry to define a "composite" type of heat transfer in the case of die
casting. It allows to automatically define the sequence of closed and opened dies.

277
Standard HTC
For the definition of the Standard Interface heat transfer coefficient, Standard should be selected.
Type: Value/Function is available to enter the constant value or Functional input. Value can be
defined with respect to Temp/Time.

Database type can be Public, User, Company or Model. Detailed explanation about
these is given in Material Database, and Interface HTC database is almost same in
behavior, except with different values.
If the interface heat transfer coefficient is non-constant, the value defined in (the indicated
numbers have not been labeled in the figure) and the table(s) defined in (5) are all multiplied to
get the final value (at a given temperature and a given time). It is allowed to define only a table
without a constant (in this case, it is like if the constant is equal to 1). If a User function is
specified, neither a constant value nor a table can be defined.

278
Die Combo HTC
The "Die Combo" definition is used only in the case of die casting, to automatically handle the
sequence of closed and opened dies (see the Cycling Simulation Parameters [Cycles] section
for more details).
The "Die Combo" database entry corresponds to the following panel.

It allows defining:
a. The interface heat transfer coefficient (when the die is closed) in the "Constant" field
and/or as a Temperature-dependant table ("Temperature" button).
b. When the die opens, the interface heat transfer coefficient between the die and the air is
defined by a heat transfer coefficient (Air Coeff) and by an ambient temperature (Air
Temp).
c. If there is a Spray cooling stage, it can be defined by the corresponding heat transfer
coefficient (Spray Coeff) and the Spray temperature (Spray Temp).

279
d. If there is a Blow cooling stage, it can be defined by the corresponding heat transfer
coefficient (Blow Coeff) and the Blow temperature (Blow Temp).
The check-box "Attached until Ejection" will tell whether the switch between the interface heat
transfer and the air cooling will be done when the dies open or upon ejection of the part.
The time at which the mold is opened, closed and when the spraying starts and finishes can be
defined for each Die Combo entry (to have different values for each interface), in the above
panel, and/or in the "Simulation parameters", in the "Cycles" tab, as shown below.

The values defined in the Parameters will apply to all the Die Combo interfaces where no values
are specified in the Die Combo panel (i.e. if all the values are set to 0).

Die Coating
Die Coating dialog box

280
About Die Coating
This boundary condition is used to model the thermal effect due to die coating.
Die coating is a liquid coat applied to a chill mold or crucible to either decrease the thermal
shocks due to the molten metal or to facilitate the ejection of the casting.
How to Model Heat Transfer?
To model the thermal effect due to die coatings, standard die coatings are available in a public
database.
They are assigned by nature and thickness to specific regions.
As a result, a thermal resistance is taken into account in the calculation of heat transfers between
mold and metal.
If the die coating used does not belong to the database, you can use thermal boundary conditions
so as to model the thermal die coating effect.
Die Coating Database

281
The table below gives a list of all the die coatings contained in the standard database and some
process information:
Product Comments Application Thickness
DYCOTE140 Mainly used on feeder or gating systems 1- 3 mm
DYCOTE-32 - 200μm-800μm
DYCOTE-34 - 200μm-800μm
DYCOTE-39 - 200μm-800μm
DYCOTE-5 - 200μm-800μm
GRAPHITE (high pressure and thixo-casting)
Theory
Heat transfer is modified by calculating an equivalent thermal resistance.
Rth (equivalent) = Rth1 + (e(diecoating thickness) / λ)
where Rth1 is the adherence resistance and λ the die coating conductivity.
These two parameters values are contained in the die coating database.
Die Coating Thermal Properties Product Adherence resistance Thermal Conductivity
Rth1 (m2K/W-1) λ (W.m-1K-1)
DYCOTE_140 2.59E-5 0.706
DYCOTE_32 1.29E-4 0.703
DYCOTE_34 2.60E-4 0.714
DYCOTE_39 2.82E-4 0.865
DYCOTE_5 1.76E-4 0.542
GRAPHITE 1.00E-5 1.05

Die Spray
The Die Spray condition is used to model spray for die casting process. To model spray cooling
stage, corresponding heat transfer coefficient (Spray Coefficient) and Spray Temperature should
be defined. Spray coefficient can be defined as constant or function of temperature or function of
time.
The Die Spray database entry corresponds to the following panel.

282
Die Spray Process Condition can be defined using process condition panel, as shown below.

283
There are three shapes of spray which can be defined using the below panel:
1. Cone

284
a. Origin represents the origin of Spray. Select point graphically, or enter x y z values.
b. Radius is radius of the shape at an ideal distance.
c. Distance is the ideal distance from the origin. HTC data is given at this distance and
during computation, HTC is reversely proportional to square of the distance.
d. Spray direction defines the direction of the spray.
e. Optional data for Trajectory. It is defined as function of time.
f. Die spray condition can be assigned from one of the databases.
2. Cylinder

285
a. Origin represents the origin of Spray. Select point graphically, or enter x y z values.
b. Radius is radius of the shape.
c. Spray direction defines the direction of the spray.
d. Optional data for Trajectory. It is defined as function of time.
e. Die spray condition can be assigned from one of the databases.
3. Rectangular Box

286
a. Origin represents the origin of Spray. Select point graphically, or enter x y z values.
b. Width is width of the shape.
c. Length is the length of the shape.
d. Spray direction defines the direction of the spray.
e. Width and Length directions define the shape orientation, and they must be
perpendicular to spray direction.
f. Optional data for Trajectory. It is defined as function of time.
g. Die spray condition can be assigned from one of the databases.

Defining Trajectory

1. Select points on the model using Point button ( ) and update( ).


The table is filled with points. The table can be edited. Use right-click option to delete
points.

287
Process Conditions Database
The "Process Conditions" database contains the following types of entries in the "Explorer":
Explanation about how to create boundary conditions is given in Process Condition Manager.
Here, only Database portion is covered. Arrangement in explorer is as shown below.
Process Condition Database can be accessed from Database menu or from Process condition
manager itself.

288
289
Thermal
Heat
The "Heat" boundary condition allows to define the heat transfer between the outside faces of a
given domain and the outside world (air, water, ...). The following panel is available for Heat
database entry definition. The same heat will behave as a "Surface Heat" when volume entity is
selected.

290
291
The above equation shows the three possible contributions to the "Heat" boundary condition (all
the contributions are added, although they all may not be active at the same time or in the same
cases).
The first term corresponds to a specified flux. It can be used if a given heat flux was measured for
instance. The second term corresponds to Convective cooling. This is the most common
definition of the cooling of an external face. It is defined by a heat transfer coefficient with the
ambience and by an external temperature (of the ambience). The third term is used at high
temperature, when radiation becomes important. In this case, the transfer is proportional to the
Stefan-Boltzmann constant and the emissivity and the difference of the fourth power of the
temperatures (surface temperature and ambience temperature).
The above equation contains the four values which are shown in the panel below, such as "Film
Coeff", "Emissivity", "Ambient Temp" and "Heat Flux". These values can also be "Time" and/or
"Temperature" dependent. In this case, the value of the constant (if any) is multiplied by the
corresponding table(s). It is also possible to define the different parameters by the corresponding
User Functions.
In the case of "Complex" radiation calculations, one should include "View Factors" (see the
Radiation section for more details). In order to activate the "Radiation" model, the "View Factor"
button should be turned ON.
Both the Region tab and Volume tab are enabled for entity selection for Heat process condition. If
regions are selected, it will behave as "Heat" and if volumes are selected, it will behave as
"Surface Heat".
Wrap
Wrap will provide ability to define a heat transfer coefficient depending on thickness. It will be a
heat transfer BC for different thickness values.
Wrap thickness will be defined in process condition panel through a right-click on Name. Based
on type (Wrap), a menu “Add Thickness” (1) will be available. It will open a window (2) for
entering the thickness (length) and number of wrap layers.

This value will be display at the bottom left of process condition (3) window if and only if type of
selected condition in process condition panel is WRAP.
Thickness spectrum can be viewed by clicking (4) Display Thickness button.
Wrap with '0' thickness can be defined to remove heat transfer effect from the existing wrap
condition (or create a hole on the existing wrap). For '0' thickness wrap, assignment from the
database can be skipped.

292
At simulation start, the heat values correspond to specified thickness values will be automatically
applied on WRAP location.

If heat values are not available for the specified thickness, the heat values defined
for the nearest thickness value is applied
To define heat values for the specified 'Wrap thickness', select 'New' from the drop-down and
input thickness and corresponding heat values and click 'Save' to save the changes. Heat values
can be saved for several thickness values by repeating previous step.
All the thickness values are listed in the drop-down list provided for 'Wrap Thickness' property.
To modify heat values, select thickness value from the drop-down, thickness and corresponding
values are displayed, Modify desired values and click 'Save' to confirm the changes.
To delete heat values, select thickness from the drop-down, and input blank for wrap thickness
value and 'Save' to delete these values.
Temperature
"Temperature" allows to specify (or impose) a temperature at a given point. It is especially used
to specify pouring temperatures in filling calculations.

293
The following panel corresponds to the "Temperature" database entry.

Value can be entered in cell of Value column, Unit can be set from drop-down menu, Graphical
input can be given with respect to Time and its unit can be set by selecting from drop-down
menu.
Enclosure Radiation
For radiation calculations, the emissivity of the mold, the casting top surface, the furnace or the
enclosure should be specified.

294
The emissivity should be defined between 0 and 1.
Volume Filter Heat
Volume Filter Heat allows to define the interface heat transfer coefficient between the liquid metal
and the filter material. Thus, the cooling of the hot liquid, when passing through an initially cold
filter can be modeled using a "Filter heat". The interface heat transfer coefficient (which is the
same as the one defined in the Interface Database section) is applied to the entire filter domain.
The entry for this Process condition is not available in Process Condition Database.
Volumetric Heat
In some thermal problems, it may be necessary to define the generation of heat inside a given
material (e.g. to model the effect of an electrical resistance). In this case, the thermal power
which is generated per unit volume should be defined. This heat source will be applied on the
entire specified material.

295
Fluid Flow
Velocity
The definition of the velocity is made in the following panel. In this case, the three components of
the velocity vector should be defined. If a Time or Pressure-dependent velocity is set, each
component of the vector will be multiplied by the corresponding table(s).

296
The Inlet Temperature (Temperature PC) can also be defined in this panel, but this input is
optional. User can either define a separate Temperature PC, or can input temperature values
using this panel.
If a gate should be active until a given filling fraction is reached, the "Fill Limit" slider can be used
for that purpose. This Fill limit does not have the same effect as the Simulation Parameter
LVSURF (see the Flow Simulation Parameters section for more details). LVSURF allows to
stop the filling, but more importantly, it allows to switch off the Fluid flow solver when the filling is
finished. On the other hand, the Fill limit defined in this boundary condition should be used if
multiple gates are present. It allows to automatically switch off one gate when a given fill fraction
is reached and the other gate will continue until LVSURF is reached.
Although it is possible to define a Pressure-dependent velocity, one should be very careful in the
use of such capability, as the pressure solution is very sensitive.
When an inlet velocity is set to fill a casting, there are situations where the user would like to
know which value of velocity should be set in order to achieve a given filling time. To do so, a
"Velocity calculator" is available.

297
Velocity Calculator

The velocity calculator can be used to define the pouring velocity BC. In this case, the user has
the choice to compute either the Velocity magnitude or the Fill time (as function of the other
value). If the Flow rate is defined by a time function, it is taken into account in the Fill time

298
computation. If the region is assigned to BC, then the area of the regions is automatically
transferred to calculator.
To use the velocity calculator, the following operations should be done (see the numbers in the
upper figure). Firstly, one should "Add" a new velocity Process condition (1) by right-clicking on
Name and assigning the corresponding nodes on the geometry. Then, right-click on the "Velocity"
boundary condition entry (1) and click on "Velocity calculator" (2). The "Calculator" window will
appear (3) - please note that the volumes set as EMPTY will be considered for the calculations.
Then, the user has to select whether he wants to compute the inlet velocity magnitude or the
Filling time (as a function of the other one) with the corresponding radio button (4). In the case
where the Velocity Magnitude should be calculated, the user has to enter the Fill Time (5) - if it is
specified in the BC entry, this value will be automatically used. The Inlet area is automatically
taken as the one corresponding to the boundary selection on the model. However, if this area is
different, the user can change it directly in the corresponding field (6). When the "Calculate"
button is pressed (7), the Velocity Magnitude is automatically calculated (8).
Create BC (9): If the Boundary Condition is not defined, then a new BC is created. If it already
exists, then the BC is updated.
One should be aware that the velocity calculator will give accurate results if all the nodes on the
inlet surface are selected. If only a few nodes are selected, the inlet surface will "overflow" to the
neighboring elements and the filling time will be shorter than the one specified. In order to prevent
that, it is advised to design a small additional volume, corresponding to the jet of liquid entering
the casting.
Ladle Calculator
Ladle Calculator is used to compute the "mass flow rate" for Inlet process condition, and "Velocity
at the outlet" for Velocity process condition.
Rectangular and Cylindrical input with taper is supported.
To use the Ladle calculator, the following operations should be done (see the numbers in the
following figures). Firstly, one should "Add" a new velocity or Inlet Process condition (1) by right-
clicking on Name. Then, right-click on the "Velocity" boundary condition entry (1) and click on
"Ladle calculator" (2). The "Calculator" window will appear (3) - If the velocity calculator is posted
from Velocity process condition, then the Temperature field (7) is hidden. It will visible only when
it is posted from Inlet process condition. Then, the user has to select whether he wants to
compute the velocity/mass flow rate for Rectangular or Cylindrical ladle through the radio button
(4). As per the user's selection, Rectangular or cylindrical ladle is displayed for the dimensions
marking. User has to input the ladle dimensions as per the picture (5). The advanced parameters
tab (6) is filled with default values. User is allowed to change the values. If temperature (7) values
are out of range for particular material, then warning message is posted.

299
300
When the "Compute" button is pressed (8), the Velocity Magnitude/Mass flow rate is
automatically calculated and updated in the plot. Unlike velocity calculator, node selection is not
needed. Update BC (9) command will automatically update the Process condition with the
computed values.

Fill time computed by Ladle Calculator may not exactly match with the simulated fill
time. When selecting the inlet surface, it is recommended to keep a free node between
velocity nodes and zero velocity nodes, i.e., Nodes located in the interface Alloy-Mold or
with a Wall BC assigned.
Pressure
The pressure is defined in the following panel. This PC is used to define pressure value at the
inlet.

301
The Inlet Temperature (Temperature PC) can also be defined in this panel, but this input is
optional. User can either define a separate Temperature PC, or can input temperature values
using this panel.
Inlet
Inlet boundary conditions are used to specify at the same time an "equivalent" inlet velocity
together with an inlet temperature. The inlet mass flow rate and the temperature can be time
dependent.

302
303
Inlet Mass Flow Rate Calculator

Please note that the direction of the equivalent inlet velocity vector is taken as the average of the
normals over all the nodes of the inlet. One should be careful if nodes at edges of the geometry
are selected, as it will have an influence on the inlet velocity direction.

304
The Fill time calculator can be used as described in the "velocity BC" section (see above). In this
case, the user has the choice to compute either the Mass Flow Rate or the Fill time (as function
of the other value). If the Mass Flow Rate is defined by a time function, it is taken into account in
the Fill time computation.
As the density is needed to compute a Mass Flow Rate in mass per unit time (e.g. kg/sec), the
user has to specify a temperature at which the density is evaluated. This temperature should
correspond to the inlet temperature (if this temperature is specified in the Inlet BC panel, it is
automatically transferred to the calculator).
If the inlet temperature changes, the density of the incoming metal also does. As the inlet velocity
can be calculated from the inlet mass flow rate and the material density, the inlet velocity
(automatically computed by Datacast) should change with time, even if the mass flow rate is
constant. If the user has an inlet temperature table and a constant inlet mass flow rate, the inlet
velocity will be constant because the inlet mass flow rate is constant. If the user wants to capture
the variation of the inlet velocity due to the variation of inlet temperature, he should define an inlet
mass flow rate table with as many points as he sees suited to capture this evolution well.
If the inlet is defined with a time-dependent table, then the flow solver will force the calculation at
each defined point of the table. Consequently, time step should be handled so that it is small
enough to compute velocity in a reasonable way (do not use too large time steps).
Wall
The Wall is used to set Zero velocity at the given nodes. For example, when a filling-flow
calculation is performed on a model where there is no mold, it is necessary to set a zero-velocity
boundary condition around the whole mesh (i.e. at all the locations where a mold would be in
contact with the casting). A zero velocity Process condition can also be replaced by a Wall
Process condition, which has the same effect.
The entry for this Process condition is not available in Process Condition Database.
Flow Colored Path
The Flow Colored path is used to identify with a color the liquid coming from a given gate. For
detailed description, please refer topic Colored Flow Path in Result analysis section.
The entry for this Process condition is not available in Process Condition Database.
Vent

305
If the "Gas" model is activated, the air can escape through vents or permeable media. Vents are
applied on nodes of the casting domains. Each vent is represented by an "equivalent tube" by
which the air can escape. Thus, a vent is described by the diameter and the length of the
"equivalent tube", as well as a roughness and the exit pressure.

306
For non-circular vents, the hydraulic diameter is computed from standard formulae. For a
rectangular vent, the formula is

If a slot vent is applied to more than one node, then the hydraulic diameter is divided among
those nodes according to this formula:

Turbulence

307
In the case of a Turbulent model, the user can specify the "Turbulent" state at the entry of the
liquid in the calculation domain using intensity of turbulence and char length. For further
theoretical reference, please refer Turbulent Model section.
Solid Transport

308
Inject

309
In the case of low pressure die casting (LPDC), it is possible to model the liquid bath of metal and
to apply a pressure on it (in order to drive the metal in the mold) via injected air. The inject BC
allows to specify the amount of injected air. Please note that this method may be delicate to
converge.
Mass Source

310
In the case of filling calculations, one would like to define the amount of metal which enters into
the material with a Mass source (instead of a velocity or an inlet BC). In this case, one can
specify that a given amount of metal (Flow rate) is "appearing" at the given location (X, Y and Z
coordinates) at the specified temperature. The metal will "appear" with a zero velocity.
Momentum Source

311
In the case of flow problems, one would like to model a source of momentum in a given material.
This could be the case to take into account electromagnetic forces or the effect of a propeller. In
this case, the momentum force vector should be defined. Please note that this force will be
applied in the whole specified material.

Mechanical
Displacement
In the case of stress calculations, the displacement of the model should be constraint. The
Displacement BC allows to define these constraints. Please note that if a field is not filled, the
displacement is not constrained in this direction (e.g. it is possible to specify only a "0" in the x-
field which will mean that the node cannot move in the X-direction, but it is free to move in the Y
and Z-directions).
Pin Squeeze Node

312
In the case of squeeze pin calculations, one can define a load applied on a given node with
Squeeze Pin Node. The diameter entry is then taken into account for the squeeze pin calculation.
Alternatively, the user can directly define the area of load using Squeeze Pin Face (Diameter is
then ignored in the calculation).
Pin Squeeze Surface

313
Please refer Pin Squeeze Node for details.
Point Load

314
For stress calculations, it is possible to apply a load (or a force) at a given location. The three
components of the load should be defined.
Surface Load

315
In the case of stress calculations, one can define a load applied on a given surface. In this case, it
corresponds to a pressure. The direction of the load is specified by the three components of the
load vector.

Grain Structure (CAFE)


The CAFE (coupled Cellular Automaton-Finite Element) module of ProCAST can predict both
columnar and equiaxed dendritic grain structures, taking into account the heterogeneous
nucleation, the growth kinetics and the preferential growth directions of the dendrites.
The module can be used for the prediction of columnar-to-equiaxed transition, grain selection in
columnar zone, stray crystals in single-crystal parts etc. Typical usage is for Investment casting,
Directional solidification (DS), Single crystal components (SX), equiaxed parts, Continuous and
Strip casting.
Volume Nucleation

316
This panel is used to define bulk nucleation for CAFE computations. The volume (bulk) nucleation
can be defined as a constant data. The 3 parameters of the Gaussian distribution (DTm, DTs and
Nmax) should be entered in the corresponding fields.
- DTm: Average undercooling
- DTs: Standard deviation
- Nmax: Maximum number of nuclei
Surface Nucleation
Surface nucleation can be applied on the surface of the casting or on surfaces of the windows.
For surface nucleation, 3 models are available:
- Gaussian distribution of surface nucleation sites.
- Single crystal (SX) nucleation on a surface.
- Texture (fiber texture) and grain density on a given surface.
The models can be selected using the combo box.
Surface Nucleation (Gaussion)

317
When "Gaussian" mode is selected, the fields dTm, dTs and GMax should be filled. dTm is the
mean undercooling, dTs is the standard deviation of the Gaussian distribution and GMax is the
integral over the Gaussian curve. This corresponds to the most common nucleation behavior.
Surface Nucleation (SX1)

When "SX1" mode is selected, the fields Phi1, Phi, Phi2 and Dt should be filled. DeltaT is the
undercooling at which growth will start, and Euler1, 2, 3 are the three Euler angles specifying the
crystallographic orientation of the single crystal. This corresponds to the definition of a single
crystal on a given boundary.
Surface Nucleation (Texture)

When "Texture" mode is selected, the fields G.Density, Vx, Vy, Vz and Deviation should be filled.
This corresponds to the definition of a "fibre texture" on a given surface, with a given grain size
and grain disorientation towards a specified direction. G.Density is Grain density on the surface
[m2]. Vx is X-component of the vector defining the texture orientation. Vy is Y-component of the
vector defining the texture orientation. Vz is Z-component of the vector defining the texture
orientation, and Deviation is Solid angle for the dispersion of the grain orientations around the
texture orientation.
Point Nucleation

318
Beside volume (bulk) and surface nucleation, it is also possible to define "Point nucleation". In
this case, the fields Phi1, Phi, Phi2 and Dt should be defined for each nucleus. Phi1, Phi, Ph2 are
the three Euler angles and dT is the undercooling at which nucleation should occur. User can
have as many "Point nuclei" as required.

Geometrical
Symmetry
ProCAST is able to deal with symmetry implying one mirror, two orthogonal mirrors, a single
rotation of n sectors and a combination of them. For more details, please refer topic Symmetry
under Cast section.
Translation
It is possible to define Translation, rotation and revolution of domains. This is used especially for
radiation calculations with view factors (where the furnace is moving with respect to the part, or
vice-versa).
The following panels allow to define the data.
The translation of a given material domain or enclosure is defined with the following panel. The
translation can be defined in three different ways:
x(t) - Translation vector or position (i.e. position vs. time)
v(t) - Translation velocity as a function of time (i.e. velocity vs. time)
v(x) - Translation velocity as a function of position (i.e. velocity vs. position)

x(t) - Position vs. Time

319
The position of the domain is defined as a function of time. This position is relative to the original
position at step 0. The translation vector is defined by X, Y and Z which is multiplied by the Time
function (in order to have the domain moving, it is necessary to define a time function. Otherwise,
the domain will remain fixed - no motion).
When x(t) is defined, it is possible to define the translation vector with user functions.
The State details are used to know from which time interval this BC is applied when multiple
translation/Rotation BC's are assigned to the same volume. This option is mainly used in curved
accordion case. The "Start Time" and "End Time" should be with respect to the complete process
(Global time).
If Start Time and End Time are left empty, then the process condition is applicable for entire
process.

v(t) - Velocity vs. Time


The velocity of the domain vs. time can be defined with the panel below. This Process Condition
has two variants.
v(t) - Velocity vs. Time (Default)

320
The direction of the velocity vector is defined by the U, V and W components. This velocity vector
can be either constant or can be multiplied by a Time function. When v(t) is used, the software
transforms it into x(t) automatically in order to have a translation position which is independent
from the timestep.
The State details are used to know from which time interval this BC is applied when multiple
translation/Rotation BC's are assigned to the same volume. This option is mainly used in curved
accordion case. The "Start Time" and "End Time" should be with respect to the complete process
(Global time).
If Start Time and End Time are left empty, then the process condition is applicable for entire
process.
v(t) - Velocity vs. Time (Automated Profile for modeling HPDC moving piston profile)

The velocity magnitude for Phase I and Phase II should be defined. The directions U, V and W
should be defined as unit normals. The Shot Start Time can be defined to delay the translation
and piston will remain at 0 velocity during this time. The transition to the second phase is
automatically computed during simulation. This is possible by defining TRANSPHASE_NODE in

321
the Simulation Parameter panel. Piston will switch to second phase when the liquid reaches the
TRANSPHASE_NODE. Transition time from Phase1 to Phase 2 can also be specified for the
automatic computation of velocity curve.

v(x) - Velocity vs. Position


The velocity of the domain vs. Position can be defined with the panel above. The condition has
two variants. The "Default" variant will work like Translate v(x) in previous version. The second
variant "Automated Profile" is used to define second phase velocity in HPDC cases.
v(x) - Velocity vs. Position (Default)

The direction of the velocity vector is defined by the U, V and W components (it should be a "unit
vector"). This velocity vector can be either constant or can be multiplied by a "Distance" function.
The "Distance" is the relative distance with respect to the initial location of the domain which
moves.
When v(x) is used, it is mandatory to have a non-zero velocity for the initial position (i.e. the zero
position). Please note that it is also mandatory to always have non-zero velocities defined (i.e. the
velocity should never be zero).
The State details are used to know from which time interval this BC is applied when multiple
translation/Rotation BC's are assigned to the same volume. This option is mainly used in curved
accordion case. The "Start Time" and "End Time" should be with respect to the complete process
(Global time).
If Start Time and End Time are left empty, then the process condition is applicable for entire
process.
v(x) - Velocity vs. Position (Automated Profile for modeling HPDC moving piston profile)

322
The velocity magnitude for Phase I and Phase II should be defined. The directions U, V and W
should be defined as unit normals. The transition to the second phase is automatically computed
during simulation. This is possible by defining TRANSPHASE_NODE in the Simulation Parameter
panel. Piston will switch to second phase when the liquid reaches the TRANSPHASE_NODE.
Transition distance from Phase 1 to Phase 2 can be specified for the automatic computation of
velocity curve.

Solid/Fluid Contact
The Solid/Fluid Contact BC is used to handle penetration of the moving mold with complex
surface using new penetration algorithm. The faces that penetrate the fluid should be selected
and assigned. To use the new algorithm, CSD run parameter must be set to 6. Also, Translate
BC must be defined along with this BC.
The entry for this Process condition is not available in Process Condition Database.

Rotation
The following panel allows to define the rotation of a material domain or an enclosure. The axis of
rotation should be defined by two points. The models units are automatically taken for axis points.

323
The rotation is defined in the "Time" button, which can be defined in the curve input under time
column.

The Axis Points can be defined by clicking icon ( ), which invokes the following panel.

324
The State details are used to know from which time interval this BC is applied when multiple
translation/Rotation BC's are assigned to the same volume. This option is mainly used in curved
accordion case. The "Start Time" and "End Time" should be with respect to the complete process
(Global time).
If Start Time and End Time are left empty, then the process condition is applicable for entire
process.
Revolution
The "Rotation" definition is used when less than one turn is done during the entire process. When
one has several turns, the "Revolution" definition is used. In this case, the axis of revolution
should be defined by two points. The models units are automatically taken for axis points. Also
the Axis Points can be defined by clicking icon ( ), which invokes the Axis Definition panel.
The "speed" of revolution can be defined either as a constant, or as a function of time, with the
following panel.

325
Periodic
Please refer topic Periodic under Cast section for creation of periodic. Only one periodic process
condition is possible for the given model.
Accordion

326
Please refer section Continuous Casting for the details about this process condition.

Interface

HTC Region
This process condition is added to define IHTC values on selected area of interface region. HTC
region will override the standard interface condition applied in the region. The interface heat
transfer coefficient (which is the same as the one defined in the Interface Database section) is
applied to the entire filter domain.
Die Coating
Please refer Die Coating section under Interface Database Condition chapter.

327
Die Spray
Please refer Die Spray section under Interface Database Condition chapter.
HPDC Machine Database
HPDC Machine Database can be accessed from Database menu or from HPDC Machine
Selection workflow.

HPDC Machine allows to define machines with different characteristics that can be used in HPDC
simulation.

328
The 'Machine' database entry corresponds to the following panel.

Interface Material Link


The Interface Material Link allows to add or modify predefined interface properties between two
specific materials. It can be accessed from Database menu.

329
Panel Options
 Choose the Type of Interface (Standard or Die-Combo) and an Interface Heat Transfer
Condition (for example, here, h=20) from the list of all the interface conditions defined in
the User Db of Interface HTC Database. These fields also act as a filter to display the
conditions with the selection criteria. So, when user chooses type as All, all the available
interface conditions are displayed.
 Select the two materials with the database (Public or User), Type of material and Name of
the material.
 Create Pair: Click this button to update the pair in the displayed list, as shown above.
 Apply: Click this button to save the created pair.
 Close: Click this button to close the dialog box without saving the changes.
 To delete any material link pair, right-click on the concerned pair. A pop-up menu will be
posted with Delete option. Click on Delete to delete the pair. Now, click on Apply.
Cast
Cast menu is organized into generic Casting tools that are used frequently during any case setup,
and is categorized as follows:

330
 Start Simulation
 Data Checks
 Simulation Parameters
 Volume Manager
 Interface HTC Manager
 Process Condition Manager
 Gravity Vector/Tilt
 Symmetry
 Periodic
 Virtual Mold
 Model Summary
 Clean Data

 Model Comments
Start Simulation
Start Simulation panel: Solver submission for a case or list of cases is done with this panel. Work
directory and Case details are picked automatically if the active case is present in the application,
else user should provide this information for solver submission.

331
1. Run: Here, various Solvers are available which can be run by clicking on Run ( )
option.
a. The default solver is ProCAST parallel.
b. Select "APM" (Advanced Porosity Module) to launch and visualize Advanced
Porosity calculations (see the Advanced Porosity Module chapter for more
details).

Select ’on’ APM Sub Solver in Cast Preferences of General Preferences for APM
option.

332
c. Select "CAFE" to launch CAFE calculations.

Select ’on’ CAFE Sub Solver in Cast Preferences of General Preferences for CAFE
option.

d. Select "HCS" to launch HCS (Hot tearing sensitivity) calculations. See the Hot
Cracking (For Continuous Casting) chapter for more details.

Select ’on’ HCS Sub Solver in Cast Preferences of General Preferences for HCS
option.

e. Select 'APM-New' (New Advanced Porosity Module) to launch and visualize


Advanced Porosity calculations (see the New Advanced Porosity Module chapter
for more details).

333
Select 'on' APM-New Sub Solver in Cast Preferences of General Preferences for
APM-New option.

f. Select ( ) to launch DataCAST.


g. Select “Sub Solver Only” ( ) to launch only sub-solver calculations.
If this option is not selected, ProCAST will run first by default.
h. Select "Save VDB" to save the .vdb file automatically when file is submitted to the
solver. If the toggle is "ON", the .vdb file is saved and if it "OFF", it is not saved.

i. Monitor: Click ( ) to post the Calculation Monitoring panel.

334
A graphical status of the simulation will be shown with the relevant information
concerning the calculation (i.e., percent filled, solid fraction, time step, current time,
CPU time, ...) corresponding to the case name indicated in the Case Name field. As
soon as we click on Monitor, the status is refreshed automatically. To exit the

Status window, click the Close button ( ).

Please note that the Graphical status works only when activated in the
working directory of the case (as the prefixp.dat file is read).

335
j. To prevent results from being overwritten by new results, a warning message is

posted before launching the solver. On clicking ( ), if result files exist in


working directory, the following warning message is posted.

i. Click on Yes to continue and launch solver.


ii. Click on No to stop.
k. Running Data Checks automatically before running the solver can be enabled or
disabled using ( ) check box button beside Data Checks… button.
If the check box is selected, data checks are executed and if there are any errors,
the following error message is posted.

i. Click on Yes to continue and launch solver.


ii. Click on No to stop.
All errors reported by Data Checks are printed in console.
Example:

If Datachecks reports only warnings and no errors, then error message is not
posted and all warnings are printed in console.
Example:

336
2. Run List: Here, all the cases runs one after the other with the respective solver selection.
Click on Run List button to run the files in the list one after the other.

All the cases that are required to be run in batch file should be specified by adding them
and using browse folder option. Adding and removing the solvers from the list is done
using the right and left arrows (in the middle of the GUI). Selected solvers can be sorted
using up down arrows (right side of the GUI). Click on Save button to save the batch file.
On Clicking Run list button, it creates the batch file for the run paths present in the list and
runs the batch file. When DataCAST results are not present in a particular run path (case),
DataCAST solver path should be listed before using any particular calculation on that
case.
3. Options: In this tab, various options to activate the solver and its settings are available.

337
a. ProCAST version lists all the ProCAST solver versions that are currently installed in
the system. It is done automatically by checking ProCAST environment variable that
is set during installation of ProCAST solver. If no solver is installed, a text is
displayed, 'ProCAST solver is not configured'. On selecting version, its solver path
is shown in the Path field.
b. Following can be used in “Datacast Option”:
i. -u: Stands for "update". It should only be used if INILEV is not zero. If "-u" is
used, it means all the result files (t.unf, u.unf, p.unf... etc) from previous
calculation are to be kept.
ii. -v: Is very helpful for debugging. It writes out coordinate and connectivity
data.
iii. -d: Checks for zero or negative volumes. Bad elements will be printed.
iv. -coin: Checks for error in coincident interface and free face compatibility.
c. If “Export d.dat” is ON, <prefix>d.dat is exported to project folder.
d. Host file configuration for parallel computation:
i. Generate host list by right clicking in the below area. Enter host machines,
processors available and processors used.

338
ii. Select the machines that must be used for computation (Ctrl+click for
multiple select rows and deselect particular row).

iii. The selected host machines are saved into a file <prefix>_hostfile.dat in the
work directory. (See the Parallel Solver chapter for more details). And this
file is used in the batch file for parallel computation.
Data Checks
This option is available under Cast menu. It is used to check the missed values/entries in various
panels for case setups done in pre-processor, as shown below.

339
When calling the Data Checks menu, it checks all the errors, warnings that exist in the active
case and lists all the issues (error / warning) in this panel explorer. Errors or Warnings alone can
also be listed with Error or Warning radio selection. Errors and Warnings are differentiated with
different icons, as shown above.
Right-click on the Error/Warning and select "Edit" to modify the input to fix the Error/Warning, as
shown below.

Some of the issues are conflicts between entities, which can be fixed by calling Resolve menu,
posted on right-click of the entities, as shown below.

340
On resolve, in the above case, shared entities are removed from the velocity condition. if user
wants to remove from left-side condition (Wall_1), then Resolve menu should be called from
Velocity_1 => Wall_1 item.
Simulation Parameters
This section contains the comprehensive description of all Simulation parameters.
The different categories of Simulation Parameters are organized in Tabs. The first Tab layer
corresponds to the different modules of Visual-Cast. For each module, the Simulation Parameters
are divided into a "Standard" tab, with the most often used parameters, and one or two
"Advanced" tabs with less often used Simulation Parameters. The values are then defined in the
lines.

341
Simulation Parameter usage detailed:
A. Main Menus
Main menus are divided in to File, Category and Unit:

342
1. File: This has further options to open existing p.dat; save - which saves the data and writes
in to casep.dat, and save as - which saves with the different filenamep.dat

Template Directory: Allows user to load templates from selected directory.

343
On clicking OK, all the templates are parsed from the directory and populated in Pre-
defined Parameters combo box.
Save as template: Allows user to save p.dat as a template, which is shown in Pre-defined
Parameters combo box.

On clicking OK, the template is saved in the default template location. If Template
Directory is defined, it is saved under that directory. A message is written in the console.

Added Template can be selected from the combo box, as shown below.

2. Category: To toggle on Simulation parameters required for various analyses, categories


can be activated/disabled with this option.
Examples
With all Categories toggled on:

344
With only General & Thermal categories toggled on:

These can be enabled or disabled by right-clicking on the last tab (+), as shown
below:

345
3. Unit: To set user-defined, SI, FPS and CGS units in the simulation parameters panel.
B. Pre-defined Parameters
Various pre-defined simulation parameters for analysis can be selected.
Visual-Cast allows defining "Pre-defined sets" of Simulation Parameters in the Preferences.
When one clicks on the "Select Pre-defined Set" button, a list of the available sets is displayed.
Then, the user has to select the desired one. In the case below, six sets are available among ten
possible sets.

346
The values contained in the Pre-defined sets correspond to the Simulation Parameters
Recommendations for each process. It is thus strongly advised to use these pre-defined sets or
to customize them according to your specific processes (see below).
The configuration of the Pre-defined sets can be easily performed by the user. One should just
save the "p.dat" file with the desired Simulation Parameters in the
"..\COMMON\Resources\Visual-Cast\RunParam" directory of the installation, under the name
"XYZp.dat", where XYZ can be any name.
The label which appears in the Simulation Parameter window below should be included in the
predefined file as follows (TITLE line):

347
Moreover, in the COMMON\Resources\Visual-Cast\RunParam directory, there is also a file
named "predefined_a_p.dat". This file contains the "default" values of the Simulation Parameters
which will appear when a new case is created. The user can change the content of this file (which
has exactly the same structure as a normal p.dat file) as required.

Predefined parameters are read from ..\Visual-Cast\RunParam where the application


is installed, for example, ..\COMMON\Resources\Visual-Cast\RunParam
C. String Selection option
To give better understanding about the values in the form of their description, this option needs to
be enabled.
Examples
With String Selection toggled on:

348
With String Selection toggled off:

349
D. Type
Wherever applicable, input types of constant and F(T) (Curve input) are available.

350
E. Value Unit
Units can be changed using the drop-down menu.
Example

F. Help
When a parameter is selected, a short description about the parameter is displayed at the bottom
of panel in Help box.
Example

351
G. Other options

1. Select GATENODE ( ): This option is enabled to select NODE if


GATENODE is on/1.

352
2. Apply ( ): Clicking on Apply will write/overwrite with the latest parameters in
p.dat

3. Cancel ( ): Cancels or resets the entered data.

4. Close ( ): Closes Simulation parameters panel.


This section contains the comprehensive description of all Simulation parameters.
The different categories of Simulation Parameters are organized in Tabs. The first Tab layer
corresponds to the different modules and models of ProCAST. For each module, the Simulation

353
Parameters are divided into a "Standard" tab with the most often used parameters, and one or
two "Advanced" tabs with less often used Simulation Parameters. The values are then defined in
the lines.

The values of the Simulation Parameters are stored in a file named "prefixp.dat" (often called the
"p.dat" file). The Simulation Parameters can thus be changed either in the Simulation parameters
interface, or directly "by hand" in the "p.dat" file (see example below).

354
The default values are not anymore specified in the manual, as they are set in the "default_p.dat"
file (see the Pre-defined Simulation Parameters section for more details).

This section consists of the following topics:


 General Simulation Parameters
 Cycling Simulation Parameters [Cycles]
 Thermal Simulation Parameters
 Radiation Simulation Parameters
 Flow Simulation Parameters
 Turbulence Simulation Parameters
 Lost Foam
 Core Gas
 Stress Simulation Parameters
 Micro Simulation Parameters
 APM
 NAPM
 CAFE
 Miscellaneous Simulation Parameters
 Simulation Parameters Recommendations
General Simulation Parameters
The Simulation Parameters which are used by any module are grouped in the General tab. It is
also possible to define the units which will be used for the display of the results (it will not affect
the results themselves).

355
The Simulation Parameters of the "General/Advanced" tab are usually not changed from the
default values, except in very specific cases. It corresponds mainly to the parameters of the
different general solver algorithms.

NSTEP
Specifies the number of time steps to take in the current run and is used in conjunction with
TFINAL. ProCAST will terminate the run when it reaches this limit or the TFINAL value, whichever
occurs first.
Enter an integer value.

TFINAL

356
Specifies the simulated time at which to terminate a ProCAST analysis. If this parameter is zero,
the run will be stopped by the TSTOP or NSTEP parameter. If NSTEP and TSTOP and TFINAL
parameters are set, the simulation will be terminated based upon which parameter is reached
first.
Enter a floating (real) value.
Select the units of time from: {sec | min}

TENDFILL
Specifies the delay after the end of the filling at which to terminate a ProCAST analysis. If this
parameter is zero, this parameter will not be active. If one wants to stop the calculation right after
the end of the filling, one should set a small value, different from 0.
Enter a floating (real) value.
Select the units of time from: {sec | min}

TSTOP
Specifies the temperature at which to terminate a ProCAST analysis (i.e. when all the
temperatures at all nodes are below the TSTOP temperature). If this parameter is zero, the run
will be stopped by the TFINAL or NSTEP parameter. If NSTEP and TSTOP and TFINAL
parameters are set, the simulation will be terminated based upon which parameter is reached
first.
By default, TSTOP is set to the alloy solidus temperature minus 10°C.
Enter a floating (real) value.
Select the units of Temperature from: {C | K | F}

TSTOP_PART
Specifies list of volumes, when completely solidified, the ProCAST analysis is terminated (i.e.
when all the temperatures at all nodes of defined volumes are below the TSTOP temperature).
If this parameter is not defined, TSTOP is applicable for all volumes.
If this parameter (and TSTOP) is defined, TSTOP is applicable on selected volumes.

INILEV
Specifies the initial time level. When an analysis is first started, INILEV should be equal to zero.
When you are resuming an analysis, INILEV should be set to the time step from which you would
like to continue. Note: You must have results for that time step.
If a larger value than the last stored step is specified, the last stored timestep will be used. The
last complete step corresponding to TFREQ, VFREQ and SFREQ will be selected and the
calculation will be restarted with this last time step.
When an Extract of "FVOL" or of "STRESS" results are performed, the value of INILEV must be
set to -1 (and the calculation will start at step 0). (See the Results Extraction section for more
details).
Enter an integer value.

DT
Specifies the initial time step size. Setting DT to zero when INILEV > 0 will cause ProCAST to
use the DT at step INILEV.

357
Enter a floating (real) value. The default is 1.0000e-03.
Select the units of time from: {sec | min}

DTMAXFILL
Specifies the maximum time step size which will be used during the filling stage only. Once the
filling is finished, the DTMAX value will be used. If DTMAXFILL is not defined (i.e. it is set to
zero), the value of DTMAX will be used for the whole calculation.
Enter a floating (real) value.
Select the units of time from: {sec | min}
The value of DTMAXFILL can also be defined as a time-dependant table. See DTMAX below for
more details.

DTMAX
Specifies the maximum time step size.
Enter a floating (real) value.
Select the units of time from: {sec | min}
The maximum timestep size can be set as a time-dependant table:

358
The time table is stored in the d.dat file. The value which appears in the DTMAX field, as well as
in the p.dat file should be zero in order to activate the table. If one would like to deactivate the
table, a non-zero value should be set.
Please note that if the value of DTMAX is reduced at a given time (e.g. reduction from 5 to 1 s. at
50 s.) the timestep may be reduced only after about 55 s. (as the previous timestep may have
been at 49.9 s. and thus the next timestep will still be done with DTMAX = 5 s.).
The choice of the units does not have any effect on the calculated results.

TUNITS
Specifies the temperature units to be used in the outputs.

359
Choose from: {C | F | R | K}

QUNITS
Specifies the heat flux units to be used in the outputs.
Choose from: { W/m**2 | cal/cm**2/sec | cal/mm**2/sec | Btu/ft**2/sec | Btu/in**2/sec |
cal/cm**2/min | cal/mm**2/min | Btu/ft**2/min | Btu/in**2/min}

VUNITS
Specifies the velocity units to be used in the outputs.
Choose from: {m/sec | cm/sec | mm/sec | ft/sec | in /sec | m/min | cm/min | mm/min | ft/min |
in/min}

PUNITS
Specifies the pressure units to be used in the outputs.
Choose from: {N/m**2 | Pa | KPa | MPa | bar | dyne/cm**2 | atm | psia | Ksi | lb/ft**2}

NRSTAR
Specifies the number of allowable restarts before the entire run is abandoned. A restart occurs
when the maximum number of corrections is reached. If too many restarts are taking place, it
could indicate problems with the model setup. Enter an integer value.

NPRFR
Specifies the printout frequency. This controls the time step interval at which results are output to
the prefixp.out file.
Enter an integer value.

PRNLEV
Specifies the level of nodal results to be printed out. The values specified in this parameter may
be added together. This allows you to collect combinations of nodal information in a single run.
Choose from:
 0 = no printout,
 1 = nodal velocities,
 8 = nodal pressures,
 16 = nodal temperatures,
 64 = nodal turbulence intensities,
 128 = nodal turbulence dissipation rates,
 1024 = nodal displacements,
 8192 = surface heat fluxes, and
 32768 = nodal magnetic potentials

SDEBUG
Specifies the level of solution debugging messages to be captured. These messages are written
to the p.out file.
Choose from:

360
 0 to capture no solution debugging messages, or
 1 to obtain information concerning, solver performance, time step control, and the free
surface model.

AVEPROP
Specifies the method to be used in calculating the properties for each element. ProCAST will
calculate the properties at each Gauss point or you may specify that the properties be calculated
only at the element center and that this value will be used as an average for the whole element.
This averaging reduces, somewhat, the finite element integration time required. This averaging
does not apply to the specific heat or enthalpy calculations.
Choose from:
 0 to calculate at each point, or
 1 to use the average

CGSQ
Specifies the Conjugate Gradient Squared solver flag. The values specified in this parameter may
be added together. This allows you to "build" a customized solver approach for your simulation.
Choose from:
 0 = Use the default iterative solver (TDMA),
 1 = Use the CGSQ solver on the U momentum equation,
 2 = Use the CGSQ solver on the V momentum equation,
 4 = Use the CGSQ solver on the W momentum equation,
 16 = Use the CGSQ solver on the energy equation,
 64 = Use the CGSQ solver on the turbulence intensity equation,
 128 = Use the CGSQ solver on the turbulence dissipation equation, or
 512 = Use the CGSQ solver on the density equation for compressible flow

LUFAC
Specifies the preconditioning parameter for the CGSQ solver. This parameter may speed-up
calculations of large models
Choose from:
 0 to use diagonal preconditioning, or
 1 to use partial LU factorization preconditioning

DIAG
Specifies the diagonal preconditioning flag for the symmetric solver.
Choose from:
 0 = use partial Cholesky preconditioning for everything,
 8 = use diagonal preconditioning for pressure,
 16 = use diagonal preconditioning for energy, and

NEWTONR
Turns on the NEWTON Raphson technique for the energy equation.
Choose from:

361
 0 to turn off the Newton Raphson technique,
 1 to turn the Newton Raphson technique on, or
 2 to turn on the Newton Raphson technique and use b-splines
The default is 0.
Option 2 results in using b-splines instead of linear line segments in the representation of the
thermal properties. It is suggested that all thermal input data be smoothed before attempting to
use b-splines.
Enter an integer value.

USER
Specifies various custom modes. The only still useful value is USER 1, to be set in order to
activate the call to external compute when no other user function is activated.

TMODS
Specifies the time step modification factor for normal stepping. If the number of correction steps is
less than or equal to NCORL, the subsequent time step is multiplied by TMODS.
If the number of correction steps is greater than or equal to NCORU, the subsequent time step is
divided by TMODS.
Enter a floating (real) value.

TMODR
Specifies the time step modification factor for restarts. If MAXCOR correction steps are taken
without convergence, the time step is multiplied by TMODR. Therefore, this number should be
less than 1.
Enter a floating (real) value.

CONVTOL
Specifies the convergence tolerance for the PETSC Solver. Default value is 1e-04.
Enter a floating (real) value.

MAXCOR
Specifies the non-converging correction steps for time step decrease. If MAXCOR correction
steps are taken without convergence, the time step is multiplied by TMODR.

STORAGETYPE
Specifies different storage interval options for writing solver output.
Time step is not adapted or modified when using STORAGETYPE, for that reason, the accuracy
of the output is given by the computed step that better matches with the STORAGETYPE
requirements.
Different storage options:
STORAGETYPE 1: Generates output for step frequency specified in *FREQ (TFREQ, VFREQ,
QFREQ, etc.) parameters.
STORAGETYPE 2: Generates output for the time frequency specified in STORAGETIME
parameter.

362
STORAGETYPE 4: Generates output for the filling fraction specified in STORAGEFILL
parameter.
STORAGETYPE 8: Generates output for the solid fraction specified in STORAGEFS parameter.
For filling case while FS is 0, output is controlled by TFREQ. An additional output is written when
filling is completed.
STORAGETYPE 16: Results output only happens on a stress calculation step (multiple of
SCALC, time function or not).

Above storage types can be combined to generate outputs based on user requirement. For
example, in filling and thermal example, where filling occurs from 0 to step 200, where
solidification starts at step 150 and completes at 300, and finally calculation runs till TSTOP 360
is reached.

We can have following possibilities:


case 1: STORAGETYPE 4: for step 0-200 it is controlled by STORAGEFILL, 200-360 is
controlled by TFREQ.
case 2: STORAGETYPE 6: for step 0-200 it is controlled by STORAGEFILL, 200-360 is
controlled by STORAGETIME.
case 3: STORAGETYPE 8: for step 0-150 it is controlled by TFREQ, for step 150-300, it is
controlled by STORAGEFS. An additional output is written at step 200 when filling is completed.
case 4: STORAGETYPE 10: for step 0-150, it is controlled by STORAGETIME, for 150-320, it is
controlled by STORAGEFS, from 320-360 it is STORAGETIME again.
case 5: STORAGE TYPE 12: for step 0-200 it is controlled by STORAGEFILL, 200-320 by
STORAGEFS, 320-360 by TFREQ. An additional output is written at step 200 when filling is
completed.
case 6: STORAGE TYPE 14: for step 0-200 it is controlled by STORAGEFILL, 200-320 by
STORAGEFS, 320-360 by STORAGETIME.

When user selects STORAGETYPE 12, the solver checks simultaneously both
conditions for STORAGEFILL and STORAGEFS, and when any of them is reached during
the filling, the solver forces a storage output.

STORAGETIME
Specifies time frequency value when STORAGETYPE 2 is used.

STORAGEFILL
Specifies filling fraction value when STORAGETYPE 4 is used.
Value must be between 0 to 1.

STORAGEFS
Specifies solid fraction value when STORAGETYPE 8 is used.
Value must be between 0 to 1.

363
STORAGETYPE will not modify the time step settled for the computation.It only
modifies the way of storing the results.
Cycling Simulation Parameters [Cycles]
When cycling is modeled, one should define the corresponding Simulation Parameters in the
Cycles tab (number of cycle and cycling time). In addition, when "Die Combo" interface definitions
are used, additional parameters should be set.

NCYCLE
Specifies the number of casting cycles to be simulated in a continuous mode. This parameter is
used along with TCYCLE. Both NCYCLE and TCYCLE must be set. This parameter is typically
used in die casting and permanent mold problems.

364
Enter an integer value.

TCYCLE
Specifies the time of casting cycle to be simulated in a continuous mode (duration of a cycle).
This parameter is used along with NCYCLE. Both NCYCLE and TCYCLE must be set.
Enter a floating (real) value.
Select the units of time from: {sec | min}

TOPEN
Specifies the time at which the mold opens, during one casting cycle. This is used in conjunction
with the "Die Combo" interface definition.
Enter a floating (real) value.
Select the units of time from: {sec | min}

TEJECT
Specifies the time at which the part is ejected from the mold, during one casting cycle. This is
used in conjunction with the "Die Combo" interface definition.
Enter a floating (real) value.
Select the units of time from: {sec | min}

TBSPRAY
Specifies the time of the beginning of the spray sequence, during one casting cycle. This is used
in conjunction with the "Die Combo" interface definition.
Enter a floating (real) value.
Select the units of time from: {sec | min}

TESPRAY
Specifies the time of the end of the spray sequence, during one casting cycle. This is used in
conjunction with the "Die Combo" interface definition.
Enter a floating (real) value.
Select the units of time from: {sec | min}

TBBLOW
Specifies the time of the beginning of the blow sequence, during one casting cycle. This is used
in conjunction with the "Die Combo" interface definition.
Enter a floating (real) value.
Select the units of time from: {sec | min}

TEBLOW
Specifies the time of the end of the blow sequence, during one casting cycle. This is used in
conjunction with the "Die Combo" interface definition.
Enter a floating (real) value.

365
Select the units of time from: {sec | min}

TCLOSE
Specifies the time at which the mold closes (before the start of the next filling), during one casting
cycle. This is used in conjunction with the "Die Combo" interface definition.
Enter a floating (real) value.
Select the units of time from: {sec | min}

CYCLEF
CYCLEF allows to perform a filling calculation at the last cycle. This means that the N-1 cycles
are run with a thermal only calculation and for the last cycle (N) a filling-thermal calculation is
performed.
The casting should be set as empty and the inlet boundary conditions (thermal and velocity/inlet)
should be defined (these will be applied only during the last cycle and will be ignored during the
first N-1 thermal cycles).
When CYCLEF is ON, FLOW should be set to 9 (instead of 3).
Please note that if a value of 1 is used for FLOW, the flow (i.e. natural convection) will be
activated during all cycles (and the filling will be applied only to the last one). Although this is
possible, this is not really useful and it is thus not advised to do so.
Enter an integer value. CYCLEF OFF corresponds to a value of 0 (default), whereas a value of 1
corresponds to ON.

UFSPRAY
Activates user function for die spray effect. UFSPRAY OFF corresponds to a value of 0 (default)
and ON corresponds to a value of 1.

Technical Information: Cycling


ProCAST allows to model the cycling sequence in the case of die casting (i.e. to account for the
heating of the die mold during the first cycles of casting). The figure below shows the principles of
cycling, as well as the different sequences.

366
In order to model cycling, one should be able to take into account the fact that when the mold is
closed, there is an interface heat transfer between the casting and the mold and when the mold is
opened, one should consider a cooling of the die and of the casting with the ambiance. One
should thus switch between an interface heat transfer coefficient and two "Heat" boundary
conditions.
The below images show in green the interface heat transfer coefficients as a function of time for
both the interface between the casting and the fixed die (solid green line) and between the
casting and the mobile die (dashed green line). One can see that the interface heat transfer
coefficient goes to zero when the casting and the mold are not anymore in contact. Conversely,
as soon as the mold opens, a "Heat" boundary condition should be set (the red curve on the
below figure corresponds to the heat transfer coefficient and the dashed blue curve corresponds
to the ambient (or external) temperature). One can see in the below figure that during the spray
sequence, the heat transfer coefficient increases and the spray temperature is also taken into
account.

367
When the die is closed, before the next filling, the interface heat transfer coefficient between the
dies is again activated and the interfaces between the casting and the die(s) are set to zero.
One should note that the Pre-defined Simulation Parameters for HPDC-cycling are not designed
in order to perform a Porosity calculation during the cycling calculation. If this is desired, one
should set to:
POROS 1
PIPEFS 0
GATEFEED 1
Then, a pressure BC should be set at the ingate in order to trigger Gate feeding.
It is possible to perform a cycling calculation (thermal only) which is automatically followed by a
filling-thermal calculation during the last cycle. To do so, the CYCLEF Simulation Parameter
should be set to ON (or to 1 in the p.dat file). See the Cycling Simulation Parameters section
for more details.
Thermal Simulation Parameters
The Thermal model activation, the Temperature results storage frequency, as well as the Porosity
model and parameters are the main parameters to be defined in the Thermal tab.

368
THERMAL
Specifies the thermal analysis to be performed.
Choose from:
 0 for no thermal analysis. Solve flow equations alone,
 1 to perform thermal analysis, using Temperature as the primary variable, or
 2 to perform thermal analysis using Enthalpy as the primary variable. This method is able
to capture the recalescence effect during solidification. It is recommended whenever
MICRO module is used, or very sharp changes are found in the Fraction of Solid of the
alloy.

369
TFREQ
Specifies the time step interval for writing temperature data to the unformatted results file. This
parameter can be used to reduce the size of the prefixt.unf file, which can become quite large for
problems with many nodes and time steps. Note that it is only possible to restart a run from one
of the time steps that was written out, and that it is not possible to change TFREQ value upon
restart.
Enter an integer value.
Combination of TFREQ and VFREQ:
In order to enable the synchronization of free surface info and temperature info, some restrictions
are placed on TFREQ and VFREQ values.
Specifically:
If VFREQ > TFREQ, and VFREQ is not multiple for TFREQ, TFREQ is set to 1.
If TFREQ > VFREQ, then TFREQ is set to VFREQ.
VFREQ > TFREQ, and VFREQ being a multiple for TFREQ is allowed, but in the results the free
surface location, in the thermal results, is updated only at VFREQ.

MFSPATH
Multiple solidification rates. It allows to enable the algorithm to use multiple solidification rates for
the alloy volumes. Not compatible with MICRO 1.

POROS
Specifies the porosity calculations to be performed (see the Porosity Models description).
Choose from:
 0 for no porosity calculation,
 1 - Most advanced porosity model
 4 - Evolution of the POROS=8 model, which allows to handle multiple free surfaces
 8 - Old porosity model from version 3.2.0
In order to disable the porosity calculation, one should set POROS = 0. However, this may still
lead to some piping calculation. In order to disable also the piping, one should set in addition
PIPEFS = 0.

MACROFS
Parameter for the macroporosity calculation. It sets the limiting fraction of solid between the
macroporosity and the microporosity formation. The value should be set between 0 and 1.
Enter a floating (real) value.

PIPEFS
Parameter for the piping calculation (during a porosity calculation). It sets the limiting fraction of
solid for piping formation. The value should be set between 0 and 1.
In order to disable the porosity calculation, one should set POROS = 0. However, this may still
lead to some piping calculation. In order to disable also the piping, one should set in addition
PIPEFS = 0.
For stress calculations, PIPEFS must be set to 0. This is needed in order to prevent the
unexpected influence of the pipe on the stress calculation. One should note that if in the physical

370
situation, piping must occur, this will be taken into account in the calculation as "macropores"
when PIPEFS = 0.
Enter a floating (real) value.

FEEDLEN
"Feeding length" (distance), at which macroporosity can occur, beyond the MACROFS
isosurface.
Enter a floating (real) value.

NIYAMA
Niyama criterion (Ny) is widely used in metal casting. Values are evaluated at a specified
temperature (or fraction solid) near the end of solidification.
Simulation parameter NIYAMA [0, 1] corresponding to the fraction of solid where regular Niyama
is calculated.
Recommended and default value is 0.9. Calculation of Niyama criterion can be switched off by
setting NIYAMA as 0.

NIYAMA_STAR
Dimensionless Niyama criterion (Ny*) developed to address shortcomings of existing Niyama
criterion.
Ny* not only predicts presence of shrinkage porosity in castings, but also predicts the amount of
shrinkage porosity that forms so there is no need to determine threshold values.
Ny* is a dimensionless form of Ny that accounts not only for thermal parameters as Ny does but
also for the properties and solidification characteristics of the casting alloy.
The value is between 0 and 1.0. Recommended value is 0.95.

GATEFEED
Allows to specify whether liquid can be fed at the ingate or not. In the case of injection (i.e. HPDC
or LPDC), the shrinkage at the gate is compensated by the liquid pushed by the piston (for
HPDC). On the other hand, in gravity casting, there is no feeding at the top of the risers and
piping will occur. GATEFEED=1 tells the software to activate the feeding at the ingate, thus
leading to no piping at this location. GATEFEED=1 will automatically activate the "Active feeding"
where inlet velocities or pressures are set (see the Active Feeding section for more details).
Enter an integer value.

GATENODE
GATENODE is an alternative to GATEFEED. When a gate feeding should be applied, but there is
no external surface of the model where an inlet surface or a pressure can be applied. This is the
case for instance when a shot piston is modeled. In such case, one can define a location in the
volume where this gate feeding is applied (typically in the middle of the biscuit). In order to define
this location, the corresponding node number should be specified. In such case, no pressure or
inlet velocity BC needs to be specified. The node can be selected interactively using the pick tool
(accessed by Select GATENODE button in VisualCAST/Simulation Parameters). (See the Active
Feeding section for more details).
Enter an integer value.

371
MOLDRIG
The rigidity of the mold has an influence on the amount of porosity in the case of expanding
alloys. If the mold is totally rigid, the casting cannot expand and thus the alloy expansion will be
"available" for the "refill" of the existing porosity. On the other hand, if the mold is very soft (or
weak), the casting will expand and thus there will be no "refill" of the porosity (of course, the
reality is more complex as the solid shell is thick enough it will act as a "rigid" mold, even if the
sand mold is weak.
In order to take the mold rigidity into account, the Simulation Parameter MOLDRIG is used (see
the Cast Iron Porosity Model section for more details). MOLDRIG should be defined by a value
between 0 and 1. All the net expansion is multiplied by MOLDRIG. Thus, with MOLDRIG=1,
corresponding to a rigid mole, the expansion will be fully accounted. On the other hand, no
expansion will be taken into account if MOLDRIG=0. The expansion will be compensated by the
mold movement because the mold is too weak to hold the expansion in this case. For real
situations, the value of MOLDRIG should be set somewhere between 0 and 1 depending upon
the casting processes. The default value is 1.

GATEFS
GATEFS allows to control the critical fraction of solid above which there is no more feeding during
the third stage pressure in HPDC (see the Active Feeding section for more details). A higher
value of GATEFS will involve less porosity.
Enter a value between zero and one. The default value is 0.95.

THMODULE
Allows to calculate the Chvorinov's thermal modulus.
Choose from:
 0 for no thermal modulus calculation,
 1 to perform thermal modulus calculation.

HOTSPOTS
HOTSPOTS allow to specify whether the user wants the hot spots to be computed or not.
Choose from:
 0 for no hot spots calculation,
 1 to perform hot spots calculation.

ACCORDION
Specifies that an accordion mesh will be used in the calculation.
Enter:
 0 = no accordion mesh (value by default),
 1 = a straight accordion mesh is used,
 2 = a curved accordion mesh is used.

BURNON
The burn-on/penetration indicator is essentially the time spent by areas of the mold above a
critical high temperature. The critical temperature can be taken as the one corresponding to a low
solid fraction of the cast alloy. As a consequence, the input to this is the Simulation Parameter

372
BURNON that the user should set > 0 and < 1, and corresponds to the solid fraction of the alloy
at the critical temperature.
BURNON 0.15 is recommended but values up to 0.5 could be used.
From ProCAST version 2018.0, a new contour “Burn-On on opposite” is available. This contour
essentially maps the mold results onto the cast skin elements. By doing that, the post-processing
and analysis of Burn-On data is facilitated since it is usually difficult to visualize internal cavities of
the mold.

BURNONT
The burn-on penetration indicator can also be set by directly indicating the critical temperature.
For this, enter the critical temperature in Kelvin using the BURNONT parameter.

Advanced
QFREQ
Specifies the time step interval for writing heat flux data to the unformatted results file. This
parameter can be used to reduce the size of the prefixq.unf file. Heat flux results may not be of
interest to everyone, so it may be desirable to minimize the size of this file.
Enter an integer value.

USERHO
Specifies the how the density in the mushy zone is calculated.
Choose from:
 0 - automatic density calculation, by extrapolation of the densities at liquidus and solidus,
weighted by the fraction of solid.
 1 - The density table, which is defined in the database, is used.

LINSRC
Specifies the source term linearization parameter for micro models. This parameter may be used
in conjunction with micro models that control the evolution of the solid fraction and thus the
release of latent heat. The default value of zero indicates that the heat generation will only appear
in the right hand side source term. A value of one will give some contribution to the diagonal
terms of the left hand side matrix.
This improves numerical stability, but does require that the LHS be factored, which would
normally happen anyway.
Enter:
 0 = no linearization, or
 1 = for linearization of the source term

CONVT
Specifies the convergence criterion for temperature. A value of around one degree is generally
appropriate. Values larger than the mushy (liquidus--solidus) zone range are not recommended.
Enter a floating (real) value.
Select the units of temperature from: {C | F | R | K}

373
NMETHODT
This parameters controls the technique used for temperature advection computation. The default
method is the classical FEM method used which is characteristic based. Advanced advection
scheme has been introduced in accordance with the new default flow solver (EBFEM) and allows
to control the onset of solidification in a better way for specific scenarios in case of coarse mesh
or for mesh with poor transition from coarse to fine elements at gate, for example.
Default value is 2, and if 2, it should not be written in p.dat.
Possible values are 2 (default) and 0, and it should be when Show string is selected:
 2 = “Classical advection scheme” (not written in p.dat), or
 0 = “Advanced advection scheme” (EBFEM)

TRELAX
Specifies the temperature relaxation parameter. This is used for computing the initial guess for
the temperature field in the predictor step. TRELAX should be greater than or equal to zero and
less than or equal to one.
Enter a floating (real) value.

TCONVTOL
Specifies the convergence tolerance for the AMG Solver when solving the temperature or
enthalpy system. Default value is 0.1. If TCONVTOL is set to 0.1, it is not written in the p.dat

CLUMP
Specifies the capacitance matrix lumping factor.
Enter:
 0 to use consistent matrix, or
 1 to use diagonal matrix

DRAINFS
For LPDC, it is possible to "drain" the remaining liquid in the inlet sprue region which is still liquid
when the pressure is released. DRAINFS corresponds to the critical solid fraction below which
the metal is drained. This means that all the metal which has a solid fraction below DRAINFS
which is connected to the pressure or inlet boundary condition location will be drained (i.e. the
metal will be removed). This value should be used in conjunction with DRAINTIME.
Enter a floating (real) value between 0 and 1. The default value is 0.7.

DRAINTIME
For LPDC, it is possible to "drain" the remaining liquid in the inlet sprue region which is still liquid
when the pressure is released. The value of DRAINTIME corresponds to the time at which the
pressure is released and thus the time at which draining will occur. The unit code of time should
be specified before the time (e.g. 1 for seconds). This value should be used in conjunction with
DRAINFS.
Enter a floating (real) value after the unit code of time (e.g. DRAINTIME 1 25.).

COURANTACC

374
Specifies the maximum accordion expansion allowed in a time step as a fraction of accordion
element thickness.
Enter a floating (real) value.

DTMAXACC
Specifies the maximum allowed time step during accordion expansion.
Enter a floating (real) value.

FSEUTSTART
FSEUTSTART specifies the Solid fraction at which eutectic transformation starts.
This parameter is mandatory for the CRISTAL module calculation.
Radiation Simulation Parameters
When a calculation with Radiation, including View Factors is run, the following parameters should
be defined in the Radiation tab. If the "View factor OFF" option is selected, it is not needed to
define these Simulation Parameters.

375
ENCLID
Specifies an enclosure identification number. This parameter is used in combination with VFDISP
for updating view factors by a displacement interval. ENCLID indicates which enclosure set is to
be tracked, in case all the enclosure elements are not moving at the same rate. The ENCLID
value must correspond with the Translation BC to be tracked.
Enter an integer value.

VFTIME
Specifies the time interval for updating view factors in the radiation model if there are moving
relative surfaces.

376
Enter a floating (real) value.
Choose the units of time from: {sec | min}. The default is sec.

VFDISP
Specifies the displacement interval for updating view factors in the radiation model if there are
moving relative surfaces. This is used in conjunction with ENCLID and will be used in preference
to VFTIME if both are specified.
Enter a floating (real) value.
Choose the units of length from: {m | cm | mm | ft | in}. The default is m.

RADFILL
Used for shell preheating in investment casting. If set to 1, it will check whether an interface mold-
alloy is covered by alloy. It this is true, the shielding effect of the alloy on the mold element face
will be considered.
By default, RADFILL is 0.
RADFILL 0 (default): No shielding effect is considered, same as 2014.5 and previous.
RADFILL 1: New treatment is activated and shielding effect is considered.

Advanced
RFREQ
Specifies the radiation update frequency. This provides a mechanism for recomputing the
radiosities at some time step interval other than one. This is particularly useful if you are
performing a filling transient along with the view factor radiation model. In this case, the time step
size may be small due to the filling whereas the mold temperature may not be changing very
rapidly. You can save some computational time by recomputing the radiosities at every tenth
step, for example.
Enter an integer value.

RDEBUG
Specifies the user debug parameter for printing detailed view factor information. Various
combinations of these files may be obtained by adding together these numbers.
Enter an integer value based upon the following:
1: For Row Sum Error (before symmetrization). Stored in prefixVFserr.usf
2: For Face to Group view factors (after symmetrization). Stored in prefixradVF.usf
3: For both outputs. It is equivalent to 1 + 2.
RDEBUG 2 will give different outputs: "Face Groups" identifies the face group id; "Face to Group
n" is the view factor of the elements towards that group; "Face to All Groups" is the sum of the VF
of an element towards all groups. The latter field is the equivalent of previous VFDEBUG output
and hence it replaced VFDEBUG.

VFLIM
Can be set to a fraction between zero and one. If one face occupies less than this fraction of the
total view space, as seen from another face, the first face is combined with some others. A value
of 0.01 is a good starting point.

377
Enter a floating (real) value.

EPTOL
Specifies the emissive power tolerance to be used with VFLIM. Radiation faces which are
grouped using VFLIM tolerance are further differentiated by their solid angle.
Enter a floating (real) value.

ANGTOL
Specifies the angle tolerance to be used with VFLIM. Radiation faces which are grouped using
VFLIM tolerance are further differentiated by their solid angle.
Enter a floating (real) value.

TRI2QUAD
Specifies the option to group or not triangles into quadrangles for the radiation view factor
calculation. When TRI2QUAD is set to 1, adjacent triangles are grouped in order to obtain
quadrangles (providing the angle between the triangles is not too large). This has the effect of
reducing the number of radiative face (by about 50%) which is cutting down the CPU time
significantly (by about 75%).

VFDEBUG [OBSOLETE]
It is replaced by RDEBUG. It corresponds to the "Face to All Groups" output of RDEBUG 2
Flow Simulation Parameters
When fluid flow and/or filling models are activated, the "Flow" Simulation Parameters should be
defined in the Flow tab. The main parameters are present in the "Standard" tab. In the "Advanced
1" tab, one should mainly define the WSHEAR and the WALLF parameters. In most cases, all the
other parameters can remain as the default values.

378
379
380
FLOW
Controls the use of fluid equations.
Choose from:
 0 do not solve fluid equations,
 1 to solve fluid equations,
 3 to solve fluid equations during filling, but switch over to thermal only analysis when the
LVSURF fill limit is reached and NCYCLE = 1,
 9 to solve fluid equations during filling, but switch over to thermal only analysis when the
LVSURF fill limit is reached and NCYCLE > 1.
FLOW must be set to 9 when CYCLEF is activated (see the Cycling Simulation Parameters
section for more details).
FLOW 1 calculation is only required for those processes where solving the fluid equations is
critical even during the solidification stage, i.e., Macrosegregation. Otherwise, default value
FLOW 3 is more suitable.

FREESF
Specifies the free surface model number to be used.
Choose from:
 0 = no free surface model activated
 1 = use the momentum dominated movement of free surface, rapid filling model,
 2 = use the gravity dominated movement of free surface, slow filling model.
Please note that:
When FREESF=0, by default static pressure is not included (use HEADON 1 to do so if desired)
When FREESF=1, the stirring velocity acts like inlet.

When FREESF=2, JUNCTION value must be 0.

FREESFOPT
The filling algorithm (in the case of FREESF = 1) was significantly improved in version 2006.0.
From now on, three filling algorithms are available:
FREESFOPT = 0: it corresponds to the filling algorithm of version 2005.0. It is less precise than
the two other algorithms; however it is the most robust algorithm.
FREESFOPT = 1 and 2 correspond to two improved filling algorithms. The difference between
these two algorithms is the "numerical balance" between the mass conservation contribution to
the free surface and the momentum contribution. With FREESFOPT = 1, the mass conservation
contribution is more important than the momentum contribution. This algorithm is more robust, but
may lead to slightly less precise results. With FREESFOPT = 2, the momentum contribution is
predominant over the mass conservation contribution. This model is supposed to be the most
precise; however it is more sensitive to the quality of the mesh. In order to have good results with
FREESFOPT = 2, the mesh should be well adapted to the local free surface (e.g. one should
have enough nodes in the stream of the liquid in the case of a thin jet of liquid). This means that
the FREESFOPT = 2 algorithm is less robust as the 1 (or the 0).
As a conclusion, it is strongly advised to use FREESFOPT = 1 in most cases. If more precision is
required, the mesh should be refined and well tuned so that FREESFOPT = 2 could be used. The
FREESFOPT = 0 option is provided for backwards compatibility purposes, however, it is not
advised to be used.

381
The default value is 1.

GAS
Specifies whether or not to consider the trapped gas effects. If the option to consider trapped gas
effects is chosen, trapped gas effects will be considered even when the model contains no vents,
gas injection, or gas diffusion through the mold.
Choose from:
 0 to not consider trapped gas effects.
 1 to consider trapped gas effects, but gas pressure does not change. The mass which is
associated with the lost volume becomes air entrainment in castings. When this option is
on, the local density of the metal is modified because of the gas absorption.
 2 to consider trapped gas effects. Set GAS 2 for lost foam, core blowing processes and
core gases. Recommended also for a complete evaluation of the plunger / die forces and
pressures.

GAS 2 is required when modeling vacuum assisted processes.

VFREQ
Specifies the time step interval for writing velocity and pressure results to the unformatted files.
This parameter can be used to reduce the size of these results files, which can become quite
large for problems with many nodes and time steps. Note that it is only possible to restart a run
from one of the time steps that was written, and that it is not possible to change VFREQ value
upon restart. Only the steps that are written can be viewed with post-processing.
Enter an integer value.

PREF
Specifies the pressure which is to be subtracted from any boundary condition pressure in order to
convert an absolute pressure into a gauge pressure. This parameter comes into play when: (1)
there is trapped gas, (2) a pressure boundary condition drives the flow, (3) there are vents, and/or
(4) there is gas injected. For example, if the pressure boundary condition drives the flow at a
gauge of 1 atmosphere, the boundary condition is set to 2 atm. PREF should be set to 1 atm.
Enter a floating (real) value.
Choose the pressure units from: {N/m**2 | Pa | KPa | MPa | bar | dyne/cm**2 | atm | psia | Ksi |
lb/ft**2}

PINLET
Specifies a pressure driven inflow. Setting PINLET to 1 indicates that all the pressure boundary
conditions are also inflow boundary conditions. Use of this option allows one to avoid using thin
filled regions at the inlets of pressure driven problems. It allows for filling of metal without having
an initial layer of fluid.
Enter an integer value of 0 (off) or 1 (on).

LVSURF
Provides a way to switch from the filling transient to a mode where advection is due to buoyancy
and shrinkage. LVSURF turns all inlets off. It is assumed thereafter that the free surface is
perpendicular to the gravity vector. This allows the time step to increase significantly. The number
represents the fraction of the total casting volume which is to be filled before changing modes.

382
Enter a floating (real) value.

LVMASS
Provides a way to switch from the filling transient to a mode where advection is due to buoyancy
and shrinkage. LVMASS turns all inlets off. The number represents the mass of the casting which
is to be filled before changing modes.
Enter a floating (real) value.

LVMASS_PART
Specifies list of casting volumes to be considered for LVMASS calculation.
If this parameter is not defined, LVMASS is applicable on all casting volumes.
If this parameter (and LVMASS also) is defined, LVMASS is applicable on selected volumes.

COURANT
Specifies the courant limit on time step size. This parameter is only used for filling problems. If
COURANT is set to 1.0, the time step will be adjusted so that the fluid will advance no more than
one element length. This is a fairly severe limit on time step size, but will give the most accurate
results for filling transients.
COURANT since the version 2013 is modified automatically by the solver lying from 1.0 to the
user defined value (100 by default) in function of the free surface agitation.
Recommended value is 100.
Enter a floating (real) value.

WSHEAR
The WSHEAR algorithm (wall shear) allows to take into account a velocity boundary layer along
mold wall. It allows to have non-zero velocities at the mold walls, which is more representative of
the reality (slip of the liquid along walls). This is valid at all liquid-mold interfaces and not only at
the free surface (whereas the WALLF algorithm is valid only at the free surface).
Physically, the velocity at a mold wall is zero (in the figure below, the velocity of Node B should
be zero, represented by the green dot). However, a velocity boundary layer (see the red velocity
profile) is present and the velocity close from the wall is very quickly not zero anymore. As the
mesh size is most of the time larger (or much larger) than the velocity boundary layer thickness,
the wall velocity is computed in order to reflect the velocity just away from the wall (the velocity
will correspond to v1 shown with the blue dot in the figure below).

383
When WSHEAR = 0, the velocities at the mold wall are always zero. With WSHEAR = 1, 2 or 4,
the velocities at the mold walls are computed in order to account for the boundary layer. The
difference between WSHEAR 1 and 2 corresponds to laminar or turbulent boundary layers
(please note that the thickness of the boundary layer is influenced by the viscosity of the alloy).
WSHEAR 4 is a modified version of the turbulent boundary layer. The formulation details can be
found in the Turbulent Model help page.
The figure below is showing a zoom on the boundary layer with the wall velocities corresponding
to different values of WSHEAR.

For HPDC and Gravity casting, a value of WSHEAR = 2 is recommended (however, for large
gravity casting a value of WSHEAR = 0 should be used). For LPDC, a value of WSHEAR = 0
must be used.

WALLF
WALLF is used to compute the velocity of the free surface at the mold wall (not used away from
the free surface). In order to compute the velocity of the free surface at the mold wall, one takes

384
the core velocity of the closest core node (i.e. closest node in the volume). The surface velocity at
the free surface is equal to the core velocity of this closest node multiplied by WALLF. This
algorithm is applied for any value of WSHEAR.
A value of 0.99 corresponds to more slip along the wall, whereas a value of 0.8 will act as if the
mold surface is rougher (more friction). It is advised to use a value of 0.8 for sand gravity casting,
GDC and LPDC casting, and a value of 0.99 for high pressure die casting (HPDC).
The default value is 0.8.

PFREQ
Specifies the "Particle tracing" launch frequency in the solver. Particles are launched at each
node of the inlet (defined by a velocity BC, an inlet pressure BC or an Inlet BC), every PFREQ
steps. A value of 50 is recommended.
Enter an integer value.

JUNCTION
JUNCTION is activating different algorithm for the calculation of the "metal front tracking" and
metal movement during the filling. This allows to track where the particles and impurities are most
likely to be accumulated and to view the flow junction lines. As this algorithm is taking an amount
of CPU time which may not be negligible, by default this calculation is not activated (JUNCTION =
0). To activate it, one should set JUNCTION to 1, 2, 4, 8, 1025, 1026, 1028, 1032 or any
combination of those values in the p.dat file (this Simulation Parameter should be added manually
in the p.dat file). For the description of the meaning of the different values, see the Fluid Front
Tracking section for more details.
Enter an integer value (default: 0).

OXIDATION
Specifies whether the flow model has to take into account sedimentation of particles or not.
Sedimentation of particles (impurities, oxides...) is tracked and the model accounts for size of
particles, drag force and sedimentation under gravity.
Choose from:
 0 to indicate no sedimentation of particles, or
 1 to indicate with sedimentation of particles

TILT
For Tilt pouring problems, one should activate the "Tilt" mode, by setting TILT to 1. This improves
the appearance of undesired sticking in the pouring cup.
This Simulation Parameter should be added manually in the p.dat file.
 0 = standard filling mode (default value)
 1 = activation of the Tilt mode
Enter an integer value.
Define Tilt

Pouring Control
Adjustment will only be activated after the first time the lower limit is reached. Then the inlet
velocity is adjusted under the following conditions:

385
(1) if the filling percentage is below CUPLOWER or above CUPUPPER, velocity is increased or
decreased.
(2) if filling percentage is between CUPUPPER and CUPMIDDL, and the filling percentage in the
cup is rising, velocity is decreased.
If filling percentage is between CUPLOWER and CUPMIDDL, and the filling percentage in the
cup is dropping, velocity is increased.

INLETADJ
Inlet Adjustment parameter to switch on (1) or off (0) the pouring control.
Enter an integer value (default 0).

POURINGCUP
Material ID of the pouring cup volume.
Enter an integer value.

CUPUPPER
This is the upper level of the filling percentage in POURINGCUP. It is only effective if INLETADJ
is not zero.
Enter floating (real) value.

CUPMIDDL
This is the target level of the filling percentage in POURINGCUP. It is only effective if INLETADJ
is not zero.
Enter floating (real) value.

CUPLOWER
This is the lower level of the filling percentage in POURINGCUP. It is only effective if INLETADJ
is not zero.
Enter floating (real) value.

Pour Control
This feature is use simulate the inlet velocity adjustment based on the Height of the Molten metal
that is present in the pouring cup.

386
 PATH: Select Cast > Volume Manager from menu or explorer.
Right click on alloy type volume and select Define Pouring Cup Control.
Pouring cup can be selected using volume selection panel or using define box GUI. By default, it
is the selected volume.
 Max: Maximum height in pouring cup opposite to gravity direction.
 Target: Target height in pouring cup opposite to gravity direction.
 Min: Minimum height in pouring cup opposite to gravity direction.
 Cup height: Height of pouring cup opposite to gravity direction.
 Use Pick Node selection panel to pick nodes to calculate height.
 Click Compute to calculate the Max, Min, Target percentages on Apply.

Percentages cannot be computed if model has no 3D elements.

The percentage values can set directly from Simulation Parameters > Flow > Pour
Control.

387
Recommendations:
It is advised to create a separate volume for the pouring cup to use Pouring cup control defined
by volume.
It is then recommended to switch off WSHEAR in the pouring cup volume (set WSOFF parameter
to the volume number of the pouring cup).
This will avoid slip along the wall in the pouring cup and 'turbulence' when metal level in the
pouring cup starts to rise, and will allow better performance of the pouring control algorithm.

Advanced1
TSOFF
This parameter specifies the time at which to switch off the flow solution. For example, TSOFF 1
42, indicates that the flow solution will be turned off 42 seconds into the simulation. If a cyclic
analysis is being performed, then the flow solution will be turned off 42 seconds into each cycle.
Choose from:
 0 = turns this option off, or
 A real value sets the time
Enter a floating (real) value.
Choose the time units from: {sec | min}.

PENETRATE
Flag to activate the algorithm of inter-penetrating meshes (with a value of 1). This is used
especially for the modeling of a shot piston in HPDC.
Enter an integer value.

CSD
CSD – Computational Structural Dynamics. This parameter controls the activation of the new
contact algorithm.
Choose from:
 0 – use old contact algorithm, or
 6 – use new contact algorithm.
CSD 6 is recommended when using a thin piston with few elements in the thickness. It avoids the
fluid penetrating the piston. CDS 6 is also used for open foaming cases. When using CSD 6, it is
recommended to create a Solid/Fluid Contact process condition.

FREESFBAL
In the case of large horizontal free surfaces (e.g. bottom filling of large ingots, filling of a
"swimming pool"), the free surface may be not as calm as it should be. In order to stabilize the
free surface (and to avoid unexpected waves), the calculation of the mass balance of partially
filled elements at the free surface was refined. This can be activated with FREESFBAL = 2. This
should be activated only for gravity filling with large horizontal free surfaces and not in other
cases.
 0 = default value (no special treatment of the partially filled elements)
 2 = improved algorithm for the calculation of the mass balance of partially filled elements at
the free surface (to be added manually in the p.dat file)

388
COLORFLOW
Active the identification with a color of the liquid coming from a given gate (see the
Colored_Flow_Path section for more details).
 0 = No colorflow
 1 = Gate tracking
 2 = Inlet tracking
 3 = Gate and Inlet tracking

COLORFLOW_SF
Enables different modes of Colorflow tracking.
 0 - The colors are fixed on each side of the color borders (no mixing of colors, default
value).
 1 - Some color mixing is enabled at the color borders.

DETACHTOP
Allows to have a better treatment of the detachment of liquid which is in contact with horizontal
top walls (like "roofs"). A value of 1 allows a better detachment of such liquid regions, however it
takes some more CPU time.

RELVEL
For Centrifugal Casting, the Simulation Parameter RELVEL should be set to 1. It allows to take
into account the Coriolis force: fictive force orthogonal to the motion direction of a body when this
body is observed from a rotating coordinate system (see image hereunder).

This Simulation Parameter should be added manually in the p.dat file.


 0 = standard case - no centrifugal (default value)
 1 = activation of the relative velocity reference frame - to be used for centrifugal casting.
Enter an integer value.

TOPFILL
TOPFILL is used for the top filling of large ingots (see the Large Ingot Filling section for more
details). TOPFILL should be used in conjunction with a mass source.
 0 = deactivated (default value)
 1 = activated

389
TOFRSF2
TOFRSF2 allows to switch the filling algorithm from FREESF = 1 to FREESF = 2 automatically
when the specified fill fraction is reached. This option should be used only for cases in which the
inlet in below the free surface level (for instance Large ingot filling (see the Large Ingot Filling
section for more details)). The fill fraction for the transition should be specified as a real value
(e.g. "TOFRSF2 0.01" corresponds to a transition at 1% of filling). Please note that FREESF
should be set to 1 when TOFRSF2 is used.
Enter a real value.

MLDUPDT
Specifies the material properties update frequency (in the mold only). For large casting (when a
mold is present), the calculation can be slightly speed-up by reducing the frequency of update of
the material properties (reducing the number of matrix operations). The integer which is specified
after corresponds to the update frequency. By default the value is 1. See the Large Ingot Filling
section for more details.
Enter an integer value.

MOBILE
The mobility limit, MOBILE, determines the critical liquid fraction at which the fluid is no longer
able to flow. When considering the development of pipes in risers, higher mobility limits will
produce deeper pipes.
MOBILE will also control the motion of pistons in shot sleeve (HPDC). The piston will not move
anymore when the higher solid fraction of an element in contact with the piston is higher than (1-
MOBILE).
MOBILE also controls the misrun. MOBILE set to 0 will disable misrun prediction.
Enter a floating (real) value.
Default value is 0.3.

Advanced2
COUPLED
Specifies whether the energy and fluid solutions should be coupled or decoupled within a time
step. When the analysis is decoupled, the momentum and pressure equations are solved
repeatedly until convergence. Subsequently, the energy equation is solved until convergence,
assuming the flow field is fixed. With a coupled analysis, the energy equation is solved in the
same loop with momentum and pressure. Both the momentum and temperature convergence
criteria have to be met to terminate the loop. This method is more accurate, but usually takes
more computational time.
Choose from:
 0 to decouple energy and fluid solutions within a time step, or
 1 to fully couple energy and fluid solutions within a timestep

FFREQ
Specifies the flow update frequency. This provides a mechanism for re-computing the velocities
at some time step interval other than one. This might come into play if you were solving a

390
conjugate heat transfer problem where the velocity field is changing on a longer time scale than
the temperatures. This option is not appropriate for free surface problems.
Enter an integer value.

TPROF
This parameter defines the type of algorithms which are used to calculate the temperature in the
case of advection along a mold wall (i.e. in the case of fluid flow along a wall). The two following
situations are considered:
1. In order to account for thermal boundary layers at the mold wall (in the case of fluid flow),
the temperature of the nodes which are close to the wall (like Node C in the figure below)
can be computed in two different ways.
The temperature of Node C is a function of the temperature of the nodes backwards (i.e.
Nodes A and B which are behind - look at the direction of the flow indicated by the green
arrows). The temperature of Node C can be a linear interpolation between the
temperatures of Nodes A and B (corresponding to T0 in the figure below). This is the case
with TPROF = 0.

In order to better account for the thermal boundary layer (corresponding to the red
temperature profile in the figure), the temperature of Node C will be taken as T1 (which is
larger than T0 and thus closer to the temperature of Node A). This is the case with TPROF
= 1.
It is highly recommended to use TPROF = 1 which is much closer to the reality, especially
when the mesh is coarse. This algorithm is valid for all liquid nodes which are in the
elements next to the wall, but are not themselves on the wall.
2. Beside the algorithm described above, one should also compute the temperature of the
wall nodes which are just beyond the free surface (see Node D in the figure below which is
in the air at time t1 and which is at the free surface at time t2). The green arrows are
showing the direction of the velocity.

391
When TPROF = 0, the temperature of Node D is taken as the one of the closest node,
which may be either a core or wall node, (e.g. the one of Node C in the example of the
figure).
When TPROF = 2, the temperature of Node D is taken as the closest surface node (i.e.
node B).
This algorithm is active only for the wall nodes which are at the free surface.
As a consequence, the free surface temperature at the mold wall will be "colder" in the
case of TPROF = 2 than with TPROF = 0.
One should also be aware that when TPROF=2 is used, the TPROF=1 algorithm
described above in (1) will be deactivated. In order to have both algorithms active, one
should use TPROF = 3.
The default value is TPROF = 1.

VPROF
This parameter indicates that a flow boundary layer profile is used at the wall for the momentum
equation with advection. This has been found to reduce false diffusion errors, although it is not
very useful with WSHEAR=2.
Choose from:
 0 = do not use boundary layer profile, or
 1 = use boundary layer profile
Enter an integer value.

CONVV
Specifies the convergence criterion for velocity. The value given here is a fraction of the
maximum velocity calculated at each step. Generally, .05 or 5% is appropriate.
Enter a floating (real) value.

RELVELF
Specifies the free surface advection in a moving frame. RELVELF applies to free surface
advection when REVLEL is 0. It works like RELVEL, i.e., if RELVELF is 1 (default), free surface is

392
advected in the moving frame. If RELVELF is 0, it is advected in the absolute frame. If RELVELF
is set to 1, it is not written in the p.dat

PCONVTOL
Specifies the convergence tolerance for the AMG Solver when solving the pressure system.
Default value is 0.1.

VCONVTOL
Specifies the convergence tolerance for the AMG Solver when solving the velocity system.
Default value is 0.1.

MLUMP
Specifies the mass matrix lumping factor.
Choose from:
 0.0 to use a consistent matrix, or
 1.0 to use a diagonal matrix

ADVECTW
Specifies the weighting of advection velocities and controls the degree of non-linearity of the
momentum equations. ADVECTW can take on values between zero and one. Velocities at the
last time step are used as the advecting velocities if a value of zero is used. Velocities at the
current time step are used as the advecting velocities if a value of one is used. Numerical
experience has shown that the accuracy of natural circulation flows can be enhanced by using a
factor of 0.5. For most filling analyses, a value of zero works fine and requires much less
computational time.
Enter a floating (real) value.

PRELAX
Specifies the pressure relaxation factor. PRELAX, to have an effect, should be greater than zero
and less than one. If it is left to the default value of one, ProCAST will automatically compute an
appropriate relaxation factor.
Enter a floating (real) value.

PLIMIT
Specifies the pressure cutoff limit. You can use this parameter to turn off an inlet velocity when
the back pressure exceeds the given value. This is useful particularly in cases where cold shuts
are occurring. Otherwise, the program will keep trying to force more mass into the fluid region,
even though there is no place for it to go, and the pressure will continue to rise.
Enter a floating (real) value.
Choose the pressure units from: {N/m**2 | Pa | KPa | MPa | bar | dyne/cm**2 | atm | psia | Ksi |
lb/ft**2}

FLOWDEL
Specifies the delay time between the end of fill and a switch to a thermal only, in the case of
FLOW = 3 simulation. This option is used in conjunction with velocity boundary conditions with

393
active fill limits. The time delay corresponds to the time for the fluid to completely settle down in
the casting before the thermal only phase begins.
Enter a floating (real) value.
Select the units of time from: {sec | min}. The default is sec.

ENDFILL
Sometimes, the user may not be interested by the filling of the last percents (e.g. the end of the
filling of a riser or an overflow). If ENDFILL = 0.98, once 98% will be reached, the remaining 2%
will be filled in one timestep.
LVSURF simulation parameter and the Fill Limit value for the Inlet Process Condition must be set
to a value higher or equal to 1.

HEAD_ON
Specifies the approach to be used when calculating gravitational term in the momentum equation
for flow problems without free surfaces.
Choose from:
 0 = calculate as rho - rho_ref, or
 1 = calculate as rho * g

HYPRE
Specifies the pressure solver to be used for the flow calculations. This is a pressure solver
introduced by default in the versions prior to ProCAST 2013.0.
HYPRE is not taken into account when AMGSOLVER is set to 255.
This solver can be made inactive (recommended for the turbulent calculations).

AMGSOLVER
Specifies the linear solver to be used for flow calculations. AMGSOLVER 255 is an ESI-adapted
solver based on the algebraic multi-grid (AMG) introduced since ProCAST v2013.
Choose from:
 0 = activate the PETSC solver (default value in the versions prior to 2013.0)
 255 = activate the ESI AMG solver (default value since 2013.0)

NMETHOD
Specifies the discretization method to be used for the flow calculations:
EBFEM (edge-based FEM) discretization method is activated when NMETHOD = 2.
EBFEM discretizes the advection operator using upwinding schemes with limiters to achieve
higher-order accuracy, which demonstrated to give better filling behavior in certain cases. In
particular, the hanging flow and premature filling of pouring cup anomalies appear to be better
controlled.
EBFEM and the classical GFEM differ only in the way variable properties are approximated and
in the way the advection operator is discretized.
EBFEM is equivalent to the Vertex-Centered FVM approach.
Choose from:

394
 NMETHOD = 0 activate GFEM solver (default value in versions prior to 2013.0)
 NMETHOD = 2 activate EFEM solver (default value since 2013.0)
NMETHOD 2 works in combination with AMSOLVER 255 and only for the DMP code.

NNEWTON
Specifies whether the flow is Newtonian or non-Newtonian.
Choose from:
 0 to indicate Newtonian flow, or
 1 to indicate non-Newtonian flow, where viscosity is a function of shear rate

HIVISC
Specifies different solution methods for viscosity in the flow problem.
Choose from:
 0 = normal flow problem,
 1= high viscous flow problem. To be used when the Reynolds number is less the one. This
method only works for viscosity less than 1e+4 poise. In this case, the advection terms are
neglected, symmetric solvers are employed on the momentum equations, and large
degrees of pressure relaxation are utilized, or
 2 = very high viscous flow problem. To be used when the Reynolds number is less the
one. This method is always preferred. In this case, the advection terms are neglected and
momentum effect on implicitly included within a Poisson pressure equation. This option
usually allows for much larger time steps than HIVISC = 1

GRELAX
Specifies the level of gas relaxation of volume changes (and thus pressure) for bubbles less than
1% of the total gas volume. This parameter should be used for tracking small bubbles (as in the
foaming process for instance).
Enter an integer value between 0 (no relaxation) and 1(high relaxation). This parameter should be
manually added in the "p.dat" file.
Default value is 0.

TGAS
Specifies the Gas packet temperature.
Know limitation: if TGAS is not given, metal temperature is taken as GAS temperature. Now, with
the density effect, version 2013.5 will likely produce faster gas flow rate and overall lower
pressure for trapped gas than previous versions.

TOP_UP
TOP_UP is used for making active inlets upon restarts (typically risers topping up models). This
parameter should be manually added in the "p.dat" file.
 0 = deactivated (default value)
 1 = activated

PISTON_DIAM

395
Specifies the piston diameter for activating closing force calculation (counter force pressure and
piston information ). Creates a xyn curve file with useful information for HPDC.
When only PISTON_DIAM is given: results written into prefixHPDCoutputs.xyn. It is based on the
principle that force_on_piston + force_on_die = 0.
It is recommended to activate GAS 2 for a complete evaluation of the plunger / die forces and
pressures.

PISTON_PRES
PISTON_PRES is used along with PISTON_DIAM parameter.
When PISTON_PRES is 4, results written to prefixForceOnPiston.xyn. This option calculates the
pressure and force directly based on the interpenetration information.
It is recommended to activate GAS 2 for a complete evaluation of the plunger / die forces and
pressures.

TRANSPHASE_NODE
Specifies the node at which velocity of piston will change from Phase 1 to Phase 2. During
simulation, velocity will be automatically switched to Phase 2 when liquid reaches this node.

HPDC_PCONTROL
Specifies the node number for pressure control in flow domain. During simulation, as the liquid
reaches this node the piston velocity is adjusted based on HPDC_PRES or
HPDC_PLOW/HPDC_PHIGH values. Default value 0 (no control).

HPDC_PRES
Specifies the operating pressure of the machine. If HPDC_PRES is given, HPDC_LOW and
HPDC_HIGH are computed internally using equations: HPDC_LOW = 0.8 * HPDC_PRES and
HPDC_HIGH = 1.2 * HPDC_PRES, and values of HPDC_PLOW and HPDC_PHIGH in p.dat file
are ignored.

HPDC_PLOW
Specifies the minimum pressure on the piston and it is the minimum value used by the solver to
compute the piston velocity. Together with HPDC_PHIGH, it is used to adjust the piston velocity
to keep the pressure on piston in the desired range.

HPDC_PHIGH
Specifies the maximum pressure on the piston and it is the maximum value used by the solver to
compute the piston velocity. Together with HPDC_PLOW, it is used to adjust the piston velocity to
keep the pressure on piston in the desired range.
Turbulence Simulation Parameters
The Turbulence Simulation Parameters should be defined in the Turbulence tab.

396
TURB
Specifies which turbulent flow model is turned on. A model started with TURB = 1 can be
restarted at a later time with TURB = 0. This allows laminar conditions to be considered during
mushy or natural circulation flows. Once TURB has been set to zero, the turbulence model
cannot be restarted at a later time. Setting TURB to one for a flow problem which has no
turbulence boundary conditions assigned is OK; the software will automatically define them.
It is recommended to set HYPRE as 0 for turbulent model.
Enter:
 0 to turn the turbulent flow model off, or
 1 to turn on turbulent flow model - Standard k-epsilon model, or
 2 to turn on turbulent flow model - RNG k-epsilon model, or
 3 to turn on turbulent flow model - Realizable k-epsilon model.

397
CMU
Specifies the proportionality constant used in the turbulent viscosity equation.
Enter a floating (real) value.

SIGMAK
Specifies the diffusivity modifier used in the turbulent kinetic energy transport equation.
Enter a floating (real) value.

SIGMAE
Specifies the diffusivity modifier used in the turbulent energy dissipation transport equation.
Enter a floating (real) value.

CONE
Specifies the proportionality constant used in the production of turbulent energy dissipation.
Enter a floating (real) value.

CTWO
Specifies the proportionality constant used in the destruction of turbulent energy dissipation.
Enter a floating (real) value.

KAPPA
Specifies the Von Karman's constant, usually taken as 0.4
Enter a floating (real) value.

TBRELAX
Specifies the turbulence relaxation parameter.
Enter a floating (real) value.

TBCONVTOL
Specifies the convergence tolerance for the AMG Solver when solving the turbulent kinetic
energy and dissipation system. Default value is 0.1.
Enter a floating (real) value. If TBCONVTOL is set to 0.1, it is not written in the p.dat
Lost Foam
The Lost Foam Simulation Parameters should be defined in the Lost Foam tab.

398
FOAMHTC
Interface heat transfer between the liquid metal and the foam when the liquid metal front is at a
distance of "BURNZONE" from the foam, the "interface heat transfer" between them is equal to
the value of FOAMHTC/BURNZONE.

FOAMHTCMAX
Maximum heat transfer coefficient when the metal liquid is "touching" the foam.

BURNZONE
BURNZONE corresponds to the "usual" distance between the foam and the liquid metal. One
should be careful that the mesh size must be finer than the value of BURNZONE. One should

399
note that the burning kinetics will change when the value of BURNZONE is changed (as the
interface heat transfer coefficient is equal to FOAMHTC divided by BURNZONE).

GASFRAC
The value of GASFRAC corresponds to the fraction of the foam which is transformed into gas
(during the burning). The rest is mainly transformed in liquid traces. A value of 0.1 (10%) is
recommended.

Technical Information: Lost Foam


Visual-Cast provides the capability to model "lost foam" casting or "evaporative pattern" casting.
The cavity is filled with foam and is surrounded by a sand mold. During the filling, the hot liquid
metal is heating up the foam which is burning, leaving the space for the liquid metal.
In the Lost Foam process, the filling is controlled by the rate of burning of the foam, as well as the
escape of the gas through the ingate or through the permeable sand mold.
The set-up of a Lost Foam case should be done as follows.
Firstly, the geometry should contain at least three components: a part of the downsprue which is
empty, the cavity filled with the foam and a sand mold (see figure below).

The following figure shows how the materials should be set in Volume Manager. The downsprue
Alloy should be assigned with the casting material and it should be set as 0 for Fill%. The cavity,
which is filled with foam should be assigned with a "Foam" material (Fill% = 100) and the mold
should be set with a sand material (Fill% = 100).

400
There are no special requirements for the material properties definition of the Alloy material.
For the Foam material, the thermal conductivity, the density, the specific heat and the latent heat
(of burning) of the foam should be specified. Moreover, under Tsolidus and Tliquidus, one should
specify the temperature at which the foam starts and ends to burn respectively. One should note
that the burning kinetics (and thus the filling rate) is influenced by the density, the specific heat,
the latent heat and the burning temperature. The larger these values, the slower the burning
kinetics will be. This is due to the fact that the foam should be heated up by the liquid metal and
that if these quantities are larger the amount of heat required to burn the foam will be larger and
thus it will take more time.
For the sand, in addition to the usual thermal properties, it is necessary to define its permeability
(in the "Fluid/Permeability" tab). Typical values range from 1e-6 to 1e-7 cm**2.
The interface between the Alloy material and the foam material should be set as "EQUIV" (i.e. no
interface), whereas the other interfaces should be set as "COINC" in Interface HTC manager.

In addition the usual "Heat" boundary condition (to cool down the outside of the mold) and the
inlet Temperature, one should set two Pressure BC. One for the top of the down sprue (on the
whole surface) and the other for the outside of the mold. It is recommended to set a value of 1
atm. on the outside of the mold and a value slightly larger (e.g. 1.05 atm) on the top of the
downsprue.
Examples

401
402
The Simulation Parameters should be configured as a regular Gravity filling problem with an inlet
pressure and GAS 2.
Additional Simulation Parameters should be set in the p.dat file for Lost Foam:
FOAMHTC 0.02
FOAMHTCMAX 0.25
BURNZONE 1.0

403
GASFRAC 0.1
DIAG 262144
These parameters are regulating the rate of transfer of heat between the liquid metal and the
foam. When the liquid metal front is at a distance of "BURNZONE" from the foam, the "interface
heat transfer" between them is equal to the value of FOAMHTC/BURNZONE. This heat transfer
is increasing as the liquid get closer from the foam. When the liquid is "touching" the foam, a
maximum heat transfer coefficient (equal to FOAMHTCMAX) is set. FOAMHTC and
FOAMHTCMAX are defined in the p.dat file in CGS units and BURNZONE is in "cm".
BURNZONE corresponds to the "usual" distance between the foam and the liquid metal. One
should be careful that the mesh size must be finer than the value of BURNZONE. One should
note that the burning kinetics will change when the value of BURNZONE is changed (as the
interface heat transfer coefficient is equal to FOAMHTC divided by BURNZONE).
As the rate of heat transfer between the foam and the liquid metal is not well known, it may be
needed to calibrate the filling time with the values of FOAMHTC and FOAMHTCMAX. To shorten
the filling time, one should increase these values.
The value of GASFRAC corresponds to the fraction of the foam which is transformed into gas
(during the burning). The rest is mainly transformed in liquid traces. A value of 0.1 (10%) is
recommended.
In order to allow for smooth Restarts, the Simulation Parameter DIAG should be set to 262144.
This setting is not necessary if no Restart is performed.
Core Gas
The Core Gas Simulation Parameters should be defined in the Core Gas tab.

404
BINDERFRAC
Specifies the binder fraction for core gas calculation. This parameter is the mass of binder divided
by the volume of the core (fraction of the core density made up from binder density). A typical
value for BINDERFRAC is 0.03.
Enter a floating (real) value.
Units are fraction of 1.

BINDERCB
Specifies the empirical binder rate constant for core gas calculation. A typical value for
BINDERCB is 4.25e10 1/s.
Enter a floating (real) value.

405
Units are 1/s.

BINDEREB
Specifies the binder energy for core gas calculation. A typical value for BINDEREB is 1.34e12
erg/mol.
Enter a floating (real) value.
Units are erg/mol.

COREGASMOLWT
Specifies the core gas molecular weight for core gas calculation. A typical value for
COREGASMOLWT is 16.83 g/mol.
Enter a floating (real) value.
Units are g/mol.

Technical Information: Core Gas


Visual-CAST offers the capability of modeling core gassing of an organic binder. The sand used
for core is mixed with binder, which dissociates when it gets in contact with the hot molten metal
during filling. This results in the formation of core gas. Proper escape path should be available for
this gas, in the absence of which it tries to penetrate into the casting (alloy). The generation of
this gas and its transport should be modeled to predict the core gas behavior and thereby provide
proper passages at vantage points, to ensure a defect free casting.

This is the first release of this module which a can be considered at this stage as an
"innovative" development (few industrial validations).
Mathematical Model
The core gas generation and transport is governed by the equation (2) with the closure provided
by equations (1), (3) and (4):

406
The pressure boundary conditions are to be specified, according to the contact condition adjacent
to the core surface.

Problem Setup
In order to solve for the Core gas, the following steps should be followed during model setup:
1. The model should have a core part with permeability specified.
2. Coincident interface should be present between casting and core.
3. Atmospheric pressure should be present on the outside of the core.
4. The initial time step should be small preferably 1.0e-4 and below.
5. The parameter GAS should be set to 2 in the p.dat file.
6. The parameter BINDERFRAC should have a non-zero value in the p.dat file (see the
Flow Simulation Parameters section for more details).
7. The values of BINDERCB, BINDEREB and COREGASMOLWT if different from default
values, should be specified in the p.dat file (see the Flow Simulation Parameters section
for more details).
Please note that EQUIV interfaces are gas-tight.

Outputs
The evolution of the core gas pressure with time, the variation of binder density with time, the
surface flux on the core surface are displayed to understand and optimize the behavior of core
gas.

407
Stress Simulation Parameters
The Stress Simulation Parameters should be defined in the Stress tab.

408
STRESS
Specifies whether the stress calculation is turned on or off.
Enter:
 0 to turn the stress calculation off
 1 to turn the stress calculation on
 2 to enable the calculation of squeeze pin activation pressure. Stress Data is required for
the materials, but the global stress computation is not made.

STRESS_ROBUST
Specifies if the original coordinate (zero displacement) has to be used for shape functions for
stress calculations. Thus, elements have better shape. The contact condition is still calculated
based on the deformed geometry.

409
Enter:
 0 to turn the parameter off
 1 to turn the parameter on
It allows to use the original coordinates (non-deformed) during the computation of the elements
geometry (derivatives of shape functions and Jacobi). It is made for all variables (including
stress).
Flow and thermal calculations will also use the original coordinates. However, stress calculations
will use deformed geometry (i.e., contact, penetration, and gap).
This avoids some bad condition elements due to deformation, thus making the solution more
stable. STRESS_ROBUST is automatically switched off when FLOW is off in order to maintain a
good stress/thermal accuracy.

SFREQ
Specifies the time step interval for writing stress results to the unformatted files. This parameter
can be used to reduce the size of these files, which can become quite large for problems with
many nodes and time steps. Note that it is only possible to restart a run from one of the time
steps that was written, and that it is not possible to change SFREQ value upon restart. SCALC
and SFREQ are independent values and one will not affect the other. One should however be
careful that SFREQ is a multiple of SCALC.
Enter an integer value.

SCALC
Specifies the time step interval the stress calculation is performed. It is thus possible to perform
the stress calculation only every 10 thermal steps. SCALC and SFREQ are independent values
and one will not affect the other. If SCALC in p.dat is -1, time function is used instead of a fixed
value.

CRITFS
This corresponds to the critical fraction of solid where the stress calculation starts. By default, it is
set to 0.5 (i.e. 50% fraction of solid). This critical value is also used for the computation of the hot
tearing.

FATIGUE_DATA
See Fatigue Model for explanation.

CRACK
The cracking indicator model is activated with CRACK = 1 or 3. By default, the value of CRACK is
set to zero. This Simulation Parameter is not available in the Simulation Parameters menu and it
should be added manually in the p.dat file.
 CRACK = 1 activates the cracking model, without feedback on the stress properties
 CRACK = 3 activates the cracking model, with a feedback on the stress properties. In this
case, the hardening properties are changed, according to the cracking model.
Cracking Indicator

STRAIN_OUTPUT

410
Activates calculation and output of total strain components. The default value for
STRAIN_OUTPUT is 0 [OFF], meaning total strain is not calculated and not written out. A value
of 1 [ON] (or any non-zero value) will result in the calculation and output of the total strain
components.

Advanced
CONVS
Specifies the convergence criterion for the stress calculation.
Enter a floating (real) value.

PENALTY
PENALTY controls the level of "penetration" allowed by the "contact algorithm". As the
displacements are computed numerically at interfaces, there is always some penetration between
two bodies (as long as they are touching).
High values of PENALTY mean that the allowed penetration is very small and this leads to a
more difficult convergence of the algorithm. Small values of the PENALTY allow to have more
penetration (which means a more easy convergence).
The default value for Penalty is 1, but for thin sections, it could be advised to set it to 0.01.
During the calculation, the PENALTY is automatically changed in order to optimize the CPU time
and in order to be within the AVEPEN limit.
When a calculation is restarted, it is advised to set the PENALTY to zero. In this case, the last
PENALTY which was used in the calculation will be automatically set. If a non-zero value is
defined, it will be used for the restart step. One should note that if the PENALTY was decreased
during the calculation, to leave the default value may lead to a very long convergence at the
restart step. Thus, it is strongly advised to set it to zero for a restart. The PENALTY at each stress
timestep is indicated in the p.out file.

PENMOD
Parameter which allows to scale the penalty number according to the local properties.
With PENMOD = 1, the local contact penalty number is scaled according to the Young's modulus.
Thus, in the mushy zone where this value is quite low, the penalty number will also scale down.
The penalty value of the p.dat file will be used at Room temperature. Then, at high temperature, it
will be scaled according to Young’s modulus.
This results in a better balance between the contact force and the strength of the material to
sustain it at all temperature. With PENMOD = 1, it allows to increase the global penalty number
from the 1.e-2 (standard usual value) to 0.1 or even 1.0.
For cases where contact only happens later after the deformation (or movement) of a part,
PENMOD should be set as 1, meaning there is no penetration allowed.
With PENMOD = 0, the standard model, with a global PENALTY number is used. In such case
PENALTY should be set to 1e-2 to 1e-3.
Enter an integer value (Default value: 0).

AVEPEN
AVEPEN corresponds to the "Average Penetration". This corresponds to the maximum average
penetration which is allowed during the calculation.

411
During the calculation, the PENALTY is automatically changed in order that the penetration is not
larger than AVEPEN. The goal is to have the lowest possible PENALTY number to speed-up
convergence, and AVEPEN allows to set the upper limit.
The default value of AVEPEN is 0.1 mm. For large casting, it is advised to increase the value of
AVEPEN for faster convergence.

PENRATIO
PENRATIO corresponds to control gap update based on percentage of interface nodes in
contact. Default value is 1. If PENRATIO is set to 1, it is not written in the p.dat

GAPMOD
Specifies the treatment of the interface heat transfer coefficient. With a value of 1, the interface
heat transfer coefficient is automatically modified to account for the air gap formation (an
additional thermal resistance is computed as a function of the gap width, taking into account
conduction and radiation through the air or vacuum). With a value of 0, the interface heat transfer
coefficient which is defined in Visual-Cast will not be modified during the calculation.

GAPHTC
Use GAPHTC instead of GAPMOD to control the output of the results contour (introduced in
2013.5) displaying the modified Interface Heat Transfer Coefficient due to GAPMOD activation. It
is now saved at the TFREQ interval. By default it will be OFF(0).

GLOAD
In the case of stress calculations, one should make sure that the casting is always in contact with
the mold in the direction of the gravity. Moreover, especially for large heavy casting, it is better to
take into account the casting weight on the mold. The Simulation Parameter GLOAD allows to
take these two effects into account:
 GLOAD = 1 : In order to take into account the casting weight, the static pressure head is
calculated and applied as an internal boundary conditions in the mushy zone (on the
isosurface corresponding to the solid fraction defined by the Simulation Parameter
GLOADFS - default value .8). This option is useful only for heavy castings. See the
description of CLAYERS which is active in the case of GLOAD = 1.
 GLOAD = 2 : In order to guarantee that the casting is always in contact with the mold in
the direction of gravity, GLOAD should be set to 2. The algorithm will find the smallest gap
in the direction of gravity between the casting and mold, and then move the casting down
by that amount. Once the casting is in contact or penetrates the mold, this algorithm is
deactivated. It is strongly advised to set GLOAD = 2 in all cases where the casting is not
fully surrounded by a mold. This works better for cases with one direction cooling.
 GLOAD = 3 : This is a combination of 1 and 2. In addition to considering the metallostatic
pressure due to the casting weight, it will look for remove any gap between casting and
mold by translating the casting volume (as explained in the previous point).
 GLOAD = 4 : This algorithm is a more general case of GLOAD 2 and works better for
cases where cooling is not one directional.

Please note that even with a casting weighing several tons, the pressure on the mold
will be only a few MPa, to be compared with thermally induced stresses which can go for
instance up to a few hundred MPa.
When using GLOAD to prevent casting being lifted from the bottom against the gravity
direction, it is suggested to use only method, i.e., to avoid GLOAD 3.

412
Default value: 0

GLOADFS
As described above for GLOAD = 1, the static pressure of the casting is applied on the
GLOADFS isosurface. If GLOADFS < CRITFS then, GLOADFS is automatically set to CRITFS.
Default value: 0.8

CLAYERS
CLAYERS operates in conjunction with GLOAD = 1. CLAYERS controls the number of layers of
nodes, starting from the wall, that has a zero displacement constraint applied while the nodal
fraction solid is less than CRITFS. If CLAYERS = 1, for example, then once the wall nodes have
solidified (fs >= CRITFS), there will be no more zero displacement constraints applied
automatically to the casting. (Displacement BCs applied by the user will still be active.) By
contrast, if GLOAD = 0, then all the unsolidified nodes of the casting will be constrained, which
limits the effect of gravitational load.
Default value: 3

CYCLE_ALGM
During a stress calculation, together with cycling, "CYCLE_ALGM=2" is resetting the original
mesh at the beginning of each cycle. In such case, the deformation is still accumulated. This
method may prevent the creation of highly distorted elements, (i.e. Negative Jacobians) during
successive cycles, due to too high accumulated distortions. If the calculation is able to go through
the first cycle, the calculation of the other cycles should be then possible without problems.
However, in the post-processing, we will still be able to see a mesh which is distorting more and
more along the cycles. The default value is 1, which correspond to no special action and thus no
re-alignment.
Enter an integer value (default: 1).

LOADSCL
When a load is applied in non-linear problem, it has to be applied incrementally (within a
timestep). LOADSCL is the number of increments for this loading. The higher the value of
LOADSCL, the more accurate is the result (and the higher is the CPU time). This has to be used
mainly for structure analysis type of problems (e.g. tensile test). For usual casting, as the loading
is progressive (due to gradual temperature changes), it is not necessary to apply such
increments. The default value of LOADSCL is 1.

VACUUM
When GAPMOD = 1, the interface heat transfer coefficient depends upon the gap width. With
VACUUM = 0, air conduction is taken into account (i.e. a heat resistance corresponding to heat
conduction through air is taken into account). With VACUUM = 1, no heat conduction is taken into
account. In both cases, radiative transfer through the interface is taken into account (when there
is a gap).

STRESS_D_SOLVER
Activate the MUMPS direct solver, to replace the iterative resolution of the linear system. For
DMP users, MUMPS is also available, but the speed up is lost when using 4 or more processors
(compared to using 1 processor). In complex problems (e.g. locally high plastic deformation,
coarse mesh), MUMPS may give rise to great speed-ups without affecting the results. In more

413
typical and well conditioned mechanical problems, the speed-up may become negligible. One has
to have in mind that MUMPS is memory consumption and can be activated by setting
"STRESS_D_SOLVER 1" in the Simulation Parameters Panel.
Add "STRESS_D_SOLVER 1" to activate direct solver MUMPS in core computation.
Add "STRESS_D_SOLVER 2" to activate direct solver MUMPS out of core computation.
Out of core computation allows a larger problem to be solved at the expense of speed.
Add "STRESS_D_SOLVER 3" to activate direct solver SUPER_LU, which will be ready for
version 2014.
Add "STRESS_D_SOLVER 4" in the "p.dat" file to activate direct solver UMFPACK, which can
only run on a single processor.
It is advised to enable this parameter for models with quadratic elements.
Micro Simulation Parameters
The Micro Simulation Parameters should be defined in the Microstructure tab.

414
MICRO
Activation of the microstructure module. The module is activated with a value of 1.
When CAFE with full and weak coupling mode is used, this should be set as 1024.

CAFE
Activate CAFE module for the following computation modes: Weak coupling, Micro coupling and
Multiple Solidification Path coupling.

MICCPL

415
The Microstructure model can be run in "Coupled" or "Uncoupled" modes (see the Case Set-up
and Results section for more details). This is activated in the Micro Simulation Parameter panel
by the button on the right of the MICRO Simulation Parameter. This choice corresponds to the
MICCPL Simulation Parameter in the p.dat file.
 MICCPL = -1 corresponds to the "Uncoupled" mode.
 MICCPL = 0 (default value) corresponds to the "Standard Coupled" mode, THERMAL 2
automatically set up (enthalpy schema).
 MICCPL = 1 corresponds to the “Iterative Coupled" mode, THERMAL 1 automatically set
up (iterative temperature schema).

TTTMIC
Activation of the Microstructure TTT approach with a value of 1. Default value is 0.

MACROSG
Activation of the macrosegregation calculation. The macrosegregation calculation is activated
with a value of 1.

FRECK
Freckles Indicator

MFREQ
Specifies the time step interval for writing microstructure results to the unformatted files. This
parameter can be used to reduce the size of these results files, which can become quite large for
problems with many nodes and time steps. Note that it is only possible to restart a run from one
of the time steps that was written, and that it is not possible to change MFREQ value upon
restart. Only the steps that are written can be viewed with post-processing. When MFREQ is not
specified in the p.dat file, it is assumed to be equal to TFREQ (temperature storage frequency).
Enter an integer value. Default value: 10

EQNMAX
First nucleation parameter of the dendritic primary phase. Maximum density of nuclei of the
Gaussian distribution.

EQSTD
Second nucleation parameter of the dendritic primary phase. Standard deviation of the Gaussian
distribution.

EQUNDER
Third nucleation parameter of the dendritic primary phase. Average undercooling of the Gaussian
distribution.

EUNUCL
First nucleation parameter of the eutectic phase. Nucleation factor.

416
EUPOWER
Second nucleation parameter of the eutectic phase. Nucleation exponent.

EUGROW
Eutectic growth kinetics constant.

PERGROW
Pre-factor of the Growth kinetics of the pearlite. The default value is 0.0168. This value can be
changed in order to calibrate the calculated amount of pearlite (respectively of ferrite) with
experimental observations. If the value is decreased, the amount of pearlite will also decrease, as
the growth kinetics will be slower. Please note that the pearlite/ferrite fractions also depend upon
the nodule count. Thus, it is advised to first calibrate the nodule count (EUNUCL, EUPOWER and
EUGROW) first and then to calibrate PERGROW (together with PERNUCL).
Default value: 0.0168

FERGROW
Pre-factor of the Growth kinetics of the ferrite. The default value is 1.0. This value can be
changed in order to calibrate the calculated amount of ferrite (respectively of pearlite) with
experimental observations. If the value is decreased, the amount of ferrite will also decrease, as
the growth kinetics will be slower. Please note that the pearlite/ferrite fractions also depend upon
PERGROW as well as the nodule count. Thus, it is advised to first calibrate the nodule count
(EUNUCL, EUPOWER and EUGROW) and then to calibrate PERGROW (together with
PERNUCL) and FERGROW.
Default value: 1.0

PERNUCL
Nucleation parameter of the pearlite. Pre-factor of the Nucleation model of the pearlite. The
default value is 5e6. This value can be changed in order to calibrate the calculated amount of
pearlite (respectively of ferrite) with experimental observations. If the value is decreased, the
amount of pearlite will also decrease, as the number of pearlite nodules will be lower. Please note
that the pearlite/ferrite fractions also depend upon the nodule count. Thus, it is advised to first
calibrate the nodule count (EUNUCL, EUPOWER and EUGROW) first and then to calibrate
PERNUCL (together with PERGROW).
Default value: 5e6

MET_T_SHIFT
This parameter expresses the difference between graphite and cementite eutecoid temperatures,
which is illustrated in the binary Fe-C phase diagram, as shown below.

417
Default value: 11.

GRAPHITE
In the micro model for cast iron, the amount of "graphitization" can be adjusted with the
GRAPHITE Simulation Parameter. A value of 1 corresponds to a maximum of graphitization,
whereas a value of 0 corresponds to no graphitization. The larger the value of GRAPHITE, the
larger the expansion of the cast iron will be. See the Microstructures/Iron and Steel/Iron and
Steel Models section and the Cast Iron Porosity Model section for more details).
GRAPHITE should be defined between 0 and 1. Default value: 1.0
See the Microstructures chapter for more details about the models.
It is possible to select the default values for a given system with the Select Default Values button.

418
The default values correspond to the following table:

419
Default value of PERGROW: 0.0168
Default value of PERNUCL: 5e6

MGTREAT
For SGI, the graphite formation tends to diminish as the interval between the inoculation and the
beginning of the solidification increases. This is accounted in the SGI micro model by the "fading"
model (see the Microstructures/Iron and Steel/Iron and Steel Models section and the Cast
Iron Porosity Model section for more details). In order to have an accurate "fading" model, it is
necessary to account for the right amount of time between the inoculation and the beginning of
the solidification. The value of MGTREAT corresponds to the time between the inoculation and
the beginning of the calculation (which corresponds to the beginning of the filling or when the
mold is full).
Default value: 0 seconds.

FADING
In the case of SGI and DI, the melt is treated with an inoculation treatment (Si) and Magnesium.
Depending upon the volume of the melt (in ladle) or the type of treatment (e.g. "in mold"
treatment), the Mg content can decrease with time (Fading effect), which will affect the graphite
nodules. This is leading to a decrease of the expansion. The FADING Simulation Parameter
allows to calibrate the Fading effect. A value of 1 corresponds to a maximum Fading (i.e. the
expansion potential disappears totally after about 20 minutes). With a value of 0, no Fading is
occurring (i.e. we have always the same expansion potential). Between 0 and 1, we will have a
reduced Fading effect (i.e. the smaller the value of FADING, the longer the expansion will be
occurring). See the Microstructures/Iron and Steel/Iron and Steel Models section for more
details).
FADING should be defined between 0 and 1. Default value: 1.0
APM
Refer Advanced Porosity Module section for details.

420
NAPM
Refer New Advanced Porosity Module section for details.
CAFE_Simulation_Parameters
Refer CAFE section for details.
Miscellaneous Simulation Parameters
FGROUP
The mass balance correction algorithm at the free surface in the case of multiple free surfaces
(e.g. multiple inlets) is governed by FGROUP. With FGROUP = 0, the free surface is considered
as a single entity and the mass balance correction is performed globally on the whole free
surface. This algorithm is not working very well in the case of multiple free surface (e.g. with
multiple inlets). In order to obtain a well balanced filling in the case of multiple inlets one should
activate a more sophisticated algorithm with FGROUP=2. FGROUP = 2 is the default value for
both the Scalar and the DMP solvers (please note that FGROUP = 1 is not anymore
recommended).
Enter an integer value. Default value: 2.

MISRUN
Misrun model activation. Set to 1 to activate (default) and 0 to deactivate. From version 2013.5 it
replaces COLDSHUT which is now obsolete.
Simulation Parameters Recommendations
ProCAST provides the access to many Simulation Parameters, in order to allow the treatment of
all kind of situations.
However, for an everyday use, only a few Simulation Parameters have to be set or modified. This
section is presenting the most "popular" Simulation Parameters that should be set, with proposed
values, for each main family of processes.
These parameters recommendations may be slightly different from previous versions, as the
solver algorithms have been modified.
These recommended Simulation Parameters correspond to the one which are pre-defined in the
Pre-defined Simulation Parameters window. It is thus advised to activate the "pre-defined" set
corresponding to the process and then to set the appropriate stopping criteria.

For All Processes


Stopping criteria
(It is advisable to set a stopping criterion in order to limit the CPU time and avoid unnecessary
storage of results)
TFINAL
TSTOP (Automatically set to Tliquidus – 10°C)
Porosity
POROS = 1 (this model is now recommended for all processes)
MACROFS = 0.7
FEEDLEN = X (The value FEEDLEN depends upon the size of the mushy zone and thus,
the size of the casting. A value ranging from a few millimeters to a few centimeters is
recommended. This should be calibrated with experiments. A value of 0 is not advised as
this will produce a uniform microporosity throughout the part, beside the macroshrinkage)

421
Gravity Casting
Timestep handling
DT = 1e-3
DTMAXFILL = 1e-1
DTMAX = 0.5 - 5 (depending upon the size of the model and thus the solidification time)
Porosity
PIPEFS = 0.3
GATEFEED = 0
Filling
WSHEAR = 2
FREESFOPT = 1
WALLF = 0.8
LVSURF = 0.98

High Pressure Die Casting (HPDC)


Timestep handling
DT = 1e-6 to 1e-4 (it depends upon the initial velocity of the first stage)
DTMAXFILL = 1e-2
DTMAX = 0.2 - 1 (depending upon the size of the model and thus the solidification time)
Porosity
PIPEFS = 0.0
GATEFEED = 1
Filling
WSHEAR = 2
FREESFOPT = 1
WALLF = 0.99
LVSURF = 1.0
PINLET = 1 for a pressure filling or PINLET = 0 for a velocity/inlet filling

Low Pressure Die Casting (LPDC)


Timestep handling
DT = 1e-3
DTMAXFILL = 1e-2 (it is important to limit the timestep during the filling of an LPDC part.
A value of 1e-2 is recommended for filling time of about 5-20 s.).
DTMAX = 0.2 - 1 (depending upon the size of the model and thus the solidification time)
Porosity
PIPEFS = 0.0
GATEFEED = 1
GATEFS = 0.7
Filling
WSHEAR = 0 (never use WSHEAR = 2 for LPDC)

422
FREESFOPT = 1
WALLF = 0.8
LVSURF = 1.0
PINLET = 1 for a pressure filling or PINLET = 0 for a velocity/inlet filling

Tilt Casting
Timestep handling
DT = 1e-3
DTMAXFILL = 1e-1
DTMAX = 0.5 - 5 (depending upon the size of the model and thus the solidification time)
Porosity
PIPEFS = 0.3
GATEFEED = 0
Filling
WSHEAR = 2
FREESFOPT = 1
WALLF = 0.8
TILT = 1
DETACHTOP = 1

Centrifugal Casting
Timestep handling
DT = 1e-3
DTMAXFILL = 1e-1
DTMAX = 0.5 - 5 (depending upon the size of the model and thus the solidification time)
Porosity
PIPEFS = 0.3
GATEFEED = 0
Filling
WSHEAR = 2
FREESFOPT = 1
WALLF = 0.8
RELVEL = 1

Core Blowing and Lost Foam


Filling
GAS = 2

Porosity Models
The different porosity models available in ProCAST are summarized hereafter. Then, a full
description of each model is provided.

423
 POROS = 1 (default and recommended model)
The POROS = 1 model corresponds to the latest porosity model of ProCAST. It accounts
for coupled micro and macroporosity, as well as pipe shrinkage. It can be applied to both
gravity casting and injection (either HPDC or LPDC).
This model can be used with or without flow calculations.
 POROS = 4 (obsolete)
The POROS = 4 model corresponds to the same model as POROS=8 (see below), with
the additional treatment of multiple free surfaces for piping.
This model can be used with or without flow calculations.
 POROS = 8 (obsolete)
The POROS = 8 model corresponds to the porosity model which was available in version
3.2.0 of ProCAST (using the POROS=1 Simulation Parameter of v3.2.0). Although this
model is less sophisticated than the current POROS = 1 model, it was kept in this version
for the users who have calibrated the model to their casting and who obtained good results
in the past.
The only difference between the current POROS=8 model and the one available in version
3.2.0 is the method used to compute liquid pockets. Thus, this may lead to slight
differences between the versions.
This model can be used with or without flow calculations.

To disable the porosity and piping calculations


In order to disable the porosity calculation, one should set POROS = 0. However, this may still
lead to some piping calculation. In order to disable also the piping, one should set in addition
PIPEFS = 0.

POROS = 1
Parameters of the model
POROS 1 (porosity model)
MACROFS 0.7 (critical fs for porosity formation)
PIPEFS 0.3 (critical fs for piping formation)
USERHO 1 (flag to set the density model)
FEEDLEN 1 5.0e-3 (critical feeding length)
It is necessary to define the gravity vector in order to have meaningful results with POROS=1.
Model
When a casting solidifies, pockets of liquid are created, surrounded by a mushy zone and then a
solid shell. Automatically, the casting is divided into regions within which the fraction of solid is
lower than one or that is bounded by walls (or symmetry planes). As solidification proceeds and
depending upon the complexity of the geometry, the number of "regions" may increase with time.
A region can thus be split in more regions. A region can disappear when all nodes have
completely solidified.

424
When a "region" is cooling down, if the density is increasing with decreasing temperature (the
usual case for most alloys), some shrinkage occurs. At each timestep, the accumulated shrinkage
occurring at all the nodes which have a solid fraction equal to or lower than MACROFS, plus
those nodes between the MACROFS and MACROFS + FEEDLEN isosurfaces, is computed. This
shrinkage is then distributed according to the following scenarios:
a) Find the highest point of the region that is on a free surface and has a fraction of solid lower
than PIPEFS. In this case, piping occurs and the free surface of the casting (usually the riser)
goes down by the amount corresponding to the shrinkage, as shown below.

(For display purposes, in the pipe, the shrinkage porosity value is set to 1 and FVOL is set to a
value below 0.5, so that it will exhibit piping, i.e. "empty nodes").

425
b) Find the highest point of the region that is on a free surface and has a fraction of solid higher
than PIPEFS. In this case, macroshrinkage occurs at that point, as shown below. This will also
correspond to piping (same result as a) above). However, instead of showing an empty volume, it
will have a "Shrinkage porosity" value of 1.

(For display purposes, in the macroshrinkage, the shrinkage porosity value is set to 1 and FVOL
is set to a value above 0.5, so that it will not exhibit piping, i.e. "empty nodes", but shrinkage).
c) No nodes of the "region" are on a free surface with a fraction solid lower than PIPEFS. In this
case, no more piping can occur and macroshrinkage in the bulk of the casting will appear, as
shown below. The macroporosity will appear at the highest most liquid point of the region (e.g. if
there is a pocket of liquid which is surrounded by a mushy zone, itself surrounded by a solid shell,
the macroporosity will start at the highest point of the liquid pocket).

426
(For display purposes, in the macroporosity region, the shrinkage porosity value is set to any
value and FVOL is set to a value above 0.5, so that it will not exhibit piping, i.e. "empty nodes",
but shrinkage).
During the same time, microporosity is computed in the following way:
a) Microporosity can appear only in the zone where the fraction of solid is in between MACROFS
and 1.
b) Within this zone, two situations may occur:
b1) There is still some mushy zone (or liquid) below MACROFS.
In this case, microporosity can occur only at a distance higher than the value of FEEDLEN from
the MACROFS isosurface (Zone A in the figure below). This means that, if high gradients are
present, the distance between the MACROFS and solidus isosurface is smaller than FEEDLEN,
no microporosity occurs (Zone B in the figure). The amount of microporosity is equal to the
density change between the local fraction of solid and 1.

b2) There is no more mushy zone below MACROFS.


In this case, the FEEDLEN parameter is not active anymore and there could be microporosity in
the whole region between MACROFS and 1. This is due to the fact that as there is no more "open
liquid" to feed the shrinkage, local microporosity has to occur in order to compensate the local
shrinkage. The amount of microporosity is equal to the density change between the local fraction
of solid and 1.
c) on the other hand, if FEEDLEN=0, the amount of microporosity is the same throughout the part
(except where there is macroporosity). In this case, the amount of microporosity is everywhere
equal to the density change between Fs=MACROFS and Fs=1.
d) If FEEDLEN is set to a very large value (larger than the casting side), the region between
MACROFS+FEEDLEN does not exist anymore. Thus, no microporosity is created until the whole
pocket is above MACROFS (i.e. no microporosity created according to b1) above). Then,
microporosity can start to occur, according to b2) above.
The amount of porosity is displayed in Visual-Viewer (Cast) under the "Shrinkage porosity"
Contour. The unit is volume fraction [-]. In general, values which are higher than 0.01 can be

427
considered as macroporosity, whereas regions with a value lower than 0.01 correspond to
dispersed microporosity.
Symmetry planes are taken into account in the liquid pocket calculation (i.e. symmetry planes
"close" the pockets, even if there is liquid at the symmetry wall.
See the Density Definition section for more details about how to define the density.
See the Active Feeding section for more details about feeding from the piston or the ingate in
the case of HPDC and LPDC.

POROS = 4 (obsolete)
Parameters of the model
POROS 4 (porosity model)
MACROFS 0.7 (critical fs for porosity formation)
Model
This model is based upon the same algorithm as the POROS=8 model (see below). In addition,
multiple piping can be considered. This means that piping occurs at the highest free surface of
each region. Thus, one can have piping at the top of risers which are at different levels (this was
not the case in version 3.2.0 and thus does not occur with POROS=8)
See the Density Definition section for more details about how to define the density.

POROS = 8 (obsolete)
Parameters of the model
POROS 8 (porosity model)
MACROFS 0.7 (critical fs for porosity formation)
In version 3.2.0, this Simulation Parameters was called MOBILE
(MOBILE still exists in version 2004.0 for other purposes. Thus,
it should not be used anymore for porosity settings).
Model
When the casting solidifies, pockets of liquid are created, surrounded by a mushy zone and then
a solid shell. As soon as a pocket of liquid is surrounded by a zone which has a solid fraction
higher than MACROFS, the density of each node inside the pocket (from fs=1 to fs=MACROFS)
is recorded (as a "critical density"). Then, the amount of porosity of each of these nodes is equal
to the density variation between this "critical density" and the density of the solid.
Piping is occurring at the highest free surface of the model. Thus, if there are two separate
regions with risers at different heights, only the highest one will exhibit piping, even if the lower
one is in an isolated region. POROS=4 corrects this situation (see above).
Symmetry planes are taken into account in the liquid pocket calculation (i.e. symmetry planes are
"closing" the pockets, even if there is liquid at the symmetry wall.
The amount of porosity is displayed in Visual-Viewer (Cast) under the "Shrinkage porosity"
Contour. The unit is volume fraction [-].
See the Density Definition section for more details about how to define the density.

Density Definition
For most alloys, the density at the liquidus is lower than the density at the solidus, thus leading to
porosity. By default, the porosity module of ProCAST is using the density curve in the mushy
zone which is defined in the material database (see the green curve in the Graph A below).
However, if this density change in the mushy zone is not well known, it is possible to

428
automatically calculate the density in the mushy zone, as an average of the liquid and solid
densities, weighted by the fraction of solid. The density of the liquid and of the solid is calculated
as a function of temperature, by extrapolating the density slopes at the liquidus and solidus
respectively.

The user has the possibility to activate this automatic density computation with the Simulation
Parameter USERHO. If USERHO is set to 0 (instead of 1 which is the default value), the density
curve which is defined in the material properties, between the solidus and liquidus, will be ignored
and the automatic density computation will be activated. (Please note that in version 4.x.x, the
default value was 0).
This is valid for all the Porosity models (POROS = 1, 4, 8).

Active Feeding
In the case of injection (e.g. high or low pressure die casting), for a while, the shrinkage is
compensated by the piston in the case of HPDC and by the liquid bath for LPDC, thus leading to
no piping.
ProCAST can account for such "active feeding", by setting the Simulation Parameter
GATEFEED=1. In this case, no piping will occur, but liquid will feed the ingate, as long as the
fraction of solid is lower than GATEFS (i.e. there is feeding in all regions which are within the
same GAFEFS isosurface as the gate). The gate is defined as being the region where in inlet
velocity is applied, or where a pressure is applied (or where GATENODE is applied).
One should note that the porosity level will NOT depend upon the value of the pressure. The
Active feeding is there only to compensate for the shrinkage of the region in contact with the
piston, as long as the fraction of solid is lower than GATEFS (i.e. within the same GATEFS
isosurface as the gate). This does not correspond fully to a real third stage pressure; however,
the value of GATEFS could be adjusted with pressure if desired).

429
For HPDC and LPDC, it is advised to set PIPEFS = 0.0 in order to prevent piping at the top of the
casting, if the gate is closing too early.
The active feeding is valid only with the POROS = 1 model.
In the case of a thermal only calculation (for HPDC or LPDC), one should set a Pressure
boundary condition at the ingate (in order to activate the active feeding) and one should disable
the FLOW Simulation Parameter (as normally a Pressure BC would automatically switch ON the
flow solver). Of course, GATEFEED should also be set to 1 in this case.
In order to activate GATEFEED, one should apply a pressure of inlet velocity BC on external
faces. There are cases where there are no external faces on which to apply these boundary
conditions. This happens in the case of a filling with a shot piston. To account with such situation,
one can apply instead a "Gate feeding" condition on an inside location of the casting (defined by
its node number). In general, it is advised to select a node inside the final biscuit, which will
remain liquid during most of the casting process. To define this node number, the GATENODE
Simulation Parameter should be specified, followed by the node number. In order to find the node
number corresponding to the desired location, it is advised to use the "pick" capability of the
Viewer. The selected node in Visual-Cast is renumbered in DataCast. The corresponding node
can be checked in Visual-Viewer in the d.out file.
Warning:
In the case of a thermal only calculation, a Pressure BC should be set at the ingate in order to
switch ON the active feeding. In such a case, the Pre-processor automatically is activating the
flow solver (FLOW=3). As a consequence, one should set FLOW=0 manually in the d.dat file in
order to deactivate the flow solver (but the porosity calculation will be performed with active
feeding).

Piston driven pressure


During the HPDC process, the imposed velocity in the piston can produce non-realistic values of
pressure in the liquid. To avoid this, it is now possible to limit this pressure through the available
pressure provided by the machine.
A node is necessary to control the pressure calculation (HPDC_PCONTROL). This node must
belong to flow domain. The piston velocity is adjusted based on the values of pressure given at
this node. The pressure at this node will always remain within the desired range. Default value is
0 (no control).
The operation pressure of the machine is given by HPDC_PRES. A range of pressure will be set
by the solver to compute the velocity in the piston (HPDC_LOW and HPDC_HIGH). This range
can be created in two different ways:
 If HPDC_PRES is given, HPDC_LOW and HPDC_HIGH are computed internally using
equations: HPDC_LOW = 0.8 * HPDC_PRES and HPDC_HIGH = 1.2 * HPDC_PRES, and
values of HPDC_PLOW and HPDC_PHIGH in p.dat file are ignored.
 If HPDC_PRESS is 0, HPDC_LOW and HPDC_HIGH will be directly taken from manually
introduced data.

Cast Iron Porosity Model


Instead of shrinking during solidification, some alloys do also exhibit some expansion. The most
well-known material which exhibits this behavior is the Nodular Cast Iron, also called Spheroidal
Graphite Iron (SGI). Grey Iron may also exhibit such behavior.
The volume change as a function of temperature is shown in the figure hereafter for different cast
irons.

430
POROS = 1 model in case of expansion
In order to account for such expansion, the POROS=1 model was adapted in the way describe
hereafter.
In the "pockets" of liquid and mushy zone which have a solid fraction lower than MACROFS
(+FEEDLEN), the integral of the density change at each timestep is performed. In the case of
expanding material, some location will expand and some will shrink. If the total density change
corresponds to a net shrinkage, the "regular" model applies (i.e. this macroshrinkage will occur as
the highest most liquid point). If it corresponds to a net expansion, two scenarios may occur:
a) Find the highest point of the region that is on a free surface and has a fraction of solid lower
than PIPEFS. In this case, the free surface of the casting (usually in the riser) will go up by the
amount corresponding to the net expansion.
b) Find the highest point of the region that is on a free surface and has a fraction of solid higher
than PIPEFS. The amount of expansion is applied proportionally to all of the nodes in the region
that have pre-existing porosity (thus, the macroporosity which appeared earlier, when there was a
net shrinkage, will be "refilled"). For example, if the amount of expansion is enough to "refill" 50%
of the total porosity in the region, then the porosity of each node is reduced by 50%.
c) No nodes of the "region" are on a free surface with a fraction solid lower than PIPEFS. The
expansion is distributed to all the nodes in the region as described in b).

At the same time, microporosity is computed in the following way:


a) Microporosity can appear or disappear (partially or fully) only in the zone where the fraction of
solid is in between MACROFS (+FEEDLEN) and 1.
b) Within this zone, two situations may occur:
b1) There is still some mushy zone (or liquid) below MACROFS. In this case, microporosity can
occur or disappear (partially or fully) only at a distance greater than the value of FEEDLEN from
the MACROFS isosurface (Zone A). This means that, if high gradients are present, the distance
between the MACROFS and solidus isosurface is smaller than FEEDLEN; no microporosity

431
occurs or disappears (Zone B). The amount of microporosity formation or disappearance is equal
to the density change between the local fraction of solid and 1.
b2) There is no more mushy zone below MACROFS. In this case, the FEEDLEN parameter is not
active anymore and there could be microporosity in the whole region between MACROFS and 1
for shrinkage. This is due to the fact that as there is no more "open liquid" to feed the shrinkage,
local microporosity has to occur in order to compensate the local shrinkage. The amount of
microporosity is equal to the density change between the local fraction of solid and 1. If the
density change between the local fraction of solid and 1 is positive (expansion), there is no
microporosity formation. The already formed micro porosity can be refilled partially or fully during
expansion depending on the degree of the density change.
c) On the other hand, if FEEDLEN=0, the amount of microporosity is the same throughout the
part (except where there is macroporosity). In this case, the amount of microporosity is
everywhere equal to the density change between Fs=MACROFS and Fs=1. Again if the density
change between the fs=MACROFS and fs=1 is positive (expansion), there is no microporosity
formation. The already formed micro porosity can be refilled partially or fully during expansion
depending on the degree of the density change.
d) If FEEDLEN is set to a very large value (larger than the casting size), the region between
MACROFS+FEEDLEN does not exist anymore. Thus, no microporosity is created or refilled until
the whole pocket is above MACROFS (i.e. no microporosity created or refilled according to b1)
above). Then, microporosity can start to occur or disappear, according to b2) above.

Mold rigidity
The rigidity of the mold has an influence on the amount of porosity in the case of expanding
alloys. If the mold is totally rigid, the casting cannot expand and thus the alloy expansion will be
"available" for the "refill" of the existing porosity. On the other hand, if the mold is very soft (or
weak), the casting will expand and thus there will be no "refill" of the porosity (of course, the
reality is more complex as the solid shell is thick enough it will act as a "rigid" mold, even if the
sand mold is weak.
In order to take the mold rigidity into account, the Simulation Parameter MOLDRIG is introduced.
MOLDRIG should be defined by a value between 0 and 1. All the net expansion is multiplied by
MOLDRIG. Thus, with MOLDRIG=1, corresponding to a rigid mole, the expansion will be fully
accounted. On the other hand, no expansion will be taken into account if MOLDRIG=0. The
expansion will be compensated by the mold movement because the mold is too weak to hold the
expansion in this case. For real situations, the value of MOLDRIG should be set somewhere
between 0 and 1 depending upon the casting processes. MOLDRIG should be added in the
Thermal Simulation Parameters tab. The default value is 1.

Density curve
For expanding materials, the density defined in Visual-Cast should not be monotonic anymore.
The density can increase (locally) with increasing temperature, as shown below.

432
One should note that such density curve will not be obtained when the material properties are
computed with the CompuTherm database. This is because the expansion is depending upon the
microstructure which itself depends upon the cooling rate (see next section). Thus, such curve
should be defined manually by the user, based upon experiments.

Coupled Microstructure - Porosity calculation


When a microstructure calculation is performed in the case of SGI, the density is automatically
calculated at each location (i.e. each node) of the casting and this local density is used "on-line"
in the porosity calculation (POROS = 1 model only).
The following figures are showing the solidification of a simple SGI casting calculated with the
MICRO model. The corresponding cooling curves and densities (calculated by the micro model)

433
are also shown. One can well see that depending upon the cooling rate, one can have full
expansion to full shrinkage, with intermediate behavior in between.

Microstructures and Porosity calculated with the Microstructure module of ProCAST (top) with the
corresponding Cooling curves and computed density curves (bottom) (SGI with 3.54% C, 2.46% Si,
0.14% Mn, 0.29% Cu, 0.05% Mg, 0.019% P, 0.007% S)

434
The above example is showing the advantage of using a coupled Microstructure - Porosity
calculation. If the Microstructure module is not available, one should use the density curve which
corresponds to the "closest" average cooling rate.
The density will be influenced by the Graphite treatment (with Magnesium), as well as by the level
of graphitization. For the graphite treatment, the influence of the time between the treatment and
the solidification is taken into account (fading effect - FADING and MGTREAT). The more we wait
between the treatment and the casting, the least graphitization will occur and thus the least
amount of expansion will happen (thus leading to more porosity). The level of graphitization,
controlled by the Simulation Parameter GRAPHITE, will have an influence on the amount of
expansion and thus on the porosity.
Please refer to the Iron and Steel Models section of the manual for the description of the
influence of GRAPHITE, FADING and MGTREAT on the densities and thus on the porosity.

Example

435
The figures hereafter are showing an example of an expanding alloy. One can see very well that
the level of the metal in the left riser (which has an insulating sleeve) is first going down (overall
shrinkage) and then it is going back up (overall expansion).

The following figure is showing an enlargement on the riser where the liquid level is going down
and then up.

436
Volume Manager
Volume Manager can be accessed from Cast Menu, or by double-clicking on Volume Manager, or
by using shortcut keys assigned for the particular options:
Volume Manager usage detailed

(1) Volume names are given appropriately by double-clicking in the corresponding cell.
(2) Different Types like Alloy, Mold and many others can be set by right-clicking and selecting the
option in the corresponding cell.
(3) Materials can be assigned by right-clicking in the corresponding cell as per the different
databases (please refer to the Database section for more details) available, as shown in (4).
(5) Percentage fill can be specified as zero/required percentage (like 20, 30, 50, ...) by clicking
and entering a suitable value.
(6) Units are set for the Temperature from the drop-down menu.
(7) Initial Temperature of the Volumes are defined by clicking in the corresponding cell.
(8) Stress types like Vacant, Rigid, Linear Elastic, ... are set with the right-click option provided
the material has all the properties corresponding to the user expectation.
After we have updated all the values, press Apply to accept the input values.
Since it is a Thermal case, change the Fill% to 100 for Cast volume. Hence, final Volume
Manager for the case will be as shown below.

437
If we forget to press Apply button, a warning message is shown to save or to exit the GUI.

Other right-click options available in Volume Manager

If the Column is highlighted with a filled symbol, that means it has right-click options.
Right-click options in Name column are detailed as follows:

1. Extract: This is very useful whenever solid elements are available in the model.

438
Both Extract and Mapping are available when Extract GUI is opened.
a. Extracting procedure: Browse the case (g.unf) from which one needs to extract the
results. Then toggle on Extract parameters and finally click on Extract. This will extract the
results in to .vdb and the file needs to be saved.
Extract

b. Mapping procedure: Mapping is similar to extract but the only change is to shift the toggle
from Extract to Mapping. After this, procedure of mapping is similar to extract.
Mapping

Now, Extract and Mapping step can be defined as a function of Time, as shown in
the image below.

439
Since ProCAST 2016.5, Mapping supports QuikCAST result files (*MCO). Therefore,
QuikCAST results can be mapped and used as starting point of a ProCAST analysis.
Technical Details of Extract and Mapping
Three different functionalities, which can be coupled together, are presented in this chapter:
 Extraction of results from a previous calculation as initial conditions for a new calculation.
 Removal of domains in order to run a new calculation with less domains than a previous
run.
 Addition of new domains, coming from a different calculation, to an existing case.
Extract examples illustrating the potential of combining together these functionalities are then
presented.
It is strongly advised to isolate each case (Add or Delete Domain) in a separate directory and to
properly document the "parents" and "child" in the "Delete/Add" operations.
Warnings
It is not possible to optimize a mesh which is the result of a "Delete/Add" operation if an "Extract"
has been made. This will mess up the node and element numbering and thus the Extract
information.
It is not possible to change the "nature" of the interfaces (EQUIV/COINC/NCOINC) in a mesh
which is the result of a "Delete/Add" operation if an "Extract" has been made. This will mess up
the node and element numbering and thus the Extract information.

To enable Extract or Mapping at coincident nodes (COINC interfaces), the mesh is


detached.
If after extraction / mapping, user goes back to Visual-Mesh context, coincident nodes will
be retrieved at all COINC interfaces. If user makes these nodes coincide, the extracted
information will be messed up and solver calculation may fail.

Results Extraction
The Results extraction allows to use results from a previous calculation as initial conditions for a
new calculation.
It is possible to extract the following results:
 Thermal: Temperature, FVOL, Porosity

440
 Flow: FVOL, Porosity, Flow Velocity, Pressure, Filling time
 Stress: All stress fields
 Volumetric Displacements
The Stress fields correspond to the 6 components of the stress tensor, the plastic strain and the
displacements (thus the deformed geometry is also extracted).
The Free surface information corresponds to the value of FVOL. This means that the locations
which are full and which are empty will be extracted. When a thermal only calculation follows an
extract of a partial filling, it is necessary to activate POROS = 1. This is due to a fact that in a
thermal only calculation with POROS = 0, the FVOL values are not stored. Thus, the extract of
FVOL would be lost.
If an Extract is performed, the temperature is extracted in all cases, whereas the extraction of the
Stress fields and free surface information are optional.
To extract results, the following procedure should be used (see below).

It is possible to make multiple selection of domains (i.e. to apply an extract case and time step to
more than one domain at a time). This can be done through the Explorer tree right-click option, as
shown below:

441
Alternately, the Extract option can also be invoked with right-click option from the Volume
Manager GUI, as shown below:

Right-click on the selected domain(s), select Extract option from the list posted and the
Extract/Mapping GUI will be posted.
1. Extract: The Extract/Mapping feature allows to extract results from one calculation to another.
This is very useful whenever solid elements are available in the model. Both Extract and Mapping
methods are accessible when Extract GUI is invoked.
a. Extracting procedure: This option is most suitable when the reference mesh and target
mesh are alike in element type and mesh. Browse the case (g.unf), from which one needs
to extract the results. Toggle on the required Extract parameters, input the time or step

442
number at which extraction has to happen from g.unf and finally click on Extract. This will
extract the results in to .vdb and file needs to be saved. If the display toggle is switched
ON, the GUI will even display the extracted result states on the model based on the
selected result type.
Extract

Once the Extract is confirmed (with the Extract button), the extracted temperature can be
displayed on one or more domains. To do so, select the desired domain(s) and click on the
"Display" toggle. The temperature will be displayed as shown in the following figure.
Please note that the scale cannot be changed in this view.

Once the extract is done, the Initial Temperature field in the volume manager GUI
will be changed to "EXT" for the extracted domains.

443
To remove the extracted results, select the domains in the Explorer tree and from the right-
click options, choose the 'Clear Extract/Mapping' option.
When an Extract of FVOL, of Stress Fields and/or of Porosity are defined, the Simulation
Parameter INILEV is automatically set to -1 in the p.dat file. The calculation will however
start at the step 0 (see the General Simulation Parameters section for more details). If a
"pre-defined" set of Simulation Parameters is selected, the value of INILEV will be
automatically set to -1.
Warning
When an Extract is performed with an original case having time functions, one should be careful
that the time zero of the extracted calculation is not the same as the original one anymore. Thus,
the time functions have to be shifted in the second calculation, with respect to the first one.
Examples illustrating the possibilities offered by the Extraction of the free surface information and
the Stress Fields are described in the Extract Examples section.

Results Mapping
The results mapping works exactly in the same way as the "Extract" (see the Results Extraction
section for more details).
The only difference is that one should select the Mapping button instead of the "Extract" one. The
rest of the procedure is identical.

The principle of the mapping is the following for fields defined at nodes (like Temperature, FVOL
or porosity): for each node of the target mesh, the corresponding element of the source mesh is
searched. Then, the value of the target node is interpolated from the values of the vertices of the
source element.
Special care should be taken if the target node is outside the source mesh. If the mismatch is
small (i.e. a fraction of the average size of the neighboring element of the outside node), the
value is calculated as an interpolation of the nodes of the closest face of the source mesh from
the target node.
If the target node is outside the source mesh with a larger mismatch, the average of the
neighboring target nodes which have already been calculated is propagated to the node. This
allows to take care of situation where the target mesh has an extra volume (like an added riser or
a removed cooling channel) with respect to the source mesh, with reasonable mapping values.
When multiple domains mapping is performed, the mapping is done between the same "Material
Type" of domains (i.e. MOLD, CASTING, CORE...). If the source calculation has a CORE and
then it is transformed in CASTING in the target calculation, there will be no mapping between the
CORE temperature of the source calculation and the CASTING temperature of the target

444
calculation. This volume will be considered as a hole and the propagation described above will be
applied. (If it is desired to map the CORE temperature onto the CASTING volume, one should
change the CORE to CASTING type of this domain and run "datacast -u" before doing the
Mapping).
Warning
The mapping of the following elements is possible:
 tetra4 to tetra 4 and/or penta6 and/or hexa8
 penta6 to tetra4 and/or penta6 and/or hexa8
 hexa8 to tetra4 and/or penta6 and/or hexa8
The mapping of the following elements is not possible:
 X to pyramid or pyramid to X
 3D elements to 2D elements or 2D elements to 3D elements
 3D elements to shell or shell to 3D elements

The two following images show the result of mapping of a HPDC casting from a coarse mesh
(left) to a fine mesh (right).

445
One can see that the match between the two meshes is very good. The quality of the mapping is
as good when going from a fine mesh to a coarse one.

Domain Removal
When a mesh contains several domains, it is possible to remove one or more domains from this
mesh in Visual-Cast. This can be useful in two kinds of situations:
 When one domain of the original mesh is not interesting for the calculation anymore (e.g.
when several scenarios are done based upon the same mesh).
 When a mold must be removed at the mold knock-out or a gate is cut.
To remove/delete one or more domains, in the Explorer tree, select the domains and from the
right-click options, select Delete, and the corresponding domain(s) will be removed.

446
447
The main advantage of this "Delete" procedure, with respect to doing it in the Mesh Generator, is
that the set-up of the case remains after the delete operation (at least all the features which are
applied to the remaining domains). Thus, it is only necessary to complement the set-up with the
missing or new features, and the calculation can be run again.
Remark 1
Please note that when a Domain is deleted, the Simulation Parameters are automatically reset
(even if a p.dat file was present in the working directory). It is thus necessary to redefine the
Simulation Parameters after a "Delete".
Remark 2
In the case of stress extraction with domain(s) removal, one should make sure that all the
remaining domain(s) are well defined as "CASTING". For instance, if the original model has a
CASTING, a MOLD and a CORE and only the MOLD has to be deleted first (i.e. to run a stress
calculation with the CASTING and the CORE), the CORE must be switched to CASTING (ignore
the Warning message saying that two different materials are assigned to the different CASTING
domains) in order to have a successful Extract. This is due to the "renumbering" algorithm applied
to the Extract which is currently made only on the CASTING domains.

Domain Addition
With the "Domain addition" functionality, it is possible to add one or more domain(s) to an existing
mesh or case. It is also possible to add an Enclosure.
To illustrate that, one can take the example of an HPDC case where we will add the outer mold to
the model.
As can be seen in the next figure, only the "inner mold" is taken into account in this first model.

448
The goal is now to "Add" the "Outer mold" to this model. This outer mold has been meshed
separately, as shown in the next figure. Please note that the coordinate system of the two
meshes should coincide.

In order to add this "outer mold", the following steps should be performed:
Load the original model (without outer mold) in Visual-Cast.

449
Click on File > Append from menu bar. A Browser will open.

Select the right filter (d.dat or .mesh file) and browse for the desired mesh of the outer mold.
Select it and press the "Open" button. This will append the "Second model" window, as shown
below.

450
Then, the material properties and boundary conditions corresponding to this new added
domain(s) should be specified.
In particular, one should not forget to create the non-coincident interfaces between this new
domain(s) and the one of the first original model, as shown below.

As we can see in the following figure, the inner and outer molds are taken into account in this new
model.

451
Remarks
It is possible to use the "Add" functionality to add an enclosure to an existing case (where the
enclosure would not have been present already).
Please note that when a Domain is "Added", the Simulation Parameters are automatically reset
(even if a p.dat file was present in the working directory). It is thus necessary to redefine the
Simulation Parameters after an "Add".

Extract Examples
This section gives a few examples of the different possibilities offered by the extended Extraction
possibilities:
 Mold Removal and Gate Cutting
 Stress Calculation on a Partially Filled Casting
 Cycling and Shot Sleeve in HPDC
 Filling in Multiple Stages

Mold Removal and Gate Cutting


This Extract procedure, including the possibility to "Delete" domains and to extract stress
information, can be used in a very powerful way to address the Mold removal (or mold knock-out)
and the Gate Cutting effect on the final casting shape during a Thermal-Stress calculation.

452
The following example shows a very simple case where the casting (and gating) is first solidified
in a Rigid mold (the mold can be elastic-plastic as well). Then the mold is opened and thus the
shape of the casting can change due to the fact that the mold constraints are disappearing. Later
on, the gate is removed, allowing the part to take its final shape. This can be done now in three
stages as follows:

Calculation 1 (solidification and cooling in the mold):


The initial calculation should be set as usual. The casting and the gating should be defined as
distinct domains inside the mold (see next figure).

The stress calculation should be activated in the casting and gating (it is optional in the mold).
Then the calculation should be run until the time of the mold opening (mold knock-out).

Calculation 2 (removal of the mold and further cooling):


Once the calculation 1 is finished, the following procedure should be applied in order to simulate
the mold knock-out:
 Copy the .vdb and the p.dat files of Calculation 1 in a new directory corresponding to
Calculation 2.
 Go in the Volume Manager and delete the Mold domain(s). One can see that the set-up on
the remaining domains is still present (the p.dat file however has been reset and will need
to be reconfigured)
 As the mold is not present anymore, the appropriate displacement BC should be set on the
casting/gating geometry, in order to make sure that the geometry is well constrained.
 The cooling conditions (Heat BC) should be set on the outside of the casting/gating
geometry.
 The Temperature and Stress results of the last timestep of Calculation 1 (corresponding to
the time of the mold knock-out) should be extracted for the casting and gating.
 The ad-hoc Simulation Parameters should be defined.
 The calculation should be run until the time at which the gating is removed.

453
Calculation 3 (gate cutting and cooling down to room temperature):
Once the calculation 2 is finished, the following procedure should be applied in order to simulate
the gate cutting:
 Copy the .vdb and the p.dat files of Calculation 2 in a new directory corresponding to
Calculation 3.
 Go in the Volume Manager and delete the Gate domain(s). One can see that the set-up on
the remaining domain(s) is still present (the p.dat file however has been reset and will
need to be reconfigured).
 As the gate is not present anymore, the appropriate displacement BC should be set on the
casting geometry, in order to make sure that the geometry is well constrained.
 The cooling conditions (Heat BC) should be set on the outside of the casting geometry (i.e.
at the faces corresponding to the former gate/casting interface).
 The Temperature and Stress results of the last timestep of Calculation 2 (corresponding to
the time of the gate cutting) should be extracted for the casting.
 The ad-hoc Simulation Parameters should be defined.
 The calculation should be run until room temperature.
The following figures show the results of these three calculations. The first set of pictures shows
the results without an increased deformation, while the second set shows the same results, with a
deformation magnitude of 10. In both sets, the total displacement is shown (with the same scale
for all figures), allowing to see the effect of the mold knock-out and the gate cutting on the shape
of the casting.

454
View of the total displacement (same scale for all the figures, from 0 to 18 mm) at different stages of
the casting process: 1. Initial geometry (calculation 1), 2. Just before mold knock-out (calculation 1),
3. Just after mold knock-out (calculation 2), 4. Just before gate cutting (calculation 2), 5. Just after
gate cutting (calculation 3), 6. Room temperature (calculation 3). The pictures are taken with a
"Displacement magnitude" of 0 (no visible deformation of the geometry)

455
View of the total displacement (same scale for all the figures, from 0 to 18 mm) at different stages of
the casting process: 1. Initial geometry (calculation 1), 2. Just before mold knock-out (calculation 1),
3. Just after mold knock-out (calculation 2), 4. Just before gate cutting (calculation 2), 5. Just after
gate cutting (calculation 3), 6. Room temperature (calculation 3). The pictures are taken with a
"Displacement magnitude" of 10 (increased deformation)

Stress Calculation on a Partially Filled Casting


Quite often in Investment or gravity casting, the cavity is not completely filled (i.e. the pouring cup
is only partially filled). If one wants to perform a stress calculation on such partially filled casting,
but without having to perform the stress calculation during the filling, it is possible to do so with
the extraction of the free surface information.
Moreover, the stress calculation can be continued after the mold removal (mold knock-out).
The different stages are the following (illustrated by a very simple test geometry):

Calculation 1 (filling):
Filling + Thermal calculation, with the usual set-up and LVSURF = 0.70 (to stop the filling at 70%)
The calculation can be stopped just after the end of the filling, as shown below.

456
Calculation 2 (stress calculation during the solidification):
The .vdb and p.dat files of the Calculation 1 are copied (in a new directory) and loaded in Visual-
Cast. The following set-up should be done:
 In the Volume Manager menu, the casting domain should be set as full ( Fill% = 100).
 The stress material properties should be set.
 The displacement BC should be set (if needed).
 The filling BC can be removed.
 The Temperature and the FVOL should be extracted from the Calculation 1, at the step
corresponding to the end of the filling.
 The Simulation Parameters for a Thermal + Stress calculation should be defined.
The following figure shows the result of the stress calculation (the total displacements are shown,
with a "Displacement magnitude" of 20).

457
Calculation 3 (stress calculation after mold knock-out):
The .vdb and p.dat files of the Calculation 2 are copied (in a new directory) and loaded in Visual-
Cast. The following set-up should be done:
 In the Volume Manager, delete the Mold domain.
 Set the appropriate cooling BC (Heat) around the casting.
 Set the appropriate displacement BC on the casting.
 Extract the temperature, the FVOL and the stress data of the last timestep of Calculation 2
above.
 Set the appropriate Simulation Parameters.
The following figure shows the results just before and just after the mold knock-out.

458
The following figure shows the temperature and casting shapes just after the mold knock-out
(step 0 of calculation 3) and at the end of the cooling (last step of calculation 3).

459
Cycling and Shot Sleeve in HPDC
This example shows how it is possible to add a shot sleeve to an existing HPDC case and to use
the mold temperature after cycling as initial conditions for the shot sleeve calculation.
The procedure to do that is as follows. Please note that in this simple example, it may not appear
optimum to use this procedure to achieve this goal. However, if the mold is very complex and
leads to many interface definitions, this can be quite powerful. Moreover, this could allow quite an
easy change of shot piston geometry without remeshing the mold and without redefining all the
mold properties, boundary conditions and interfaces in Visual-Cast.

Calculation 1 (cycling without the shot piston):


The calculation should be defined as usual in Visual-Cast on the following geometry. The cycling
conditions should be set.
The following figure shows the temperature contour during the last cycle.

460
The following figure shows the temperature evolutions along the 5 calculated cycles.

Calculation 2 (Filling and Solidification with the shot piston):

461
In order to add the shot piston to the calculation 1 above and to use the mold temperature at the
end of the last cycle of calculation 1, the following procedure should be applied.
1. Copy the .vdb file of Calculation 1 in a new directory (Calculation 2).
2. Load this d.dat file into Visual-Cast and remove the casting domain (using the Volume
Manager). The geometry will appear like in the following figure.

3. In the File > Append option invoked from the menu bar, browse in the directory where the
mesh containing the casting and the shot piston is located. Please note that this can be
either in a mesh file (*.mesh) or in a data file (*d.dat). At the moment, the file getting
appended should contain only domains that need to be added to the current case.

462
4. The new domains will get appended to the current case model. Now that the geometry is
complete, all the missing assignments should be made. The first one is the Material
properties assignment.
5. If the "Added" geometry is coming from a mesh file, some interfaces may need to be
created.

If the "Added" geometry is coming from a d.dat file, the already present interfaces will be
imported as well and thus do not need to be created again. To achieve this, the right-click
option Swap Master-Slave in Interface Manager can be used.

463
6. Between the original model (of Calculation 1) and the imported domains (coming from
Calculation 2), it is necessary to create Non-coincident interfaces. It is recalled that if
temperature-dependent interface heat transfer coefficient is used, the Master must be the
casting.

464
7. As we would like to use the temperature of the mold at the end of the last cycle, we should
extract it from Calculation 1. To do so, select all the mold domains (which will be
highlighted in red) and click on "Extract". A window will open, which allows to browse the
Calculation 1 case and specify the timestep corresponding to the end of the last cycle.

8. When the browsed model is selected (select the prefixg.unf file), the Extract button can be
pressed, in order to execute the extraction.
9. When the "Display" toggle is pressed, the extracted temperature can be viewed.

465
10. Finally, the Simulation Parameters should be configured as usual.
The next three figures show the results of the calculation. The first figure shows the initial
step with the extracted temperature of the mold.

466
Important Remark
As described in point 9) above, at interfaces between the original domains of Calculation 1 and
the imported (added) domains of Calculation 2, there must be a "Non-coincident" (NCOINC)
interface.
It is not possible to have an "Equivalent" (EQUIV) between original and imported domains. This is
why in the above example, the "Casting" domain had to be deleted and then re-imported from
Calculation 2, together with the shot sleeve.

Filling in Multiple Stages


In the case of large castings, sometimes, the filling is done is several stages. As the time between
two filling sequences may be significant, it is now possible to run a "thermal only" calculation in
between these fillings. This saves a lot of CPU time.
The procedure to do that is the following:

Calculation 1 (first stage filling):


Set up the first stage filling as usual (in the following example, the initial filling corresponds to a
bottom filling). The value of LVSURF should be set to 1. Run the calculation until a few steps
beyond the filling percentage corresponding to this first stage filling.

467
Calculation 2 (thermal only calculation in between the two filling stages):
The .vdb and p.dat files of the Calculation 1 are copied (in a new directory) and loaded in Visual-
Cast. The following set-up should be done:
 In the Volume Manager, the Fill% for the Casting domain should be zero.
 Suppress the inlet BC.
 Extract the temperature and the FVOL from the last step of the Calculation 1.
 Change the Simulation Parameters for a Thermal only calculation (i.e. disable the flow -
FLOW = 0).
 Make sure that POROS is equal to 1.
 Run the calculation until a few steps after the time corresponding to the beginning of the
second filling stage.
The below figure shows the cooling in between the two filling stages. As it is a Thermal only
calculation, it can be done with large time steps (much larger than when the flow is activated).

468
Calculation 3 (second stage filling):
The .vdb and p.dat files of the Calculation 2 are copied (in a new directory) and loaded in Visual-
Cast. The following set-up should be done:
 In the Volume Manager, the Fill% for the Casting domain should be zero.
 Add a new inlet BC (top filling in the present example). Please note that the inlet
temperature can be different from the previous one.
 Extract the temperature and the FVOL from the last step of the Calculation 2.
 Change the Simulation Parameters for a Filling calculation (i.e. reactivate the flow - FLOW
= 1).

2. Group: Grouping option is available to group similar domains which contain same conditions
as that of others in same domain. Refer to the below image as an example.

469
After Grouping, the volumes are grouped as shown below:

Group name can be changed as required by user. For example, if we change the
name of Group to Cast, then volumes are renamed to Cast_1 and Cast_2...after
confirming the warning. If we click on No, then old names of volumes are retained as they
are.

470
3. Show, Hide, Locate: These are for the convenience of user, to show/hide/locate the volume
from volume manager itself.
4. Compute Mass and Yield: This is the mass calculation of alloy or Mold on various options
based on density and volume of the material property.
Right-click in the Volume Manager to access Compute Mass and Yield panel, as shown below.

a. Alloys -Temperature:
This is used to compute the mass and yield of Alloy volumes. Liquidus, Solidus and User
defined are the temperature values that need to be input to consider density to compute
mass of casting volume.
The efficiency, or yield, of a casting is defined as the mass of the casting (selected alloy
volumes) divided by the mass of the total amount of metal poured (all alloy volumes).
Example: With Ambient and Pouring Temperature

471
Example: With User Defined Temperature 1100

b. Non Alloys- Temperature:


In a similar way, one can compute mass for Non Alloys, as shown in below image:

472
Lowest, Highest and User defined Temperature are used to input the temperature to
compute mass.

Right-click in any cell of Type column: There are various types of options available to set the
types for volume as explained below.
5. Define Pouring Cup Control: To set the percentages of Maximum, Target and Minimum of
pouring cup which are carried to Pouring cup parameters in Flow Simulation Parameters. Please
refer Pouring Control in Flow Simulation parameters for more details.

6. Semi-Solid Material: For Semi-Solid case set-ups.


7. CAFE: For CAFE case set-ups in Casting Simulation.
8. Volume orientation: The Volume Orientation panel will be used to define orientation for
volume elements.

473
This dialog box can be posted by right-clicking on volume Name column of Volume Manager.

The reference Rosette can be selected using Rosette button. The New rosette can be created
using Create button. The edit option is used to edit the already existing rosette. Please refer
Rosette Definition section for more details.
The Volumes need to be selected using Volume button. After selecting volumes and Rosette,
click on Create button to create new element orientation for the selected volumes.
After creating element orientation, the vectors can be displayed in the window by selecting the e1,
e2 and e3 rows in the Axis Vector list control available at the bottom of the panel. The vectors
e1, e2 and e3 can be selected separately or they can be selected together to show the orientation
vectors on the selected parts along the selected directions.

To make Honeycomb filter to work, user has to input Permeability value for 1st axis
in Fluid tab and in Anisotropic tab, give value of Permeability for 2nd and 3rd axis. Please
note that all the values should be global values, and they should not be factor or function.

Right-click on Type columns

474
a. Alloy: The casting material should be set to "Alloy". This setting is necessary in particular
for all the domains where fluid flow will occur. For a cycling calculation, the casting
domains initial temperatures will be reset at the beginning of each cycle.
b. Core: A core type material should be defined in the case of cycling, where cores are
placed into the mold at each cycle. This means that unlike mold materials, the initial
temperature of the cores will be reset at the beginning of each cycle.
c. Exothermic: This will activate the exothermic properties of the sleeve (if they are defined
in the corresponding material properties). If the material properties are containing the
exothermic information, but the "Exothermic" type is not activated, the exothermic model
will not be activated (see the Exothermic Database section for more details).
d. Filter: Filter domains should be set with the "Filter" type (see the Filters section for more
details).
e. Foam: For lost foam calculations, the domains where the foam is present at the beginning
of the calculation should be set to "Foam". Of course, during the filling, the casting material
will replace the foam, as it burns.
f. Insulation: This type has no specific effect on the solver. It will correspond to a "Mold"
type of material. At this moment, this is for information purposes.
g. Mold: The mold material should be set to "Mold". This will be used for cycling calculation
(in die casting) in order to allow the calculation of the heating of a die during cycling (i.e.
the temperature of the mold domains will not be reset to the initial temperature at the
beginning of each cycle).
Right-click in the cell of Material column: This will list all the available in with the type

( ) set. In the attached image, Steel H13 is set.

Right-click options in Stress Type:


Stress types like Vacant, Rigid, Linear Elastic ... are set with right-click option provided the
material has all the properties corresponding to the user expectation, as shown below.

475
Other options

Material Database can be opened by clicking on Edit option ( ). Hidden volumes also can be
toggled on to show volumes in Volume Manager.

476
Details about Database can be found in Material Database chapter.

Material Assignment - Grouping is enhanced with external xml.


By default, materials are grouped based on the material type. Grouping can be controlled through
an external xml file which should be kept in "My Documents\VE\10_7\cast_material_groups.xml".
Following shows an example of this xml file.

Example :cast_material_groups.xml
Location :My Documents\VE\10_7\cast_material_groups.xml
<Groups>
<Group Name="Casting">
<Database><!-- if this tag is absent, groups will appear in all databases-->
Public,User

477
</Database>
<Category>
Al
</Category>
<Name>
</Name>
</Group>

<Group Name="InvestmentCasting">
<Database><!-- if this tag is absent, groups will appear in all databases-->
Public
</Database>
<Category>
Ni
</Category>
<Name>
UNS C95300
</Name>
</Group>
<!-- So ON -->
<!-- Note: Materials not specified in this file
are displayed inside one group named => Others -->
</Groups>

Explanation:
 <Groups> : This tag specifies the groups of materials.
 <Group Name> : This tag specifies the group name.
 Each group has unique name specified, which will have categories of material types like Al
(Aluminum) , Ni (Nickel). Based on these categories, materials are grouped.
 <Database> : This tag indicates the database in which group should appear (Public ,User,
Company , Model).
 <Category> : This tag is used to specify material types .
 <Name> : This tag is used to specify material names directly (example : UNS C95300
which is a copper material).

Materials which are not specified in this xml are listed under a group called “Others”.
Limitations:
 Same category or material names cannot be used in multiple groups. Even if used, the last
group with this category or material names will have materials listed but not in other
groups.

478
 If configuration file is edited with Visual already open, then we have to close and re-open
Visual to see the updated groups.
Rosette Definition

This panel can be used to create a rosette or a coordinate system for orientation of the part
elements.
PATH:
 Right-click on Volume Manager Name column, post Volume Orientation dialog box, click
the New icon ( ) or Edit icon ( ) next to Rosette selection button.
Result: The Rosette Definition panel is posted.

Points Mode

Nodes Mode
Panel options
1. ID: Specify the ID of the rosette.
2. Name: Name of the rosette.
3. Mode: There are two options to specify the point’s co-ordinates for rosette.
a. Nodes: By selecting three nodes. First point as origin, second point along X-axis
and third point on XY-plane.

479
b. Points: By selecting two points on the model. First point as origin, second point
along X-axis and normal to the element at first click as the Z-axis.
4. Node / Point At Origin: First point of the rosette. To specify the node / point, pick the
node / point in the graphic window, or enter the ID of the node or the coordinates of the
point in the text box.
5. Node / Point On X-Axis: Second point of the rosette. Input is the same as for origin.
6. Node / Point On XY-Plane: Third point of the rosette. Input is the same as for origin.
7. Edit icon ( ): This icon allows editing of an existing rosette. Clicking on this icon posts
a list of existing rosettes. Select the desired rosette for modification.
8. New icon ( ): This icon resets the current input and allows creation of a new rosette.
9. Reverse: This will reverse the Z-Axis.
The X-axis direction will not change.
10. Rotate: This will rotate X-Axis about Z-Axis.
Rotated angle is shown in the text box.
Interface HTC Manager
In Interface HTC Manager, one should create interfaces (EQUIV, NCOINC and COINC) between
material domains and assign heat transfer coefficients.
Interfaces are automatically computed if volumes are perfectly recognized.
Interface HTC Manager can be opened from Cast main menu, or by double-clicking Interface
HTC in explorer. Interface is shown only on clicking in the Interface cell of Interface Manager.

480
Sometimes, if Interfaces are not updated, then one has to right-click on explorer and
select Update Interface. Non Coincident should be computed with Update NCOINC
interface option available on right-click, as shown below.

Interface Usage detailed

481
(1) Interfaces between volumes are shown in Name column on right-clicking in the Name cell.
(2) Different types of interface can be accessed with right-click in Type column, and assigned.
(3) Interface Condition can be assigned by right-clicking in the corresponding column.
(4) Different databases are available for flexibility to user to create their own conditions.

Right-click options available in Interface HTC Manager detailed

1. In Name Column:
a. Add: Adding of Non Coincidence Interface, for example in HPDC Casting to create
Non Coincident Interface between Piston, Mold and Casting is possible, as shown
below. Editing is also available soon after defining Non Coincident Interfaces. As

soon as we select this option, click on Master ( ) and select

volume from selection list ( ) and confirm. Similarly, for the slave

( ) volume also, one has to define both In-plane Tolerance and


Perimeter Tolerance and click on Apply. Application also rechecks duplications
during addition.

482
b. Update NCOINC Interface: On selecting this, it updates NON Coincident
Interfaces.
2. Type: Different types of interface can be accessed with right-click in Type column, and
assigned.

483
When a mesh is generated with Visual-Mesh (Cast) (or with most common mesh
generator), the elements which are on either side of an interface (i.e. adjacent elements
which belong to two different domains) share the same nodes. This is called a coincident
mesh.
a. EQUIV option: When two domains are part of the same entity (i.e. they both belong
to the casting with the same material properties, but they were meshed separately
for technical reasons), one will set an "equivalence" interface between them
(EQUIV). It means that there will be a continuum between the two domains, with a
continuous temperature profile across the interface, as well as continuous velocity
field. In such a case, the nodes at the interface (shown in orange in the figure
below) are shared by the elements on both sides. This EQUIV option can also be
used if one has different materials in the two domains, but the materials are welded
together (i.e. with a total bounding between the two materials).

b. COINC option: At an interface between two different materials, such as the casting
and the mold, there is usually a temperature drop. In this case, the nodes at the
interface should be doubled (for a coincident interface), in order to have distinct
temperature on each side of the interface. As during the mesh generation there is
one node at the interface, it is necessary at this stage to duplicate all the interface
nodes (as shown in green in the figure below). This duplication operation is
performed when "COINC" is selected (for "coincident nodes"). The interface, which
is shown in yellow in the figure below has in fact a zero thickness.

484
c. NCOINC option: It is also possible to generate a non-coincident mesh (i.e. where
the elements on both sides of the interface are not matching, which means that they
are not sharing the same nodes), by adding different meshes together (see the
Advanced features section for more details on non-coincident meshes). In this
case, one has to specify that the interface is non-coincident, with the "NCOINC"
option.

Swap Master-Slave is activated if type is changed to COINC from EQUIV, as shown


in the image.

If the model set up from CAD type is EQUIV, one has to change it to COINC if
required, as per the interface between different volumes.
Visual-Cast has the capability to handle non-coincident meshes (see figure below).

485
If the different domains are meshed separately, they can be loaded in Visual-Cast using
the File-Append menu. Then, a window opens, which allows to load the different meshes.
Please refer File-Append for more details.

Step 1: Load any one domain from "File Open Menu", as shown below.

486
Step 2: Using "File - Append menu", select all the other domains, as shown below:

487
Please exclude already loaded domains or files while appending.
Step 3: Please select the appending options, as shown below:

488
Step 4: After appending the model, complete model will be as shown below.

Step 5: Non Coincident Interfaces will be automatically computed after right-clicking on


Interfaces and selecting Update NCOINC Interface, as shown below.

489
If the Interfaces are not recognized automatically, then user can create Non
Coincidence Interfaces using the option available in Interface Manager, as shown below.

The "In-plane Tolerance" corresponds to the maximum distance between the two surfaces
in order to have a contact (distance normal to the plane of the interface).
The "Perimeter Tolerance" corresponds to the maximum distance around an element of
the master surface where a node of the slave surface can be found.
By default, the In-plane and Perimeter tolerances are set to 1 mm. This value should be a
fraction of the smallest edge of the whole mesh and can be manually edited by the user.

490
Thus, if the mesh has a quite heterogeneous mesh size, these tolerances may be too
small (and thus, there will be "no contact", and thus no heat transfer at these non-
coincident interfaces). If such a case occurs, one can change (i.e. increase) these
tolerances. One should however be careful not to use too large tolerances so that nodes
beyond the opposite surface will be taken into account. A good tolerance value should be
about half of the mesh size of the corresponding surface.
3. Interface Coefficient:
On right clicking in the Interface column, database values are displayed, as shown in the
image.

Other options:

Clicking on edit ( ) in Interface HTC Manager will open up the Interface Database.

491
When the Interface HTC Manager is opened, interfaces are displayed using the
Show model in grey boundary mode option, which is located at the top right corner of
the explorer ( ). This rendering mode is optimized for the display of geometrical
entities which are not located on the surface.
When the HTC manager is closed, the user can manually activate this mode to obtain the
same rendering style when browsing in the explorer for interfaces.
Process Condition Manager
All Boundary Conditions can be created within process condition manager:
Process Condition Manager is organized into 7 main categories based on their physical
significance in the usage, and are shown in explorer:

492
Simple ways and means to create any Process Condition and access Process Condition
Manager:
Right-click on the Heat Exchange folder in explorer and select New.

493
Process Manager usage detailed

(1) Name: Process Condition name which can be edited and renamed by user. Editing is by
double-clicking in the respective name cell.
(2) Type: This is automatically set to respective condition. For the case considered, it is Heat.
(3) Entity: It can be selected in two ways:
a. Selection based on the available external or internal region or volume. These are
automatically calculated during volume, interface computation and are available in the
selection lists ( ) of volume/region tabs.

On selecting Volume, it sets Surface Heat on Volume. Useful to control the free
surface cooling which is not at an interface.
For the above case, there are 4 regions which can be viewed.

Regions are external zones where boundary conditions are defined.

494
b. Customized region creation ( ).

In case of 'Interface' type of process conditions, i.e., HTC Region and Die Coating,

Interface is assigned using button.


(4) Entity: Entities are available in Entity column soon after selection.
(5) Boundary Condition: Condition is assigned from its database, as shown in this column.
(6) Area (Sq.cm): Selected region area is shown in this column.

Area is shown only if elements for Area are available.

Right-click options available in various columns:


1. Name > Add: Adding another Heat condition.

HTC Calculator
HTC Calculator is used to compute Heat transfer coefficient for Heat Boundary conditions
in case of cooling/heating channels.
PATH: Cast > Process Conditions Manager > Heat > HTC Calculator.

495
Heating media
 Water: Defines a water-heated device. The thermal properties of water are
contained in the WATER.DATA file.
 Oil: Defines an oil-heated device. The thermal properties of oil are contained in the
OIL.DATA file.
 Other: Defines special heating devices where the heating fluid is neither water nor
oil. It shows the Heating Parameters UI in which the user can specify the heating
fluid characteristics.

496
WATER.DATA and OIL.DATA files are available in
<installation>\COMMON\Resources\VisualCast
Flow Properties
 Flow Rate: Defines the volume flow rate inside the piping.
 Average Temperature: Defines the average of inflow and outflow temperature of
the cooling fluid.
 Hydraulic Diameter: Defines the hydraulic diameter of the piping.

Compute HTC: Click this button so that the value of the exchange coefficient is
automatically calculated using the specified parameter values. It is necessary to select a
contact surface between the heating device and the mold for the software to automatically
compute the developed length of the piping (with respect to the surface area).
Analytical formulae used:
 Geometric factor of the piping F = L/D
 Prandtl number Pr = μ Cp / λ
 Reynolds number Re = ρ V D / μ
 Nusselt number Nu = h D / λ
(h: convection exchange coefficient)

a. If Re < 2000: Laminar flow.


Nu = 2.34 (F / (Re x Pr))-0.33 (Loison formula)
b. If Re > 10000: Turbulent flow.
If F > 60 (Long piping):
Nu = 0.023 x Re 0.8 x Pr 0.33 (Colburn formula)
If 20 < F < 60:
Nu = 0.023 x Re 0.8 x Pr 0.33 x (1 + 6 F -1)
If 2 < F < 20 (Short piping):
Nu = 0.023 x Re 0.8 x Pr 0.33 x (1 + F -0.7)
c. If 2000 < Re < 10000: Transient flow.
Interpolation with limit values of Nu from (1) and (2).
V: Flow velocity (Volume flow rate / Fluid cross section)
D: Hydraulic diameter (4 x Piping cross section / Wetted perimeter)
L: Piping developed length (computed from the area of the selected cooling
device surface domain)
T: Average I/O fluid temperature in the piping
h = Nu λ / D
Typical values for pressure die-casting:
h = 4000 to 5000 W.m-2.K-1 for water at 25°C, with turbulent flow.
h = 250 to 400 W.m-2.K-1 for oil at 80°C, with laminar flow.
Example: Die temperature contour near the cooling channels

497
On selecting different Heating/Cooling medias with inputs, click on Compute
and then on Update BC to create values for channel condition.
We need to select the Channel region completely first and proceed with HTC
Calculation, otherwise we get an error message, as shown below:

Thermal Regulation
Thermal regulation is applied on Heat Boundary Condition to control the
activation/deactivation of a Heat BC based on the value of the temperature at a given
point. The heat boundary condition is managed and monitored through two types of
regulations, namely Heating or Cooling.
This functionality can be accessed through right-click option in Heat boundary condition.

498
Regulation Type:
Two types of regulations are available, namely Cooling and Heating.

The user can define any type of sensor using the icon in the Regulation panel.
Define the position of the sensor by defining X Y Z co-ordinates of the sensor point, or
graphical pick.
Define Threshold Temperature value to define the regulation condition.

Cooling:
The Heat BC in this case will act as a cooling condition. This condition will be switched ON
or OFF based on whether the threshold temperature value is reached according to the
following scenarios:

499
o ON if > Threshold Value: Cooling BC will be applied as soon as the temperature of
the given location reaches threshold value.
o OFF if < Threshold Value: Cooling BC is switched off as soon the temperature of
the given location falls below the threshold value.
o Constant Monitor: This option will keep the temperature of the given location
constant. The boundary condition is switched ON and OFF in order to maintain the
temperature of the given location as close as possible to the threshold temperature
value.
o Apply: To confirm thermal regulation definition.
o Cancel: To remove all information and reset the condition.
o OK: To confirm and close the panel.

Multiple sensors can be created with no max limit.

Heating:
The Heat BC in this case will act as a heating condition. This condition will be switched ON
or OFF based on whether the threshold temperature value is reached according to the
following scenarios:

o ON if < threshold value: Heat BC is applied (ON) as soon as the temperature at a


given location falls below the threshold temperature.
o OFF if > Threshold Value: Heat BC is switched OFF as soon as the temperature
at a given location reaches the threshold temperature.
o Constant Monitor: This option will keep the temperature of the given location
constant. The boundary condition is switched ON and OFF in order to maintain the
temperature of the given location as close as possible to the threshold temperature
value.

Cooling examples:
Cooling ON if > Threshold Value:

500
Here, the cooling BC is applied once the threshold temperature of 50 C is reached.

Cooling OFF if < Threshold Value:

Cooling is switched OFF once the threshold temperature of 180 C is reached.

Cooling Constant Monitor:

501
Cooling is constant at threshold temperature of 100 C.

Heating examples:
Heat ON if < Threshold Value:

Heating is applied once the temperature falls below the threshold value of 240 C

Heat OFF if > Threshold Value:

502
Heating is OFF once temperature reaches the threshold value of 500 C.

Heat Constant Monitor:

Heating BC is maintained constant at threshold value of 1400 C.

Multiple sensors can be created with no max limit.


Thermal regulation is supported from ProCAST 2016.0 onwards.

503
2. Boundary Condition Column: Various values as available in respective databases.

Gravity Vector/Tilt
Gravity/Tilt dialog can be accessed from Cast Menu, as shown below. This is used to define
gravity, tilt for the models:

Tilt option can be expanded on clicking the collapse button, as shown below.

504
Gravity dialog usage detailed

505
1. Magnitude: Corresponding magnitude value is entered by clicking in the value box.
Note: By default, a value of 9.80 will be set.
2. Direction: Axis can be changed as appropriate from the drop-down menu, as shown
below. Corresponding direction on the model is shown. On clicking Apply button, Direction
is confirmed.

On selecting User def, users can define their own customized directions using 2/3 point
definition, Ent. Normal, xyz input, Global axis and View normal methods (clicking on Vector
tab also opens up this dialog). These may not always be the standard directions. Please
refer to the image below.

506
Flip button reverses the direction, Cancel button cancels the direction and closes the
dialog, Reset button resets the previously set options and Apply button accepts the
direction.

Tilt panel usage detailed

507
1. Axis of Rotation button can be used to define Tilt Axis, time unit for the model, as shown
below.

2. Angle can be entered in the table with respect to time, as shown below.

508
Clicking on Preview button shows the way the model tilts in reality. Please refer to the
image, as shown below.

509
Please click on Preview before accepting or clicking on Apply, as it will close the
GUI. At Center option takes the model coordinate center point. Base Pt is used to define
the user point, apart from automatic recognition by the application.

Define Region: It can be accessed by clicking on edit icon ( )

Define Region GUI

Creation of regions using Define Region explained:

1. Adding ( ) and Editing ( ) regions are the ways of addition and modification
of regions.
2. Type: There are various ways in which regions are created.

510
Circle
Select Circle option, pick a point on the surface/Fe elements/nodes and click on Apply.

1. Name: Region name can be edited or renamed.


2. Radius: Circle radius can be modified by entering the value, or by moving the handle on
the circle in and out.
3. Centre: Circle can be created by entering XYZ values of center point.

511
512
Region of Circle (Geometric Entity) only is shown. Area and Elements/Node highlight
is not shown on model till the elements are created.

If no BC is selected in Process Condition Manager, a warning message is shown to


select the required BC first.

513
In such a case, click on the required BC Type. Then define region can be opened.

Hide the region using the right-click option on Regions folder in explorer.

514
Right-click in model window and select View > Show All.

Plane
Load any CAD file, and open Process Condition Manager again by double-clicking on Regions
Folder ( ) in explorer.
Change the type from Circle to Plane in Define Region dialog. Pick on the surface where plane
region needs to be created. The same type of procedure is also applicable to FE.

Click on Apply ( ).

515
Drop Nodes ( ) is an option to drop the nodes within the
specified tolerances as entered in the Tolerance field. For most of the cases, one should
not change this value.

Curve
Load any CAD file with Curve, then open Define Region dialog and set the Type to Curve. Select

the curve and click on Apply ( ). One can select the regions based on availability of
curve entity. For example, please refer to the image below.

After confirmation, User region is created in Regions folder of explorer.

516
Surface
Load any CAD file, then set the Type to Surface. Select the surface and click on Apply

( ). For example, please refer to the image below.

After confirmation, User region is created in Regions folder of explorer.


Node
Load any file with solid, surface or stl mesh elements. Open Define Region dialog from explorer.
Set the type to Node.

There are various ways of selecting the nodes:

1. Polygon Selection ( ): This is used to make Polygon or free hand sketch selection.
Right-click with mouse button to confirm the selection of Nodes. Click on Apply

( ) in region for confirming User Region creation.


Before Selection:

517
After Selection:

2. Node by Location ( ): It is a 3D based node selection option which is available for

user region creation. After selection, clicking on Apply ( ) confirms the selection.

518
3. Contiguous Selection ( ): This is used to select nodes continuously with the feature
line.
Before Selection:

After Selection: Pick the first node, then the second node in the direction of arrow or

feature line, as shown in the image below. Clicking on Apply ( ) confirms the
region creation:

519
The Contiguous pick can be adjusted to select based on main Selection toolbar with
Target (what we want, for example, Node) and Reference (on what, for example, Region
for the above case).
Before Selection:

After Selection:
Pick the desired region after setting the main Selection toolbar. Clicking on Apply

( ) confirms the region creation:

520
4. Box Selection of top seen entities ( ):
Before Selection:

After Selection:

Selection is box selection, as shown above, or can be some group of nodes, selected one

by one. Only top seen entities are selected, and clicking on Apply ( ) creates
user region with selected nodes.

521
Without this type of Node selection, it would have been selected at the back and
inside too.

5. Select Entity in 2D Polygon ( ):


Before Selection:

After Selection:

Once the polygon is closed, the selection is complete. Clicking on Apply ( )


confirms the region creation.

522
6. Select All ( ): Option to select all entities of the model. Clicking on Apply ( )
confirms the region creation.
Before Selection:

After Selection:

523
7. Select All Visible Entities ( ): Way of selecting only visible entities.

Clicking on Apply ( ) confirms the region creation.


Before Selection:

After Selection:

524
8. Deselect All ( ): To deselect the entities within the selected box.
Before Selection:

After Selection and Deselection:

Press left mouse button and select box selection to deselect the nodes. Press 'Escape' to
come out of deselection.

525
Clicking on Apply ( ) confirms the region creation.
Element Face
Load any file with solid, surface or stl mesh elements. Open Define Region dialog from explorer.
Set the Type to Face.

Different ways of selection, as explained for Nodes, remain similar to Face (Shell Elements).

526
Editing Region using Define Region: Double-click on User_Region in explorer to open up the
Define region with Edit option.
Before Editing:

Press 'Shift' and deselect the highlighted entities to remove them from the selection.
After deselection:

Clicking on Apply ( ) confirms the region creation.

527
Edge
Load any file with solid, surface or stl mesh elements. Open Define Region dialog box from
explorer. Set the type to Edge.

Select the Edges and clicking on Apply ( ) to confirm the region creation. For example,
please refer to the image below.

Point
Load any file with solid, surface or stl mesh elements. Open Define Region dialog box from
explorer. Set the type to Point.

528
Select the Points and click on Apply ( ). For example, please refer to the image below.

After confirmation, User region is created in Regions folder of explorer.

New Points can be added by clicking Add Points ( ).


This will post the following By XYZ, Locate… dialog box.

529
By XYZ, Locate... functionality can be utilized to create either nodes or points using one the
four available options.
Procedure
 To Create Point: Select the Entity Type: Point radio button.
There are four methods for node or point creation:
XYZ Method

1. Select XYZ option from the Method group.

530
Key in the X, Y and Z coordinates of the node.
Result: A marker will be displayed at the specified location in the model window.
2. Click the middle mouse button or Apply button to create the node or point.
Locate Method

1. Select Locate option from the Method group.


Multiple nodes or points can be created using this option.
2. Click on the known references (nodes, elements, etc.) in the model window.
Result: A handle appears at all the selected locations. The current reference handle is
shown with a big plus marker on it.
A handle can be dragged and repositioned by clicking on it and dragging it.
For advanced positioning, click on the handle to post the Point Definition dialog box, for
further inputs.
3. X, Y and Z text fields are updated with the co-ordinates of the current handle position, and
can be used to edit the position of the handle.
4. Click the middle mouse button or Apply button to create nodes at the displayed positions.
Center of: Method

531
1. Select Center of: option from the Method group.
This option provides two ways to compute the center:
a. By 2/3 Points
i. To create a node or point at the middle of 2 nodes, graphically select 2 nodes
or points.
Result: A marker is displayed at the center.
To create a node or point at this location, click the middle mouse button or
Apply button.
ii. To create a node at the center of an imaginary circle passing through 3
nodes or points, graphically select 3 nodes or points.
Result: A marker will be displayed at the center.
Click the middle mouse button or Apply button to create the node or point at
the center.
b. By Curve
i. To create a node or point at a particular curvature of the curve, click on any
location on the curve.
Result: A marker is displayed at the center of curvature at that point of
curve.
Click the middle mouse button or Apply button.
CG of: Method

532
1. Select CG of: option from the Method group.
This option allows selection of the following entities:
a. Nodes
i. Select the Nodes option from the drop-down list.
ii. Select the nodes or points and click the middle mouse button or Apply
button.
Result: A marker will be displayed at the center of gravity of the selected
nodes or points.
iii. If more nodes are to be selected at this stage, click the Select Entities
button, select the additional nodes or points and click the middle mouse
button, or click the Compute CG button to view the updated marker.
b. Element
i. Select the Element option from the drop-down list.
ii. Select the elements and click the middle mouse button or Compute CG
button. A marker will be displayed at the center of gravity of the selected
elements.
iii. If more elements are to be selected at this stage, click the Select Entities
button, select the additional elements and click the middle mouse button, or
click the Compute CG button to view the updated marker.
c. Surfaces
1. Select the Surfaces option from the drop-down list.
2. Select the surfaces and click the middle mouse button or Compute CG
button. A marker will be displayed at the CG of the selected surfaces.
3. If more surfaces are to be selected at this stage, click the Select Entities
button, select the additional surfaces and click the middle mouse button, or
click the Compute CG button to view the updated marker.
d. Curves
i. Select the Curves option from the drop-down list.

533
ii. Select the curves and click the middle mouse button or Create CG button. A
marker will be displayed at the CG of the selected curves.
iii. If more curves are to be selected at this stage, click the Select Entities
button, select the additional nodes and click the middle mouse button, or
click the Create CG button to view the updated marker.
b. Click the middle mouse button or Apply button to create a node or point at the displayed
CG.
Common Buttons
 Click the Apply button to accept changes.
 Click the Reset button to cancel all operations without accepting the changes.
 Click the Close button to reset and exit the dialog box.

By default, the topmost available ID for the node is presented in the Start ID text box.
A different, unique ID can be specified in the Start ID text box.
Symmetry
Various types of symmetries can be defined using symmetry functionality.
Technical information:
Firstly the symmetries (if any) should be defined. ProCAST is able to deal with symmetry implying
one mirror, two orthogonal mirrors, a single rotation of n sectors and a combination of them.
In order to illustrate the different possibility of symmetry, consider the simple but explicit example
of two concentric cylinders (the inside cylinder is the casting and the outside cylinder is a solid
enclosure). The full geometry is shown in the figure hereafter.

The full geometry of the two concentric cylinders


The following figures illustrate the different possibility of simplification by symmetry.
 One mirror (M1)

534
Two examples of simplified geometry by one mirror

 Two orthogonal mirrors (M1 and M2)

Two examples of simplified geometry by two orthogonal mirrors

 A simple rotation of n sectors (R)

535
A simplified geometry by a rotation of 8 sectors

 A rotation of n sectors (R) associated with a mirror (M1)

Two examples of simplified geometry by a rotation (left: 8 sectors, right: 4 sectors) and one mirror

 A rotation of n sectors (R) associated with two orthogonal mirrors (M1 and M2)

536
A simplified geometry by a rotation with 4 sectors and two orthogonal mirrors
The symmetries are defined in Symmetry under Cast menu:

Rotation Symmetry
In case of a rotation, toggle on rotation, click on axis to specify the rotation axis.
There are various ways available to define axis (with the coordinates of two points and the
number of sectors). Then, the "Rotational" check box should be checked. One should be careful
that the mesh should be defined so that the selected number of sectors will not create overlaps of
the mesh (i.e. to specify 7 sectors for a mesh which corresponds to a sector of 60°).

Rotational Symmetry

537
For mirror symmetries, each plane of symmetry should be defined by the coordinates of three
points (which should not be co-linear). Then the "Mirror-1" and "Mirror-2" (if applicable) check box
should be checked. If two mirror symmetries are used, one should be careful to make sure that
the two planes are orthogonal. In the case of mirror symmetry with a rotation, the axis of rotation
should be either perpendicular or parallel to the mirror plane(s). In case of parallel plane(s), the
axis of rotation should be within the mirror plane(s).

538
After defining rotation, mirror symmetries, in order to create symmetry plane regions, toggle on

the Identify regions check box ( ).


Then, the "Accept" button should be used to validate the symmetry definition. To disable a
symmetry, just uncheck the corresponding check box.
Reset button is provided to cancel the changes applied.
Symmetry plane can also be defined from Symmetry boundary condition itself, as shown below. It
is recommended to use plane option for this selection. Refer to the image, as shown below.

539
Check of the symmetry planes
When a symmetry plane is used for a Radiation calculation (and/or for a Stress calculation), it is
very important that all the nodes of the symmetry plane are exactly lying on the right plane.
When the symmetry planes are defined in the “Symmetry" menu (see above), it automatically
creates the corresponding "Symmetry" Boundary condition (in the "Boundary Condition/Assign
Surface" Menu). However, if some nodes are not lying exactly on the symmetry plane, this
boundary condition could be either empty or some nodes (and thus elements) will be missing. In
the following figure, such a case is shown:
Drop nodes can be used to drop the nodes if they are not lying on plane.
First select the plane. Click on drop nodes which will drop the nodes within the tolerance
specified.
This is due to the fact that three nodes are not exactly on the plane, as shown on the following
figure (one node is inside and two are outside the plane).
If the nodes are not too much outside the symmetry plane, Visual-Cast is able to move
automatically those nodes in order to put them back onto the symmetry plane.

Symmetry Condition is applied on the whole model, including fluid flow conditions.
Periodic
Periodic dialog is accessed from Periodic under Cast menu:

540
Periodic condition is applied with proper selection for upstream and downstream entities from
Entity lists. One can verify the regions selected by toggling on Display regions.

Please avoid 'Node' type user region when selected entities are at interface.
Virtual Mold
Load any .mesh/.vdb which contains FE elements.
Open the Virtual Mold panel from Cast menu.

541
542
Visual-Cast offers the capability of modeling a mold without meshing it, with the Virtual Mold
option. This is especially useful in the case of large sand casting. It can also be used in
permanent mold casting, if one is mainly interested in the filling behavior.
The Virtual mold model considers that the thermal diffusion is occurring in the mold, according to
"half diffusion distances". Thus, the model calculates for each face of the casting what is the half
diffusion distance. This distance is either the one between the face and the limit of the mold or
half the distance between the face and another face in front. At the limit of the mold, an adiabatic
boundary condition (i.e. no flux) is considered. Thus, it is advised to define a "box" which is large
enough, in order not to "saturate" the virtual mold.

A. Define Box ( ): It allows to define the dimension of the mold (which is an


orthogonal box, aligned with X, Y and Z, the material properties of the mold and the interface heat
transfer coefficient between the different part of the casting and the mold. As soon as we click on
define box, it will open up with various options to specify the dimensions of the Mold.
The size of the Virtual Mold box can be defined in the following fields. For small components, it is
advised to use a virtual mold 5 times the component size. For large castings, a virtual mold with a
size of 2 or 3 times the component size will be enough. In case there is any doubt, it is advisable
to take a large virtual mold rather than the reverse, in order to avoid saturation.
Please note that one should NOT use the real size of the mold for the Virtual mold computation.
As the model considers that there is no cooling of the sides of the virtual mold, the box should be
large enough in order to avoid saturation of the mold (and thus too slow cooling).

Description
The Box creation methods are:
Entity Box Method: Box can be created covering all the entities displayed using Entire Model
option or covering selected displayed entities using Selected Entities option.

543
By Points Method: Box can be created by selecting 2, 3 or 4 points in the model window.
When selected:
2 Points: The line joining the two points represents the diagonal of the box.
The width, height and depth are calculated from the length of the diagonal.
3 Points: The line joining first two selected points represents the width of the box, the
perpendicular distance between the third point and the width represents the height and the vector
normal to the plane of points represents the direction for depth of the box.
Default depth value or depth for last creation is depth for current box creation.
4 Points: The line joining first two selected points represents the width of the box, the
perpendicular distance between the third point and the width represents the height, depth of the
box lies parallel to the normal from 4th point on to the plane defined by first 3 points, distance
between the 4th point and plane of first 3 points is the depth for current Box creation.
WHD Method: In this method, a box is created with its center at current model center.

B. Compute Mold:
When the Mold size is good, one can "compute" the Virtual Mold, using the "Compute Mold"
button. Please note that the computation may take some time, depending upon the size (i.e. the
number of surface elements) of the model. The computation time is independent of the size of the
mold box itself.
Once the Virtual Mold is computed, the "Thermal depth" can be visualized with the Show Depth
button.

544
Finally, if needed, it is possible to erase the Virtual mold by deleting from the explorer: Right-click
and select Delete on the Virtual Mold Volume.
Before setting a Virtual mold, a few precautions should be taken:
When a virtual mold is used in conjunction with a symmetry, it is mandatory to first set the
symmetry and then generate the virtual mold. Otherwise, the symmetry of the virtual mold will not
be applied.
If the mesh is made out of several material domains, it is mandatory to first define the interfaces
between the different domains and then generate the Virtual mold. If interfaces are changed after
the Virtual mold creation, it will be destroyed.
Once the Virtual Mold is generated, it appears in the Material list in the Material properties
assignment. One should assign the desired material properties to this Virtual mold domain.

545
In the same way, the interfaces between the Virtual Mold and the different material domains are
automatically generated. These are labeled as Virtual. One should assign an interface heat
transfer coefficient to each "Virtual" interface.

Finally, in the case of filling/flow computation with a Virtual mold, it is mandatory to set a zero
velocity (or a WALL BC) on all the casting nodes (except the inlet nodes).

The depth is computed on all the volumes of the model irrespective of their display
status (ON or OFF).
Model Summary
Open the Model Summary panel from Cast menu.

546
Model Summary is listed out as Entities and their Attributes.
1. Entity: The following entities are listed.

547
2. Attributes: Various attributes of an entity are listed in the same row under 'Attribute'
header.
3. Different panels can be opened by clicking on links (blue color underlined words). For
example, opens up Gravity Vector/Tilt panel. Similarly, other panels can be
opened.

548
4. Entities such as volumes, interfaces are sub-grouped based on their properties. For
example, Volumes are based on their type, material assigned, Fill % etc.

5. Refresh ( ): Model Summary can be refreshed to reflect the changes that are done by
opening panels through links. On clicking refresh icon, entire summary is updated.

6. Save ( ): Model Summary can be exported by clicking save icon. The file is saved in
.csv format. Saved file include database properties along with entity information.

For some of vdb files created in 9.6 and below versions, the area of the region may
show zero value. In order to show the correct value, before opening Model Summary
dialog, open Process Condition Manager and re-assign regions and confirm.

549
Clean Data
Open the panel from Cast menu.

Visual-Cast offers the capability of cleaning the created data. This offers options like cleaning
data defined for volumes, interface HTC, process conditions, unused user-defined regions,
gravity, symmetry, periodic and virtual mold.

Following are done based on the option selected.

550
1. Clean volumes: Cleans type, materials and stress type assigned to volumes. Percentage
fill and initial temperature are made zero. For semi-solid material, shear rate is set to 1.0
2. Clean interface HTC: Cleans Interface HTC assigned to all interfaces.
3. Clean process conditions: Deletes all process conditions.
4. Clean unused user regions: Deletes all user-defined regions not used in any of the
process conditions.
5. Clean others: Deletes gravity, symmetry and periodic information. Deletes virtual mold
information including box definition.
Model_Comments
Open the panel by clicking the option from explorer tree right-click menu, as shown below:

Comments related to model are written in the text box and saved in .vdb format on clicking OK
button.
Workflow
This section consists of the following topic:

551
 Generic
 Gravity
 HPDC
 HPDC Machine Selection
 Investment (Equiax)
 LPDC
 Optimization
Generic

This workflow automates the model setup through a set of blocks. The step-by-step
workflow guides you to run through the different necessary steps for complete model set-up.
PATH:
 Select Workflow > Generic from the menu.

Description

552
1. You can use Previous and Next buttons for navigation. Based on the status of the block,
Next button is automatically managed.
2. Blocks are color coded for easy identification of status– Blue: Current block, Green:
Completed block, Orange: Ready block and Grey: Not ready block.
3. You can go to any block except the grey ones at any point in time by just clicking on the
respective block icon.
4. You can save model at any stage as .vdb and load it back. Status of blocks are restored.
5. Once all blocks turn green, the model is ready for starting simulation.
6. Each block help is given in the 'Notes' area.

Procedure
Step 1: Project Description

Open a project (*.vdb, *.mesh, etc.) from the Project Directory or Case File option. The file format
(*.vdb) is loaded in priority.
Case Name entry is automatically populated with the name of the selected study repository. Case
Name can be modified through an entry box.
1. Select Project Directory by clicking on the browse button. Case File is automatically
selected based on the following order of preference:
a. <Project Directory name>.vdb, if no file exists.
b. <Project Directory name>.mesh, if no file exists.
c. If no .vdb or .mesh files which match the project directory exist, then the first
available .vdb or .mesh is selected. If no .vdb or .mesh files exist in the project
directory, it goes to the following preferences:
d. <Project Directory name>d.dat, if no file exists.
e. <Project Directory name>.sm
From the selected file, Case Name is automatically generated.
2. Enter Case Name if you wish to change the name that was identified automatically.
3. Select Case File to change the file identified automatically.
4. Select Load Project to load the file.
Step 2: Define Job

553
Define the process, the alloy and the job to be done. Based on the selection, workflow content is
automatically updated and filtered to post/list required information like simulation parameters or
the database access. Accessible options are based on manual selection and license key
(purchased software configuration).
1. Based on the Process, process parameter template is automatically selected. These
templates are available in <installation folder>
\COMMON\Resources\VisualCast\RunParam. Sub-Process and Job To Be Done are
also selected automatically. The following list is posted on selecting Process option.

2. On selection of options, the corresponding information is automatically updated to process


parameters.
3. Some values and options in the remaining workflow steps are filled automatically based on
the selected process, alloy and job to be done.

554
Step 3: Gravity/Symmetry/Periodic/Virtual Mold

If not defined, use combo list to define the gravity direction, or the entry box.
If required, define Symmetry, Periodic and a Virtual Mold.
1. Select Define Gravity Direction combo list to select standard gravity vector. To define
another direction vector, click on ... button. If already defined, a green tick mark will
appear in front of the option.
2. To define symmetry, periodic and virtual mold, select the corresponding buttons.
Step 4: Volume Manager

Edit Volume Names, Types, Material, Initial Percentage of Filling, Initial Temperature and Stress
Model.
Extract, Compute mass and yield, Define Pouring Cup Control and Semi-Solid activation are
accessible with a right click on Volume Name.

555
Select Type, Material and Stress model with a right click on the corresponding column.
The Material Database is accessible by selecting the Edit Material or Create new Material icons.
1. Select Edit to assign type, materials, Fill %, Initial temp, etc.
2. Select Enclosure option to convert volumes to enclosures and to check the normals.
3. Clicking on rows, you can highlight volumes in the 3D windows.
4. After filling all the required data, the block appears as shown below.

5. Selection of Enclosure option posts the following panel. Select volume to be converted to
enclosure and click on Convert.

Whenever a COINC interface exists between two volumes with the same Volume
Type, the extract of the results in the interface might show non-homogenized results
punctually. To avoid this, user can employ different volume types between volumes: mold,
core, insulation… This will not affect the computation.
Step 5: Interface HTC Manager

556
Interfaces are automatically created.
Edit Interface Heat Transfer Coefficient and Type with a right click on the respective column
similar to Volume definition.
Add Interface, Edit None-Coincident Interface or Swap Master-Slave volume with a right click on
the Interface Name.
The Interface HTC Database is accessible by selecting the icons Edit Interface or Create new
Interface condition.
1. Select Create / Edit to assign type and interface HTC condition.
2. Clicking on rows; you can highlight interfaces in the 3D windows.
3. After filling all the required data, the block appears as shown below.

Step 6: Process Conditions

557
Filter the entries based on Type with Process Conditions Type.
Create and Edit any required Process Condition.
Right-click on the Process Condition Name or Type to Add/Delete a condition or use the HTC
automatic calculator (Heat), velocity and ladle calculator (velocity), flow rate and ladle calculator
(Inlet).
1. Select Process Condition from Process Condition Type combo. This lists the already
available process conditions. By default, all available process conditions are listed.
2. Select Create / Edit to assign the process condition.
3. Clicking on rows, you can highlight process conditions in the 3D window.
4. After filling all the required data, the block appears as shown below.

Step 7: Stop Criterion

558
Define the simulation stopping criterion.
TSTOP -> Final temperature
TFINAL -> Final time
TENDFILL -> Time after filling
NSTEP -> Maximum number of steps
Simulation terminates based upon which parameter is reached first.
Simulation Parameters are automatically populated with default values based on STEP 2
selection.
However, Cycling or Gas and Micro-Porosity (APM) option requires complementary settings. Edit
the additional parameters by clicking on "Simulation Parameters", where only the necessary
panels are visible.
Activate additional categories in menu Category of “Simulation Parameters”, if required.
1. Final temperature reached in all volumes is automatically calculated from solidus
temperature of the alloy.
Final temperature reached in all volumes = Solidus temperature of the alloy - 10
2. You can enter Final time, Time after filling and Maximum number of steps in the
corresponding edit box.
3. Click on Simulation Parameters... to post the panel.
Step 8: Start Simulation

559
This step allows you to run the job.
Max(x) corresponds to the number of cores available on your machine and not to the number of
cores accessible by your license.
Please check your license key to know how many cores you are authorized to run.
1. Project Directory and Case name are shown for information only. No editing is allowed.
2. Selected solver is solver selected from Start simulation panel, which can posted by clicking
Advanced... button.
3. Number of Cores is automatically selected as half the number of Max Core in the
machine.
4. Select Run to start the simulation.
5. To make any other changes, use Advanced...
6. Once the calculation has started, use Monitor... to see the status.
Step 9: Multi Stage

560
This step allows you to set-up multi stage. Simulation of casting chain process as manufactured.
This is an optional step and will be activated on selection of Multi Stage option. By default this
option is OFF. On selection of this option the block appears as shown below.

561
1. Volume removal, Definition of Cooling/Heating process conditions are available under
Operations.
2. Specific Operation Name can be specified. By default RE<Operation number> for Volume
removal and CH <Operation number> for Cooling/Heating are generated.
3. Step/Time of volume removal can be specified. By default Last Step is taken.
4. Volumes can be selected graphically or by list. This is an entity selector button.

562
5. Define zero displacement region can be defined. On all these nodes of this region, zero
displacement process condition in all directions of X, Y and Z are defined.
6. Add Operation will add a row. Name of the operation, selected volumes and step/time is
displayed in the row. Any number of operations can be added. Once a volume is selected
for removal in one operation, that volume will not be available for next removal operation.
7. Simulation Parameters can be defined for each process step by accessing the same by
the icon. Simulation Parameters comes up with main model p.dat and with preset INILEV
= -1 for cooling/heating process, and INILEV = -1 and TFINAL = 0 for removal process.
8. If Simulation Parameters are not defined specifically for each stage, then by default
following parameters are set.
In Removal stage: INILEV = -1, NSTEP = 1, TFINAL = 0, TSTOP = 0, TFREQ = 1,
POROS = 0, SFREQ = 1 and SCALC = 1.
In Cooling stage: INILEV = -1, NSTEP = 20000, TFINAL = 0, TFREQ = 10, POROS = 0,
SFREQ = 10, SCALC = 10 and TSTOP = Ambient Temp + 10. Ambient Temp is taken
from the heat process condition applied.
9. Delete Operation will allow deleting any selected operation in the list. All the operations
below the selected row will be removed.
10. After filling all the required data, the block appears as shown below.

11. Generate will write all necessary data under the project folder by creating appropriate sub-
folders for each operation.
12. A script file <prefix>-MultiStage-Process.bat is created in the project folder. Double
clicking on this file in the explorer will run the multi stage solutions.
13. Refresh button will update the status of solver for each row. Green color indicate run
complete, Blue indicate currently running job.
14. All the information on multi stage is saved in .vdb file.

563
Gravity

This workflow automates the gravity setup through a set of blocks. The step-by-step
workflow guides you to run through the different necessary steps for complete gravity set-up.
PATH:
 Select Workflow > Gravity from the menu.
Procedure
Step 1: Project Description

Open a project (*.vdb, *.mesh, etc.) from the Project Directory or Case File option. The file format
(*.vdb) is loaded in priority.
Case Name entry is automatically populated with the name of the selected study repository. Case
Name can be modified through a text box.
1. Select Project Directory by clicking on the browse button. Case File is automatically
selected based on the following order of preference:

564
a. <Project Directory name>.vdb, if no file exists.
b. < Project Directory name>.mesh, if no file exists.
c. If no .vdb or .mesh files which match the project directory exist, then the first
available .vdb or .mesh is selected. If no .vdb or .mesh files exist in the project
directory, it goes to the following preferences:
i. <Project Directory name>d.dat.
ii. < Project Directory name>.sm.
From the selected file, Case Name is automatically generated
2. Enter Case Name if you wish to change the name that was identified automatically.
3. Select Case File to change the file identified automatically.
4. Click Load Project to load the file.
5. Click Preferences… to open Workflow Preferences.
Workflow Preferences: The default values used in Gravity casting workflow can be set using
this panel. The parameters are organized into three tabs:
1. Units

565
2. Interface Condition

566
3. Process Condition

567
Before loading the project, set all the default values using workflow preferences
panel.
Step 2: Gravity Process Sheet

568
This step allows you to define gravity process parameters.

569
1. Process Type: Filling, Solidification and Stress and Deformation can be selected. Based
on this, ‘Simulation Parameters’ are automatically set. Under Solidification, Microstructure
option is also given.
2. Gravity Vector/Tilt: To define gravity vector / tilt.

3. Volume definition: This will allow to define volume types, material assignment and stress
type as required.

570
Volume Types:

a. Alloy
b. Core
c. Exothermic Sleeves
d. Filter
e. Insulation Sleeve
f. Mold
g. Virtual Mold
When Virtual Mold is selected, the virtual mold icon appears. On clicking this icon, the
Virtual Mold panel is posted.

571
4. Temperatures: This will allow to define Alloy and Room temperature. Once this is defined,
heat process condition is automatically defined for all external faces of the mold.

5. Interface definition: This is fully automatic. Based on workflow preferences, dialog box
values and material assigned, iHTC is automatically computed and assigned.
Between any combinations of Alloy & Filter – EQUIV interface type is assigned.
Between any combinations of Mold & Mold – COINC interface type is assigned and iHTC
defined in the Workflow Preferences will be applied.
Between any combinations of Alloy & Mold - COINC interface type is assigned. From the
Alloy material, TLiq and TSol are taken. From alloy, initial temperature defined in
Temperatures is taken as TIni. An iHTC vs. Temperature curve (S-Curve) is created with
the following values. The HTC values are read from Workflow Preferences.
point1 -> 0, iHTC At solidus
point2 -> TSol, iHTC At solidus
point3 -> TLiq, iHTC At liquidus
point3 -> TIni, iHTC At liquidus

572
Between any combinations of Alloy & Core - COINC interface type is assigned.
An iHTC vs. Temperature curve (S-Curve) is created with the following values. The HTC
values are read from Workflow Preferences.
point1 -> 0, iHTC At solidus
point2 -> TSol, , iHTC At solidus
point3 -> TLiq, iHTC At liquidus
point3 -> TIni, iHTC At liquidus
User can change these values in <prefix>_mtdvisual.xml file which will be saved in project
folder.

6. Flow: The layout of this panel is changed according to 'Flow Conditions' selected through
Workflow Preferences. There are three types of Filling Conditions listed in the Workflow

573
Preferences Process Condition tab. The selected condition is allowed to create in this
panel.
a. Filling Condition is Inlet: Pouring Area is defined using region define panel. Mass
Flow Rate can be entered or computed using Mass Flow Rate Calculator. On
applying, Inlet Process Condition is created.

b. Filling Condition is Velocity: Pouring Area is defined using region define panel.
Velocity can be entered or computed using Velocity Calculator. On applying,
Velocity Process Condition is created.

574
c. Filling Condition is Pressure: Pouring Area is defined using region define panel.
Pressure can be entered and pressure curve points can be defined using Pressure
vs. Time table. On applying, Pressure Process Condition is created.

575
7. Process Condition: You can see the Process Conditions defined in previous steps. If
required additional conditions can be created.

576
8. Stress: This is activated only when Stress in ON. Displacement process conditions and
automatically created for the selected zero displacement region.

9. Symmetry: To define symmetry in case of symmetrical models. Based on the information,


symmetry process condition is automatically created.

577
10. Explorer: All defined parameters are listed in the explorer.

Step 3: Start Simulation

578
This step allows you to run the job.
Max(x) corresponds to the number of cores available on your machine, and not to the number of
cores accessible by your license.
Please check your license key to know how many cores you are authorized to run.
1. Project Directory and Case Name are shown for information only. No editing is allowed.
2. Selected solver is the solver selected from the Start Simulation panel, which can be posted

by clicking the icon.

3. The simulation parameters can be accessed by clicking the icon.

4. The Data Checks dialog box can be posted by clicking the icon.
5. Number of Cores is automatically selected as half the number of Max Cores in the
machine.
6. Select Run to start the simulation.
Once the calculation has started, use Monitor... to view the status

579
Step 4: Multi Stage
Please refer Workflow > Generic > Multi Stage
HPDC

This workflow automates the HPDC setup through a set of blocks. The step-by-step
workflow guides you to run through the different steps necessary for complete HPDC set-up.
PATH:
 Select Workflow > HPDC from the menu.
Procedure
Step 1: Project Description

580
Open a project (*.vdb, *.mesh, etc.) from the Project Directory or Case File option. The file format
(*.vdb) is loaded on priority.
Case Name entry is automatically populated with the name of the selected study repository. Case
Name can be modified through a text box.
1. Select Project Directory by clicking on the browse button. Case File is automatically
selected based on the following order of preference:

581
a. <Project Directory name>.vdb, if no file exists.
b. < Project Directory name>.mesh, if no file exists.
c. If no .vdb or .mesh files which match the project directory exist, then the first
available .vdb or .mesh is selected. If no .vdb or .mesh files exist in the project
directory, it goes to the following preferences:
i. <Project Directory name>d.dat.
ii. < Project Directory name>.sm.
From the selected file, Case Name is automatically generated
2. Enter Case Name if you wish to change the name that was identified automatically.
3. Select Case File to change the file identified automatically.
4. Click Load Project to load the file.
5. Click Preferences… to open Workflow Preferences.
Workflow Preferences: The default values used in HPDC workflow can be set using this panel.
The parameters are organized into four tabs:
1. Units

582
2. General

583
3. Interface Condition

584
4. Process Condition

585
Before loading the project, set all the default values using Workflow Preferences
panel.
Step 2: HPDC Process Sheet

586
The following parameters drive the HPDC Process set up:
1. Process Types:
a. Cycling
b. Filling, Shot Piston, Machine selection
c. Solidification, Advanced 3rd Stage Pressure
d. Stress and Deformation

587
e. Ejection, cooling and trimming
2. Sub-steps to define HPDC process parameters:

Process Types:
1. Cycling:
a. On selection, Cycling sub step is enabled where cycling parameters can be defined.
b. On deselection, Cycling sub step is disabled.
When Cycling is selected, Virtual Mold creation is not possible in Volume Definition panel.
Similarly, If Virtual Mold exists in a model, then selecting cycling is prevented by giving a
message in console.
2. Filling:
a. On selection, Flow simulation parameter is set ON, Filling sub step is enabled and
Shot Piston Process Type is enabled.

588
b. On deselection, Flow simulation parameter is set OFF, Filling sub step is disabled
and Shot Piston Process Type is disabled.
Shot Piston Process Type:
a. On selection, Piston Volume Type can be defined in Volume definition panel and
Machine Selection Process Type is enabled.
b. On deselection, Piston Volume Type is hidden in Volume definition panel, and
Machine Selection Process Type is disabled.
Machine Selection Process Type:
a. On selection, Step 3 – Machine Selection and Step 4 – Process Inputs and Graph
are shown.
b. On deselection, Step 3 – Machine Selection and Step 4 – Process Inputs and
Graph are hidden.
3. Solidification:
a. On selection, Thermal simulation parameter is set ON and Advanced 3rd Stage
Pressure Process Type is enabled.
b. On deselection, Thermal simulation parameter is set OFF and Advanced 3rd Stage
Pressure Process Type is disabled.
Advanced 3rd Stage Pressure Process Type:
a. On selection, APM / APM-New (based on preferences selection) simulation
parameter is set ON.
b. On deselection, APM / APM-New (based on preferences selection) simulation
parameter is set OFF.
4. Stress and Deformation:
a. On selection, Stress simulation parameter is set ON and Stress sub step is enabled.
b. On deselection, Stress simulation parameter is set OFF and Stress sub step is
disabled.
5. Ejection, cooling and trimming
a. On selection, Step 6 – Multi Stage is shown.
b. On deselection, Step 6 – Multi Stage is shown.
Sub Steps:
1. Gravity Vector / Tilt: This panel allows to define Gravity Vector. Tilt is disabled.

2. Cycling Parameters: This panel allows to define cycling parameters.

589
3. Volume Definition: This panel allows to define Volume Types, assign materials, define fill
%, and select mobility and stress types as required.

590
Volume Types:

591
a. Alloy
b. Core
c. Die
d. Piston (visible if Shot piston process type is selected)
e. Virtual Mold (visible if Cycling process type is not selected)
When Virtual Mold is selected, virtual mold icon appears. On clicking this icon, Virtual Mold
panel is posted. When Virtual mold exists in a model, Mobility column is hidden and Flow
simulation parameter is set to 3, if Flow process type is selected.

Mobility Options are applicable to Die and Core types. Mobility column is hidden if
there is virtual mold in the model. To define piston type volume, select Shot Piston process
type and to define virtual mold, deselect cycling process type before posting volume
definition panel.
4. Temperatures: This panel allows to define Alloy, Die, Core, Piston, Room temperatures.
Gate Node can be selected using Select Node by Location. Gate Nodes are written into
p.dat file.

592
Die, Core, Piston options are enabled, if Volumes of same type exists in the model.

5. Interface Definition: It is controlled by Stage Definition option in Workflow Preferences.


Stage Definition has two options: ON and OFF.
a. When Stage Definition is OFF, on clicking sub step – Interface HTC Manager is
posted. iHTC is automatically computed and assigned based on material assigned
and values defined in Workflow Preferences for each type of interface.
For interface between:
i. Alloy and Alloy – EQUIV is set.
ii. Die and Die:
1. Mobile Die and Fix Die – COINC is set. If Cycling process type is
selected, a Die Combo iHTC is created and if it is not selected,
Standard iHTC is created and assigned.

593
2. Mobile Die and Mobile Die – COINC is set if material is different and a
Standard iHTC is created and assigned. EQUIV is set if material is
same.
3. Fix Die and Fix Die – COINC is set if material is different and a
Standard iHTC is created and assigned. EQUIV is set if material is
same.
iii. Same Type volumes – EQUIV is set.
iv. Alloy and Die, Alloy and Core – COINC is set and Die Combo iHTC is
created and assigned. From the Alloy material, TLiq and TSol are taken.
From alloy, initial temperature, defined in Temperatures, is taken as TIni. A
iHTC vs. Temperature curve (S-Curve) is created and assigned with:
1. point1 -> 0 C, iHTC at solidus
2. point2 -> TSol, iHTC at solidus
3. point3 -> TLiq, iHTC at liquidus
4. point4 -> Tini, iHTC at liquidus
v. Alloy and Piston, Piston and Die – NCOINC is set and Standard iHTC is
created and assigned.
vi. Die and Core – COINC is set and Standard iHTC is created and assigned.
Example

594
b. When Stage Definition is ON, on clicking sub step – Stage Definition panel is
posted.

595
After entering all the values, On clicking OK or Apply, iHTC is automatically
computed and assigned based on material assigned and values defined in
Workflow Preferences for each type of interface.
For interface between:
i. Alloy and Alloy – EQUIV is set.
ii. Die and Die:
1. Mobile Die and Fix Die – COINC is set. If Cycling process type is
selected, a Die Combo iHTC is created, and if it is not selected,
Standard iHTC is created and assigned.
2. Mobile Die and Mobile Die – COINC is set if material is different and a
Standard iHTC is created and assigned. EQUIV is set if material is
same.
3. Fix Die and Fix Die – COINC is set if material is different and a
Standard iHTC is created and assigned. EQUIV is set if material is
same.
iii. Same Type volumes – EQUIV is set
iv. Alloy and Die, Alloy and Core – COINC is set and Die Combo iHTC is
created and assigned. A iHTC vs. Time curve is created and assigned with:
1. point1 -> Stage1 start, iHTC at Stage 1
2. point2 -> Stage1 end, iHTC at Stage 1
3. point3 -> Stage2 start, iHTC at Stage 2
4. point4 -> Stage2 end, iHTC at Stage 2
5. point5 -> Stage3 start, iHTC at Stage 3
6. point6 -> Stage3 end, iHTC at Stage 3
v. Alloy and Piston, Piston and Die – NCOINC is set and Standard iHTC is
created and assigned.
vi. Die and Core – COINC is set and Standard iHTC is created and assigned.
Interface HTC Manager can be posted by clicking the Interface Manager icon.

596
597
Stage Definition should be set ON or OFF from Workflow Preferences > General tab
at the beginning of the first block.
6. Filling: The layout of this panel is changed according to Flow, Shot Piston and Advance
3rd Stage Pressure process types. There are three types of Filling Conditions and
Translation Conditions listed in the Workflow Preferences Process Condition tab. The
selected conditions are allowed to create in this panel. Based on process types and
preference selection, following scenarios are listed:
a. When Flow Process Type is selected:
i. Filling Condition is Inlet: Injection Area is defined using region define panel.
Mass Flow Rate can be entered or computed using Mass Flow Rate
Calculator. On applying, Inlet Process Condition is created.

598
ii. Filling Condition is Velocity: Injection Area is defined using region define
panel. Velocity can be entered or computed using Velocity Calculator. On
applying, Velocity Process Condition is created.

599
iii. Filling Condition is Pressure: Injection Area is defined using region define
panel. Pressure can be entered and pressure curve points can be defined
using Pressure vs. Time table. On applying, Pressure Process Condition is
created.

600
b. When Flow and Shot Piston process types are selected: Assuming that Filling
Condition is Inlet, then panel changes with respect to selected Translation
Condition.
i. Translation Condition is Translate x(t): Direction can be selected from the
combo box. Translation Vector vs. Time curve points can be defined using
the table. On applying, Translate x(t) Process Condition is created on Piston
Volume and is written into p.dat file.

601
ii. Translation Condition is Translate v(t):
1. Translate v(t) type is Default: Direction can be selected from the
combo box. Velocity vs. Time curve points can be defined using the

602
table. On applying, Translate v(t) Process Condition is created on
Piston Volume and is written into p.dat file.

2. Translate v(t) type is Automated profile: Direction can be selected


from the combo box. All parameters can be entered in the text box.

603
Transphase Node can be selected using Select Node by Location. On
applying, Translate v(t) Process Condition is created on Piston
Volume. Transphase Node is written into p.dat file.

iii. Condition is Translate v(x):


1. Translate v(x) type is Default: Direction can be selected from the
combo box. Velocity vs. Distance curve points can be defined using
the table. On applying, Translate v(x) Process Condition is created on
Piston Volume and is written into p.dat file.

604
2. Translate v(x) type is Automated profile: Direction can be selected
from the combo box. All parameters can be entered in the text box.
Transphase Node can be selected using Select Node by Location. On
applying, Translate v(x) Process Condition is created on Piston
Volume. Transphase Node is written into p.dat file.

605
c. When Flow and Advanced 3rd Stage Pressure process type are selected: Assuming
that Filling Condition is Inlet, then panel is changed accordingly.

606
d. When Flow, Shot Piston and Advanced 3rd Stage Pressure process type are
selected: Assuming that Filling Condition is Inlet and Translation Condition is
Translate x(t), then panel is changed accordingly.

Filling Condition and Translation Condition should be selected from Workflow


Preferences > Process Condition tab at the beginning of the first block.
7. Process Condition Manager: All process conditions that are created in previous steps are
listed. If required, additional conditions can be created.

607
8. Stress: This is enabled only when Stress process type is selected. Displacement process
conditions are automatically created for the selected zero displacement region.

9. Symmetry: This panel can be used to define symmetry in case of symmetric models.
Based on the information, symmetry process condition is automatically created.

608
10. Explorer: All defined parameters are listed in the explorer.

Step 3: Machine Selection: Visible if Machine Selection process type is selected.


Please refer Workflow > HPDC Machine Selection > Machine Selection

609
Step 4: Process Inputs and Graph: Visible if Machine Selection process type is selected.
Please refer Workflow > HPDC Machine Selection > Process Inputs and Graph
Step 5: Start Simulation
Please refer Workflow > Gravity > Start Simulation
Step 6: Multi Stage: Visible if Ejection, cooling and trimming process type is selected.
Please refer Workflow > Generic > Multi Stage
HPDC Machine Selection

This workflow helps to get the pressure graph from the selected HPDC machine
characteristics through a set of blocks. The step-by-step workflow guides you to run through the
different necessary steps for completing HPDC Machine selection.
PATH:
 Select Workflow > HPDC Machine Selection from the menu.

610
Procedure
Step 1: Project Description

611
Please refer Workflow > Generic > Project Description
Step 2: Machine Selection

612
613
This step allows to select desired Alloy material from the Material Database and Machine from
the HPDC Machine database. Plunger diameter available for particular machine needs to be
selected. The Material and HPDC Machine Databases can be accessed by selecting Edit or
Create icons, respectively.
Step 3: Process Inputs and Graph

614
615
This step allows to input Gating Design parameters and other parameters.
On clicking Compute button, Operating Pressure, Operating Flow Rate and Closing Force are
calculated.
On clicking Graph button, a plot window with Pressure vs Flow Rate graph is displayed.
On clicking Update button:
 Alloy material is assigned to all alloy volumes.
 HPDC_PRES run parameter is assigned with Hydraulic Inline Pressure of selected HPDC
Machine.
 PISTON_DIAM run parameter is assigned with selected Plunger diameter.
 HPDC_PCONTROL run parameter is assigned with selected node.
Investment (Equiax)

This workflow automates the Investment (Equiax) casting process through a set of blocks.
The step-by-step workflow guides you to run through the different steps necessary for complete
Investment casting set-up.
PATH:
 Select Workflow > Investment (Equiax) from the menu.

Procedure
Step 1: Project Description

616
Open a project (*.vdb, *.mesh, etc.) from the Project Directory or Case File option. The file format
(*.vdb) is loaded on priority.
Case Name entry is automatically populated with the name of the selected study repository. Case
Name can be modified through a text box.
1. Select Project Directory by clicking on the browse button. Case File is automatically
selected based on the following order of preference:

617
a. <Project Directory name>.vdb, if no file exists.
b. < Project Directory name>.mesh, if no file exists.
c. If no .vdb or .mesh files which match the project directory exist, then the first
available .vdb or .mesh is selected. If no .vdb or .mesh files exist in the project
directory, it goes to the following preferences:
i. <Project Directory name>d.dat.
ii. < Project Directory name>.sm.
From the selected file, Case Name is automatically generated
2. Enter Case Name if you wish to change the name that was identified automatically.
3. Select Case File to change the file identified automatically.
4. Click Load Project to load the file.
5. Click Preferences… to open Workflow Preferences.
Workflow Preferences: The default values used in Investment (Equiax) workflow can be set
using this panel. The parameters are organized into three tabs:
1. Units

618
2. Interface Condition

619
3. Process Condition

620
Before loading the project, set all the default values using Workflow Preferences
panel.

Step 2: Investment (Equiax) Process Sheet

621
The following parameters drive the HPDC Process set up:

622
1. Process Types:
a. Filling
b. Solidification, Vacuum, View Factors
c. Stress and Deformation
2. Sub-steps to define Investment casting process parameters:

Process Types:
1. Filling:
a. On selection, Flow simulation parameter is set ON, Filling sub step is enabled.
b. On deselection, Flow simulation parameter is set OFF, Filling sub step is disabled.
2. Solidification:
a. On selection, Thermal simulation parameter is set ON, Timing sub step is enabled
and Vacuum, View Factors process types are enabled.
b. On deselection, Thermal simulation parameter is set OFF, Timing sub step is
disabled and Vacuum, View Factors process types are disabled.

623
Vacuum: Enables/disables vacuum effect.
View Factors: Switches on View Factor. If Enclosure is already present in the model, it is
switched on by default.
3. Stress and Deformation:
a. On selection, Stress simulation parameter is set ON and Stress sub step is enabled.
b. On deselection, Stress simulation parameter is set OFF and Stress sub step is
disabled.
Sub Steps:
1. Gravity Vector / Tilt: This panel allows to define Gravity Vector.

2. Timing Parameters: This panel allows to define Transfer time, Filling start time and
Furnace door opening time.

3. Volume Definition: This panel allows to define Volume Types, assign materials, define fill
%, and stress types as required. It also allows to convert any volume to enclosure, check
normal and convert enclosure to volume using undo conversion.

624
a. Volume Types:

625
i. Alloy (Casting, Gating…)
ii. Core
iii. Filter
iv. Insulation
v. Mold
b. Enclosure:
i. If volumes are not assigned with type, materials, then they are available for
enclosure conversion.
ii. Select volume from list and click ‘Convert’.
iii. Show or hide enclosure using Show check box.

iv. If enclosure exists in the model, then ‘Check Normals…’ and ‘Undo
Conversion’ are enabled.
v. When ‘Check Normals…’ is clicked, 'Show' is selected automatically and
‘Element Orientation’ panel is posted, as shown below.
vi. ‘Undo Conversion’ converts enclosure to volume.

626
4. Temperatures: This panel allows to define Alloy, Room or Preheat temperatures.

5. Interface Definition: Interface HTC Manager is posted and iHTC is automatically


computed and assigned based on material assigned and values defined in Workflow
Preferences for each type of interface.
For interface between:
a. Alloy and Alloy, Alloy and Filter – EQUIV is set.
b. Same Type volumes – EQUIV is set.
c. Alloy and Mold, Alloy and Core – COINC is set and Standard iHTC is created and
assigned. From the Alloy material, TLiq and TSol are taken. From alloy, initial
temperature, defined in Temperatures, is taken as TIni. A iHTC vs. Temperature
curve (S-Curve) is created and assigned with:
i. point1 -> 0 C, iHTC at solidus
ii. point2 -> TSol, iHTC at solidus
iii. point3 -> TLiq, iHTC at liquidus
iv. point4 -> Tini, iHTC at liquidus
v. All others – COINC is set and Standard iHTC is created and assigned.
Example

627
628
6. Filling: There are three types of Filling Conditions listed in the Workflow Preferences
Process Condition tab. The selected conditions are allowed to create in this panel. Based
on preference selection, following scenarios are listed:
a. Filling Condition is Inlet: Pouring Area is defined using region define panel. Mass
Flow Rate can be entered or computed using Mass Flow Rate Calculator. On
applying, Inlet Process Condition is created.

629
b. Filling Condition is Velocity: Pouring Area is defined using region define panel.
Velocity can be entered or computed using Velocity Calculator. On applying,
Velocity Process Condition is created.

630
c. Filling Condition is Pressure: Pouring Area is defined using region define panel. On
applying, Pressure Process Condition is created.

631
Filling Condition should be selected from Workflow Preferences > Process Condition
tab at the beginning of the first block.
7. Process Condition Manager: Some Process conditions are created automatically in
previous steps such as Heat on External Regions, Enclosure Radiation if enclosure is
present in model, Filter Heat on Filter volumes. All process conditions that are created in
previous steps are listed. If required, additional conditions can be created.

8. Stress: This is enabled only when Stress process type is selected. Displacement process
conditions are automatically created for the selected zero displacement region.

632
9. Symmetry: This panel can be used to define symmetry in case of symmetric models.
Based on the information, symmetry process condition is automatically created.

10. Explorer: All defined parameters are listed in the explorer.

633
Step 3: Start Simulation
Please refer Workflow > Gravity > Start Simulation
Step 4: Multi Stage
Please refer Workflow > Generic > Multi Stage
LPDC

This workflow automates the LPDC setup through a set of blocks. The step-by-step
workflow guides you to run through the different steps necessary for complete LPDC set-up.
PATH:
 Select Workflow > LPDC from the menu.
Procedure
Step 1: Project Description

634
Open a project (*.vdb, *.mesh, etc.) from the Project Directory or Case File option. The file format
(*.vdb) is loaded on priority.
Case Name entry is automatically populated with the name of the selected study repository. Case
Name can be modified through a text box.
1. Select Project Directory by clicking on the browse button. Case File is automatically
selected based on the following order of preference:
a. <Project Directory name>.vdb, if no file exists.
b. < Project Directory name>.mesh, if no file exists.

635
c. If no .vdb or .mesh files which match the project directory exist, then the first
available .vdb or .mesh is selected. If no .vdb or .mesh files exist in the project
directory, it goes to the following preferences:
i. <Project Directory name>d.dat.
ii. < Project Directory name>.sm.
From the selected file, Case Name is automatically generated
2. Enter Case Name if you wish to change the name that was identified automatically.
3. Select Case File to change the file identified automatically.
4. Click Load Project to load the file.
5. Click Preferences… to open Workflow Preferences.
Workflow Preferences: The default values used in LPDC workflow can be set using this panel.
The parameters are organized into three tabs:
1. Units

636
2. Interface Condition

3. Process Condition

637
Before loading the project, set all the default values using Workflow Preferences
panel.
Step 2: LPDC Process Sheet

638
The following parameters drive the LPDC Process set up:
1. Process Types:
a. Cycling
b. Filling
c. Solidification, Advanced 3rd Stage Pressure

639
d. Stress and Deformation
e. Ejection, cooling and trimming
2. Sub-steps to define LPDC process parameters:

Process Types:
1. Cycling:
a. On selection, Cycling sub step is enabled where cycling parameters can be defined.
b. On deselection, Cycling sub step is disabled.
When Cycling is selected, Virtual Mold creation is not possible in Volume Definition panel.
Similarly, If Virtual Mold exists in a model, then selecting cycling is prevented by giving a
message in console.
2. Filling:
a. On selection, Flow simulation parameter is set ON, Filling sub step is enabled
b. On deselection, Flow simulation parameter is set OFF, Filling sub step is disabled.
3. Solidification:

640
a. On selection, Thermal simulation parameter is set ON and Advanced 3rd Stage
Pressure Process Type is enabled.
b. On deselection, Thermal simulation parameter is set OFF and Advanced 3rd Stage
Pressure Process Type is disabled.
Advanced 3rd Stage Pressure Process Type:
a. On selection, APM / APM-New (based on preferences selection) simulation
parameter is set ON.
b. On deselection, APM / APM-New (based on preferences selection) simulation
parameter is set OFF.
4. Stress and Deformation:
a. On selection, Stress simulation parameter is set ON and Stress sub step is enabled.
b. On deselection, Stress simulation parameter is set OFF and Stress sub step is
disabled.
5. Ejection, cooling and trimming:
a. On selection, Step 4 – Multi Stage is shown.
b. On deselection, Step 4 – Multi Stage is shown.
Sub Steps:
1. Gravity Vector / Tilt: This panel allows to define Gravity Vector. Tilt is disabled.

2. Cycling Parameters: This panel allows to define cycling parameters.

641
3. Volume Definition: This panel allows to define Volume Types, assign materials, define fill
%, and select mobility and stress types as required.

642
Volume Types:

643
a. Alloy
b. Core
c. Die
d. Virtual Mold (visible if Cycling process type is not selected)
When Virtual Mold is selected, virtual mold icon appears. On clicking this icon, Virtual Mold
panel is posted. When Virtual mold exists in a model, Mobility column is hidden and Flow
simulation parameter is set to 3, if Flow process type is selected.

Mobility Options are applicable to Die and Core types. Mobility column is hidden if
there is virtual mold in the model. To define piston type volume, select Shot Piston process
type and to define virtual mold, deselect cycling process type before posting volume
definition panel.
4. Temperatures: This panel allows to define Alloy, Die, Core, Room temperatures.

644
Die, Core, Piston options are enabled, if Volumes of same type exists in the model.
5. Interface Definition: It is controlled by Workflow Preferences.
a. When clicking interface sub step – Interface HTC Manager is posted. iHTC is
automatically computed and assigned based on material assigned and values
defined in Workflow Preferences for each type of interface.
For interface between:
i. Alloy and Alloy – EQUIV is set.
ii. Die and Die:
1. Mobile Die and Fix Die – COINC is set. If Cycling process type is
selected, a Die Combo iHTC is created and if it is not selected,
Standard iHTC is created and assigned.
2. Mobile Die and Mobile Die – COINC is set if material is different and a
Standard iHTC is created and assigned. EQUIV is set if material is
same.
3. Fix Die and Fix Die – COINC is set if material is different and a
Standard iHTC is created and assigned. EQUIV is set if material is
same.
iii. Same Type volumes – EQUIV is set.
iv. Alloy and Die, Alloy and Core – COINC is set and Die Combo iHTC is
created and assigned. From the Alloy material, TLiq and TSol are taken.
From alloy, initial temperature, defined in Temperatures, is taken as TIni. A
iHTC vs. Temperature curve (S-Curve) is created and assigned with:
1. point1 -> 0 C, iHTC at solidus
2. point2 -> TSol, iHTC at solidus
3. point3 -> TLiq, iHTC at liquidus
4. point4 -> Tini, iHTC at liquidus
v. Die and Core – COINC is set and Standard iHTC is created and assigned.
Example

645
646
6. Filling: The layout of this panel is changed according to Flow and Advance 3rd Stage
Pressure process types. There are three types of Filling Conditions in the Workflow
Preferences Process Condition tab. The selected conditions are allowed to create in this
panel. Based on process types and preference selection, following scenarios are listed:
a. When Flow Process Type is selected:
i. Filling Condition is Inlet: Injection Area is defined using region define panel.
Mass Flow Rate can be entered or computed using Mass Flow Rate
Calculator. On applying, Inlet Process Condition is created.

ii. Filling Condition is Velocity: Injection Area is defined using region define
panel. Velocity can be entered or computed using Velocity Calculator. On
applying, Velocity Process Condition is created.

647
iii. Filling Condition is Pressure: Injection Area is defined using region define
panel. Pressure can be entered and pressure curve points can be defined
using Pressure vs. Time table. On applying, Pressure Process Condition is
created.

648
b. When Flow and Advanced 3rd Stage Pressure process type are selected: Assuming
that Filling Condition is Inlet, then panel is changed accordingly.

649
Filling Condition should be selected from Workflow Preferences > Process Condition
tab at the beginning of the first block.
7. Process Condition Manager: All process conditions that are created in previous steps are
listed. If required, additional conditions can be created.

8. Stress: This is enabled only when Stress process type is selected. Displacement process
conditions are automatically created for the selected zero displacement region.

650
9. Symmetry: This panel can be used to define symmetry in case of symmetric models.
Based on the information, symmetry process condition is automatically created.

10. Explorer: All defined parameters are listed in the explorer.

651
Step 3: Start Simulation
Please refer Workflow > Gravity > Start Simulation
Step 4: Multi Stage: Visible if Ejection, cooling and trimming process type is selected.
Please refer Workflow > Generic > Multi Stage
Optimization

This workflow automates the optimization setup through a set of blocks. The step-by-step
workflow guides you to run through the different necessary steps for complete optimization set-
up.
Introduction
The aim of this document is to present an overview of the optimization capabilities available
within ESI Casting solution and fully integrated into ProCAST user environment Visual-Cast. The
Version available today is a beta version with known limitations and a layout which will be
improved in term of usage and robustness before the first official release later in 2015.
ProCAST optimization work package will allow using the optimization solver (PAM-OPT) to run a
clever and automated trial and error approach where the computer performs well chosen trials
and makes decisions to improve process conditions and/or Materials properties. Several kind of
calculations can be set today such as Design of Experiment, Stochastic analysis, Optimization
and Inverse Modeling.

652
Schema of a typical workflow for optimization analysis

Please note that in this document, optimization will be used as generic word for the 4 capabilities
available through the work package:
 Design of Experiment: This can be used beneficially to detect the sensitivity of a solution
with respect to the variation of the declared design parameters.
 Stochastic analysis: This can be used beneficially for parametric studies of the influence of
stochastic parameters on a solution. A current application is the estimation of the
robustness of the solution (robust design applications).
 Optimization: This can be used to determine the best set of design parameters for a given
objective.
 Inverse modeling (curve fitting): This can be used to determine thermos-physical data or
boundary conditions from simple and well controlled temperature measurements.
Within this work package, ESI provides a user-friendly interface (fully integrated in ProCAST
environment) for process engineers to easily setup, track and post-process the optimization
simulation.
It uses Visual-Process workflow capabilities. Visual-Process enables to execute pre-defined
process templates or workflows. These are defined using Visual-Process Builder, and are
developed for specific customization, like optimization. The environment provides flexibility to
execute such processes.
The workflow is primarily a set of blocks arranged in a chain, where each block is designed to
give the required pre-processing input, solver submission, results monitoring. The process
enables the user to set the optimization analysis passing over the blocks, submit for the solver
calculation, monitor and post-process the results.
Installation
Pre-requisites
 The beta version of the Optimization package has been mainly tested on windows on
which PAM-OPT configuration does not require to use Cygwin
Requirement

653
Optimization workflow requires optimization solver (PAM-OPT). Following are the installation
steps of PAM-OPT.
 Step 1: Install PAM-OPT 2015 Beta
o Run OPT15beta1_Windows.exe [PAMOPT2015-beta installer]

o Select path to install PAM-OPT.

o Select features. Please note that PAM-OPT Editor is not required for ProCAST
Optimization.

654
o Click “Finish”.

 Step 2: Configure PAM-OPT 2015.0 Beta.


o It is mandatory to prepare several required configuration information for running
PAM-OPT properly on your system.
o Call “Windows Configure PAM-OPT2015.0” from Start Menu / ESI Group / PAM-
OPT

655
o If PAM-OPT was already installed on your machine, existing temporary files may
need to be deleted accordingly.

656
o At the end, PAM-OPT windows console is automatically open. For ProCAST work
package, there is no need of specific link to be added, hence simply close the
window.
For more information for other products, it is advised to refer to the HELP of PAM-
OPT.

How Setup an optimization analysis (DOE, Optimization, Inverse):


The complete capabilities will not be detailed in this document as the version is not finalized yet.
Below descriptions will provide highlights on usage but not a full help. A proper and complete
manual will be provided with the first release version.
Usage of Process Blocks
User can navigate through the different steps of the setup/results analysis though process blocks.
Blocks are color-coded for easy identification of status:
 Blue: Current block
 Green: Completed block
 Orange: Block accessible but not complete
 Grey: Not ready. Block is not accessible
User can go to any block except the grey ones at any point of time by clicking on the respective
block icon. Previous and Next buttons for navigation can also be used.
Model can be also saved at any stage and blocks status will be restored when model will be
loaded back.
Please note that a Help for each block is given in the ‘Notes’ area. On this beta version, the help
is not completed yet.
Optimization workflow
Step 1: Project Description
This is an initial step where user can:
 Define the project folder (which contains the VDB)

657
 Define a new optimization study
Or
 Load an existing study if already defined
An analysis summary is also given of the current setup.

658
Step 2: Model Setup
In this step, the kind of calculation to perform needs to be selected between:
 Optimization
 Inverse model (i.e. curve fitting of thermocouple data)
 Robustness analysis
 Design of Experiments
This is the step where the design parameters must be selected, i.e., the parameters that can be
modified by PAM-OPT.
For optimization, it can be:

659
 Continue values (which means any value included in the bounds can be set by the
optimizer)
 Discrete values: limited number of runs based on min/max and the increment

660
661
Design of Experiment

Optimization analysis

662
Process Conditions tab appearance

663
Volumes tab appearance

664
Simulation Parameters appearance

665
Interface HTC tab appearance

666
Materials tab appearance

Table definition for a parameter

667
Optimization analysis

668
Robustness analysis

669
Inverse modeling analysis

Step 3: Output criterions or Experimental and Simulation curves


In this step, the criteria required to compute the objective function need to be defined and
selected.
Several options exist for creating them and several criteria can be defined here.
A criterion is created by selecting a field variable (i.e. Temperature, Solid Fraction, Shrinkage
Porosity,… ), the mathematical operation that defines the value (minimum, maximum, sum,
average) and a given time when the value is to be computed (last_step or all_steps). Additionally,
a threshold (cut-off) can be defined to ignore very small values.

670
The output criteria can be restricted to a specific domain or to a specific zone (box for now, will be
extended to cylinder and sphere in the future) inside a volume.
In the below example, the criteria will be the Sum of void due to Shrinkage porosity at the last
time step.

671
Available Fields for criteria creation

Available Computing Option for criteria creation

In case Inverse was selected in Step 2, Step 3 will look like the following. The user has to specify
the experimental curve (typically a thermocouple measurement) together with units of measure,
and the coordinates of the thermocouple location.

672
Experimental results selection for inverse analysis

Step 4: Objectives and constraints


The remaining step is the selection of the objective and constraints. Objective can be defined by:
 Minimizing a criteria
 Maximizing a criteria
Constraint can be defined through min and max bound of criteria.

673
In case Inverse was selected in Step 2, Step 3 will look like the following. The user has to only
choose the type of expected profile (monotonic or not).This will help the optimiser to converge
faster.

674
Selection of the profile of experimental curves. It will help optimizer to converge faster.

Step 5: Simulation
This step offers a summary of the setup and allows defining some numerical parameters of the
optimizer PAM-OPT, like the number of processors to use, the algorithm when several are
accessible, the solver version etc…
After reviewing the setup, the simulation can be launched from this page using the Run button.

675
Review a Design of Experiment setup

676
Design Parameters tab appearance

Objective and Constraints tab appearance

677
Windows calculation parameters tab appearance

678
Linux calculation parameters tab appearance

679
Review of a discrete optimization setup

680
Review of an Inverse setup

Step 6: Results
This final step is dedicated to monitoring and post-processing optimizer results. Each button
allows by clicking on the icon to open the corresponding window (a second click will close the
window):
 Optimization listing: it displays the output information from the optimizer PAM-OPT in a
separate window
 Table of Runs: it displays all available computation of a finished iteration
 Best Results: it displays information of the best results
 Monitoring of the Optimization: it shows a progress bar (please note that this functionality
may not work correctly on this beta version)

681
 Optimization Plots: it plots in Visual-Viewer-Cast the different curves created by the
optimizer.

682
Optimization listing

683
Table of runs

Best Results

684
Monitoring

685
Optimization plots (discrete analysis)

Optimization plots (continue analysis)

686
Example of output: In this case it shows that Parameter3 is the most influential in determining the
difference in the results

 Known Limitations
 Appendix-A- Criteria Description in ProCAST
Known Limitations
 It does not allow geometrical change as design parameters. It is not planned for the official
delivery in 2015. It will come in future releases.
 Only the design parameters displayed in the list can be used. A custom design parameters
cannot be added
 Run parameters are not part of Design parameters
 Only the criteria displayed in the list can be used. A custom criterion cannot be defined
from the UI with the current version.
 Only windows version will be provided as beta since it has not been validated on Linux
 Progress bar of monitoring are still under improvements ( only available for Robustness
Analysis and Design Of Experiment )
 prefix_mtdvisual.xml (Input file for optimization setup) is not compatible if process
conditions have been changed (delete, new ...). In this case it needs to be deleted and
redefined with new process optimization definition. In future version, it will be possible to
load a model in which process conditions have been changed
 Wrap process condition is not yet implemented
 Display of curves will be improved (graphical pages management…)
 Function definition can be used for Material and Interface HTC in Inverse Model (Not fully
validated)
 Display of workflow pages will be improved (More explicit icon to describe the step)
 Initial page to be displayed when a case and simulation are selected
Appendix-A- Criteria Description in ProCAST
Optimization criteria are generally built on simple quantities based on a given field (e.g. maximum
or average of a defect field on the casting domains) and can be used as a part of objective

687
function. Criteria can be defined in ProCAST by using embedded criteria of ProCAST Solver
activated through an additional file prefix_resdef.dat in the case repository. It allows computing
several criteria which will be output in an ASCII file (default name: prefix_resout.dat) usable by
the optimizer.
This file can be automatically created though Visual-Cast using Tools/Pre-Defined Output
Criterion.
Prefix_resdef.dat ASCII file contains the user defined definitions of desired functions enclosed
between an *RESULT and *END keywords).
Each result is defined by field used to extract results from. The available fields are temperature,
solid fraction, velocities, stresses, element volume (the sum of the element volume field in a
domain is the volume of the domain), defect fields (porosity, hot tears, cracks, fatigue life) …
From this field, the user chooses to extract a minimum, maximum, average or sum. This
evaluation can be required throughout the calculation or at the last step only.
Moreover, the domains (a list of several domains can be selected) to be considered for this
evaluation should be defined. It is the responsibility of the user to consider fields only in domain in
which they are defined (e.g. it does not make sense to include a mold domain in the calculation of
the average porosity). Similarly, the user must ensure that the considered field is indeed part of
the calculation (e.g. setup a single JUNCTION if the average value of the flow junction field is to
be considered).
It is possible to write several criteria in the same file. In fact, if no file name is specified, all the
criteria will be output to prefix_resout.dat (results output file). The format of the output ASCII files
will also be the same, starting with the number of criteria output to the file followed, for each one,
by the name of the value and the value itself.
Specific options can be added which allow defining:
 A specific location within the selected domains (it is a box defined with X,YZ min and max)
 A threshold to consider porosity value only above it
Please note that the porosity sum represents the volume in CC and the output for porosity
criteria details the number of porosity zone (closed pocket) and the centre of each zone.

Example:
*RESULT
field_name: shrinkage_porosity
option: sum
timing: last_step
domains: 2 5
*END
*RESULT
field_name: temperature
option: average
timing: all_steps
domains: 3
*END

Available fieldname (not-exhaustive list):


 Junction

688
 Temperature
 solid_fraction
 fluid_fraction
 shrinkage_porosity
 fatigue_life
 velocity_x
 velocity_y
 velocity_z
 pressure
 hottear
 element_volume
 material_volume
 piping_volume
 cold_crack
 stress3d_xx
 stress3d_yy
 stress3d_zz
 stress3d_xy
 stress3d_yz
 stress3d_xz
 eff_plstrain
Tools
This section consists of the following topics:
 Measure
 CAD Options
 Volume Options
 Post Editor
 Section Cut
 Volume Cut
 Clip Plane
 Annotation
 Transform
 Merge Models
 Detach Elements
 Explode
 Customize
 Change PID
 Change Length Units
 Pre-Defined Output Criterion
 Function Editor
 Geometric Modulus
 Compute Thickness
Measure

This functionality measures the distance and angles between the picked entities and area,
volume, mass of elements, radius and sweep angle of an arc / circle. It also provides the option of
adding measured entities to the model, and updates the measurements dynamically.
PATH:
 Select Tools > Measure from the menu, or

689
 Click the (Measure) icon in Utility toolbar, or
 Press the shortcut key F4 on the keyboard.
Result: The Measure dialog box is posted.
Procedure
To Measure Distance Between Two Points

Distance tab – 2 Points option


1. Pick any entity or enter the node ID in the text box provided. One of the following occurs:
a. If a node or a point entity is available at the picked location, it will be picked, and if
node is selected, node ID will be displayed in the text box. A handle will appear at
the picked location on the entity.
b. If an element or part entity is available, it will be picked and a handle will appear at
the picked location on the entity.
c. If a part, seat belt point, seat belt segment, box or weld point entity is available, it
will be picked and a handle will appear at the picked location on the entity.
d. If none of these entities are available at the picked location, a handle will appear at
the clicked location in space.

This selection order is used for any point pick in this dialog box. The handle can be
repositioned by using the handle menu options, or by dragging it to the required location.
2. Pick another entity.
Result: Handles are displayed at the picked locations. The distance between the two
picked points is shown in the dialog box. The individual X, Y and Z components of distance
are also shown. If the picked entity is a node, the distance and its component values can
be edited. While changing the value in the text box, the second node moves along the

690
vector defined by these two points. The original values can be restored using the Undo
button. Both the handles can be repositioned by using the handle menu options, or by
dragging them to the required location, and measured values will be updated for the
selected nodes or points.

After the second pick, all successive picks measure the distance from the current
picked location and the last picked location. The distance is updated in the dialog box. The
distances in the XY, YZ and XZ planes are also updated in the dialog box and model
window, depending on the check box status of the corresponding items in the dialog box.
To Measure Distance Between Two Entities

691
Distance tab – Between 2 Entities option

692
1. Select the desired entity type from the selection control list, for which the distance is to be
measured.
2. Pick the first entity. The picked entity is displayed in selection mode.
3. Pick the second entity. The picked entity is displayed in selection mode. A line of closest
approach is drawn from the first entity to the selected second entity, and its distance is
displayed. The individual X, Y and Z components of distance are also shown.

Entity reselection: To reselect the first entity, click on the first selection Ctrl button
and then pick the entity. To reselect the second entity, click on the second selection Ctrl
button and then pick the entity. The picked entity is displayed in selection mode. A line of
closest approach is drawn between reselected entities, and distance between them would
be recomputed and displayed.
To Measure Shortest Distance Between Point and Element

693
Distance tab – Point and Entity option
1. Pick the first point or enter the node ID in the text box.

694
Result: A handle is displayed at the picked location.
2. Pick the required entity.
Result: A line of closest approach is drawn from the point to the selected entity, and its
distance is displayed. The individual X, Y and Z components of distance are also shown. If
the first picked entity is a node, the distance and its component values can be edited. The
original values can be restored using the Undo button.

The entity may be reselected by clicking on the selection control button and then
picking another entity. Distance between the point and newly selected entity will be
recomputed and displayed.

Add button adds the measured entities to the model with the name given in the
name field of the dialog box. Once the measured quantities are added to the model, and if
one of the associated entities with the measured quantities is moved, the measurements
will be automatically recomputed.

Measure distance entities are dynamic, and are updated during animation.

Measure distance entities can be selected across models without changing the
active layer when the models are overlaid.
To Measure Angle Formed by Three Points

Angle tab – 3 Point Selection


1. Pick three points (entities).

695
Result: Handles are displayed at the picked locations. The angle subtended at the second
point by the lines joining the first and third points is displayed in both radians and degrees
in the dialog box.

If the third entity picked is a node, the value of the angle can be edited. On changing
the value, this node moves in the plane of the three points. The original values can be
restored using the Undo button.

Add button adds the measured entities to the model with the name given in name
field of the dialog box. Once the measured quantities are added to the model, and if one of
the associated entities with the measured quantities is moved, the measurements will be
automatically recomputed.

Measure angle entities are dynamic, and are updated during animation.
To Measure Angle Formed by Two Points and Reference Axis

696
Angle tab – Reference Axis
1. Select the reference axis (global axis- X, Y, Z ) or define axis about which the angle needs
to be measured (using Axis Definition dialog box), and pick two points.
Result: Handles are displayed at the picked locations. The angle subtended at the first
point by the lines joining the first and second point and the reference axis drawn at first
point is displayed in both radians and degrees in the dialog box.

Add button adds the measured entities to the model with the name given in name
field of the dialog box. Once the measured quantities are added to the model, and if one of
the associated entities with the measured quantities is moved, the measurements will be
automatically recomputed.

697
Measure angle entities are dynamic, and are updated during animation.
To Measure Angle Formed by Four Points /Two Segments

Angle tab – 4 points


1. Pick four points (entities).
Result: Handles are displayed at the picked locations. The angle subtended by the lines
formed by joining point1 to point2 and point3 to point4 is displayed in both radians and
degrees in the dialog box.

Add button adds the measured entities to the model with the name given in name
field of the dialog box. Once the measured quantities are added to the model, and if one of
the associated entities with the measured quantities is moved, the measurements will be
automatically recomputed.

Measure angle entities are dynamic, and are updated during animation.
To Measure Angle Formed between Entity Normals

698
Angle tab – Between Entity Normals
1. Select the entity type from the selection control list.
2. Pick the first entity. The picked entity is displayed in selection mode.
3. Pick the second entity. The picked entity is displayed in selection mode.
Result: The angle subtended by the lines formed by the entity normals is displayed in both
radians and degrees in the dialog box.

Entity reselection: To reselect the first entity, click on the first selection control
button and then pick the entity. To reselect the second entity, click on the second
selection control button and then pick the entity. The picked entities are displayed in
selection mode.

Add button adds the measured entities to the model with the name given in name
field of the dialog box. Once the measured quantities are added to the model, and if one of
the associated entities with the measured quantities are moved, the measurements will be
automatically recomputed.

Measure angle entities are dynamic, and are updated during animation.
To Measure Area / Volume / Mass of Elements

699
Area/Volume tab – 1D Elements option Area/Volume tab – 2D Elements option

700
Area/Volume tab – 3D Elements option

Area/Volume tab – Curves option Area/Volume tab – Surfaces option

1. Set the required option using the combo box and pick the required element type (1D
Elements / 2D Elements / 3D Elements).
Result: Based on the option selected, the following parameters are measured:
a. If 1D Elements is selected, length of the selected element is displayed in the dialog
box. If a set of 1D elements is selected, the total length of all the selected 1D
elements is displayed.
b. If 2D Elements is selected, area, volume and mass of the selected element are
displayed in the dialog box. If a set of 2D elements is selected, the cumulative area,
volume and mass of the selected 2D elements are displayed.

Element area is computed by Gauss integration technique.


c. If 3D Elements is selected, volume and mass of the selected element are displayed
in the dialog box. If a set of 3D elements is selected, the cumulative area, volume
and mass of the selected 3D elements are displayed.
d. If Curves is selected, the total length of the selected curve is displayed in the dialog
box. If a set of curves is selected, total length of the set of curves selected is
displayed in the dialog box.
(Applicable for Visual-Mesh context only.)
e. If Surfaces is selected, approximate area of the selected surface is displayed in the
dialog box. If a set of surfaces is selected, total approximate area of the set of
surfaces selected is displayed in the dialog box.
(Applicable for Visual-Mesh context only.)

701
2. Select Interactive Selection check box to select the entities in the interactive mode.
Selection toolbar is enabled in the interactive mode. The selected entities can be updated
by clicking on Compute button or middle mouse confirmation. If the check box is
deselected, the selected entities need not be updated.

To Measure Radius Formed by an Arc or Circle

702
Radius tab
1. Pick three points on an arc or circle.
Result: Handles are displayed at the picked locations. The point can be repositioned to
the required location using the handle. The radius, centre and sweep angle of the arc /
circle are displayed in the dialog box. The display of sweep angle can be switched ON or
OFF using Angle check box.
CAD Options / Modeling Tolerance

This functionality describes various CAD options to control CAD import and healing, part
organization, accuracy of CAD display and tolerance detection.

In Visual-Mesh context, this functionality is available as CAD Options. In other


contexts, only non-CAD options are provided and it is available as Modeling Tolerance.
PATH:
 Select Tools > CAD Options / Modeling Tolerance from the menu.
Result: The CAD Options / Modeling Tolerance dialog box is posted.

703
704
The main options are as follows:
Modeling Tolerance

The automotive parts are generally modeled in MM unit space for Crash and NVH analysis.
Certain dummy models are modeled in Meter space for rigid body analysis. In general, modeling
tolerance should be set based on the size of the model. This is required for many modeling
algorithms to work consistently and reliably in all situations with optimum load and performance.
This will also help the application to give intelligent defaults which suit the corresponding unit
system (for example, default mesh element size is shown as 10 in Mesh dialog box in MM
space).
Tolerance Scheme: There are two modes of setting a modeling tolerance:
1. Automatic Tolerance Scheme (Auto Detect Based on Model Size): While loading a file,
if the Auto Detect Based On Model Size scheme is ON, tolerance is automatically set
based on the size of the model. It is recommended to set this mode in most cases.
2. Manual Tolerance Scheme (Target Model Size): Specified tolerance scheme is used for
all modeling algorithms as well as for file loading, if Target Model Size option is ON.
Sometimes, the auto-detected tolerance scheme may not work properly (some small
surfaces may not get loaded, the display resolution may not be good, etc.). In such cases,
based on the size of the model, proper tolerance scheme is suggested to be set.
If model size is in the range of 100 to 10000 units (or above), best scheme is MM. (If CM or Inch
is used for this size, the accuracy of representation will become higher and higher, but many
algorithms may become slower. Set higher schemes if more accuracy is really needed (MM is
lowest and Meter is highest)).
If it is less than 0.1 units, then Meter scheme may be set.
For sizes between 0.1 and 100 range, the other schemes can be set.
(The ranges explained are approximate, so the right scheme can be set based on discretion).
By default, the application sets tolerance using Automatic Tolerance Scheme. If modeling must
be done in any other system, it has to be set explicitly using this method.

The modeling scheme should be set before doing any mesh editing operation.
CAD Display schemes (supported in Visual-Mesh Context only)
The accuracy of display and performance of basic graphic operations (like rotation, zoom, etc)
can be controlled using this option.
1. By default, High Performance mode is set, which is good in most situations.
2. Medium Performance and accuracy mode ensures that deviation of shading from actual
geometry will be less than 0.5mm. The display will be more correct with performance
higher than the High Performance mode.
3. High Accuracy ensures deviation of shading will be less than 0.2mm. Thus ensuring more
accurate display but will have highest performance of all.
4. If the display accuracy is not found to be good in some cases, set the option to High
Accuracy and proceed. (The graphic performance can get affected in this mode).

By default, High Accuracy CAD display scheme is assigned. Any change made in
this option is permanently remembered, even across VE sessions.
CAD Import options (supported in Visual-Mesh Context only)
This functionality describes some options which can be assigned during CAD file import. The
options are as follows:

705
1. Remove Failed Geometric Entities: This option can be used to remove the failed
geometric entities from the model during CAD import. By default, this option is ON. If the
option is OFF, failed CAD entities are associated to a part with name "FailedGeom".
2. Remove Blank CAD Entities: This option can be used to remove blank geometric entities
from the model during CAD import. By default, this option is ON. If the option is OFF, blank
entities are stored in a collector by name "BlankCadEntities.
3. Clean Self Intersecting Surfaces: This option can be used to remove self intersections of
loops of surfaces. Sharp spiky corners of surfaces are also removed during this operation.
If a self-intersecting surface cannot be corrected, it may get deleted. By default, this option
is ON. It is important to ensure that there are no self-intersecting surfaces present in the
model for all further CAD operations to work properly (like stitching, splitting, trimming,
topo operations, etc). If the application has failed to detect some bad surfaces, delete
those surfaces or correct them manually using Surface > Trim option.
4. Remove Points and Curves: This option can be used to remove Points and Curves when
surface geometry is available.
5. Scale Geometric Entities to: This option can be used to scale all new CAD entities to
target unit system selected in the combo box. Scaling to a target unit system is done only if
the model unit system of CAD entities is not same as target unit system. By default, this
option is OFF. When switched ON, the default target unit system is 'mm'. You can select
other unit systems from the drop-down menu.
6. Stitch Surfaces: This option can be used to stitch surfaces during CAD import. By default,
this option is ON. Stitching tolerance is used based on the following options:
a. Across Parts: This option can be used to set the stitching of surfaces across. For
casting context, this option is OFF by default (stitch within part) and for non-cast
context, this option is ON by default (stitch across part). This option is remembered
when application is closed and opened only in non-cast context.
b. Auto Detect Stitch Tol.: This option can be used to detect stitch tolerance based
on model size.
c. Stitch Tol.: This option can be used to assign the particular stitch tolerance.
Part Management
This option can be used to manage parts for CAD entities based on the following options. Many
standard CAD systems embed part information in Level and Color No. fields in IGES.
1. Create Parts Based on Levels: Part will be created based on Level information available
in IGES file. One separate part will be created for each Level found in the IGES file. The
ID of the part will be set to Level No. In this option, if coincident surfaces are present in the
model and if number of levels is less than number of colors, then bodies which belong to
different parts may be put into same parts. This condition is identified and the
recommendation message is printed in the console. Also a message box is posted if
coincident surfaces are found.

Console Message:“Number of Levels available in this file is less than number of Colors.
To create one part per Color, please set the option CAD Options->Create Parts Based On-
>Colors ON and reload this file"
2. Create Parts Based on Color: Part will be created based on Color Number information
available in IGES file. One separate part will be created for each Color Number. In this
option, if coincident surfaces are present in the model and if number of colors is less than
number of levels, then bodies which belong to different parts may be put into same parts.

706
This condition is identified and the recommendation message is printed in the console.
Also, above message box is posted if coincident surfaces are found.
Console Message:“Number of Colors available in this file is less than number of Levels.
To create one part per Level, please set the option CAD Options->Create Parts Based On-
>Levels ON and reload this file"
3. Create Parts Based on Surface Connectivity: On loading the file, the surfaces will be
checked for connectivity and one part each will be created for all those surfaces, forming
one well-connected set.
4. Create One Part for All Entities: On loading the file, only one part will be created for all
the entities.

To set the specified modeling tolerance scheme or Cad options for new CAD file,
post the dialog box using File > Open > Option. This option is applicable for the all CAD
file formats.
Volume Options

This functionality describes various Volume options to control volume computations by


CAD/FE, creating cavities inside volumes, restrict FE based volume computation based on
number of shell elements, creation of interfaces,display support of volume and associate CAD
and FE zones of volumes.
PATH:
 Select Tools > Volume Options from the menu.
Result: The Volume Options dialog box is posted.

The main options are as follows:


If Model Contains Cavity Inside Volume combo box

There may be presence of closed cavities inside an outer volume. This can be detected by
using this option.
The dialog box has a combo box for creation of cavities inside volume. The combo box has two
options:

707
If model contains cavities inside volume, the cavities inside volumes can be created by selecting
Create Cavities Inside Volume option.
Otherwise, separate volumes (volumes without cavities) can be created by using Create
Separate Volumes option.
"Compute FE volume if Element Count < " option
This option can be used for restricting the FE based volume computation during automatic
volume update during any mesh modification operations done in Visual-Mesh.
If the radio button is turned off, then volume update will go irrespective of number of shell
elements present in the model.
If radio button is turned on and a certain value is set in the text box, then volume update will stop
if the model has more number of shell elements than what is specified in the text box.
Volume update will be fully blocked if a value 0 is specified in the text box.
Whenever CAD and FE is dissociated in a model and volume update is requested, then volume
will be forcefully computed based on FE even if the number of elements specified in the text box
is less than total number of shell elements present in the model.
Compute Volume By options
Volume can be defined by CAD or FE if there are both CAD and FE present in the model. This
can be done by choosing Compute Volume By CAD or FE options. The options can be chosen
and volume can be computed by using Compute Volume button.
If model has only CAD or only FE, then these options will be grayed out.
If any options are changed but volumes are not recomputed, and if you want to close the dialog
box, a message box will be posted.

Compute Interfaces options


There are two toggles for controlling the creation of coincident and non-coincident interfaces.
These two options will update interfaces can be updated during volume computation.
If both Create Coincident Interfaces and Create Non Coincident Interfaces are toggled on,
both coincident and non-coincident interfaces will be calculated. If any one of them is toggled on,
then only that type of interfaces will be calculated.
After toggling on any or both the options, the interface computation can be done by clicking on
Compute Interfaces button.

Non-coincident interface creation will be off by default for both Visual-Mesh and
Visual-Mesh (Cast). The Create Coincident Interfaces toggle will be switched on by default
in Visual-Mesh (Cast). For Visual-Mesh, this option will be switched off by default.
However, if .mesh file is imported in Visual-Mesh, this option will be forcefully switched on.
Display Volume By options
The volume based display can be switched on by using Surface and 2D or 3D under Display
Volume By options.
If Surface and 2D option is switched on, then volumes will be displayed with surfaces and 2D
elements only during show, hide and locate of volumes. If the 3D option is switched on, volume

708
3D elements will only be displayed during show, hide and locate of volumes. However, Show All
and Hide All will override all the operations.
After choosing any one option, Refresh Display button must be clicked to activate display based
on Surface and 2D or 3D for current view.
If CAD and 2D elements are partially switched on, then volume can be displayed with partial CAD
and 2D elements for current view.
Associate CAD and FE Button
If non associated CAD and FE are present in the model and if they are disassociated, then they
can be associated by using the Associate CAD and FE button.
Post Editor

This functionality can be used to post a text editor file.


PATH:
 Select Tools > Post Editor from the menu.
Result: An empty text editor file is posted.
Section Cut

Section Cut feature can be used during the analysis phase to have a detailed look at a
particular plane of the model. It allows you to visualize the model by dissecting it into thin layers.
When section is cut in a model window, the model window is said to be in the section
environment. In the section environment, model geometry is switched OFF and only the cut
sections are displayed.
PATH:
 Select Tools > Section Cut from the menu, or
 Click the (Section Cut) icon in the Utility toolbar.
Result: The Section Cut dialog box is posted.

709
Definition tab Attributes tab

Procedure
1. Select Apply To type from the combo box. Section cut can be applied on the option shown
below.

710
a. Displayed Parts: Cut is made for the whole model, but it is shown for only the
displayed parts of the model.
b. Selected Parts: Select parts from the model for cutting. The section cut created will
be applied only on the selected parts. You can also select the hidden parts for cut.
2. Then click the Add… button to post the list of options to define section plane based on
direction of the plane, or to add a new section to the Sections List.

a. In the given list, XY, YZ and ZX are the standard section planes.
b. View Normal cuts the section at the plane which is normal to the view.
c. 2/3 point, Global X, Entity Normal and View Normal are the User Defined…
section planes.
You can choose any one of the given planes and facilitate the definition of the plane
along the required direction.
d. Import Section… helps in importing a section using the Section Import dialog box.
3. The newly selected plane is updated in the Section List area.
4. Sections List: This group consists of the following information about the new section
defined or imported.

711
a. Name: The unique name given to the section by default (non-editable).
b. Direction: Direction of the plane, viz., XY / YZ / XZ / User defined (non-editable).
Direction of the current section can be changed by clicking on the Direction column
of the current section.

c. Display: The section display can be set to ON / OFF.


When a section is newly created, it is placed at the center of the model, by default. This
can be positioned at the required location by using the 'Translate' and 'Rotate' options.
5. Right-click on the section in the Section List to Export or Delete the section, as shown
below.

6. Export… button to export section information in XML file, or section as IGES, from the
Export Section(s) dialog box.

712
a. Export of section information as XML file: The exported section information can
also be imported and applied on the current model.
All the sections present in the active model are exported in .xml format.
b. Export of section as IGES: The section line information can be exported in IGES
format.
c. Export of section as CRASH-CAD: The section line information can be exported
in CRASH-CAD format.
7. Select a section and click the Delete button to delete that section.
8. Model: Option provided to display the model geometry.

a. To visualize the model geometry in section environment: You have options to switch
on the model by:
i. Toggling ON the Display Model option in the Section Cut dialog box.
ii. Right-clicking on the model window and selecting the menu option Remove
Section Environment.
iii. Selecting View > Remove Section Environment from the menu.
b. To switch back to section environment:
i. Deselect the Display Model option in the Section Cut dialog box.
ii. Right-click on the model window and select the menu option Invoke Section
Environment.
iii. Select View > Invoke Section Environment from the menu.
9. Cut Elem: Option provided to display the elements that are cut by the section plane.
Examples of Cut Element feature

713
10. Clipping Plane: Option provided to clip the displayed model at the section plane location.
a. Follower Clip: If the cut type is Follower and Clipping plane is ON, the clipping
follows for all the frames on animation, that is, the cut elements remain the same for
all frames. During animation, as the section line deforms, the deformed cut
elements are also shown on one side of the section line.

714
b. Fixed Clip: If the cut type is Fixed and Clipping plane is ON, the clipping plane
remains at the same position during animation. As the model animates, different
elements are cut for each frame.

715
11. Flip: Flips the plane normal.

Setting Properties for Section Plane


1. Show Plane: Select Show Plane option to see the section plane in the model. You can
deselect the same if you do not want to see the section plane on the model.

716
The section plane displays tentative handle locations at the edges and at the center of the
plane, as shown below.

On moving the mouse over the tentative rotation handles, actual handle is displayed,
which can be picked and dragged to rotate the plane about the edges of the plane. The
degree of rotation is displayed in the edit box next to the handle. You can enter the precise
value for rotation in the edit box and press Enter to rotate the plane by the required value.
The value in the edit box starts from zero at each pick of the handle.

717
The plane handle can be translated in the plane normal direction or can be rotated about
the plane center by using the handles at the center.

718
On moving the mouse over this tentative rotation + translation handle, actual handle is
displayed, which can be picked and dragged to translate the plane in the plane normal
direction. The plane's translated value is updated in the edit box next to the handle. You
can enter the precise value for translation in the edit box and press Enter to translate the
plane along normal direction by the required value. The value in the edit box starts from
zero at each pick of the handle.
2. Apply inside plane limits only: On selecting this option, the plane becomes finite, that is,
only the parts which lie inside the plane extents will be cut. You can resize the plane and
visualize the cut only within the plane. Full cut along the plane can be visualized anytime if
this option is deselected.

719
Type of section
1. Fixed section: The cutting plane is fixed in space. When animating the section, parts of
the structure going through this cutting plane are cut and displayed. Fixed sections are
always in plane.
2. Fixed section (Attached to Node): The cutting plane is fixed to a selected node in the
model. When animating the model, the section plane will be translated along with the node
to which it is attached. Fixed sections attached to a node are always in plane.
3. Follower section: The cutting plane is fixed to the model. The position of the cutting plane
on the structure is computed for the given center, and normal at the reference state. When
animating the section, you will see how the cut section will deform over time. A follower
section at a state different to the reference state may or may not lie in a plane, according
to the deformation of the structure.
Procedure
1. Choose Fixed option to define the cutting plane fixed in space. Node Id check box and edit
box will be activated. Enter the Node ID to which the section plane should be attached.
The selected section plane will behave as a fixed plane to the node.

720
a. To create parallel planes to the defined plane, set the number of cuts parallel to the
currently defined section, with the given distance increment in the model units.
b. To reverse the direction along which the parallel sections are generated, change the
sign of the increment value.
2. Choose Follower option to define the cutting plane fixed on the model.

a. Set the number of cuts parallel to the currently defined section, with the given
distance increment in the model units.
Translating Section Plane
Translate option is used to position the section plane at a particular point the model window.

721
1. You can move the selected section along its normal direction using the wheel slider.
2. Also, to position the section plane at a particular node / point, click the Move to
Point/Node: button and pick the node / point in the model window. The selected section
plane will be moved to the picked location.
3. Translating the section plane using keyboard and mouse combination: Select Drag option
and press <Shift> + middle mouse button, and move the mouse in the vertical direction to
translate the selected section plane in the plane normal direction.
4. On clicking Move forward or Move backward button, the selected section will translate
for the given increment value along the plane normal.
5. Plane handle is provided to the plane. Plane can be translated by using the handles also.
Rotating Section Plane
Rotate option is used to rotate the selected section about the required axis, which could be X, Y
local axis of the section plane.

1. Select the required axis of plane rotation and use the wheel slider to rotate the section
plane.
2. On clicking Move forward or Move backward button, the section plane will rotate by one
degree about the selected local X, Y axis.
3. Plane handle is provided to the plane. Plane can be rotated by using the handles also.
Defining Plane Settings

722
1. Click the button to post the Color dialog box. You can assign a color from the dialog
box to the section plane.
2. Select Grid On/Off option to view grids on the section plane. The grid size can be
increased along X axis (X Incr:) and Y axis (Y Incr:).
3. The Plane Extents, i.e., Length and Width of the section plane, can be changed manually
as required.
Setting Attributes
Click the Attributes tab to post the Attributes options.

723
1. Part Color: Select Same as model display method option to retain the default part
colors.

2. To change the color of any part, click the button and select any color from the Color
dialog box. After selecting the color, click the OK button in the Color dialog box to accept
the chosen color.
3. Display Method: By default, the display method is selected, and the section display
method is set to Boundary mode.
a. The display mode set here will overwrite the display mode set for the model.
b. Model and section can be displayed in different display modes by selecting the
Display Method option.
c. Different display methods provided for section cut are:

i. Feature Line
ii. Wire Frame
iii. Smooth Shaded
iv. Smooth Shaded Wire Frame
4. Bring To Front: Select this option to bring the section cut to the front of the model.
5. Reset: Sets the view of the model such that the section is perpendicular to the viewpoint.
6. Line Thickness: Set the desired line thickness for the section cut by selecting an option
from the menu posted on clicking this button.
7. Section Force can be calculated using one of these options: Create Section force
curves.
a. If Curve option is selected, the section force will be computed for all states of the
DSY file of the active model. Four curves corresponding to the X, Y, Z-component
and the magnitude of the section force will be created and displayed in the active
curve window.

When a DYNA pre file is associated with a post file, Section properties can also be
computed.

724
On selecting , Section properties are computed and displayed in a panel, as
shown below.

o Click on Save to write the above table info to the csv file. The hyperlink will be
written to the console window.
o Click on Close to close the above panel.
Limitations:
o Properties will be computed only for shells.
o Even if an element is cut partly by the section plane, the full element will be
considered for the computation.

725
8. On Displayed Parts: Select this option to calculate the section force on the displayed
parts.
Other Updates in the Section Cut feature
1. If a model is overlaid on a model which already has section cuts defined, the master
model’s section cuts are automatically applied on the slave model on overlay.
2. Section lines can be picked in the model window by point pick or rectangular window pick
3. On pick, parts for the picked section lines are selected.
Examples Showing Section Cut Dialog Box Options

726
727
Examples Showing Section Cut with Applied Contour

728
729
Volume Cut

Volume Cut functionality can be used during the analysis phase to have a detailed look at a
particular volume of the model.
PATH:
 Select Tools > Volume Cut from the menu.
Result:TheVolume Cut dialog box is posted.

By default, if the volume is not already defined for the active model, a volume covering the
extents of the displayed model will be defined and displayed, as shown in the figure above.

730
Procedure
1. Box Display: Select/deselect this option to switch ON/OFF the box display and box on the
model.
When switched ON, the defined box is displayed in the model window. The box has
handles on the faces, at the center and at the box corners.
Face handles and corner handles are provided to resize the box.
Center handles are provided to position the box.
On moving the mouse over this tentative translation handle, actual handle is displayed,
which can be picked and dragged to translate the face of the box in face normal direction.
The translated value is updated in the edit box next to the handle. You can enter the
precise value for translation in the edit box and press Enter to translate the face along
normal direction by the required value. The value in the edit box starts from zero at each
pick of the handle.

2. Box Definition
a. Point 1: Text boxes are provided to edit the XYZ values of the minimum extent
point of the box definition.
b. Point 2: Text boxes are provided to edit the XYZ values of the maximum extent
point of the box definition.
c. Move Box C.G. at Node: The center of the defined box can be positioned at the
node by mentioning the node ID in this text box.
d. l x b x h: These text boxes are provided to set a particular size for the box. Length,
breadth and height of the box can be varied by mentioning the value in this text
boxes.
e. Reset: Clicking on this button to reset the box size to the extents of the displayed
model extents.
3. Box Settings
a. Face Handles: Switches ON/OFF the display of the handles on the face of the box
in the model window.
b. Line: Switches ON/OFF the display of the box lines.

731
i. To set the thickness of the box lines, click the icon.

ii. To set the style of the box lines, click the icon.

iii. To set the color for the box lines, click the icon.
iv. Point label: Switches ON/OFF the display of the point label for the box in the
model window.
4. During animation of the model, if the box is to be moved along the path of a particular
node, then Follow Node option can be used.
a. Follow Node: Switches ON/OFF the follow node feature for box animation. (This
feature is applicable for Post model only).
b. Pick Node: Click this button and pick the node in the model window. The ID of the
picked node will be displayed in the dialog box. You can edit the node ID, if
required, to assign another node.
When Follow Node option is ON and a valid node ID is defined, animation of the model
will animate the box along the path of the follow node selected.
5. Show cut result: Select this option to visualize the section cut result on the face of a
volume box.
In case of solid elements, the cut face will display the cut results instead of being hollow.
If any contour is applied on the model, the same will be reflected on the volume cut faces.
Clip Plane

Clip Plane feature can be used during the analysis phase to have a detailed look at a
particular plane of the model. It allows you to visualize the model by dissecting it into thin layers.
PATH:
 Select Tools > Clip Plane... from the menu.
Result: The Clip Plane dialog box is posted.

By default, XY clip plane will be defined. Active model window will be updated with the XY clip
plane.

732
Procedure
1. Clip Plane ON/OFF: Select/deselect the XY, YZ, ZX options to switch ON/OFF the
respective clip planes.
2. Translate the clip plane: Using the left and right arrow buttons, you can translate the clip
plane in the positive and negative direction of the plane normal.
3. Rotate About the clip plane: You can set the rotation axis for the plane by selecting any
one of the axes of rotation (X, Y or Z), and rotating the clip plane using the arrow buttons.
4. Flip the clip plane: Flips the clip side of the active clip planes.
5. Show Plane: Switches ON/OFF the clip plane display.
6. Close: On closing the Clip Plane dialog box, the clip planes will be removed from the
active model window.
Annotation

Description of Annotation functionality.


PATH:
 Select Tools > Annotation... from the menu.
Result: The Annotation dialog box is posted.

733
Procedure
1. Click the left mouse button on the model window for the first reference point, drag to the
end point and then release it.
2. A line with default text (Add_Text_1) is drawn.
You can change the position of the annotation in the model window by clicking on it and
dragging to the required position.
Select the text from the list box, edit it by double clicking and press "Enter" key to replace
the corresponding text on the model.
3. Click on the first column header of the list box to change the status of all annotations to
either ON or OFF.
Click on an individual row to change the selected annotation's status.
4. Click the Settings header to post the Settings dialog box, to change the font and line
settings of all annotations in the list.
To change the settings of a particular annotation, click on the corresponding Settings
column.
5. Select the annotation and click the Delete button, or press the "Delete" key on the
keyboard to delete the selected annotation.
6. Click the Close button to close the dialog box.
Transform

This functionality enables you to transform and make a copy of CAD or FE entities such as
nodes, curves, surfaces, elements and other entities. The transformation methods available
include Translate, Rotate, Mirror, Scale and Reorient.
PATH:

734
 Select Transform option from the Curve, Surface, Node, 1D, 2D, 3D or Tools menu
(context-specific menus).
Result: The Transform dialog box is posted.
Procedure
Translate selected entities

Vector option Screen Drag option

735
Offset option

1. Select the entities using Selection toolbar and click the (Update selection) button or
middle mouse button to confirm.
2. By default, the Move option is selected. This moves the selected entities to the new
position. To create a copy of the selected set, select the Copy option. Specify the number
of copies to be made in No. of Copies text box.
3. While the entities are being copied:
a. Copied entities can be assigned to a specific part ID by entering a new ID in the
Part text box. If you type ‘*’ in the text box, the copied entities will have the same
part IDs as the source.
b. While copying entities across models or making a copy of entities in a model to a
different part, they can be copied without any transformation. For this, after entity
selection in one window, activate the target window by clicking on it and click the
Copy button or middle mouse button to copy without transformation (or set the Dist.
text box to 0, which will ensure that the position is not changed). If the entities are to
be copied to a different part, enter the target part ID in the Part text box, set the
method to Copy, set the Dist. to 0 and click the Copy button or middle mouse
button.
4. Select the Vector, Screen Drag or Offset option from the drop-down list to specify the
translation vector:
a. If you select Vector option, define the required vector in the Vector Definition dialog
box that is posted, and click the OK button or middle mouse button to confirm.
Result: If two points are picked in the Vector Definition dialog box for defining the
vector, the distance between these two points is taken as the magnitude of
translation and is updated in the Dist. text box. You can make changes in the
Vector Definition dialog box any time without losing other inputs by clicking the

736
Vector button. The components of the vector defined with respect to the global
coordinate system will be shown in the dX, dY and dZ text boxes. These can be
modified.
b. If you select Screen Drag option, click and drag a point in the model window to a
new location.
Result: The direction of translation is defined from the first point to the second point
parallel to the model window plane. The magnitude of translation is the distance
between these two points, which is updated in the Dist. text box. The dH, dV and
dN text boxes show the components of the vector with respect to the model window
co-ordinate system (dH is horizontal, dV is vertical and dN is normal to the model
window direction).
c. If you select Offset option, select the coordinate system with respect to the
specified offset components. The coordinate system can be specified either by
entering its ID in the CID text box, or by clicking the CID button and graphically
picking a co-ordinate system. A new coordinate system can be created by clicking
the New CS button, which will post the Coord-Sys Definition dialog box. If no CID is
given (CID=0), the offset components are interpreted in the model coordinate
system. Specify dX, dY and dZ values, which define the direction of translation.
Result: The magnitude of vector (dX, dY, dZ) is updated in the Dist. text box.
d. If the Screen Drag or Offset option is selected, translation can be arrested for one
axis or two axes by selecting X Axis, Y Axis, or Z Axis, or any combination of two
axes.
The distance of translation can be accurately specified along the defined direction
either by entering its value in the text box or by clicking on Dist. button and picking
two nodes. If the latter method is used, the distance is taken as the distance
between the two picked nodes.
Once the translation vector is specified, the entities are displayed in the new
position. If the Move method is used, the entities are displayed in grey color. If the
Copy method is used, the entities are displayed in blue color. (If the Move method
is used and the Repeat option is selected, the entities will not be displayed in the
new position).
5. Click the Move/Copy button or middle mouse button to accept the transformation.
6. To reject the selection and transformation, click the Reset button.

If a part of the elements in a connected mesh is selected for transformation, the


elements will be detached on transformation and new nodes will be created at the
detached boundaries. If detachment is not required, the nodes of these elements should
be selected instead of elements during entity selection.
7. To make an interactive transformation, select the Repeat option in the beginning. In this
mode, after selecting entities and giving inputs of transformation, click the Move/Copy
button successively to keep transforming the selected entities incrementally. For Copy
operation, clicking middle mouse button acts as confirmation.
The entity selection can be modified at any point of time without losing other inputs by
clicking the Select Entities button and modifying the selection. Similarly, the other
transformation inputs can be modified without losing selection by clicking the
corresponding buttons and making the necessary changes.
To start afresh, click the Reset button. (In Repeat mode, the incremental transformations
done are permanent and cannot be canceled. To simulate cancel, click the Flip button and
click the Move button repeatedly to get back to the original position. This will not bring

737
back the element node connectivity if some elements were detached from the rest while
translating).
Scale selected entities

1. Select the entities using Selection toolbar and click the (Update selection) button or
middle mouse button to confirm.
2. By default, the Move option is selected. This moves the selected entities to the new
position. To create a copy of the selected set, select the Copy option.
3. While the entities are being copied, the set can be assigned to a specific part ID by
entering a new ID in the Part text box. If this text box is left blank, the copied entities will
have the same part IDs as the source.
4. Enter the appropriate scale factors in the X, Y or Z text boxes.
Result: If a value is specified in the All text box, all three components will be updated with
this value. By default, the scaling is done with respect to the model coordinate system (CID
= 0). To change this, either specify the ID of an existing coordinate system in the CID text
box, or click the CID button and graphically pick a coordinate system.
5. To scale the selected entities about a known point, select the About Point option and pick
a point. The scaling will be done with reference to this point. If this option is deselected, the
scaling will be done with respect to the origin of the coordinate system indicated in the CID
text box. If scaling is required about a different point, click the Origin Point button to pick
the point. (The Origin Point button appears on selecting the About Point option).
6. Click the Move/Copy button or middle mouse button to accept the transformation.
7. Click the Reset button to reject the changes.

For details of Repeat option, refer the 'Translate' section above.


Reorient selected entities

738
1. Select the entities using Selection toolbar and click the (Update selection) button or
middle mouse button to confirm.
2. By default, the Move option is selected. This moves the selected entities to the new
position. To create a copy of the selected set, select the Copy option.
3. While the entities are being copied, the set can be assigned to a specific part ID by
entering a new ID in the Part text box. If this text box is left blank, the copied entities will
have the same part IDs as the source.
4. Select one of the following options to specify the method of reorientation:
a. If the Line to Line option is selected, pick two nodes in the model window to locate
the base point and direction point of the first line. Pick two more nodes in the model
window to locate the base point and direction point of the second line.
Result: The selected entities are translated in space by an amount equal to the
displacement between the base points of the two lines. They are rotated in space in
such a way that the orientation of the direction point of the first line with respect to
its base point is mapped to the orientation of the direction point of the second line
with respect to its base point.
b. If the Plane to Plane option is selected, pick three points in the model window to
locate a temporary coordinate system in space, and pick another three points in the
model window to define a second temporary coordinate system in space.
Result: The position and orientation of the selected entities with respect to the first
coordinate system is mapped to the position and orientation of the transformed
entities with respect to the second coordinate system.
5. Click the Move/Copy button or middle mouse button to accept the transformation.
6. Click the Reset button to reject the changes.
Rotate selected entities

739
1. Select the entities using Selection toolbar and click the (Update selection) button or
middle mouse button to confirm.
2. By default, the Move option is selected. This moves the selected entities to the new
position. To create a copy of the selected set, select the Copy option.
3. While the entities are being copied, the set can be assigned to a specific part ID by
entering a new ID in the Part text box. If this text box is left blank, the copied entities will
have the same part IDs as the source.
4. On selection of entities, the Axis Definition dialog box is posted, where you can define the
axis of rotation using the required method. Click the OK button or middle mouse button to
confirm.

The Axis Definition dialog box can be posted later by clicking the Axis button. This
allows you to make any change in the axis without losing other inputs.
5. The angle of rotation can be specified in three ways:
a. Specify the angle in the Angle text box.
b. Select the 3 Pt. Angle option from the drop-down list and pick three nodes. The
angle subtended at the second node by the lines joining the first and third nodes to
the second node is taken as the angle of rotation.
c. Select the 2 Pt. Angle option from the drop-down list and pick two nodes. The angle
subtended at the selected axis by the projection of these two points onto a plane
normal to the axis is taken as the angle of rotation.
6. If the Move method is used, the entities are displayed in grey color. If the Copy method is
used, the entities are displayed in blue color. (If the Move method is used and the Repeat
option is selected, the entities will not be displayed in the new position).

For details of Repeat option, refer the 'Translate' section above.

740
7. Click the Move/Copy button or middle mouse button to confirm the transformation.
8. Click the Reset button to reject the changes.
Mirror selected entities

1. Select the entities using Selection toolbar and click the (Update selection) button or
middle mouse button to confirm.
2. By default, the Move option is selected. This moves the selected entities to the new
position. To create a copy of the selected set, select the Copy option.
3. While the entities are being copied, the set can be assigned to a specific part ID by
entering a new ID in the Part text box. If this text box is left blank, the copied entities will
have the same part IDs as the source.
4. On selection of the entities, the Plane Definition dialog box is posted, where you can define
the mirroring plane using the required method. Click the OK button or middle mouse button
to confirm.

The Plane Definition dialog box can be posted later by clicking the Plane button. This
allows you to make any change in the plane without losing other inputs.
5. Once the plane is defined, the entities are displayed in the new position. If the Move
method is used, the entities are displayed in grey color. If the Copy method is used, the
entities are displayed in blue color.
6. Click the Move/Copy button or middle mouse button to accept the transformation.
7. Click the Reset button to reject the changes.

If elements are selected for mirroring, their connectivity will be reversed automatically
so that the mirrored elements will have the inverted normals.

741
If elements are transformed by 'Mirror' option, the referred segments' connectivity will
be reordered.

Nodes and elements can be copied from one model to another using the Copy /
Paste option shortcut keys, viz., <Ctrl>+<C>, <Ctrl>+<V>.

If the Transform dialog box is posted through the Tools menu, the application will
allow selection of all the supported entities for transformation. If the Transform dialog box
is posted through the Curve, Surface, Node, 1D, 2D or 3D menu, the application will allow
selection of only the corresponding entities for transformation.
(Only for Visual-Mesh context) If the Transform dialog box is posted through the Curve or
Surface menu, the application allows selection of both curves and surfaces.

If only linear nodes of elements are selected for transformation, the corresponding
quadratic nodes will not be transformed automatically.

If surfaces are selected for transform by Move option, elements associated with the
surfaces are detached from surfaces. These elements will not be transformed.
If surfaces are selected for transform by Copy option, elements associated with the
surfaces are not copied. Only surfaces are copied.

If surfaces are selected for transform, transformed surfaces will be stitched with
adjacent active surfaces of the same part, based on global stitch option (Tools > CAD
Options > CAD Import Options > Stitch Surfaces).

For copy and paste both stitched surfaces and surfaces are allowed. If both stitched
surfaces and surfaces are selected together, only stitched surfaces will be copied.
Merge Models

This functionality enables you to position the master or slave model with respect to the
other, merge the master and slave models permanently and save the transformation permanently
on the original master / slave model.
PATH:
 Select Tools > Merge Models... from the menu.
Result: The Merge Models dialog box is posted.

742
In this dialog box, the active model is taken as master by default.
Procedure
1. Click the Select Master button to select any other model as master. The Model List dialog
box is posted, from which you can select the master model.
2. You can also select the master model from the model window by clicking on the
(Pick Master Model) icon.

If only two models are loaded, the second model is taken as slave model by default.
3. Click the Select Slave button to modify the slave model. The Model List dialog box is
posted, from which you can select any other pre-model.
4. You can also select the slave model from the model window by clicking on the (Pick
Slave Model) icon.
5. Click the Transform… button for master or slave to post the Transform dialog box.

743
6. Click the Transform… (Slave) button to reposition the slave model with respect to the
master model.
7. Click the Update (Master) button to update the master model’s position permanently. If
you select another model as master without saving the master, it will return to its original
position.
8. Click the Update (Slave) button to update the slave model’s position permanently. If you
select another model as slave without saving the slave, it will return to its original position.
Similarly, master / slave model will return to its original position if the Merge Models dialog
box is closed without updating.
9. In the Transform dialog box, you can select one or more of the options to position the
master / slave model.
a. Translate
b. Scale
c. Reorient
d. Rotate
e. Mirror

Refer the Transform section for details on the functionality of this dialog box.
10. Click the corresponding Update button in the Merge Models dialog box to apply the final
position of the master or slave model to the original master or slave model.
11. Click the Merge Models button to merge the two models permanently.
12. Select Delete Slave Window After Merge option to discard the slave model after
merging, or deselect it to keep the slave model after merging.
13. Click the Close button to exit the dialog box.

In Visual-Cast context, you will be allowed to renumber Node / Element / Part /


Material during merging.

744
Detach Elements

This option detaches the selected element from the rest of the elements.
PATH:
 Select Tools > Advanced> Detach Elements from the menu.
Result: The Detach Elements dialog box is posted.

Procedure
1. Select the elements to detach from the rest of the elements.
Here 1D, 2D and 3D elements are supported for detaching operation.
2. For detaching the elements, click the Detach Elements button or middle mouse button.
Result: The selected elements will get detached.
3. For changing the selection of elements after clicking Detach Elements button, click the
Select Elements button.
Result: This will retain the previous selection and you can now modify the selection.
4. After clicking the Detach Elements button, the preview will be displayed. The nodes which
will be duplicated at the detached element boundary will be shown with a cross mark.
5. Click the Deselect Nodes button to deselect the nodes shown in the preview.
Result: These nodes will not be duplicated at the boundary.
6. Click the Retain All button to retain all the deselected nodes.
7. Click the Reset button to reset the selection of all elements, or to delete the preview.
8. Click the Apply button or middle mouse button to confirm the detaching of elements.
9. Click the Close button to reset and close the dialog box.
Explode

The Explode feature allows you to quickly visualize the hidden parts. Explode can be
applied either on the complete model, or for the selected parts. This feature also allows the
moving of parts by click and drag to the required location, and Reset option brings back the
model / parts to the original state.
PATH:
 Select Tools > Advanced> Explode from the menu.
Result: The Explode dialog box is posted.

745
Procedure
1. Direction:Select the direction of explode from the Direction drop-down list.
By default, XYZ direction is selected for explode. In this case, parts are exploded along the
vector direction of Ref. Point and the CG of the respective parts.
Parts can be exploded in X, Y or Z direction by selecting the appropriate menu option.
Similarly, parts can also be exploded in XY, YZ or ZX planes.
2. Factor:Factor is applied on the distance between the Ref Point and the CG of the selected
part.
3. Ref. Point:By default, Ref Point is CG of the displayed parts. Ref Point can be modified
either by specifying the co-ordinates in the text box provided, or by graphical pick.
4. Part Selection: Procedure to select parts for explode:
a. Click the Select Parts button and then graphically pick using Selection toolbar.
b. Click the Update Parts button to confirm the selection.
c. Click the Clear Selection button to deselect the previous selection.
5. Move:Once the parts are selected, they can be moved to the required location by graphical
pick and drag operation.
6. Explode:If parts are not selected, then all the displayed parts are exploded for the specified
input values. Explode operation can be repeated, and in that case, the parameters are
applied on the previously exploded state.
7. Reset:Brings back the exploded model to its original state.
8. Export...:You can save the explode matrix of each part to a file.
9. Import...:You can directly import a matrix file. Explode matrix is applied on the respective
part IDs of the model.
10. Close:Closes the Explode dialog box.
Customize

Visual-Environment has several customization possibilities. This section describes the


customizations that can be done using the Customize dialog box.

The default menus and toolbars cannot be customized.


PATH:
 Select Tools > Customize from the menu, or
 Right-click in the Menu Bar or Toolbar area and select Customize... option from the pop-
up menu.
Result: The Customize dialog box is posted.

746
You can modify the following settings in this dialog box.
General

This section contains information about customization of general behavior. Using the
General tab, you can set display of toolbar icon, tooltip, language of the application and display of
HTML reports.
PATH:
 Select the General tab in the Customize dialog box.

Tab Options
1. Toolbars: In this section, you can customize whether or not the tooltip will be displayed,
how the tooltip will be displayed and the icon size for the toolbar.
a. Show ToolTips: Select this option to display tool tips for toolbar icons.
b. With Shortcut Keys: Select this option to display shortcut keys in the tool tip when
the tool tip is on.
c. Large Icons: Select this option to enable large toolbar icons.
d. Adjust automatically position: Select this option to automatically adjust the
position of toolbars.
2. Language: You can select your preferred language from the available options.
a. User interface language: Select the user interface language from the drop-down
list.

747
After selecting this option, you will have to restart the application for the changes to
be reflected.
3. Customization Settings
a. Import Settings: To import customization, you can click the Import button, which
will post the Import Customization Wizard.

i. Import Customization settings from this directory: Specify the directory


from which you want to import the customization settings by clicking the open
icon .
ii. Store my current setting in this directory: Select this check box to specify
the directory path to which you want to save your current settings by clicking
the open icon .
Click Next > to proceed to the next step. You can also click Cancel to cancel the
process.

748
i. Which settings do you want to import: Select or deselect the options that
you want to import by checking or unchecking them.
ii. Description: Shows the description of the selected option.
iii. Overwrite (recommended): If you select this option, import process will
overwrite the current customization settings. It is the recommended option.
iv. Merge: If you select this option, import process will merge the imported
customization settings with the existing one.
Click Next > to proceed to the next step of import process; it displays the status of
the process. You can also click < Back to go back to the previous step, or click
Cancel to cancel the process.

749
Click Finish to finish the import process.
b. Export Settings: To export customization, you can click the Export button, which
will post the Export Customization Wizard.

i. Which settings do you want to export: Select or deselect the options that
you want to export by checking or unchecking them.
ii. Description: Shows the description of the selected option.

750
Click Next > to proceed to the next step. You can click Cancel to cancel the export
process.

i. Store my settings file in this directory: Specify the directory to which you
want to export the current customization settings by clicking the open icon
.
Click Next > to proceed to the next step. You can also click < Back to go back to
the previous step, or click Cancel to cancel the export process. On clickingNext >,
the wizard displays the status of the export process.

751
Click Finish to finish the export process.
c. Restore Default: To reset all customization, you can click the Restore Default
button, which will post the Reset Customization Wizard.

i. Save my current settings before resetting: Specify the directory to which


you want to save the current customization settings by clicking the open icon
.

752
ii. Don’t save current settings. Just reset all default settings: Choose this
option if you don’t want to save your current customization settings.
Appearance

This section contains information about customization of GUI appearance. Using the
Appearance tab, you can customize how the GUI will look.
PATH:
 Select the Appearance tab in the Customize dialog box.

Tab Options
1. Application bar: This section allows you to select how the application bar will be
displayed:
a. Display as a toolbar: Application bar will be displayed as a toolbar.
b. Display as a menu: Application bar will be displayed as a menu.
c. Display as a list: Application bar will be displayed as a list.
2. Explorer: In this section, you can set how the Explorer window will appear.
a. Display of the tabs: This option lets you select how the tabs in the Explorer
window will be:
i. Image only: Tabs will be displayed with only image.
ii. Text only: Tabs will be displayed with text.
iii. Text And Image: Tabs will be displayed with both text and image.

753
b. Multiple rows: You can check this option if you want tabs to be displayed in
multiple rows, otherwise tabs will be displayed in a single row and a spinner control
will appear when there is not enough room for all the tabs.
c. Position of the tabs: You can select any of the four positions, i.e., Top, Left,
Bottom, and Right, where the tabs will be shown.
d. Hide automatically the tabs: If there is only one tab in the Explorer window, then
you can hide the tab header using this check box.
3. Console: You can set how the console window will look like.
a. Display of tabs: This option lets you select how the tabs in the Explorer window will
be:
i. Image only: Tabs will be displayed with only image.
ii. Text only: Tabs will be displayed with text.
iii. Text And Image: Tabs will be displayed with both text and image.
b. Position of the tabs: You can select any of the four positions, i.e., Top, Left,
Bottom, and Right, where the tabs will be shown.
c. Hide automatically the tabs: If there is only one tab in the Explorer window, then
you can hide the tab header using this check box.
4. Visual Effect: You can select any of the defined color schemes for the application.
Toolbars

This section contains information about customization of Toolbars. Using the Toolbars tab,
you can set visibility of toolbars, add new customize toolbars, reset the toolbars' position.
PATH:
 Select the Toolbars tab in the Customize dialog box.

754
Tab Options
1. Toolbar list
a. All the toolbars and docked windows, i.e., Explorer bar, Console bar are listed here.
You can filter toolbars according to Docked Windows or Toolbars using the filter
combo box. To show all the control bars, select All.
b. Show/Hide bar: You can check or uncheck any bar to show or hide it.
2. Reset Position: Click this button to automatically re-adjust all the toolbars' positions.
3. New Toolbar:
a. To create a new toolbar, click the New... button to post the New Toolbar dialog box.

b. Enter the toolbar name and check Available only in this context check box if you
want this toolbar to only be available in the present context, otherwise leave it
unchecked and click OK.
4. Rename Toolbar:

755
a. Select a custom toolbar and click the Rename... button to post the Rename Toolbar
dialog box.

b. Enter a new name for the toolbar and click OK.


5. Delete Toolbar: You can delete the selected custom toolbar by clicking the Delete button.
6. Factory Setting: You can discard changes and restore the factory settings.
Commands

This section contains information about customization of commands. Using the Commands
tab, you can create user menus and customize user menus and user toolbars.
PATH:
 Select the Commands tab of the Customize dialog box.

Tab Options
1. Categories: All the available command categories are listed here. On selection of a
particular category, corresponding commands are displayed in the Commands list.

756
a. Create User Menu: Select New Menu from the Categories list, then select and
drag New Menu from the Commands list and drop it on the menu bar. If the menu

is droppable in the current mouse position, then the cursor will look like ,

otherwise it will look like .


2. New user-menu...: Click this button to create a new user menu. The Button Appearance
dialog box is posted, where you can define the new menu name.

The Button Appearance dialog box can also be used to customize an item in a user
menu or user toolbar. With the Customize dialog box open, right-click on the item to be
customized and select Button Appearance... option from the pop-up menu that is posted.
The Button Appearance dialog box is posted, where you can edit the image and/or text of
the item, as required.
3. Commands: Corresponding commands of the selected category are displayed in the
Commands list. You can select and drag commands to a user menu or toolbar.
4. Command filter: You can filter out Commands list using the regular expression. For
example, type “Clo*” in the edit field and press Enter to filter out commands starting with
“Clo”.
5. Description: The description of the selected command is displayed in this panel.
Scripts

This section contains information about customization of scripts. Using the Scripts tab, you
can add, delete or reorder scripts' paths and use the scripts residing in these directories as
commands.
PATH:
 Select the Scripts tab of the Customize dialog box.

757
Tab Options
1. Script Path

a. Add scripts path: Click the button and select a script path using the path
selector button, or enter the full path where your scripts are present.

b. Delete scripts path: Select a path and click the button.

c. Reorder scripts path: You can use or button to reorder scripts path.
2. Variables: Click this button to post the Variables definition dialog box:

758
a. Expand the variables:Select this option to display the full path of the variables.
b. Hide deprecated variables: Select this option to hide the deprecated variables in
the panel.
c. Close: Click this button to close the panel.
3. Refresh: Click this button to reflect the changes made to the scripts path in the table.
Keyboard

This section contains information about customization of keyboard shortcut. Using the
Keyboard tab, you can customize keyboard shortcuts for commands.
PATH:
 Select the Keyboard tab in the Customize dialog box.

759
Tab Options
1. Categories: Lists all the available command categories.
2. Commands: Lists all the commands of the selected category.
3. Description: Displays the description of the selected command.
4. Current Key: Displays the currently assigned shortcut key to the selected command. If
there is no shortcut assigned, then it will be empty.
5. Press new shortcut key: Press the new shortcut key and it will be displayed in the edit
field. If the new shortcut key is already assigned to another command, then the respective
command will be shown below.
6. Reset Changes
a. Reset: You can discard changes for the selected command and restore the shortcut
key defined in the context file.
b. Reset All: You can discard changes for all commands and restore the shortcut keys
defined in the context file.
7. Assign: Click this button to assign the new shortcut key to the command.

To view the keyboard shortcut/hotkey report, refer the Keyboard


Shortcuts/Hotkeys section.
Mouse

This section contains information about customization of mouse operation. Using the Mouse
tab, you can edit and associate some defined operations with mouse actions.
PATH:

760
 Select the Mouse tab in the Customize dialog box.
Tab Options
1. Scheme: This option enables you to select a scheme. There are two schemes, Default
and CATIA.
Default scheme

CATIA scheme

761
2. Mouse Operations: Following mouse operations can be customized in the Mouse tab:
Default scheme:
a. 3D Rotation
b. 3D Continuous Rotation
c. 2D Rotation
d. Translation
e. Zoom Area
f. Progressive Zoom
g. Fit
h. Horizontal/Vertical rotation
CATIA scheme: In CATIA mouse scheme, mouse buttons will be identified as follows:

762
The following table describes different view manipulation operations you can perform in
CATIA scheme:
View Operation Mouse button sequence
Panning/Translation Press and hold first key and move the mouse
Rotation Press and hold first key and then press and hold second key
Zooming Press and hold first key and then press and release second key
Define viewpoint Press and release first key

Progressive zoom operation in CATIA scheme is different from the existing


progressive zoom in Visual-Environment when executed using the mouse. Moving the
mouse forward will zoom in, and moving it backward will zoom out. This is the opposite of
executing the operation from the toolbar. Progressive zoom in CATIA scheme is made
different to make it similar to CATIA application.
3. Configure mouse operation parameters: You can configure any selected mouse
operation by clicking the Edit button or double-clicking on the operation, which will post a
configuration dialog box.

763
a. Modifier key: You can assign any modifier key (Control, Shift, or both) to the
operation.
b. Mouse button: You can set any or a combination of mouse buttons (Left, Middle, or
Right) to the operation.
c. Display mode: You can select any of the display options when the operation is
performed:
i. As it is: No change in the model display.
ii. Boundary: Only boundary of the model will be displayed.
iii. Feature Lines: Only feature lines of the model will be displayed.
d. Options: You can select Immediate action option to effect the change you made
immediately.
e. Click the Assign button to assign the options to the selected operation, or on
Cancel to discard the changes.
4. Cancel when mouse is out of window: You can select this option if you want on-going
mouse action to be cancelled automatically when mouse is out of window.
5. Enable detection of SpaceBall or SpaceMouse (Automatic startup): You can select
this option to enable automatic detection and configuration of the Space Mouse.
Space Mouse Integration
Support is provided for the following USB devices:
a. SpaceMousePlus
b. SpaceMouseClassic
c. SpaceBall5000USB
d. SpacePilot
e. SpaceNavigator
f. SpaceExplorer
g. SpaceNavigatorForNotebooks
h. SpacePilotPRO
For devices not on this list, i.e., older devices, the application will only manage the sensor
and the first button to display the spaceball contextual menu.

764
If you wish to, you can further configure the controls on this device through the Button
Customization dialog box. To display this dialog box, post the spaceball contextual menu
and select Customize Buttons... option.

If the default settings are set to space mouse device control panel, change it to
Application Panel from 3Dconnections properties dialog and click Menu button in the
device. That will post the visual space mouse customization options:

765
Space Mouse is supported only on Windows.
Change PID

Change PID utility can be used to change the Part ID of the selected elements. These
elements can be moved to an existing compatible part, or to an altogether new part of the same
type as the old one.
PATH:
The Change PID dialog box can be posted using any of the following menu options (context-
specific menus):

 Tools menu or right-click menu in the model window:

766
Result: If the Change PID dialog box is posted using these menu options, you can change
the Part ID (PID) of any kind of element, that is, 1D, 2D or 3D. Elements (of the same type)
can be pre-selected before invoking the Change PID dialog box.
Procedure
1. Select elements to change PID:
a. Click the Select Entities button to select the elements whose Part IDs need to be
changed. In case of pre-selection of elements, you can click this button to modify
the current selection of elements.
b. Click the (Update selection) button or middle mouse button to confirm the
selection of elements. The selected elements will be highlighted in red color
(highlight color). On updating, the Current PID text box will display the Part ID of
the selected elements. In case the elements are selected from more than one part,
"*" will be displayed.

Only the same kind of elements can be updated and considered for altering
the PID.
2. Select an existing part/create a new part:
a. Select the target part by clicking the Select Target PID button. The required part can
be selected by any of the following methods:
i. Graphically pick the part from the model window, or
ii. Enter the PID in the Target PID text box, or
iii. Select the part from the Selection toolbar list.

The target part chosen for the selected elements should be compatible with
the element type. In case more than one part is chosen either through graphically
pick or from the list, the last selected part will be taken as the target part for the
selected elements.

b. Create a new part by clicking the (New Part) icon. It will be of the same part
type as the old one.
c. If the elements are selected from a single part, the attributes of the old part will be
copied to the new part.
3. Confirm the Change PID operation:
a. Click the Apply button to change the PID of the selected elements, as defined in
the Target PID. You can now use the same dialog box for the next Change PID
operation.
b. Click the OK button to confirm the Change PID operation and close the dialog box.
c. Click the Cancel button to cancel the current Change PID operation and close the
dialog box.
Units

This functionality enables you to set the preferred unit of measurement for the active model.
PATH:
 Select Tools > Change Length Units from the menu.
Result: The Length Units dialog box is posted.

767
Procedure
1. Model's current unit system is indicated as text in the dialog box.
2. Select the unit of measurement that you want to apply to the active model from the Length
drop-down list.
You can select one of the following options: m (meter), cm (centimeter), mm (millimeter),
ft (foot) and in (inch).
3. Toggle ON Scale Geometry to scale CAD and MESH to target unit system. Preview of
scaled geometry is shown in the model.
4. Click the OK button to apply the selected unit of measurement and scaling to the active
model.

OK button will be active only if model's current unit system and target unit system are
different.
5. Click the Cancel button to exit the dialog box without applying the changes.

If model's current unit system is None, Scale Geometry option is unavailable, and
only unit system can be set to the model.

Only CAD and MESH are scaled to target unit system. If scaled, CAD and MESH
association will be broken.

If Scaling results in very large or very small geometry cannot be represented, the
following error message is given in console and only unit system is set on OK.
"The requested scaling cannot be performed on geometry, as the
resulting size becomes too small!", or
"The requested scaling cannot be performed on geometry, as the
resulting size becomes so large!"
Pre-Defined Output Criterion

Most often, optimization criteria are indeed rather simple quantities based on a given field
(e.g. maximum or average of a defect field in the casting domains can be used as a part quality
objective function). In that context, the user is provided with a simple way to extract such
information from the results of a ProCAST calculation. It is indeed possible to define as many
criteria as desired through the prefix_resdef.dat file (results definition file). This ASCII file contains
the user-defined definitions of as many criteria as desired (enclosed between an *RESULT and
*END keywords).
PATH:

768
 Select Tools > Pre-Defined Output Criterion from the menu.
Result: The Pre-Defined Output Criterion panel is posted.

Procedure

1. Criteria is added by clicking ( ) and deleted by clicking ( ). Added criteria is populated


in the Criteria combo box.

769
2. Select Field Name from which the results have to be extracted.

Each result is defined by which field it will use to extract results from. The available
fields are temperature, solid fraction, velocities, stresses, element volume (the sum of the
element volume field in a domain is the volume of the domain), defect fields (porosity, hot
tears, cracks, fatigue life).
3. Select Criteria Type to extract Maximum, Minimum or Average result.

The criteria offered for all fields are: "average", "min", "max", "sum". The calculation
is performed over all nodes which satisfy (1) volume definition, (2) box definition, and (3)
cut off definition (only used for Shrinkage Porosity). In addition, for Shrinkage Porosity,
"mean" and "variance" can also be calculated. For mean, the calculation of total volume is
only controlled by (1) volume selection (2) box selection. So in general, the total volume for
"mean" calculation is generally larger than for "average".
4. Select Timing for evaluation to be required throughout the calculation, or only at the last
step.

770
5. Enter Value Name to define optional name for the result.

By default, it is same as Criteria name. If nothing is defined, these results will


automatically be referred to as value1, value2, …
6. Enter File Name into which considered results have to be written.

The file name is the name of the file into which the considered results are going to be
written. It is possible to write several criteria in the same file. If no file name is specified, all
the criteria will be output to prefix_resout.dat (results output file).
7. Select domains to be considered for evaluation. The options are Volumes and Regions.

Consider fields only in domain in which they are defined (e.g. do not include a mold
domain in the calculation of the average porosity).

A list of several domains can be provided, separated by blanks. Not only whole
domains (volumes) but also their interfaces or free surfaces can be considered (non-
coincident interfaces are regarded as free surfaces). For example, 2 is going to include
domain number 2 as a whole (bulk and surface), 2s corresponds to the free surface of
domain 2 (equivalent and coincident interfaces are not part of the free surface) and 2i3
corresponds to the surface where domain 2 is in contact with domain 3.
8. Click Advanced Options to define additional parameters such as Box / sphere / cylinder
and Porosity specific parameter – Cut-off.

771
9. Enter Box / Sphere / Cylinder information.

Only nodes of the selected domain and in this box will be taken into account for the
criteria computation.
10. Enter Threshold value to identify "contiguous node".

772
11. Click on Apply to write all the data to <prefix> _resdef.dat file. This file will be saved to
work directory.
12. Click on OK to write all the data to <prefix>_resdef.dat file and close the panel.
13. Click on Cancel to close the panel without saving the changes.

Please note that all the results written in the prefix_resout.dat are by default in CGS
units.
Function Editor

This tool generates user functions for the available Process Conditions. The approach is to
create user functions (external compute often being very useful for that purpose) that will
compute criteria and dump criteria functions (objective or constraints) values to ASCII files. This
method is very useful in advanced cases, for example, when trying to fit experimental data to find
material properties (inverse modeling). Function templates can be loaded by selecting respective
type and property.
PATH:
 Select Tools > Function Editor from the menu.
Result: The Function Editor panel is posted.

773
Procedure
1. Select Process Condition Type.

2. Select Property for a selected Process Condition Type.

774
3. Process Conditions (for selected Property and Type), if available, are displayed in the list.

Available process conditions are displayed in the list for Type ‘Heat’ and Property
‘Film coefficient’.

4. The definition of the selected function is displayed under Definition: section.

In the above example, for selected type and property (Heat and Film coefficient), the
definition of the function template Convehtransfer.c, is displayed in the Definition section.
5. The selected function can be programmed under Program selected function: area.
6. Click on Refresh icon ( ) to erase latest modification and restore function template from
work directory. If function template does not exist in the work directory, standard template
is loaded.
7. Click on Advanced button to open the function template in a text editor. After modification,
the file should be manually saved in the work directory.

8. Click on Apply button to apply the changes to the existing function template. The function
template will be saved in the work directory and will update the Process Condition type to
‘function’ in database.
9. Click on Delete button to delete the template from the work directory if it exists, and
original function template will be loaded. This also updates the corresponding process
condition type to ‘value’ in database.
10. Click on Close button to close the panel.
Geometric Modulus
PATH:
 Select Tools > Geometric Modulus from the menu.

775
Result: The Geometric Modulus panel is posted

Panel Options
1. Volume: Select required volumes for which geometric modulus is to be computed.
2. Apply: Will compute geometric modulus.
Geometric modulus = V / (A - Ia)
where:
V = Volume of selected entities
A = Area of external surface of selected volumes
Ia = Interface area between selected volumes
Compute Thickness
PATH:
 Select Tools > Compute Thickness from the menu.
Result: The Compute Thickness panel is posted

776
The objective of the thickness computation tool is to give a local thickness estimation for each
face to the user.
This computation can be done in two different ways:
 Contact Point
 Ray Tracing

Contact Point
The purpose of this method can be summarized by the detection of pairs of closest faces by
rolling a ball inside the inspected part.
The radius of this ball is adapted in order to be maximal with the following constraints:
 Always being tangential to the face checked: the base point.
 Never cross the part: intersections are only tangential and are represented by a point, the
‘Contact Point’.
The distance is then computed by subtracting the ’Contact Point’ of the sphere (point which
makes the sphere inflation impossible) with the base point located on the face checked.

This approach is highly sensible to the discretization.


Example

'Contact Point’ approach on a 2D case (part boundary is no more a closed surface mesh but a
closed set of segments, and spheres are replaced by circles)

Ray Tracing
In that case, we look for the closest pair of faces with a different search criterion.

777
For each face, the face center (base point) is projected along the face normal until another face is
crossed. The distance is then obtained by subtracting the position of the intersection point and
the base point.
This method is faster than the ‘Contact Point’ method, and is less dependent to the change of
orientation of the neighbor faces.
Example

‘Ray Tracing’ approach on a 2D case (part boundary is no more a closed surface mesh but a closed
set of segments)

Contact Point vs. Ray Tracing


We show in the following figures the major difference between both approaches on a simple test
case.
Examples

‘Contact Point’ thickness: In this example, the maximum thickness does not exceed 15, while the
minimum thickness (approximately 0.5) is located near the sharp edges

778
‘Ray Tracing’ thickness: In this example, the maximum thickness is equal to 60 (the ray cross over
the whole part), while the minimum thickness 5 is located on the flat area, between the two blocks

As we can see, the ‘Ray Tracing’ method is insensitive to the global shape of the object, while the
‘Contact Point’ method is not indifferent to the shape changes. In that second case, the variation
of thickness is smoothed and better considers the overall shape while the first one gives more
precise results for small distances (when the part shape does not influence the thickness locally).

‘Contact Point’ method ‘Ray Tracing’ method

Smoothed variation of thickness Faster

Consider the overall shape Well adapted to small thickness regions

Window
This section consists of the following topics:
 Copy Window
 Couple Windows
 Couple All Windows
 Swap Window
 Page Layout
 Show Only
 Show All
Copy Window

This option enables you to copy a preprocessor window.


PATH:
 Select Window > Copy Window... from the menu.
Result: The copied windows will be created in the same page.
The direction in which the windows are created need not be in the forward direction
because if there are any empty windows before the selected window, such windows will
also be considered for creation.

779
Couple Windows

This option enables you to apply the selected options to the specified windows (coupled
windows).
PATH:
 Select Window > Couple Windows from the menu.
Result: The Couple Windows panel is posted.

Normal View
Panel Options
1. Windows:This tree displays all the windows having model.
2. State:Check / uncheck to couple or uncouple the windows.
3. Options:These are the options for which windows can be coupled.
4. View:Check / uncheck to couple or uncouple the views for selected windows.
This option will be ON by default.
5. Apply:Click on this button to accept the changes.
6. Close:Click on this button to close the panel.
Couple All Windows

This option enables you to couple all the available windows on all the pages.
PATH:
 Select Window > Couple All Windows from the menu.
Result: All the windows on all the pages are coupled.

780
Swap Window

This option enables you to swap one window with another window.
PATH:
 Click on any window to make it the active window.
 Select Window >Swap Window from the menu, or
 Use the shortcut keys <Ctrl> +< W>.
Result: A message is displayed in the prompt area to select the target window, to
complete the operation.
Procedure
1. Graphically click on the target window, or the target window can be selected in the Page
View Explorer.
Result: Once the target window is selected, the source window and target window are
swapped.
The Page View tree is also updated to indicate the same.

The source window and target window need not be in the same page. Any window
can be swapped with any other window.
Page Layout

This option enables you to select the required template for the current page.
PATH:
 Select Window > Page Layout from the menu.
Result: The Page Layout panel is posted.

781
Procedure
1. The standard page layouts for 1 to 16 windows will be displayed in “Standard Layouts”
table. Click on the required template icon to set the corresponding template to the current
page.
Result: The template is immediately updated to the page on selection of the icon.
Click on Close button to close the panel.
2. Apart from the standard layouts, the page layouts for 1 to 16 windows can be customized.
This will be displayed in Customized Layouts combo box.
a. On clicking on Apply button, the selected customized layout will be set for the
current page.
b. If Auto Display check box is ON, the selected layout will be applied immediately.
If Auto Display check box is OFF, the page layout will be set only on clicking on
Apply button.
3. Customized Layouts

782
The customized layouts are defined using an xml file “CustomPageLaytouts.xml”. This file
should be kept in launch directory, user directory, Site directory or application directory
(Bin directory) to display the customized layouts in Page Layout panel. If the file is not
available in these paths, then the file will be read from the
“Common\Resources\VisualEnvironment\” directory.
A sample file is available in this path
“Common\Resources\VisualEnvironment\CustomPageLayouts.xml”.
This is as shown below:

a. Page Layouts: This is the root element. All page layouts will be defined under this
element.
b. Layout: The page layout details will be defined in this element. This element has
the following attributes:
i. Name: Name of the page layout and this name will be displayed in
“Customized Layout” combo box. This name should be unique across the all
page layouts. Examples: “CustomTemplate2_1”, “CustomTemplate3_1” etc.
ii. NumWindows: Number of windows.
iii. Window: The window information, i.e., window position, width, height
information will be defined in this element. This has the following attributes:
1. X: The window x position.
2. Y: The window y position.
3. Width: Width of the window.
4. Height: Height of the window.
The values for these attributes will be defined in percentages.
As per the above sample file, three custom page layouts will be defined, if this file is kept in
kept in launch (VE.bat dir) directory or user directory (user/VE/13.5) or Site directory or
application directory (Bin directory), “CustomTemplate2_1”, “CustomTemplate3_1”,
“CusttomTemplate9_1” names will be displayed in “Customized layouts” combo box as
shown below.

783
The “CustomTemplate2_1” layout information is as shown below. This is a 2 window
layout, hence 2 “Window” elements are defined and “NumWindows” is 2.

The first window position X, Y are 0 and width, height are 25%, 100%.
The second window position X, Y are 25, 0 and width, height are 75%, 100%.

784
The “CustomTemplate3_1” layout information is as shown below. This is a 3 window
layout, hence 3 “Window” elements are defined and “NumWindows” is 3.

The first window position X, Y are 0 and width, height are 25%, 100%.
The second window position X, Y are 25, 0 and width, height are 50%, 100%.
The third window position X, Y are 75, 0 and width, height are 25%, 100%.

785
The “CustomTemplate9_1” layout information is as shown below. This is 9 window layout
so 9 “Window” elements will be available and “NumWindows” is “9”.

The first window position X, Y are 0 and width, height are 25%, 25%.
The second window position X, Y are 25, 0 and width, height are 50%, 100%.
The third window position X, Y are 75, 0 and width, height are 25%, 25%.
The fourth window position X, Y are 0,25, and width, height are 25%, 25%.
The fifth window position X, Y are 75, 25 and width, height are 25%, 25%.
The sixth window position X, Y are 0, 50 and width, height are 25%, 25%.
The seventh window position X, Y are 75,50, and width, height are 25%, 25%.

786
The eighth window position X, Y are 0, 75 and width, height are 25%, 25%.
The ninth window position X, Y are 75,75 and width, height are 25%, 25%.

To define the custom layout:


a. Copy the “CustomPageLayouts.xml” file to launch (VE.bat dir) directory, user
directory (user/VE/13.5), Site directory or application directory (Bin directory). The
custom page layout file will be read based on this priority, i.e., if
“CustomPageLayout.xml” file is available in launch and user directories, then
“CustomPageLayout.xml” will be read from launch directory. If this is available in
user and site directory, then this file will be read from user directory, and so on.
b. Update the “CustomPageLayouts.xml” for the required custom layouts.
Show Only

This option enables you to display only the selected windows in the current page.
PATH:
 Select Window > Show Only... from the menu.
Result: The Show Only panel is posted.

787
Procedure
1. Select the windows which you want to display in the current page, and click on OK button.
Result: The template of the current page will get modified to display the selected windows,
and the remaining windows will be minimized.
The Minimize Toolbar will be displayed in the Toolbar section.
2. Click on Cancel button to close the panel.
Show All

This option enables you to show all the windows in the current page.
PATH:
 Select Window > Show All... from the menu.
Description
In Visual-Cast, every window that is minimized will be displayed after this menu item.
Help
The Help menu consists of the following options:

788
Example of Help menu

 Select Help > Release Notes from the menu to post the release notes for the current as
well as previous versions of Visual-Environment. The release notes describe the new
features, other updates, limitations, known issues and bug fixes in the product.
 Select Help > Help on <Application Name> from the menu, or press <F1> key on the
keyboard to post the user's guide for the selected application.
 Select Help > About Visual-Environment from the menu to post the version and build
information of Visual-Environment.
 Select Help > Shortcut Keys from the menu to post the shortcut keys (hotkeys) report for
the selected application.
 Select Help > DLL Information from the menu to post the DLL information report. This
includes the file name, version, path, description and status of the DLL files used by the
framework and selected application, as shown in the example below.

789
 Select Help > Contact Support from the menu, or click the Support link at the bottom of
the home page to contact the Support team.
 Select Help > Take Survey from the menu to participate in a Visual-Environment survey.
 Select Help > myESI - Customer Portal from the menu to open the myESI Customer
Portal.
 Select Help > API Help from the menu to post the API help for the application in a browser
window.
 Select Help > User Experience Improvement Program to modify your User Experience
Improvement Program participation settings.
 Select Help > About ESI Group from the menu to open the ESI Group website, which
provides information about the company, products and services, customer testimonials,
news, events, support, and much more.

790
Shortcut Keys (Hotkeys)

A number of keyboard shortcuts have been set up to allow fast, direct access to frequently
used menu options and functions. These shortcuts can be accessed by pressing a key while one
or two "modifier" keys (<Ctrl>, <Alt>, <Shift>) are held down.
PATH:
 Select Help > Shortcut Keys from the menu.
Result: A shortcut report is generated, and can be saved or viewed in the application.

791
Example of Shortcut Report
Usage
1. For menu options, when a shortcut is available, it is displayed next to the corresponding
option in each menu.
2. Most of the widely-used menu options have shortcuts in accordance with the standards of
trend-setting commercial software.
For example, you can use <Ctrl> with <Z> and <Y> for Undo and Redo, or <Ctrl> with
<X>, <C> and <V> for Cut, Copy and Paste, respectively, as you would in most
mainstream software products.
Contact Support
You can get in touch with us from the Help Menu > Contact Support, or from the Support link at
the bottom of the Home Page, as shown in the example below.

Through this dialog box, you can post any query, issue, clarification, or even propose ideas to
your local support representative.
From there, you can capture and share images instantaneously, and upload supporting files and
documents.
Before pressing Send button in the Contact Support dialog box, you will have to fill in your Name,
E-Mail, Country and Subject/Description of your query.

The Environment variable VHOST_CONTACTSUPPORT_ENABLE can be used to


fully disable the 'Contact Support' feature. The values for this variable are:
o 1 - To allow you to contact the support teams from the application (Default value).
o 0 - To disable the menu item.
Take Survey
In order to keep improving our product and provide you with a better experience, a satisfaction
survey automatically pops up after using the product for 30 days. Alternatively, you can also
access it at any time from the Help menu.

792
Completing this survey should only take 1-2 minutes of your time. This survey is provided in
multiple languages to facilitate its completion.
In recognition of your contribution, you will receive a gift if you are part of the 100 first
respondents.

793
If you are willing to provide more feedback, please click I’d like to give more feedback button.
This takes you to an advanced survey to help us understand you and your expectations better.
This survey should take about 5-10 minutes to complete. Answering it will make you eligible for a
gift.
myESI Customer Portal
Introduction
ESI Group has launched its customer portal, myESI. The primary goal is to provide you with
valuable content.

myESI’s dedicated Visual-Environment content is accessible once you login to myesi.esi-


group.com.
With your account, you can benefit from Tips & Tricks and explore worldwide trainings which are
available in the online training schedule. You can also access the download section with
technical documentation, including product manuals, release notes, specific tutorial guides and
add-ons.

Particular for Visual-Environment, you will find the Release Note.


Under Downloads, you can access ESI’s new license-free and browser-based tool called ESI-
Player to visualize ESI Result files.
The content provided on the portal is continuously updated.
If you do not already have a myESI account, join by clicking on Create new account to get
started!
User Experience Improvement Program

Description of User Experience Improvement Program Participation.


This section contains information about user experience improvement program participation
dialog boxes.
 The application will post the following dialog box at first launch, if you choose to decide
later about participating in user experience improvement program at installation time. It
asks whether you want to participate in user experience improvement program or not.

794
o Yes, I'm willing to participate anonymously: This will enable your participation in
user experience improvement program.
o No, I don't wish to participate: This will disable your participation in user
experience improvement program.
User Experience Improvement Program participation setting can be changed at any time from
Help menu.

Selecting User Experience Improvement Program menu item will post the following dialog box:

795
 Allow anonymous usage data collecting: You can check or uncheck this item to enable
or disable your participation in user experience improvement program.

The Environment variable VHOST_UXPROGRAM_ENABLE can be used to fully


disable the 'User Experience Improvement Program' feature. The values for this variable
are:
o 1 - To allow you to change your participation (Default value).
o 0 - To disable the menu item and also the engine used to collect data.

Run of the Calculation


This section consists of the following topics:
 Solver
 Troubleshooting
 Procedure to Run Standalone DataCAST
Solver
Once the problem is set-up in Visual-Cast, two operations are performed when one clicks on Run
in Start Simulation to run the solver:
 DataCAST will be run
 ProCAST will be run

DataCAST
DataCAST converts the input data into binary data ready for the solver. DataCAST also cleans
any previously existing result files and prepare the new ones. This means that when DataCAST is
run, all results will be erased.
Some error checking is also performed in DataCAST.

ProCAST
ProCAST is running the solver. No message is displayed by ProCAST, except if the solver is
stopping for an unexpected reason.
ProCAST is called with the Run button in the Start Simulation panel. When ProCAST is finished,
one should press Return to close the corresponding command window (see the Module Calls
section of the Software Manager chapter for more details).

Status
During the calculation, the status of the model can be monitored. To do so, use the Monitor
button of the Start Simulation panel (see the Module Calls section of the Software Manager
chapter for more details).

796
The status information is stored in the software installation directory (in the dat/stat directory),
under the name prefix.stat. This means that the status of any calculation is available at any time,
by any user who is using the same software installation. As a consequence, if two calculations
with the same prefix are run at the same time, there will be a conflict and the status will be once
the one of calculation A and once of calculation B. Such a conflict however has no influence at all
on the calculations themselves.

Batch Calculations

797
It is possible to run several calculations sequentially in batch mode. To do so, a simple script
should be written and launch in a Command window, as shown in the example hereafter (for
Windows):
cd calculations_A
cd case_1
%ProCAST20135%\bin\64_exe\procastDMP64 case_1
cd ..
cd case_2
%ProCAST20135%\bin\64_exe\procastDMP64 case_2
cd ..
cd ..
cd calculations_B
cd case_3
%ProCAST20135%\bin\64_exe\procastDMP64 case_3
cd ..
cd ..

DataCAST Restart Step


It is possible to run a calculation until a given step (e.g. step 500) with given settings and then to
continue the calculation with different settings (e.g. if one would like to test different heat transfer
coefficients from step 500).
To do so, run the calculation as usual until step 500. Then, in order to prevent any error, copy the
results in a safe place (as if a wrong operation is performed with DataCAST, all the results files
will be erased).
Load the .vdb file in Visual-Cast and make the desired changes (e.g. change a heat transfer
coefficient).
Launch 'Start Simulation' panel, tick 'Restart' option and specify 'Step' in edit box and click on
Run to continue the calculation.
Now ProCAST calculation will be continued from the step 500, with the new settings. Please note
that it is not necessary to run DataCAST if only the Simulation Parameters are changed (i.e. only
the content of the p.dat file is changed).

798
Troubleshooting
During the execution of the solver, information is stored in the prefixp.out file. In case of problem,
it may be useful to check the convergence of the solver in this file.
At each timestep, a number of types of information is printed in the p.out file. The most important
ones (hereafter in the case of a thermal only calculation) are the step number (1), the timestep
(2), the fraction which has already solidified (3) and the iterations (4).

799
If a calculation seems to not run well, it can be useful to look at the evolution of the timesteps
during the course of the calculation. If the timestep is significantly reduced, it means that the
convergence of the calculation is poor. In addition, the number of iterations per timestep (i.e. the
number of lines shown in (4) in the figure above, "T" indicating the resolution of the Thermal
model) is a good indication of the quality of the convergence. The less the number of iterations,
the better the convergence.
In the case of a mold filling calculation, the prefixp.out file looks like the following figure. One can
check that the "free surface model" is well activated (1), that the model is filling with the filling
percentage (2). The iterations (3) for the Thermal model ("T"), for the pressure solver ("P") and for
the three components of the velocity ("U", "V" and "W") are shown. When more than 5-10
iterations are necessary, one can anticipate a convergence problem. Finally, the memory used by
the calculation (for the current timestep) is shown (4).

800
One of the Simulation Parameters is COURANT. This parameter limits the timestep in order to
prevent the free surface to advance more than N elements during one timestep. When the mesh
has a large number of elements and when the elements are small, this limitation may be quite
drastic for small COURANT values. When this limit is reached, the following message appears in
the prefixp.out file:

801
The Simulation Parameter LVSURF allows to switch off the filling calculation when the casting fill
fraction has reached the LVSURF value. A message is printed in the prefixp.out file to
acknowledge this switch.

The fluid flow model will still be solved until the next stored timestep and then it will be switched
off (see figure below). The calculation will then continue with a thermal only calculation (and
stress if activated).

802
When the calculation does not converge, the following message is printed in the prefixp.out file
and the calculation of the given timestep is restarted with a reduced timestep. This can happen a
few times during the calculation and one should not worry about it (typically, if the inlet velocity is
suddenly increased, the timestep may be too large and it should be reduced through this
mechanism). However, if the calculation does not converge several consecutive times, it may
indicate a problem in the problem set-up or in the input data (non-relevant material properties, for
instance).

Procedure to Run Standalone DataCAST

DataCAST
DataCAST is a utility that reviews the total model, performs extensive error checking, and
converts all the units into standard CGS. DataCAST also creates a summary file (named
prefixd.out) which describes the complete analysis model. This summary file provides one form of
model documentation.
When DataCAST has completed its error checking, it creates the binary files which will be read by
ProCAST as the simulation input.

803
DataCAST also cleans any previously existing result files and prepare the new ones. This means
that when DataCAST is run, all results will be erased.

DataCAST usage
DataCAST can be accessed from the Start Simulation panel. Since DataCAST run is a necessary
step to run a calculation, it is launched automatically when the user clicks on Run, in the Start
Simulation panel. The user can run DataCAST only by clicking on the DataCAST button in the
Run tab. If DataCAST has already been run on a model, the no DataCAST check box will launch
ProCAST solver directly. DataCAST options can be specified in the Options tab, in the
appropriate text field.

DataCAST options
The DataCAST utility comes with the following options:
-u :is an update option. This recreates the model files without reinitializing the results. This should
only be used if INILEV is not zero, i.e., the user is doing a restart.
-v :is an option which specifies a verbose output. It writes out coordinate and connectivity data.
-d :is an option which specifies that the determinant of the Jacobian should be checked. This
identifies bad elements
-l :is an option to convert 10-noded tetrahedrons (quadratic mesh) into 4-noded tetrahedrons
(linear mesh)
-coin : is an option that checks for errors in coincident interface and free face compatibility.

DataCAST standalone
A standalone version of DataCAST is provided. In order to do use it, the batch file datacast.cmd
must be used. The batch file can be found in the Visual-Environment installation directory under
"Windows-x64\Tools\VDBTools\datacast.cmd".
Usage: datacast.cmd vdb_file_prefix version<20150> options<-d -l -u -v -coin>
Please note that version and options arguments are optional. Also note that it is mandatory to use
the full path of both datacast.cmd and prefix.
Results Viewing
Once the calculation is performed, the results can be viewed with Visual-Viewer (Cast) which is
the new Viewer of the Casting Solution and next generation GUI.
For more information, please refer to Visual-Viewer (Cast) User's Guide.
Results Analysis
This section consists of the following topics:
 Colored Flow Path
 Chvorinov's Thermal Modulus
 Porosity
 Niyama (Ny) Microporosity Model
 Dimensionless Niyama Microporosity Model
 Fatigue Life Indicator
 Hot Tearing Indicator
 Cracking Indicator
 Freckles Indicator
 Fluid Front Tracking
 Criterion Functions

804
 Hot Spots
 Turbulent Model
 BurnOn
 Cristal
 Piston Information for HPDC: Velocity, Force and Counter Pressure
Colored Flow Path
Colored flow path can be computed in ProCAST. The goal is to be able to identify with a color the
liquid coming from a given gate.
There are two ways of setting up a case for modeling colored flow path:

Visual-Cast Interfaces
One can define the Gates ID in the Interface menu (available only for EQUIV interface type).
Gates without any ID will be considered as "transparent" (see the image below).

Left-clicking on the gate ID will increase the ID, right-clicking will decrease it.
In that case, Inlets BC will be automatically assigned a low Gate ID.

Simulation Parameter
There is another way to define Gates ID, by using a specific Simulation Parameter:
COLORFLOW 1: All gates (EQUIV interfaces) and all inlets are then tagged with a gate ID.

A new treatment is available to track the path followed by the liquid. You can decide between:
 The colors are fixed on each side of the color borders, or
 Some color mixing is enabled at the color borders.
For this, a new Run Parameter, COLORFLOW_SF, is used, whose possible values are:
 0: Fixed colors.
 1: Mixed colors.
An example of the different modes can be seen below:

805
Chvorinov's Thermal Modulus
Chvorinov's thermal module is automatically computed if the Simulation Parameter THMODULE
has been set to 1.

Chvorinov's Relationship

where:
V: Volume of casting
A: Surface area of the casting from which heat escapes
M: Thermal modulus according to Chvorinov
Tal,sol: Solidus temperature of the alloy
Tmold,ini: Initial temperature of the mold

: Alloy density at solidus temperature

: Alloy enthalpy variation from alloy initial temperature to solidus temperature


Kmold,ini: Thermal conductivity of the mold at mold initial temperature

: Density of the mold at mold initial temperature


Cp mold,ini: Specific heat of the mold at mold initial temperature
tsol: Solidification time

Validity Domain

806
 Heat flow resistances of the alloy and of the casting/mold interface are assumed negligible
compared to heat flow resistance of the mold: Chvorinov’s relationship will not be valid for
die casting.
 Radiation is not taken into account: Chvorinov’s relationship is not valid for investment
casting.
 A good risering optimization should be possible thanks to the Chvorinov’s thermal modulus
field if no risers are present in the first simulation (casting + pouring system + mold only).
 Microstructure - thermal coupling should be deactivated during the risering optimization
process.
Porosity
To analyze the porosity in a casting, several options are available:
 Temperature field with the cut-off option
 Fraction of solid field with the cut-off option
 Shrinkage porosity field
 Niyama criteria for critical cooling rates
 Hot Spots
 Specific RGL criteria

Temperature Field and Fraction of Solid Field


The porosity being primarily due to enclosed pockets of liquid, one can observe them by looking
at the Temperature or Solid fraction fields in cut-off mode (in order to visualize inside the casting
during the solidification).
For temperatures, it is recommended to select a cut-off value above the solidus temperature,
whereas cut-off values of solid fractions below 70% are used.

Porosity
When POROS > 0 is used, one can visualize the Contour called "Shrinkage porosity". Values
corresponding to a level below 0.01 are considered as microporosity (to be viewed best with
slices) and values above 0.01 are considered as macroporosity (to be viewed best with cut-off
mode).
See the Porosity Models section for more details.

Niyama
See the Criterion Functions section for more details.

Specific RGL Criteria


One can define a customized criterion function with the RGL option (see the Criterion Functions
section for details).
Niyama (Ny) Microporosity Model
Niyama criterion (Ny) is widely used in metal casting. Values are evaluated at a specified
temperature (or fraction solid) near the end of solidification.

G is temperature gradient

is cooling rate

807
Niyama is used to predict feeding-related shrinkage micro-porosity caused by shallow
temperature gradients.
Shrinkage porosity is expected to form in regions with Ny below some threshold values.
Limitations:
 Threshold Ny value below which shrinkage porosity forms is generally unknown (other
than for steel), and can be sensitive to the type of alloy being cast, as well as to casting
conditions (e.g., sand mold vs. permanent mold, application of pressure, etc.).
 Ny does not provide actual amount of shrinkage porosity that forms, other than in a
qualitative fashion (i.e., the lower Ny is, the more shrinkage porosity expected).
Input: Simulation parameter NIYAMA [0, 1] corresponding to the fraction of solid where regular
Niyama is calculated.
Recommended and default value is 0.9. Calculation of Niyama criterion can be switched off by
setting NIYAMA as 0.
Dimensionless Niyama Microporosity Model
Introduction
The dimensionless Niyama is a model developed for microporosity, as an alternative to the rough
FEEDLEN approach that is part of POROS 1.
With FEEDLEN approach, microporosity is formed at a distance longer than the value of
FEEDLEN from the MACROFS isosurface. FEEDLEN can be considered as the maximum
distance (from MACROFS isosurface) beyond which interdendritic liquid feeding is no longer
possible, hence producing porosity.
Contrary to classical Niyama criterion, Dimensionless Niyama model predicts microporosity taking
into account the alloy properties (see section “Description of dimensionless Niyama model”).
It is important to distinguish the function of the NIYAMA and the NIYAMA_STAR run parameters:
 NIYAMA: Produces an additional contour with the NYIAMA criterion evaluated at the
specified fraction solid. This is simply an indicator and will not interfere with the porosity
calculation
 NIYAMA_STAR: This activates the dimensionless Niyama microporosity model which is
described in this section and will modify the microporosity output of POROS model.
Instructions for use
To activate dimensionless microporosity Niyama model, NIYAMA_STAR run parameter has to be
set to a value strictly above 1e-6 and lower than 1. When this is set, the FEEDLEN microporosity
approach is deactivated and replaced by the Dimensionless Niyama model.
The value input in NIYAMA_STAR represents the fraction of solid at which Ny* is evaluated.
Recommended value is 0.90.
If dimensionless Niyama model is activated, the liquid viscosity of the casting material has to be
available in the material database (for details, see section “Description of dimensionless Niyama
model”). As the SDAS coarsening constant is dependent on the Alloy base (see section
“Description of dimensionless Niyama model”), and therefore the alloy base has to be set in the
material database.
When dimensionless Niyama model is activated, the FEEDLEN approach is deactivated, and the
“Shrinkage Porosity” field will contain microporosity calculated according to dimensionless
Niyama model. However, piping and macroporosity are still are still calculated by the original
POROS1 and controlled by the PIPEFS and MACROFS run parameters.
Beside dimensionless Niyama results, classical Niyama is also computed if NIYAMA run
parameter is set to a value above 1.e-6. Niyama is then calculated locally as soon as solid
fraction fs equal to NIYAMA value. NIYAMA value has to be strictly lower than 1. Recommended

808
value is 0.9. If Niyama computation is activated, a “Niyama” field can be displayed from Visual-
Viewer Cast.
Outputs from NY* calculation
In addition to the “Shrinkage Porosity” field, two additional fields, “Niyama Star” and “NYStar
Microporostiy" are computed and can be displayed from Visual-Viewer Cast:
 “Niyama Star” which is a non-dimensional quantity, and is the value of NY* which was
described above. As like the regular Niyama criterion, this can be used to assess the
likelihood of the porosity.
 “NYStar Microporosity”. It is the microporosity calculated based on NY*. It is expressed in
percentage and it represents the fraction of void in the material.
Description of dimensionless Niyama model
A 1D approach is used to compute microporosity, nucleation and growth when the liquid fraction
drops below a critical value. This critical liquid fraction ( ) is obtained locally by solving
equation (1) that is the integral of the combination of 1D continuity equation and Darcy’s law.
Equation (1) is solved when solid fraction is equal to NIYAMA_STAR (NY*).

(1)
where

where:

is the classical Niyama:


is the thermal gradient,
is the Cooling rate,
is the secondary dendrite arm spacing (SDAS) coarsening constant. This parameter is
currently equal to:
144.e-6 m*(K/s)^0.33 for Steel alloys,
40.9e-6 m*(K/s)^0.33 for Aluminum alloys,
35.5e-6 m*(K/s)^0.33 for Magnesium alloys,
144.e-6 m*(K/s)^0.33 for other alloys.
is the liquid viscosity extracted from viscosity curve of the alloy material,

is the total solidification shrinkage deduced from density curve of the alloy
material,

is the critical liquid pressure drop at which microporosity will nucleate locally (hardcoded
value of 1.01 bar).

is the critical liquid fraction at which microporosity will nucleate. This parameter is the
unknown variable of the problem. The computation of is described in this section.

809
Left hand side term of equation (1) is called dimensionless Niyama (Ny*). This term is evaluated
locally by ProCAST solver when the solid fraction is equal to the NIYAMA_STAR value. Then the
boundary of the right hand side integral is obtained numerically.
To evaluate the final microporosity volume fraction, fp, the continuity equation is employed.
Relation (2) is deduced from a simplified continuity equation assuming that, locally, the remaining
shrinkage will be compensated by microporosity formation only:

(2) with

As a summary, the following sequence is implemented in ProCAST to determine microporosity


fraction locally:
Computation of Ny* when solid fraction is equal to NIYAMA_STAR value,
Determination of fl,cr,
Deduction of fp.
There are three uncertainties in the model. They are: the SDAS coarsening constant, the critical
pressure drop, and the critical fraction solid (fs*) to calculate NY*. In order to calculate NY*
accurately for different scenarios, an adjustable run parameter is introduced, called
NYS_ADJUST. By changing the NYS_ADJUST run parameter, the first two uncertainties can be
adjusted for different situations.

Where the adjustable run parameter NYS_ADJUST is defined as:

By default, NYS_ADJUST is set to 1 (recommended value). It means that the critical pressure
drop is 1.01 bar, and the coarsening constant is chosen based on the base element as presented
earlier.
If NYS_ADJUST is set to 2, for example, it represents a doubled coarsening constant at the same
1.01 bar critical pressure drop, or at the same coarsening constant but with 4.04 bar critical
pressure drop, or some combination of those two. NYS_ADJUST is a non-zero float type
parameter.

For additional information on the model, it is advised to read the following paper:
“Prediction of Shrinkage Pore Volume Fraction Using a Dimensionless Niyama Criterion” D.
CARLSON and C. BECKERMANN. Metallurgical and Material Transaction A, Vol 40,
January 2009, 163-175.

Fatigue Life Indicator


In the case of die casting, when a stress calculation is run, ProCAST automatically calculates the
fatigue life in the dies.

810
The model is based upon a "strain-driven" approach and a power law relationship, which
corresponds to low cycle fatigue.
During the calculation, the accumulated plastic strain (if any) is recorded at each location of the
die. Then, the life of the die is calculated as a power law of this plastic strain. If this life is shorter
than the previously calculated life at this given location, this latter value is stored. If there is no
plastic strain, then the elastic strain is recorded and the life of the die is calculated with another
power law relationship. Again, if the computed life is shorter than previously calculated (at this
same location), this latter value will be used.
Thus, one should consider that ProCAST calculates a "Fatigue life INDICATOR", and that it does
not correspond to absolute values of number of cycles.
One should remember that it should be mainly used to compare different designs with the same
mold material (e.g. to compare the effect of cooling channels or of cycling time).
See the Fatigue Model section for more details.
Hot Tearing Indicator
During a stress calculation, ProCAST calculates the susceptibility to hot tearing.
The hot tearing indicator allows to model cracks which form during the solidification (i.e. it
corresponds to openings in between dendrites which are not yet totally solidified and which open
because of a tensile stress). Hot tearing is formed only above the solidus temperature.
The hot tearing indicator is a "strain-driven" model based upon the total strain which occurs
during the solidification. The model computes the elastic and plastic strain at a given node when
the fraction of solid is between CRITFS (usually 50%) and 99%. There is no parameter for this
model (except CRITFS, which is a general stress Simulation Parameter).
As the amount of plastic strain will strongly depend upon the stress properties in the mushy zone,
the hot tearing indicator should be used to compare different designs with the same alloy. One
should not compare hot tearing indicator levels for different alloys.
Cracking Indicator
The "Cracking indicator" model of ProCAST corresponds to cracking occurring after completion of
solidification. The model is based upon the "modified Gurson" model. It corresponds to a plastic
strain driven model.
The cracking indicator model couples the stress calculation with the porosity calculation. It is valid
with any porosity model. The cracking indicator is corresponding to a void fraction indicator (i.e. it
calculates the amount of voids created by cracks, which have nucleated and grown under the
influence of stresses).
Plastic strain (and plastic strain only) will allow cracks to nucleate and grow (thus to create "crack
void fraction"). The presence of porosity will increase the amount of crack nucleation and growth.
All the plastic strain is taken into account (including the one forming in the mushy zone).
There is no input needed for that model. One should note that the constants which are in the
modified Gurson model are not temperature dependant (as there is no indication in the literature
about how these values should change with temperature). However, the temperature dependency
is taken into account in one way by the stress material properties and thus the plastic strain (e.g.
there will be less plastic strain at low temperature).
This model is an "Indicator" which can be used for any material. The value of the scale of the
indicator will strongly depend upon the material and the stress data. Thus, one should not
compare two different materials, but one should use it to compare the same material in different
situation (i.e. different cooling conditions, different stress state, different porosity level).
This model corresponds to a "damage" model, which couples for the first time stress calculation
with defects in the casting (i.e. porosity). This model is very new and should be used with care as
there is very little experience in this field at this stage. However, it could be very interesting to see
the effect of design decisions on the level of damage (e.g. a reduced cooling will change the

811
amount of porosity and/or change the amount of stress and thus, it will change the amount of
cracks which may appear).
The cracking model is activated with the Simulation Parameter CRACK = 1 or 3. The default
value is 0. See the Stress Simulation Parameters for more details.

Please note that in the current implementation the Cracking indicator requires yield
stress and is therefore not compatible with the Norton creep model.
Freckles Indicator
The "Freckles indicator" of ProCAST is based upon a local Rayleigh Number calculation. The
algorithm is described in "Development of a Freckle Predictor via Rayleigh-Number method for
Single-Crystal Nickel-Based Superalloy Castings", by C. Beckermann, J.P. Gu and W. Boettinger,
Metallurgical and Materials Transactions A, Vol. 31A.
To activate this model, the casting material properties should have been created in Visual-Cast
with the Thermodynamic databases (see the Thermodynamic Databases section for more
details) using the Ni database. When the properties are calculated, a file named "prefixls.dat" is
created. This file (which contains the liquid solute concentrations) should be present in the
working directory in order to be able to calculate the Freckles indicator. If prefix.ls is missing,
please recompute the material property of alloy using CompuTherm.
Moreover, the Simulation Parameter FRECK with a value of 1 should be added manually in the
p.dat file.
Freckles will occur only if the liquid density inside the mushy zone is decreasing with decreasing
temperatures. In order to predict whether an alloy will have freckles, one can look at the liquid
density in the prefix_rho.dat file (created by Visual-Cast when the material properties are created
with CompuTherm). The liquid density is the last column of the prefix_rho.dat file. If the liquid
density in the mushy zone is not decreasing (for decreasing temperatures), it is useless to run a
Freckle calculation.

Generalities
What is Freckle?

 Long chains of equiaxed grains.


 Observed in both shape castings and ingots.
 Can be found in Ni based super alloys as well as steels.
 Freckle chains are as deep as wide ~1-2 mm.
 Detrimental to the structural integrity at elevated temperatures.

How does Freckle form?

812
The occurrence of freckle on single crystal castings can be effectively expressed as parameters
relating the magnitude of the buoyancy forces and the morphology of the dendritic mushy zone.
Rayleigh-Benard convection

How to predict Freckle formation?


1. Direct Simulation
Liquid species conservation:

Solid species conservation


Where:

m: species

Diffusion length:

Interfacial area concentration:

Secondary Dendrite Arm Space:

Advantages
 Accurate

813
 Can tell how the freckles grow and when the freckle will stop.
 Can tell how many freckles will form.

Disadvantages
 Very expensive and very slow.
 Not only thermal but fluid flow as well are needed in the calculation.
 Difficult to apply to the whole casting because of the calculation speed.

2. Freckle indicator
Rayleigh number:

Where:
L is a suitable length scale,

and are the thermal diffusivity and kinetic viscosity, respectively,


g is the acceleration of gravity,

is an average permeability.

If there is no density inversion, , there will be no freckle.

Where is the inclination angle.

Advantages

814
 Easy, cheap and fast to calculate.
 Only need thermal calculation.
 Can be applied to whole casting directly.

Disadvantages
 Only an indicator.
 Cannot tell how the freckles grow and when the freckle will stop.
 Cannot tell how many will form.

How to reduce/eliminate freckles?


 Increasing temperature gradient (reduce mushy zone).
 Reduce the inclination angle.
 Reduce gravity.
 Reduce the liquidus density difference (alloy design).
 Introduce magnetic field.
Fluid Front Tracking
During a filling calculation, ProCAST can calculate different indicators which allow to better
quantify the filling pattern.
Four different models (called "Junction models") are available:
 JUNCTION = 1 (or 1024+1=1025): Front tracking indicator "Free surface cumulated
volume" which corresponds to the local free surface area multiplied by the traveled
distance (volume units). Particularly useful to quantify the amount of carbon inclusions in a
lost foam process.
 JUNCTION = 2 (or 1024+2=1026): Front tracking indicator "Oxides” which corresponds to
the local free surface area multiplied by time (surface * time units) and can be used to
quantify the amount of oxides transported by the free surface.
 JUNCTION = 4 (or 1024+4=1028): Material age (time units)
 JUNCTION = 8 (or 1024+8=1032): Flow length (length units)
Each of these models is described hereafter.
These values are calculated in the solver and are then transported by subsequent fluid
movement. As these values are obtained by the resolution of an additional transport equation, it
was observed that the additional CPU time can be significant (up to 20%). Thus, a simplified
option is also proposed (where the additional CPU time is significantly reduced, but with of course
less precise results). The simplified option can be activated with JUNCTION values of 1025,
1026, 1028 and 1032 respectively.
To activate the calculation of the Fluid Front Tracking, the Simulation Parameter "JUNCTION"
should be added manually to the p.dat file. All combinations are possible: for instance, a value of
13 will activate JUNCTION 1+ JUNCTION 4+ JUNCTION 8 (see the Flow Simulation
Parameters section for more details).

One can combine the JUNCTION models or the simplified JUNCTION models, but
not a mix of both.

JUNCTION = 1 (or 1025) - Free Surface Cumulated Volume


The Fluid Front Tracking indicator "Free surface cumulated volume" has the units of [cm3]. The
principle of calculation of this indicator is the following:

815
 At each point of the free surface, the displacement of the free surface during one timestep,
multiplied by the free surface area is calculated. This value is cumulated with the value of
the previous timestep. In addition, this value is transported with the free surface and with
the fluid flow.
 When two free surfaces are meeting, both values are added.
 When there is no more free surface at a given location, the value of the Front tracking
indicator can still be transported by the fluid movement (during the filling - and after
if FLOW = 1).
This indicator allows to identify the locations where oxides and impurities trapped at the free
surface are most likely to end-up as well as to study the flow junctions.
The following figures are showing the Front Tracking indicator "Free surface cumulated volume"
for the same geometry cast with 4 different gravity orientations (and thus 4 different filling
patterns). In each case, the gravity is pointing downwards.

The top figure shows the values during the filling, whereas the bottom figure shows the results near
the end of the filling.

816
Remarks:
 This Fluid Front Tracking is a qualitative INDICATOR only (not a quantitative value).
 For the Lost Foam, this value corresponds somehow to the amount of foam which was
burnt in contact with this free surface. It is thus an indication of the potential defects which
occur during lost foam burning.
 The numerical diffusion is slightly "diluting" the values of the indicator behind the free
surface, instead of remaining a "sharp" value at the free surface.
 This algorithm cannot be used for centrifugal casting (as a Relative rotating coordinate
system is used).

JUNCTION = 2 (or 1026) - Oxides


The Fluid Front Tracking indicator "Free surface time exposure" has the units of [cm2*s]. The
principle of calculation of this indicator is the following:
 At each point of the free surface, the free surface area multiplied by the time. This value is
cumulated with the value of the previous timestep. In addition, this value is transported
with the free surface and with the fluid flow.
 When two free surfaces are meeting, both values are added.
 When there is no more free surface at a given location, the value of the Front tracking
indicator can still be transported by the fluid movement (during the filling - and after if
FLOW = 1).
This indicator allows to identify the amount of oxides formed at the free surface and where they
are most likely to end-up as well as to study the flow junctions.
The following figures are showing the Front Tracking indicator "Free surface time exposure" for
the same geometry cast with 4 different gravity orientations (and thus 4 different filling patterns).
In each case, the gravity is pointing downwards.

817
The top figure shows the values during the filling, whereas the bottom figure shows the results near
the end of the filling.

Remarks:
 This Fluid Front Tracking is a qualitative INDICATOR only (not a quantitative value).
 For alloys which are oxidizing (like Al), it corresponds somehow to the time exposure
during which oxidation can occur.
 The numerical diffusion is slightly "diluting" the values of the indicator behind the free
surface, instead of remaining a "sharp" value at the free surface.

818
 This algorithm cannot be used for centrifugal casting (as a Relative rotating coordinate
system is used).

JUNCTION = 4 (or 1028) - Material Age


The "Material age" has the units of [s]. It corresponds to age of the material between its entry in
the system (i.e. the inlet) to the given location. This information is available at every point of the
liquid (not only at the free surface). This value is not cumulated upon junction of two fronts.
Please note that a similar information can be calculated in the Visual-Viewer (Cast) post-
processing (in the "Results -> Create New Particles..." menu.) However, in this case, it will be
done only on the stored timesteps instead of all the timesteps.
The following figures are showing the "Material Age" for the same geometry cast with 4 different
gravity orientations (and thus 4 different filling patterns). In each case, the gravity is pointing
downwards.

The top figure shows the values during the filling, whereas the bottom figure shows the results near
the end of the filling.

819
JUNCTION = 8 (or 1032) - Flow Length
The "Flow length" has the units of [cm]. It corresponds to "travelled" distance of the material
between its entry in the system (i.e. the inlet) to the given location. This information is available at
every point of the liquid (not only at the free surface). This value is not cumulated upon junction of
two fronts.
Please note that a similar information can be calculated in the Visual-Viewer (Cast) post-
processing (in the "Results -> Create New Particles..." menu.) However, in this case, it will be
done only on the stored timesteps instead of all the timesteps.
The following figures are showing the "Material Age" for the same geometry cast with 4 different
gravity orientations (and thus 4 different filling patterns). In each case, the gravity is pointing
downwards.

820
The top figure shows the values during the filling, whereas the bottom figure shows the results near
the end of the filling.

Air Entrainment
Air entrainment calculations are automatically done when the gas model is active (GAS 1).
The "Air Entrainment" has the units of [g/cm-3] and since V2010.0 PREF is set by default to 1 atm
to take into account for air entrainment once GAS is switched on.

821
Air entrainment represents air mass (gas) which is content in 1 cc of alloy.
The following figures are showing the "Air Entrainment" for the same geometry cast with 4
different gravity orientations (and thus 4 different filling patterns). In each case, the gravity is
pointing downwards.

The top figure shows the values during the filling, whereas the bottom figure shows the results near
the end of the filling.

822
Criterion Functions
Visual-Viewer (Cast) allows to process the results which are calculated in the solver in order to
built criterion functions or metallurgical results.
Please refer to the Visual-Viewer (Cast) User's Guide for more information about criterion
functions.
Hot Spots
Hot Spots can be computed in Visual-Cast. The goal is to be able to analyze the isolated hot
areas during the solidification process.

Simulation Parameter
One should put the Simulation Parameter HOTSPOTS 1 (see the Thermal Simulation
Parameters section for more details).
Here is an example of hot spots results, compared with shrinkage porosity prediction:

823
From VE8.5, Its possible to generate HOTSPOT result in Viewer-Cast itself.

824
Turbulent Model
ProCAST models turbulence using the Reynolds-Averaged Navier-Stokes (RANS) equations.
Further, the additional turbulent stresses arising from the averaging procedure are approximated
using the Eddy Viscosity approach. In this approximation, the Reynolds stresses are assumed to
be proportional to mean rate of strain tensor in analogy with the laminar stress-strain relationship.
The proportionality constant is referred to as the turbulent viscosity or eddy viscosity (T). Various
models exist in the literature to obtain the turbulent viscosity. Popular among these are the two-
equation turbulence models, wherein two additional transport equations are solved for the
turbulence kinetic energy (k and turbulence rate of dissipation (
ProCAST has the following two-equation turbulence models:
1) Standard k-ε Model;
2) RNG k-ε Model; and
3) Realizable k-ε (RKE) Model

1) Standard k-ε Model


The standard k-ε model is based on the model proposed by Launder and Spalding (1974). In this
model, the turbulent viscosity is expressed as:

The transport equations for k and ε are,

825
with the turbulence production term P defined as:

The five constants used in this model take the following default values:

2) RNG k-ε Model


A variation of the k-ε model was developed by Yakhot and Orszag (Yakhot and Orszag, 1986)
using a renormalization group (RNG) approach in which the smallest scales of motion are
systematically removed. This model was subsequently modified by Yakhot et. al. (1992). The
model is formulated such that the equations for k and ε have the same form as the standard k-ε
models. The model coefficients, however, take the following default values:
CMU = 0.085;
SIGMAK = 0.7179;
SIGMAE = 0.7179;
CONE = 1.42;
CTWO = 1.68;
KAPPA = .4
The coefficient C1 becomes a function of η, the ratio of time scales for turbulence and mean strain
rate.

The constants in equation have the values η0=4.38 and β=0.015.


The rate of mean-strain tensor, Sij, is defined as follows:

3) Realizable k-ε Model

826
The realizable k-ε (RKE) turbulence model is most readily described and characterized as a
variant of the standard k-ε model. In particular, the RKE model can be derived from the standard
k-ε model by the following:
 Replacing the transport equation for ε in the standard k-ε model with a similar transport
equation that models the dissipation rate according to the dynamic behavior of the mean
square vorticity fluctuation in the high turbulent Reynolds Number limit; and
 Replacing the eddy viscosity equation of the standard k-ε model with an eddy viscosity
equation that ensures satisfaction of the realizability constraints (for the normal and shear
turbulent stress components).
The transport equation for the turbulent kinetic energy, k, in the RKE model remains unchanged
from that in the standard k-ε model and the RKE model can be written as:

where:

ij is the mean rotation rate viewed in a rotating reference frame with angular velocity k. The
parameter As is determined by:

The value of A0 is taken as 4.04.


The default values for the turbulence coeffecients of this model are:

827
CMU = .09;
SIGMAK = 1.0;
SIGMAE = 1.2;
CONE = 1.44;
CTWO = 1.92;
KAPPA = .4

Wall Functions
All the turbulence models described above are high Reynolds number models that are applicable
only in fully developed turbulent regions. Hence, wall functions are used to step over the near-
wall viscous region. Also, use of wall functions are an alternative to the use of very fine mesh in
the normal direction close to the walls.
In Visual-Cast, Reichart's log law given below is used to apply boundary conditions at the wall:

where:

w is the shear stress at the wall,  is the density,  is the viscosity and y is the normal distance
from the nearest wall.

Near Wall Treatment


Visual-Cast provides two Simulation parameters, namely, WSHEAR and YSHEAR under Flow
tab.
YSHEAR is a user specified input that gives the virtual distance between the physical wall and
the wall boundary node. An appropriate value for YSHEAR is a fraction of the thickness of the

828
first layer of the mesh elements (“h", in the above figure). The default value of YSHEAR is 0.05
cm. It should be noted that YSHEAR is always to be given in the units of cm.
WSHEAR can take the following values:
WSHEAR = 0:
No-Slip boundary conditions are applied to the wall nodes at "Level 0" (in the above figure). The
boundary conditions for k and  are however applied at Level 1 nodes. The boundary conditions
at the wall in this case are:

The wall distance y = h in this case and YSHEAR is not required.


WSHEAR = 2:
In this case, the no-slip condition is not applied directly on the wall nodes and instead an
equivalent wall shear stress is applied at the wall nodes (level 0 nodes). The wall shear stress is
obtained from the Reichart law using the velocity at level 1 nodes. The wall distance used is y =
YSHEAR + h and includes the virtual distance of the level 0 node from the physical wall. The
boundary conditions for k and  at the level 0 nodes are given by:

The wall distance for k and  is YSHEAR since they are applied at the level 0 nodes.

WSHEAR = 4:
The boundary conditions in this case are same as WSHEAR=2, except that the wall distance
y=YSHEAR and velocity at level 0 nodes are used for computing the wall shear stress from
Reichart law. The boundary condition for k and  are exactly as those shown for WSHEAR=2 and
use YSHEAR as wall distance since they are applied on level 0 nodes.
Usage:
To model turbulence in Visual-Cast the following needs to be done:
1. Chose the turbulence model (TURB = 1 or 2 or 3) in Turbulence Simulation Parameters
panel.
2. Apply TURBULENCE boundary condition at inlets (VELOCITY, PRESSURE, INFLOW).
Turbulent boundary conditions at inlets are given by specifying the intensity of turbulence 1
and characteristic length  which are then applied in the solver as follows:

829
3. Make sure that the mesh has boundary layer close to the walls. Fine mesh is also
recommended in regions of recirculation and flow separation.
Post-processing
During a Turbulence calculation, the following 3 quantities are calculated and stored (for post-
processing):
k, the Turbulent energy [cm2/s2]

, the Turbulent dissipation [cm /s ]


2 3

, the Turbulent viscosity [poise]

Recommendations
It is recommended to have a boundary layer close to the walls, that is, elements starting with a
small height that grows gradually as the elements move away from the wall.
When using PETSC solver (AMGSOLVER 0), it is recommended to set simulation parameter
HYPRE 0 for turbulent models. It is available in Advanced 2 group under Flow tab
The standard k- should be tried first and is the most robust of all 3. For flows involving rotations,
strong recirculation or separation, it is believed and demonstrated in several experiments that
realizable k- model gives better accuracy.
The default values of WSHEAR = 2, YSHEAR = 0.05cm, CONE, CTWO, CMU, SIGMAK and
SIGMAE should be used first and be changed only if necessary.

In previous versions (2016.0 and before), whenever the TURBULENCE model was
activated (TURB > 0), the solver internally set COUPLED=1 (even though we have
COUPLED=0 in p.dat).
From ProCAST 2018.0, this behavior has changed and TURB > 1 does not reset the
COUPLED keyword. It is done to enable larger time steps as part of enhancing CMX for
external aerodynamics calculations.

References
1. Launder, B.E., and Spaulding, D.B., "The Numerical Computation of Turbulent Flows.”
Computational Methods for Appl. Mech. Eng. (1974):3 269-289.
2. Yakhot, V., Orszag, S.A., Thangam, S., Speziale, C.G., Gatski, T.B., "Development of
Turbulence Models for Shear Flows by a Double Expansion Technique.” Physics of Fluids
A 4.7 (1992): 1510-1520.
3. Yakhot, V., and Orszag, S.A., "Renormalization Group Analysis of Turbulence", Journal of
Scientific Computing. 1.1(1986): 3-51.
4. Tsan-Hsing Shih et. al., "A New k- Eddy Viscosity Model for High Reynolds Number
Turbulent Flows", Computer Fluids 24.3 (1995): 227-238.

830
BurnOn
Prediction of burn-on and mould penetration in steel casting has been implemented. This allows
to track overheating defects in sand molds and cores.
The burn-on/penetration indicator is essentially the time spent by areas of the mold above a
critical high temperature. This obviously applies to sand molds. The critical temperature can be
taken as the one corresponding to a low solid fraction of the cast alloy. As a consequence, the
input to this is simply a new Simulation Parameter BURNON that the user should set > 0 and < 1
and corresponds to the solid fraction of the alloy at the critical temperature.
BURNON 0.15 is recommended but values up to 0.5 could be used.

The burn-on penetration indicator can also be set by directly indicating the critical temperature.
For this, enter the critical temperature in Kelvin using the BURNONT parameter.
Example

Cristal
CRISTAL is an advisor for calculating mechanical properties after age hardening of aluminum
alloy A356/357 during T4/6/7 treatment.
A356 and 357 with various T6 aging are the basic alloys for all Permanent mold, Sand, Squeeze
and Semi Solid cast safety critical automobile parts: wheels, suspensions, cross members, and
cradles, brake calipers. A356 T7 is also still used for many cylinder heads and engine blocks
when fear of corrosion prevents the presence of any copper.
A huge amount of data has been published on its thermal treatment in general and aging
response in particular. The advisor implemented here is aimed at defining a simple, semi
empirical model incorporating some physics through the use of the (half) diffusion distance as a
single variable: λ = vD(T°C)*time.
The objective is to model the tensile properties (YTS, UTS, E%, BHN) in the whole range from T4
through T6 to T7, with Mg varying from 0.20 to 0.60%. The solution treatment (540°C – 6 h + RT
water quench) was held constant and was chosen because it is amply sufficient to afford
asymptotic properties in the considered test-piece, which is the AFNOR PM. The choice of this
test-piece (cast as usual at an initial 300°C) meant that the result would practically reflect the
optimal potential of the alloy.
There are two basic underlying concepts:

831
 Reducing the two variables that control the age hardening, time and temperature, into a
single one which is the half of the diffusion distance of Mg.
 Establishing master curves for each of the properties (TYS, UTS, E% and BHN) which
depend on the Mg content and on the aging temperature.
By simply entering the Mg % and the aging time and temperature, the advisor instantly calculates
the results and displays the master curves with a vertical line showing where the particular aging
lies on the curve.
Below is an example of an A356 (Mg 0.35%) with an under aged T6 (160°C – 6h).

As the software is very flexible, it can be used to back track the optimal aging parameters, or the
amount of Mg necessary to attain a certain level of property with a given aging.
An option considering the duration of eutectic formation for more accurate prediction of elongation
and UTS in AlSi7Mg0.2 to 0.6% can be activated. The duration will directly come from the
ProCAST solver calculation unlike the others results which are analytical and comes from an
important experimental database. Its validity goes for T6 from duration of eutectic formation of
4.33 to 75s and T7 from 4.33 to 256s.
Double or multiple aging steps
It is also possible to take into account multiple aging steps to answer questions like:
 What is the effect of paint baking (1, 2 or steps) on already T6 treated wheels?
 What is the effect of a long exposure to temperatures of the order of 100 – 150°C on the
properties of automobile castings such as suspension parts or brake calipers?
In the practice, one enters the successive steps in the table provided that their temperatures are
all inferior or equal to 190°C. HT Advisor then calculates the equivalent λ and the time it takes at
the temperature of the first step.
This example reflects a wheel with a double paint baking. The paint treatment has practically
doubled the initial aging time and caused a notable hardening and loss of ductility.

832
In summary, the advisors capabilities are as follows:
 Modeling the tensile properties (TYS, UTS, E%, BHN) in the whole range from T4 through
T6 to T7, with Mg varying from 0.20 to 0.60%.
 Easy to use graphical user interface.
 Display of resulting curves in a separate page. Option to export the curves.

If "Simulation Data" option is used, the results will be written to a file. This will be
reflected in Contour dialog only after you click "Update" in this dialog.
Limitations
 The rapid solidification (13 - 15 s, DAS # 23 µm) obtained in the AFNOR test-piece
regulated at 300°C yields properties which practically constitute the upper asymptote of
what the A356/357 system can deliver in conventional foundry processes. Even SSM at its
best (i.e. without oxides or gas entrapment) yields similar properties in spite of its much
faster solidification. Industrial castings generally comprise zones solidified far more slowly
which, even at zero porosity and zero oxide cannot reach such Q index levels.
 The quality of the melt (de-oxidation, degassing) and the care taken to prepare the molds
and cast the AFNOR test-pieces were those of a Research Centre. Typically, the under-
aged T6 Quality index obtained in the Cristal data base is 504 MPa, whereas many
foundries are happy to obtain 475 MPa when they cast he same AFNOR bars from their
industrial melts.
 Cristal does not take into account the porosity which is often present in a real casting. This
porosity is usually a combination of micro shrinkage and hydrogen, whose global volume,
size and distribution depend on the amount of hydrogen in the melt, solidification rate,
thermal field.
Piston Information for HPDC: Velocity, Force and Counter Pressure
The main purpose of this functionality is to calculate pressure and total force on the piston and
dies during high pressure die casting. Furthermore, information on the position and velocity of the
piston can be obtained.
Two approaches are provided, which give different levels of information, each with its strengths
and limitations.
The first approach calculates the pressure/force on the dies first. Then, the force on piston is
obtained using the assumption that the total force on casting is balanced. Hence, this approach
will not work when there is no mold or a Virtual Mold is used. To activate the piston info
computation using this approach, the user is required to define the PISTON_DIAM run parameter
(which is located in Flow / Advanced 2) and set this to the diameter of the piston. During the
simulation, a file named prefixHPDCOutputs.xyn will be generated containing the following fields:

833
"Time", "Force Norm on Piston", "Force Norm on Die", "Pressure on Piston", "Piston position",
"Piston velocity".
To cover the cases where Virtual Mold is used, a second approach is available, which calculates
the pressure on the piston directly (based on the interpenetrating mesh information). This
approach is activated by setting PISTON_PRES to 4 (in addition to PISTON_DIAM). The value of
4 does not mean anything in particular (this is just used to switch the functionality ON). As an
output, during the simulation another file named prefixForceOnPiston.xyn will be generated (in
addition to prefixHPDCOutputs.xyn). This file will contain the following fields: "Time", "Force on
Piston" (normal direction), "Piston Pressure", "Piston Position", "Piston Velocity"
The xyn files can be either read directly through any text viewer or can be imported in Visual-
Viewer (CAST) where the data can be conveniently plotted. Whenever one of these xyn file is
available in the working directory, a new category, "OTHERS", will be available in the
Evolution/Profile window.
This calculation does not depend on GAS and will work with any GAS parameter. However,
activation of the GAS model will affect pressure solution and thus will affect the force/pressure on
piston. For the most accurate evaluation, GAS 2 is recommended.
Parallel Solver (DMP)
This section consists of the following topics:
 Introduction
 How Does ProCAST Parallel Work?
 Use of the Parallel Solver
 Repeatability
 Machine Configuration
Introduction
The goal of parallel processing is to accelerate the computing time of a calculation, by distributing
it on several processors.
Different techniques are available and are described hereafter.

SMP: Symmetric MultiProcessing


In the SMP technique (often called Shared Memory Processing), the calculation is split in different
CPUs which are sharing the same memory (see figure below). This technology is usually limited
to a maximum of 32 CPU's.

834
DMP: Distributed Memory Processing
Distributed Memory Processing is an architecture where each CPU accesses its own memory.
Data are shared between processors through message passing. The send and receive
operations require actions by the processors on both ends of the communication. The Message-
passing Interface, or MPI, is the software standard that has been developed by an
industry/government consortium. Such a configuration (see picture below) requires a very fast
network between the CPUs.

SMP/DMP Combined Architecture


When each computer (node) has more than one CPU, sharing the same memory, one can
combine the SMP and DMP principles to make a SMP/DMP combined architecture. Such a
configuration (see picture below) requires a very fast network between the CPUs.

ProCAST Parallel Architecture

835
The Parallel version of ProCAST is based upon the DMP technology, using MPI. Depending upon
the machine/cluster which is used, one can use either a DMP or a combined SMP/DMP
architecture. One should note that it is also possible to use a single computer with several CPUs
sharing the same memory.
As the MPI technology is based upon the "Message Passing Interface", it means that the CPUs
have to communicate between them. This emphasizes the importance of the network linking the
different nodes. One can use either a network with a 1 Gigabit/s Ethernet switch to link the nodes.
It is possible to have faster communications with for instance a Myrinet network (from Myricom).
This latter solution is more expensive, but the gain in performances can be quite significant.
As communications are critical for the performances, it is very important to use the appropriate
switch as well as the appropriate cables (e.g. for a 1 Gigabit/s Ethernet switch, one should use
Category 6 cables - or above).
How Does ProCAST Parallel Work?
In order to distribute the calculation between the N processors, the geometry (model) is split in N
sub-domains. This partitioning is done fully automatically by the software. It is done in order to
balance the load between the processors as evenly as possible (i.e. almost the same number of
nodes in each sub-domain) and in such a way that the amount of communication between the
processors is minimized (i.e. the least number of common nodes between the sub-domains). This
principle is illustrated in the figure hereafter.

Then, each sub-domain is allocated to one processor, as shown in the figure below (each color
represents a sub-domain). The communication between the sub-domains is done automatically,
through the fast network.

836
The following pictures illustrate the partitioning of different cases. In the lower geometry, the
partitioning for 2 and 4 CPUs is shown on the left and right, respectively.

837
If such a partitioning is very efficient for thermal, radiation and stress calculations (as well as for
flow calculations with an already filled cavity), it is not the case for filling calculations. As
illustrated in the figure below (where the filling starts from the biscuit in the bottom of the picture),
the first stage of the filling will occur only in the red sub-domain (CPU 1), whereas the final stage
of the filling will take place in the purple sub-domain (CPU 2). This means that the CPU 2 will not
do anything during a while at the beginning of the calculation, whereas CPU 1 will "sleep" near
the end of the calculation. This will lead to a very poor balancing between the processors and
thus a very bad performance.

838
In order to prevent such detrimental behavior, one should rather have a partitioning like the one
on the right (in the figure below), rather than the one on the left.

However, as one does not know how the cavity will be filled (this is why a calculation is
performed!), a "dynamic partitioning" algorithm has been developed. At a given step, the flow
front is at a given location (in blue in the figure below). The software is creating a layer ahead of
the flow front (the width of this layer corresponds to a number of elements, defined by the
Simulation Parameter NFFWID). Then, both the liquid region and this layer are partitioned in sub-
domains. Once the liquid is reaching the end of this layer (i.e. when the distance between the flow
front and the end of the layer is less than NFFSAF elements), a new partitioning is performed.
Thus, the frequency of the partitioning is directly influenced by the value of NFFWID. The smaller
the value, the larger the numbers of partitioning. As the partitioning is taking some CPU time, one
should specify a not too small value for NFFWID).

839
One should note that in the case of a filling problem, in the presence of a mold, two distinct
partitioning are made. One for the thermal and radiation problem (which is done only once at the
beginning of the calculation) and one for the casting domain only, which is dynamically re-
partitioned.
In order to perform this automatic domain decomposition, to manage the communication between
the processors and to solve the linear system in a distributed fashion, several libraries are used:
PC-MPI
A Portable Implementation of MPI (Message Passing Interface). Depending upon the platforms,
MPI can be called with different names.

Parmetis
A Parallel graphic partitioner

PetSc
The Portable, Extensible Toolkit for Scientific computation
Use of the Parallel Solver
The default values of the two "Parallel" Simulation Parameters NFFWID = 10 and NFFSAF = 2
are used. Recommended values are NFFWID = 10 to 20 and NFFSAF = 2 to 5 (see the How
Does ProCAST Parallel Work? section for more details about the meaning of these Simulation
Parameters).
Once a case is set-up in Visual-Cast, the standard "DataCAST" should be called.

Parallel Version Settings


The Manager provides a direct access to the Parallel solver. To do so, the ProCAST Parallel
option should be activated in the Options tab of Start Simulation panel (see the Software
Configuration section for more details).

840
Additional settings can also be defined:
Options (1) and (2): can be used to define additional default options to the mpirun command.
MPI_ROOT: indicates where MPI run times and libraries are located. The different MPI used are
delivered in the ProCAST installation and default locations are provided.

Parallel Version Execution


Once the Manager is configured as described above, the "Run" button will open the following
window:

841
One can see in the above execution windows that a "Parallel" section is appearing. Please note
that the format of the window may vary from one platform to another. The number of processors
should be entered in the text box. The "Max (4)" is the number of processors available.
Then, for the Parallel solver, some parameters and options should be defined, before the Run
can be launched.

With the current version, the "Options(1)" and "Options(2)" fields may remain blank (no specific
options are necessary by default).
The Parallel solver can also be launched from the "Run List" of the Manager (see the Run List
section for more details).

Parallel Version Execution with Commands


It is also possible to launch the Parallel solver "manually", from a Command Window. Depending
upon the platform, the following syntax should be used:
Linux (PC-MPI):
cd .../working_directory/
$ProCAST20145/bin/procastDMP_runprefixCPU selection-mpiroot
$ProCAST20145/pcmpi

842
prefix: case name
CPU selection: selection of processors and hosts
See HOSTFILE and HOSTLIST definition for PC-MPI at the end of this section for more details
-np N selection of N processors
-hostfile hostfilename which contains list of hosts - See remark at the end of this section
or
-np N selection of N processors
-hostlist "hostname list" - See remark at the end of this section
Example:
cd .../working_directory/
$ProCAST20145/bin/procastDMP_run Test -np 4 -hostfile hostfile.dat
-mpiroot $ProCAST20145/pcmpi

For Windows (PC-MPI):


cd .../working_directory/
%ProCAST20145%\PCMPI\bin\mpirunCPU_selection%ProCAST20145%\bin\proca
stDMP.exeprefix
prefix: case name
CPU_selection: selection of processors
See HOSTFILE and HOSTLIST definition for PC-MPI at the end of this section for more details
-np N selection of N processors
-hostfile hostfilename which contains list of hosts - See remark at the end of this section
or
-np N selection of N processors
-hostlist "hostname list" - See remark at the end of this section
Remark 1:
If DMP calculations have to be launched on CPU's which are physically on different machines, it
is highly recommended to use Linux, rather than Windows. As the communications between the
machines are managed by the Operating System, it has been observed that in some cases, the
communication between Windows machines was not optimum, thus slowing down the overall
calculation, leading to a poor scalability. This was not observed on Linux, where good scalability
on multi-machines was always obtained.
Remark 2:
Depending upon the machine configuration, it may be necessary to add the following option (after
the CPU_selection):
-e LD_LIBRARY_PATH="%MPI_ROOT%\bin"
Example:
cd .../working_directory/
%ProCAST20145%\PCMPI\bin\mpirun -np 4
%ProCAST20145%\bin\procastDMP.exe Test

HOSTFILE and HOSTLIST definition for PC-MPI (for both Linux and Windows)

843
On PC-MPI, there is two ways to specify which CPU's have to be used for a given calculation: the
"hostfile" and the "hostlist". In both cases, the hostfile or the hostlist should be specified in the
launch command (or in a script which will launch the calculation).
In order to explain how it is working, let's assume that the cluster has 4 machines with 2 dual
cores each (for a total of 16 CPU's). The machines are named machine1, machine2, machine3
and machine 4.

Hostfile:
A hostfile (named "hostfile.dat") should be created (for instance in the local working directory),
with the list of machines on which the calculation has to be run.

The syntax of the hostfile.dat is the following (ASCII file):


machine_name_1 Number_of_CPU
machine_name_2 Number_of_CPU
For instance, if a calculation with 8 CPU's has to be run on the machine3 and machine4, the
hostfile.dat should be the following (located in the local working directory or in any directory which
will be specified in the command line):
machine3 4
machine4 4
and the calculation should be launched in the following way (let's assume that the calculation is
located in the /Data/Test working directory):
cd .../working_directory/
$ProCAST20145/bin/procastDMP_run prefix -np 8 -hostfile
.../working_directory/hostfile.dat -mpiroot $ProCAST20145/pcmpi

Hostlist:
It possible to launch the same calculation as above (8 CPU's on machine3 and machine4) with a
hostlist instead of a host file. In this case, the syntax of the command to launch the calculation is
the following:
cd .../working_directory/
$ProCAST20145/bin/procastDMP_run prefix -np 8 -hostlist
machine3,machine4 .../working_directory/hostfile.dat -mpiroot
$ProCAST20145/pcmpi
If we want to launch a job on 4 CPU's, distributed on machines 3 and 4 (which have 4 CPU's
each), thus using 2 CPU's of each machine, one can specify "machine3:2,machine4:2" in the
hostlist:
cd .../working_directory/
$ProCAST20145/bin/procastDMP_run prefix -np 4 -hostlist
machine3:2,machine4:2 .../working_directory/hostfile.dat -mpiroot
$ProCAST20145/pcmpi
Repeatability
The goal of a parallel solver is to obtain the same results as the scalar version and regardless of
the number of processors. This is called "Repeatability".
One should note that parallel processing (using an implicit solver like in ProCAST), involves the
resolution at once of a linear system on distributed processors, with the appropriate

844
communications between the processors. As a first consequence, the algorithms which are used
in the parallel version (especially for the pre-conditioner) cannot be exactly the same as the ones
used in the scalar version. This may lead to small differences in convergence (and thus in
timesteps) and in round-off. Moreover, as iterative solvers are used, the solution is never exact
and it may slightly depend upon the way it is solved (which can be slightly different on 1, 2, 4 or 8
processors).
Thus, one should expect to have very similar results between the scalar and the parallel version
and between runs made with different numbers of processors, however, most of the time, one will
not have exactly the same result. This is especially true in filling calculations where very small
differences may have an effect on the filling pattern (as different meshes or different COURANT
values may have too).
Machine Configuration
In order to have an efficient parallel processing, it is important to set-up the machines in the right
way. This section explains the basics principles of the machines installation and configuration in
order to run the ProCAST Parallel solver. Please note that the following is not necessary for the
Windows DMP version.
Cluster of processors
When a cluster of processors is used (e.g. Linux cluster of 4 machines, having each 2 CPU's),
they should be connected through a dedicated fast network, such as a 1 Gigabit/s Ethernet or a
Myrinet switch. Please note that the ProCAST Parallel installation (with the libraries) may be
different if a 1 Gigabit/s Ethernet or a Myrinet switch is used. A special care should be taken upon
the type of cables which are used. The cable should be designed for fast communication (for 1
Gigabit/s Ethernet, Category 6 cables - or above - should be used).
Concerning the operating system, it is important to make such that the installation of each node is
the same in order to optimize the performances.

SSH
During the Parallel calculation, the software is communicating with the different nodes (computers
of the cluster) through "Secured shells" (ssh). Thus, the machines should be configured in order
to allow "ssh" communication between the nodes. If a "paraphrase" (password) is set to activate
the ssh, one should perform the two following commands when a new Command Window is
used:
ssh-agent $SHELL
ssh-add
then, the "paraphrase" should be given. If this operation is not done, the paraphrase will be asked
for each node when the ProCAST Parallel solver will be launched. If ssh is configured without
paraphrase, then, this is not necessary.
If the Parallel solver is launched from the Manager, it is necessary to perform the above operation
in the Command window before the Manager is launched (in this same command window).

Disk mounting procedure


The disk on which the software and libraries are installed, as well as the disk(s) on which the data
will be located (it can be different disks) should be mounted in such a way that they can be
accessed in the same way (i.e. with the same path) from any machine (node).
Case Setups
This section consists of the following topics:
 Thermal
 Fluid Flow & Filling

845
 Radiation
 Stress
 Filters
 Semi-Solid Casting
 Centrifugal Casting
 Core Blowing
 Large Ingot Filling
 Pin Squeeze
Thermal
Thermal Model
The Thermal module allows performing a heat flow calculation, by solving the Fourier heat
conduction equation, including the latent heat release during solidification. The typical results
which can be obtained are the following:
 Temperature distribution
 Fraction of solid evolution
 Heat flux and thermal gradients
 Solidification time
 Hot spots
 Porosity prediction

Flow Chart

This section describes the set-up of a Flow case. The detailed generic set up is done in simple
case set up chapter at the beginning.

Model should always be set up on CAD to take the opportunity of optimization.

846
This section consists of the following topics:
 Volume Manager
 Interface HTC Manager
 Process Condition Manager
 Simulation Parameters
Volume Manager
Once the model is loaded (see the File Types Supported section), the first operation is to define
the different materials with their properties and attributes, initial conditions, Type and percentage
fill in Volume Manager. This is performed in the Volume Manager.
Step 1: Open Volume from Cast main menu or by double-clicking on the Volume Manager in
Explorer. Click on any row to highlight corresponding volume. Double-click in the cell under Name
column of the highlighted row, as shown below, and type Cast.

Step 2: Set the type Alloy as type for this Cast volume by right-clicking in the Type column in the
corresponding highlighted cell and selecting it, as shown below.

847
Step 3: Select the material from corresponding database, as shown below, for the material
column.

848
Step 4: Type percentage fill as 100 (as it is a thermal case) by double-clicking in Fill% for the
highlighted cell and similarly enter value of initial condition as 1350 degree centigrade. Please
refer to the below image for the same.

849
Step 5: Similarly, all other volume details can be updated as shown in the below image. Click on
Apply button to save all the data of Volume Manager.

850
Interface HTC Manager
In this manager, we are going to update the Interfaces between materials.
It is accessible by double-clicking Interface HTC Manager in explorer or from Cast main menu.
Type can be set appropriately as EQUIV/COINC/NONCOINC, as shown in below image.
Corresponding Interface Condition can be selected from Public, User databases.

851
Interfaces between volumes are displayed along with volumes in different colors in
model window.

Non-coincident meshes are not automatically updated. These have to be updated


manually by right-clicking on the Interfaces and selecting Update NON COINC Interface,
as shown below.

852
Process Condition Manager
After the definition of the interfaces, the Boundary or process conditions should be specified. This
is done in the "Process Condition Manager" from Cast menu.

853
One has to create new required process condition.

854
Process Condition is detailed with Heat Exchange as an example:
Step 1: Right-click on Heat Exchange in explorer and select New.
Step 2: Click on the Entity cell corresponding to the condition.
Step 3: Click on define region icon, as shown below.

Step 4: Select required faces by changing type to face in Define Region GUI and use Contiguous
Selection, and click on Apply. Please refer to the below image for the same.

855
After Selection:

856
Step 5: Select required condition from respective database (Public, User).

Click on Apply to confirm the selection.


Similarly, the other conditions can be defined.

Gravity
For Thermal only problems, it is important to define the gravity direction for the calculation of the
porosity (using the POROS=1 model).
The gravity is defined in the following panel. Functionality is accessible from Cast menu.
For standard problem, a constant gravity (1) is defined. The three components of the gravity are
as shown in the drop-down option. One can select gravity direction from direction, as shown in
below image. Clicking on Apply confirms the direction.

857
Simulation Parameters
The following Simulation Parameters should be specified:

858
The thermal module should be activated with THERMAL = ON (Temperature). The storage
frequency of the thermal results (TFREQ) should be specified, as well as the activation of the
porosity model (POROS).
Click on Apply to save the simulation parameters in casep.dat
Please refer to the Thermal Simulation Parameters section for the full description of all the
Simulation Parameters.
Fluid Flow & Filling
Fluid Flow Model
The fluid flow module allows performing mold filling calculation (free surface) as well as fluid flow
computation, by the resolution of the Navier-Stokes equation. The typical results which can be
obtained are the following:

859
 Filling behavior
 Free surface evolution
 Natural and forced convection currents
 Dynamic pressure of the liquid
 Entrapped gas
 Filter behavior

Flow Chart
This section describes the additional set-up necessary for fluid flow and mold filling. For the set-
up of a thermal case, please refer to the Thermal section of the Pre-processor.
Additional parameters are required to be specified in volume manager, process condition
manager, Simulation Parameters.
Case set up for Flow almost resembles the same, as shown below:

Volume Manager
Concerning the material assignment, the only requirement is that the domains in which fluid flow
calculation will be performed are defined as "Alloy" domains (or "Filter" or "Foam" - see the
Advanced features section for more details). Then, one should define whether the
corresponding domain is Empty or not (in the case of mold filling). One can change from 100 to 0
and vice-versa by typing the value in Volume Manager.

860
Moreover, the material properties of the fluid material should have the flow properties (e.g.
viscosity). This can be checked in the Material database list. The Material name should be
preceded by an {F} (for Fluid properties).

Interface HTC Manager


Concerning the interfaces, nothing special should be done concerning the fluid flow. One can
however notice that if the casting (i.e. the flow domain) is non-coincident with the mold domain(s),
one will need to set a zero velocity boundary condition all around the casting domain (in order to
prevent "leaks"). See the Advanced features section for more details on non-coincident meshes.

Process Condition Manager


Concerning the boundary condition assignments, one has to specify the velocity, pressure, wall
and/or inlet BC.
See the Process Condition Manager section for more details about the different type of
boundary conditions, as well as the database management.
Please note that when a filling-flow calculation is performed on a model where there is no mold, it
is necessary to set a zero-velocity boundary condition around the whole mesh (i.e. at all the
location where a mold would be in contact with the casting). A zero velocity boundary condition
can also be replaced by a WALL boundary condition, which has the same effect.

Simulation Parameters Menu


The following Simulation Parameters should be specified:

861
The fluid flow module should be activated with FLOW = ON or ON option 1, as well as the free
surface model (FREESF) for mold filling and the gas model (GAS). The storage frequency of the
fluid flow results (VFREQ) should be specified. Then, information about the reference pressure
(PREF) and pressure driven inlet (PINLET), about the final fill fraction (LVSURF) and the filling
parameter (WSHEAR, WALLF) shall be defined.
Please refer to the Flow Simulation Parameters section for the full description of all the
Simulation Parameters.
Radiation
Radiation Model

862
The radiation module allows to perform complex radiative problems (e.g. investment casting),
with the calculation of the shadowing effects (view factor calculations). The typical results which
can be obtained are the following:
 Effect of radiative heat transfer
 Shadowing effect
Radiation can be either treated as a simple radiative flux (described in the Thermal Process
Conditions section), or with a complex radiation algorithm which takes into account reflections,
obstructions and shadowing effects. The set-up of a case with such complex radiation (called
hereafter "Radiation with view factors") is explained in this section.
As Radiation with view factors involves the calculation of the interaction of the components
(casting and mold) with the environment (furnace, cast shop ...), it is necessary to include the
environment into the model. This is done with an "Enclosure".
If the casting is put into a furnace, the Enclosure is the furnace itself (or the inner skin of the
furnace). However, it the casting (and mold) is sitting on the floor of the cast shop, one should set
an "artificial" enclosure which will surround the casting and which will have the same effect as the
environment.
An enclosure can be either a solid (represented by a solid 3-D FEM mesh, as the casting, mold,
etc...), or by a closed surface (represented by a closed FEM surface mesh).
The figure below shows a casting within a solid enclosure (for symmetry reasons, only a sector is
modeled).

The figure below presents a casting within a surface enclosure shown in grey (for symmetry
reasons, only half of the geometry is modeled).

863
This section describes the additional set-up necessary for radiation calculations. For the set-up of
a thermal case, please refer to the Thermal section of the Pre-processor.
Additional parameters are required to be specified in Geometry, process condition manager,
Simulation Parameters.

Enclosure volume must be converted in to Enclosure at the beginning for Radiation


case set up.

File/Multiple Meshes Menu


When a model contains an enclosure (i.e. a surface mesh which will act as an enclosure), there
are two ways to load the corresponding meshes:

864
a) The enclosure is built in Visual-Mesh (Cast), together with the solid mesh. In this case, the
enclosure should be "tagged" as an enclosure.
b) The enclosure is built separately in Visual-Mesh (Cast), as a conventional surface mesh
(without and "enclosure tag"). Then, the solid mesh and surfaces meshes should be loaded in
Visual-Cast by changing context.

Volume Manager
Nothing specific should be defined at the level of the Materials and Interface menus. The complex
radiation method should be set in the "Process Condition Manager" and on Enclosure folder.

Enclosure Normals
When the ambiance or the furnace is modeled with an enclosure, one should specify the
temperature and the emissivity of the enclosure in the "Radiation Enclosure of Process Condition
Manager".
All Element Normals can be viewed and set to inwards. Right-click on Enclosure folder and select
Element Normals.

Clicking on Check and selecting display normals By Arrows Element normals are shown as
below. Auto align will align the normals automatically.

865
Display Normals By color will display the aligned normals with yellow color, as shown below:

Flip Normal in Element normals will reverse the normal direction on picking the element face, as
shown below:

866
Process Condition Manager
Radiation Enclosure
This condition is automatically created if we have Enclosure.
Value for emissivity and temperature in User database can be created from the Process
Condition Manager.

867
Please note that the "Enclosure" selection control in the Process Condition Manager
will list only one enclosure entity which has all the element faces for the different enclosure
regions defined. If it is required to assign condition for a specific portion or predefined
region of the enclosure, use “Region” selection control and select the required one from
the list.
Motion (if any) of the enclosure with respect to the casting or of material domains can be defined
using "Geometrical Process Condition".
Each required process condition must be created.

868
Please refer to the Process Condition Manager chapter for more detailed explanation on
"Geometrical Conditions".
For assigning volumes with these process conditions, we have the provision to select from
Volume List, as shown below.

It is possible to specify a Translation, a Rotation or a Revolution. Any combination of the three is


possible, however, please note that the user should check that there is no conflict between these
motions and prevent any inter-penetration of the different materials and/or enclosures.

Simulation Parameters

869
The following Simulation Parameters should be specified:

The radiation module is automatically activated when Heat Boundary conditions with View
Factors ON are set. Thus, no specific Simulation Parameter should be activated at this stage.
There are however three Simulation Parameters which are important to set if the enclosure is
moving. In this case, the update of the view factors will be triggered by the VFTIME or VFDISP
parameters. If VFDISP is activated, the Enclosure ID on which the motion will be recorded should
be specified.
Please refer to the Radiation Simulation Parameters section for the full description of all the
Simulation Parameters.
Stress
Stress Models

870
The stress module allows performing a thermo-mechanical calculation. The typical results which
can be obtained are the following:
 Stress distribution
 Deformations (elastic and plastic)
 Displacements
 Gap formation
 Elastic springback
 Die fatigue
 Hot tears
 Cracks
In order to address these different aspects, six different stress models are available:
 Linear Elastic
 Elasto-plastic
 Elasto-viscoplastic
 Visco-elastic
 Rigid
 Vacant
These different models are presented in the Stress Models and Properties section.

Flow Chart

This section describes the additional set-up necessary for stress calculations. For the set-up of a
thermal case, please refer to the Thermal section of the Pre-processor.
Additional parameters are required to be specified in Volume Manager, process condition
manager, Simulation Parameters.

871
Volume Manager
Stress type must be selected from Volume Manager for various properties consideration.
For that, open Volume Manager. Right-click in the last column and set the required type, as
shown below.

Interface HTC Manager


Nothing specific should be defined at the level of the interfaces.

Process Condition Manager


The user can specify three types of stress boundary conditions, Displacement, Point Load,
Surface Load, as shown in the figure below.

The specification of the displacements is very important in order to guarantee that the model will
not rotate or move in an unexpected fashion, under the effect of stresses. The figure below
summarizes typical displacement constraints.

872
One should be careful not to over constrain the model with too many displacements boundary
conditions. If this is the case, this may induce artificial stresses locally, as shown in the figure
hereafter.

One should note that a symmetry also induces displacement constraints, as shown in the figure
below.

873
It is necessary to specify displacements on the casting domain when the mold is set to "Vacant".
However, when the mold is set to "Rigid", it is not necessary to specify displacements on the
mold, except if one wants to model the Elastic spring-back when the mold is opened.
In the case of die casting, it is recommended to set a zero vertical displacement at all the top and
bottom points of the upper and lower dies (black triangles on the figure below), as well as one
lateral zero displacement on each side of each die (blue triangle on the figure below).

One should be aware that the application of only a "Surface load" on the top die (as shown
below) is not enough.

874
This can be explained with the following sketch. In the left case (blue), only two loads are applied
to the part. This part is not constraint and it can move in any direction. In order to make sure that
the part will not move, one has to apply in addition the appropriate zero displacements (right case
in green). In the center case (orange), the displacement constraints are not sufficient and the part
could rotate around the bottom right point.

Finally, "Point load" can be applied locally to model the effect of a local force.

Symmetries
Symmetries can be used for stress calculations. However, one should be very careful to have
meshes which are exactly matching the symmetry plane. If this is not the case, it will create
artificial constraints which will degrade the quality of the results as well as the convergence of the
calculation. See the "Symmetry" chapter under Cast menu for more details about how to check
the symmetry planes.

875
Simulation Parameters
The following Simulation Parameters should be specified:

The stress module should be activated with STRESS = 1. The storage frequency of the stress
results (SFREQ), as well as the calculation frequency of the stresses (SCALC) should also be
specified.
Please refer to the Stress Simulation Parameters section for the full description of all the
Simulation Parameters.
In addition, when a Stress calculation is performed, one should set PIPEFS = 0. This allows to
prevent an unexpected effect of the piping on the stress calculation.

876
Advanced Stress Features
Elastic Springback
The stress module of ProCAST allows to simulate the Elastic Springback occurring when a mold
is opened. In the figure below (left picture), the mold in blue is closed and it induces some
stresses on the "T-bar". When the mold is opened (right picture), the corresponding mold
resistance is removed and the stresses are relaxed. As the elastic strain is released, the shape of
the part changes (on the right picture, both the part and the mold are represented, although the
mold is not anymore present).

To model the Elastic Springback effect, the user just needs to define a function for the interface
heat transfer coefficient (at all the interfaces which will not be any more in contact when the mold
opens). One should define a zero interface heat transfer coefficient when the mold opens and
automatically, the mechanical effect of the mold will be removed in the model.
However, if one want to continue to simulate the cooling of the casting, while in the air, the user
should not forget to set a Heat boundary condition on the casting surface (and eventually on the
inside mold surface) with a non-zero value from the opening time (the technique is the same as
the one used in cycling calculations).
Filters
If Filters are present in the process, they can be modeled.
Firstly, the filter should be meshed as a separate material domain, as shown hereafter.

877
Once the model is loaded, a Filter material should be assigned to the corresponding material
domain, as shown below. (See the Volume Manager section for the description of the filter
properties definition).

878
Then, the "FILTER" type should be assigned in Volume Manager.
In the Interface menu, the interfaces between the casting and the filter material (on both sides)
should be kept as "EQUIV" (i.e. no interface should be created between the casting material and
the filter), as shown below.

879
Finally, the interface heat transfer coefficient between the liquid metal (casting material) and the
filter material can be defined in the Filter Heat in Process Condition Manager. The list of the
Filter materials is shown, as well as the Interface HTC database, ready for an assignment (see
below images).

880
Semi-Solid Casting
Visual-Cast has a dedicated model for Semi-Solid casting (or semi-solid casting (SSM)).
When a semi-solid material is injected in a mold cavity, its viscosity depends upon the shear rate
(as well as the shear rate which was encountered by the metal previously during the injection).
When the shear rate is high, the solidifying dendrites are broken and the fluidity increases (i.e. the
viscosity decreases).
In order to account for such behavior, a specific "Power cut-off" model was designed.
In order to set-up a Semi-Solid casting case, one should define the appropriate material
properties of the casting material and define an additional simple input file (prefixg0.dat).
In the Material properties definition, all the thermal properties should be defined as usual. In the
Fluid tab, the Viscosity should be defined with the "Power-Cutoff" tab.

881
The values of the "Zero viscosity", the "K Factor" and the "Power", which can be Temperature
dependent, should be calibrated with experiments. Please note that the value of n should be
negative (in order to have a decreasing viscosity with an increasing shear rate).
To run a model of Semi-Solid Casting, user must follow these steps:
 User must define each volume of the casting as linked to every section change. It means
that when fluid flows, if the section of the cavity changes significantly, a new volume
should be considered.
 A first simulation must be launched following the “Carreau-Yasuda” model. It will provide
the results from which the user can retrieve the approximate shear rate values for each
volume of the model (“cut-off” shear rate ).
 Once the “cut-off” shear rate values have been estimated, the model can be launched
again following the “Power cut-off” model. For that, a “prefixg0.dat” must be created. This
file will store the corresponding “cut-off” shear rate values for each defined volume. This
can be done manually or through the Volume Manager menu of Visual-Environment.
In Volume Manager one should activate SSM (Semi-Solid Casting) and define Shear Rate value
for the same. Select Alloy volumes for SSM, right-click on name column and select SSM. Enter
the desired value (by double-clicking in the corresponding cell) in Shear Rate column, as shown
below.

882
The format of this ASCII file is as follows (one line per domain of the mesh):
Domain_number critical_shear_rate
The following example shows a g0.dat file for a case with 5 domains. One should note that
Volume6, which is a VirtualMold_1, is the mold and a dummy value (of 1) should be set. The unit
of this critical cut-off shear rate is [s].
The principle for the definition of the critical cut-off shear rates is described hereafter. It is based
upon the fact that dendrites are broken in locations where the shear rate is high and then, even if
the shear rate decreases afterwards (in an opened cavity), the viscosity will not increase anymore
(as the dendrites have been broken). This means that the viscosity in a cavity which is following a

883
gate will remain at a rather low level, corresponding to the shear rate of that gate. One can
illustrate this principle with the following figure.

In domain 3, the viscosity of the semi-solid material is about the one which corresponds to the
shear rate that was encountered in the gate (i.e. domain 2). Thus, one should set a "cut-off" value
in domain 3 which corresponds to the mean shear rate of domain 2. In the same way, the "cut-off"
value of domain 5 should correspond to the shear rate encountered in domain 4 (which should be
a higher value than domain 2 as the section is smaller). In domains 1, 2 and 4, it is not necessary
to set a cut-off value (the default value of 1 can be used), as the effective shear rates will
correspond well to the reality.
To determine the shear rate in a gate, one can view the Non-Newtonian Shear Rate in Visual-
Viewer (Cast).

Finally, in order to activate the Power cutoff model, the two following Simulation Parameters
should be set:
HIVISC = 2
NNEWTON = 2
Centrifugal Casting
The centrifugal casting model of Visual-Cast is designed for vertical centrifugal casting only. The
inlet should be centered, with inlet velocities parallel to the rotation axis.
Starting from version 2006.0, centrifugal casting cases should be set up in the following way:
Only the Alloy volumes should be set with a revolution velocity (i.e. not the mold materials). This
must be defined in the “Revolution" condition in "Process Condition Manager".

884
The Simulation Parameter RELVEL should be set to 1. It allows to take into account the Coriolis
force: fictive force orthogonal to the motion direction of a body when this body is observed from a
rotating coordinate system (see image hereunder).

The rest of the set-up should be done as for a standard gravity casting (i.e. WSHEAR = 2,
WALLF = 0.8, FREESFOPT = 1 (or 2)).
When a Centrifugal casting case is run with the RELVEL algorithm (relative rotational frame), the
velocity vectors include the rotational component. As a consequence, it is not convenient to view
these velocities. In order to view the velocity vectors as if the observer would be attached to the
rotating casting, one should remove the revolution velocity. This action can be completed using
the Display/Remove Revolution Velocity menu option:

The figure below shows the "standard" velocity vectors (including the rotational component).

885
The figure hereafter shows the same result as above, but with the relative velocities.

886
In the figure below, a zoom on one branch of the above geometry is shown. On the left, the
"standard" velocities (including the rotational component) are shown, whereas on the right, the
"relative velocities" are displayed.

Core Blowing

ProCAST allows to model the core blowing process.


Introduction
When modeling the sand injection process, the air and sand are modeled as a homogeneous
fluid in which the air-sand mixture is treated as a single phase. Thus, the process is considered
as a filling with ad-hoc material properties and boundary conditions.
In order to model core blowing, a non-Newtonian model is used. The viscosity is described by the
following relationship:

where:

887
Model Set-up
Material Properties
The viscosity model should be defined using the Carreau-Yasuda input panel with the following
correspondence table:

Please note that the "Yasuda" parameter is not used in the Core blowing viscosity
model. Thus, this value (which is recommended to be set to 0) will be ignored.

It is important to notice that when a core blowing calculation is performed


(NNEWTON = 7), the equation behind the Carreau-Yasuda model (shown above) is not
the same as the one used for non-Newtonian fluid.
In all cases, the viscosity is never allowed to decrease below the 0 value. The last term of the
viscosity relation measures the amount of contraction of the velocity field. Only positive

888
contractions are used to increase the effective viscosity. This contraction term is modeling the
increased resistance to flow that occurs when intra-particle spacing decreases as the velocity
field contracts.
Typical recommended values are:
zero viscosity : 1 Pa.s
infinite viscosity : 0.2 Pa.s
Phase shift : 3e-5 s
Power : 100
Yasuda : 0 (not used)
Beside the viscosity, it is necessary to define the density, the specific heat and the thermal
conductivity. Please note that as no thermal model is performed, the specific heat and the thermal
conductivity are not explicitly used in the calculation. However these two values should be
defined (dummy values can be used).
Geometry-Mesh / Boundary Conditions
In order to have a successful calculation, it is necessary to model the "upper sand container" as
shown in the following figure.

The boundary conditions to be applied should be Pressure, Vent and zero velocities (Wall).

889
A pressure condition should be applied to the sand in the upper container to force the sand down
through the nozzle assembly and into the core box. Usually, this pressure is around 4 bars.
Example

Vents should be specified in order to allow the air to escape. The two following figures are
showing different vent selections.

890
Typical vent boundary conditions are the following:

Run Parameters
The Standard Flow Run parameters should be set as usual. One should not forget to set GAS = 2
to activate the gas model (mandatory):

891
In addition, the core blowing model is activated by setting the following flow run parameters:
HIVISC = 2 and NNEWTON=7 (in the Flow/Advanced 2 Run Parameter tab).

892
The Standard Flow Run parameters should be set as usual. One should not forget to
set GAS = 2 to activate the gas model (mandatory).
Experimental Comparison
The following figure is showing the comparison between experimental measurements (left) and
the ProCAST calculation (right) at 3 different times.

893
Large Ingot Filling
Large ingot filling needs some special treatment. This is due to the fact that the filling times are
usually very long on one side, and on the other side, rather high velocities lead to quite small
timesteps. As a result, the computing times are often quite long.
In order to reduce the CPU time as much as possible, the following procedures are proposed:
Top Filling
The recommended procedure for Top filled ingot is the following:
A "Mass source" should be set at the bottom of the casting cavity, with the appropriate amount of
inlet metal and the desired inlet temperature. The coordinate of the mass source should be
approximately the bottom of the ingot, but it may be a few millimeters or centimeters above.
Then, the Simulation Parameter TOPFILL = 1 should be added manually in the p.dat file, together
with FREESF = 2. To deactivate this Top filling mode, TOPFILL should be set to 0.
This setting will have the effect that, instead of having a point mass source (as usual), the
incoming mass will be evenly distributed just below the whole free surface (which moves
upwards). This will have the advantage of not having a large velocity at the mass source location,
which will require the use of small timesteps.

894
Bottom Filling
The case of Bottom filling is more complicated as one needs to fill first the downsprue(s) and then
bring the hot metal from the bottom.
In order to do so, one should set the Simulation Parameter TOFRSF2 followed by a fill fraction
(e.g. TOFRSF2 0.01), together with FREESF = 1. The filling will start in FREESF = 1 mode (i.e.
the normal filling mode). When the critical fill fraction defined by TOFRSF2 is reached, the
calculation will switch automatically from FREESF = 1 to FREESF = 2 for the rest of the filling.
However, the hot metal will be brought at the bottom of the ingot through the downsprue(s). The
TOFRSF2 Simulation Parameter should be added manually in the p.dat file.
The switch to FREESF = 2 will allow larger timesteps and will thus reduce the CPU time. One
should however be aware that if the downsprue diameter is rather small, the velocities can be
quite large (as well as at the exit of the downsprue on the casting) and this will limit the size of the
timestep, thus leading to important CPU times.
General Rules
MLDUPDT
When a mold is present, it is possible to slightly reduce the CPU time by updating the material
properties in the mold every N step. To do that, the MLDUPDT Simulation Parameter should be
added manually in the p.dat file, followed by an integer. This number corresponds to the material
properties update frequency. A value of 50 may be recommended. The MLDUPDT Simulation
Parameter should be added manually in the p.dat file.
Boundary Layers
When large castings are modeled, the mesh size becomes very large with respect to the thermal
gradients, especially in the early stages of cooling. In order to have appropriate answers (i.e.
more accurate temperatures), it is advised to generate a few layers (of a few mm in thickness)
inside the casting, as well as inside the mold.
Pin Squeeze
Visual-Cast provides the capability to model "pin squeeze" casting.
The pin squeeze process condition is used to model a piston which presses a pin in one local
area with the aim of locally reduce porosity. Usually the pin pressure should be applied during
mushy phase. In Visual Cast, this process condition is available in the mechanical category. It is
possible to define it either on a node, or on a surface. The available input parameters are:

895
 Diameter of pin (only if defined on node, else the area definition is explicit)
 Activation time (optional)
 Withdrawal time (optional)
 Push-in Distance (optional)
The output parameters are:
 Optimal Pin squeeze activation time
 Optimal Pin squeeze pushing distance (pressure to be applied on the squeeze pin to
remove the local porosity of the casting)
 Optimal Pin squeeze withdrawal time
 Applied pressure (only available with stress module, STRESS 2 parameter.)
Where by optimal it is intended that the set of data produces the biggest reduction in porosity.
Model description
It is assumed that the pin can only influence a spherical region of 10 times the pin diameter. In
this region, the total porosity is computed. With this info, the pin squeeze model results are
calculated as follows:
 The optimal activation time corresponds to the time when 30% of the casting in the pin
influence region is solidified.
 The optimal withdrawal time corresponds is the time when 98% of the casting in the pin
influence region is solidified.
 The optimal pushing-in distance per pin, is the push-in distance necessary to fully remove
porosity in the influence region :(pin area x optimal push-in distance = porosity volume in
the influence region).
Both 30% and 98% are empirical values.
The model assumes that the porosity is fully removed and therefore it can predict a push-in
distance bigger than the part thickness. In such a scenario, the result should be interpreted as
“the pin is not able to remove fully the porosity in its influence region”.

896
Those info can be found in the prefix.sqz file, in the working directory. This file is an ASCII file and
can be viewed with any text editor.

When Pin Squeeze Calculation is activated in the Stress module, the .sqz file in addition contains
the “Computed squeeze pin applying pressure” that gives an indication of the pressure required
to drive the pin.
The set-up of a Pin Squeeze case should be done as follows:
 Firstly, the model should be set up for a filling and thermal case, as usual.
 In the "Process Conditions - Assign Surface" menu, one has two possibilities to define the
load:
o Squeeze Pin Node: Select a node and assign a "Squeeze Pin" BC. The diameter
entry is then taken into account for the area of load.

897
Activation times, withdraw times and push-in distances can be optionally defined by
the user.
o Squeeze Pin Face: Select faces to define the area of load. No Assignment from the
BC database is required in this case.

898
Activation times, withdraw times and push-in distances can be optionally defined by
the user.

The Simulation Parameters should be configured as a regular Gravity filling problem.


Visual-CAST calculates also three final porosity fraction fields corresponding to the following
three conditions:
 Final porosity fraction in the absence of pins.
Example

899
 Final porosity fraction if optimal pin squeeze process parameters are employed.
Example

 Final porosity faction if user defined pin squeeze process parameters are used.
Example

900
Advanced Porosity Module
The Advanced Porosity Module (also called APM) uses the multi-gas approach in order to model
gas and shrinkage microporosity, as well as macroporosity and pipe shrinkage.

Porosity calculations are performed as a "post-processing" of the thermal results. Thus, one
should first configure and run a thermal calculation as usual and then configure and run the
porosity model.

This section consists of the following topics:


 Introduction
 Advanced Porosity Pre-Processing
 Advanced Porosity Solver
 Advanced Porosity Post-Processing
 APM Appendix
Reference papers can be found in the APM Papers document located in the software installation.

901
Introduction
The porosity module of ProCAST is based upon the model developed by Pequet, Gremaud and
Rappaz. For further details, please refer to:
 Ch. Pequet, M. Gremaud, M. Rappaz (2002), "Modeling of Microporosity, Macroporosity
and Pipe Shrinkage Formation during the Solidification of Alloys using a Mushy-Zone
Refinement Method", Met. Mater. Trans. 33A, 2095-2106.
It is developed jointly by Calcom ESI (ESI Group) and the Swiss Federal Institute of Technology,
Lausanne, Switzerland.
The model can be summarized as follows (abstract of the above mentioned paper):
A microporosity model, based on the solution of Darcy's equation and microsegregation of gas,
has been developed for arbitrary three-dimensional (3D) geometry and coupled with
macroporosity and pipe shrinkage predictions. In order to accurately calculate the pressure drop
within the mushy zone, a dynamic refinement technique has been implemented: a fine and
regular Finite Volume (FV) grid is superimposed onto the Finite Element (FE) mesh used for the
heat flow computations. For each time step, the cells, which fall in the mushy zone, are activated
and the governing equations of microporosity formation are solved only within this domain, with
appropriate boundary conditions. For that purpose, it is necessary to identify automatically the
various liquid regions that may appear during solidification: open regions of liquid are connected
to a free surface where a pressure is imposed; partially-closed liquid regions are connected to an
open region via the mushy zone and closed regions are totally surrounded by the solid and/or the
mold. For partially-closed liquid pockets, it is shown that an integral boundary condition applies
before macroporosity appears. Finally, pipe shrinkage (i.e., shrinkage appearing at a free surface)
is obtained by integration of the calculated interdendritic fluid flow over the open region
boundaries, thus ensuring that the total shrinkage (microporosity plus macroporosity and pipe
shrinkage) respects the overall mass balance.
The principle of the porosity calculation is the following:
a) A thermal calculation is performed first in ProCAST (please note that it is mandatory to use
PIPEFS = 0 and it may be advised to use POROS = 0 if macroshrinkage are observed).
b) The temperature and fraction of solid results are then processed in the Advanced Porosity
Module in order to calculate the macro- and micro-porosity, as well as the pipe shrinkage.
c) To do so, a finer grid is automatically superimposed to calculate the liquid pressure drop in the
mushy zone (solution of the Darcy's equation) and the nucleation and growth of pores are
computed.
d) The calculation of the nucleation and growth of the pores is made according to the gas model.
The APM that was initially designed only for binary Al-based alloys in which a single gas –
hydrogen – was responsible for porosity (see paper above), has been extended to multi-gas
systems. In this module, the effect of several alloying elements on gas solubilities, and of course
on final porosity fraction, is now taken into account. For details on the modeling of porosity
formation in a multi-gas and multi-component configuration, see the following papers (can be
found in the software installation, under "dat/manuals/Pdf/APM_papers.pdf") and also in the APM
Examples section (see in the "Alloying elements effects" and "Several gases" paragraphs):
 Couturier G., Rappaz M. (2006). "Modeling of porosity formation in multicomponent alloys
in the presence of several dissolved gases and volatile solute elements", TMS,
Symposium on Simulation of Aluminum Shape Casting Processing.
 Couturier G., Desbiolles J-L., Rappaz M. (2006). "A porosity model for multi-gas systems
in multicomponent alloys", TMS, Modeling of Casting Welding and Advanced Solidification
Processes, pp. 619-626.
 Couturier G., Rappaz M. (2006). "Effect of volatile elements on porosity formation in
solidifying alloys", Modeling and Simulation in Materials Science and Engineering, 14, pp.
253-271.

902
The flowchart of this porosity module is described in the following figure (for a more detailed
description, please refer to the APM Flow Chart section):

In order to achieve a porosity calculation, the appropriate settings should be defined for the
thermal calculation and then the porosity input file (named "prefix_poro.d") should be configured.
These settings are described in the Advanced Porosity Pre-Processing section.
Advanced Porosity Pre-Processing
Configuration of the thermal calculation
The configuration of the thermal model in ProCAST should be made in the standard way. The
only precaution is to set the case in order to prevent piping (i.e. PIPEFS = 0). If macroshrinkage
are observed (creating "holes" inside the casting), it is advised to use POROS = 0 (this is
because in the piping or in macroshrinkage, the temperature are not anymore calculated when
the volume becomes empty and thus the temperature are remaining constant since that time. As
the temperature is used in the APM calculation, these constant temperatures may affect the
quality of the APM results).
Please note that there is no restriction to activate other models during the thermal calculation,
such as fluid flow or stress. However, it is important to remember that the Advanced Porosity
model does not handle remelting. If this occurs, it is not guaranteed that the solution will
converge.
As the APM calculation is using the temperature results of a thermal calculation done before, it is
necessary that the whole temperature history of interest for the APM calculation is present in the
result files. This means in particular that if a thermal calculation is "split" in two or more
calculations, using the "Extract" capability to chain the different calculations, it will not be possible
to run an APM calculation on more than one of these thermal "sub-calculations". As a
consequence, the APM will be possible only on single thermal calculations, without any Extract in
the middle. It is however possible to run an APM calculation on a thermal calculation which has
been started as an Extract at the end of the filling, as the whole casting is still fully liquid at the
beginning of the thermal calculation (although the thermal field is inhomogeneous). Restarts are
however possible as the results are append to the existing result files.

903
Please note that if the extract temperature results in part of the casting being already solid, then
the APM calculation will fail.
Configuration of the porosity model
A new GUI has been introduced for APM problems set-up. It guides the user to do the set-up and
finally generates the "prefix_poro.d" file on clicking Apply in the Simulation Parameter dialog.

"APM parameters saving activation" should be set to ON to activate the "prefix_poro.d" file
saving.
All values given as information come from the "gas.db" file.
Depending on the chosen casting type, specific entries are displayed.
The separator between domain number is a semicolon character.

904
Finally, an order of magnitude of the calculation time is given for typical model sizes.
Corresponding cells size (grid spacing) is computed from the domain numbers set by the user.

The calculation condition file ("prefix_poro.d" (ASCII format)) contains all the necessary
information to perform a calculation. It is divided in blocks of data containing different type of
information:

Material properties
alloy.param:
specific.mass.param:
viscosity.param:
coarsening.param:

Gas and bubble properties


nucleation.growth.param:
gas.param:

Process information
pressure.param:
feeding.param:
gravity.param:

Calculation settings
grid.param:
calculation.param:

Each block starts with the "block.name" and ends with "end". Inside a block, parameters are
inserted. Each parameter is always followed by one argument. The order of the blocks or
parameters within a block is free.
In the description hereafter, each block is presented according to the following format.

Please note that only SI units must be used for the porosity calculation definition (however the
thermal calculation can be set up as usual with any units).

905
The frames shown hereafter in light blue correspond to examples of settings.
The following sections describe these different inputs.
Many of the following parameters are optional: for them, a default value is defined in the APM
source code. The user can change this hard-coded value: he can define it in the "prefix_poro.d"
file, but if he wants to customize the APM he can also define it in a "default_poro.d" file located at
"COMMON\Resources\VisualRTM\RunParam". The definition of a parameter in the
"prefix_poro.d" file takes over the definition in the "default_poro.d" file. The definition of a
parameter in the "default_poro.d" file takes over the hard-coded value. Below, for each block
description, a table mentions if each parameter is needed, optional or not required (i.e. cannot be
defined at this location) in the "prefix_poro.d" and the "default_poro.d" files. The hard-coded value
is also mentioned.

This section consists of the following topics:


 Material Properties
 Gas and Bubble Properties
 Process Information
 Calculation Settings
 Examples of prefix_poro.d Input File
 APM Examples
Material Properties
When the "Advanced Porosity Model" is used in conjunction with a ProCAST calculation, all the
necessary thermo-physical properties (alloy composition, fraction of solid, density and viscosity
curves) are automatically extracted from the ProCAST input data file ("prefixg.unf") if they have
been defined in Visual-Cast and stored in "prefixg.unf" by DataCAST. Thus, nothing has to be
specified and no special care has to be taken. But such parameters can be defined also in
"prefix_poro.d" file, as described below. The definition in "prefixg.unf" takes over the definition in
"prefix_poro.d" file.

alloy.param: (optional)
The effects of several solute elements on gas solubility products can be taken into account by the
APM. This is valid if the gas.db database contains the "interaction coefficients". See the Appendix
3 for the description of Gas Thermodynamic Database.
For this, the APM reaches the concentration of each solute element in the liquid phase: the
solidification path is previously calculated by Visual-Cast. Three segregation models can be used
in Visual-Cast: lever rule, Scheil or back diffusion. The resulting file, "prefix.phs", contains the
concentration of each solute element in the liquid phase as a function of solidification. The APM
extracts directly these concentrations in "prefix.phs". If this file does not exist, the solute element
concentrations are assumed constant: they are read in "prefixg.unf" file or in "prefix_poro.d" if not
found in "prefixg.unf":

906
The figure above shows at which stage in Visual-Cast, in the material database, the "prefix.phs"
file is created. By selecting and applying the Scheil, Lever or Back diffusion model, this file is
written out. The alloying elements which appear in the list above are also used by the APM
module: the APM detects the alloying elements, and then reaches their respective concentration
evolution in "prefix.phs" file. If the "prefix.phs" file does not exit, the solute element concentrations
are assumed constant by the APM (values entered by the user in Visual-Cast: see figure above).
Please note that the APM module reads the "prefixg.unf" file and not the "prefixd.dat" file.
Therefore datacast has first to be used to generate the "prefixg.unf" out of the "prefixd.dat" file to
make this information available for the APM module.

Important remark:
Please note that the file "prefix.phs" must be present in the working directory of all APM
calculations (whereas this file is created only during the material properties calculation in Visual-
Cast). This means that if the same alloy is used for several calculations, one should not forget to
copy this file in the local working directory.

907
Example for an Al-2.5wt%Si3.6wt%Cu:

specific.mass.param: (optional)
Of course, in order to allow porosity calculations, one has to have an alloy density which is
defined as a function of temperature. This density curve is defined in Visual-Cast. If this density
curve has not been defined in Visual-Cast, the user can define it in "prefix_poro.d" with the
following parameters:

Note that this version of the "Advanced Porosity Model" does not allow to have "expanding"
materials (i.e. volume increasing for decreasing temperature).

908
viscosity.param: (optional)
In addition to the ProCAST thermo-physical data mentioned above, the viscosity defined in
Visual-Cast is an important quantity to access to the liquid pressure drop calculated in the mushy
zone from the alloy mass conservation equation coupled to the Darcy's equation (i.e. flow through
the mushy zone). The viscosity can be taken either as a constant, or as a function of temperature.
If not defined in Visual-Cast, the user can also define it as a constant value in the "prefix_poro.d"
file:

coarsening.param: (optional)

Another important parameter for the calculation of the liquid pressure drop is the permeability (K)
of the mushy zone, which is described by the Kozeny-Carman relationship:

Beside the fraction of solid (gs), the permeability is a function of the secondary dendrite arm
spacing (2), which can be calculated according to the following coarsening law:

where tf is the solidification time and M is the coarsening constant.


The coarsening constant can be calculated as follow, for a binary alloy:

with:
: Gibbs-Thomson coefficient (liquid-solid interfacial energy divided by the melting
entropy)
Dl: Liquid solute diffusion coefficient
k0: partition coefficient
ml: liquidus slope
c0: initial solute concentration

909
cf: concentration of the last solidifying liquid. It should be taken equal to the eutectic
concentration if eutectic forms at the end of solidification.
If not, one should take the liquid concentration at the solidus temperature, or calculate it with a
back-diffusion model.

The negative sign in the above equation comes from the liquidus slope definition: m l
< 0. If you use the convention m l > 0 for a decreasing liquidus temperature with % solute,
the minus sign should be withdrawn.

The following frames are showing both possibilities available for the user:
1. The coarsening constant (M) is specified.

2. A constant secondary dendrite arm spacing value is specified.

Gas and Bubble Properties


nucleation.growth.param:

The nucleation and growth parameters of pores (i.e. bubbles) are defined in this above block. All
these parameters are optional.
In the APM an optional parameter - the "cavitation.pressure" - can be used to define the
macropore formation critical pressure: if the liquid pressure in a closed or semi-closed liquid
pocket becomes lower than this value, a macropore is formed at the top of this pocket. As the
APM user might not know this critical value, this parameter is optional: If this critical value is not
defined in the "prefix_poro.d" file, it is set automatically to the sum of the nominal gas partial
pressures. It means that Laplace's overpressure is neglected for the macropores formation: it is
quite relevant as some bubbles entrapped in the liquid pocket will go up, stop at the top of the
liquid pocket and coalesce; the macropores will form from these quite big bubbles.
When a pore will nucleate, it will appear with the radius defined under "nucleation.radius"
(optional). Please note that this initial pore radius value should not be defined with smaller values
than 5 microns. Otherwise, the pressure inside the bubble will be so high that it will never
nucleate and the calculation will not run well.
The nucleation of the pores is defined by a "pore.density" (optional).

910
The "gas.metal.surface.tension" will determine the Laplace's overpressure due to the pore
curvature.
The "available.half.spacing" is a table function of the solid fraction of the available half spacing
(normalized by 2) for a pore constrained to grow in-between dendrite arms. See the details of
this model in the Appendix 2 (Growth model of a pore).
Finally, "transition.solid.fraction" is the critical solid fraction below which the pore is spherical, and
upper which the pore is constrained by the dendrite network.

gas.param:
The gases responsible for porosity in the considered alloy are detected by the porosity module.
The thermodynamic data of the gases responsible for porosity in the alloy are read in the gas
database "dat/db/gas.db" by the porosity solver. See the Appendix 3 for the description of Gas
Thermodynamic Database.
The user can change the location of the gas database with an environment variable: with
$ProCAST20130_DB the path becomes "$ProCAST20130_DB/db/gas.db".
It is first recalled that the gases responsible for porosity in the considered alloy are now detected
by the porosity module.
The alloy is found in ProCAST run-files ("prefixg.unf" file). If not found, the alloy category has to
be defined in "prefix_poro.d" file (see alloy.param: section).

The user has to define in atomic fraction the nominal concentration of each gaseous element in
solution in the liquid phase. Let us assume a copper base alloy. The gases responsible for
porosity in this alloy are: H2, SO2 and H2O. The user has to define the nominal concentration of H,
S and O in solution in the liquid alloy in the "prefix_poro.d" file:

If the user does not remember the gaseous elements responsible for porosity, he can run the
APM module in order to read these gaseous elements in the console. For H 2 in Al-base alloys,
the APM also specifies the typical concentration levels:
 Low: 2.3e-6 at; this value corresponds to 0.1 ccSTP/100g Al.
 Medium: 4.6e-6 at; this value corresponds to 0.2 ccSTP /100g Al.

911
 High: 6.9e-6 at; this value corresponds to 0.3 ccSTP/100g Al.

The "dat/db/gas.db" ASCII file contains thermodynamic properties of gases responsible for
porosity in Al- , Cu- and Fe-base alloys. If the user wants to run an APM calculation with a
different alloy category and if he does not know the thermodynamic properties of gases
responsible for porosity in this alloy, he has to follow the procedure described below. This
procedure will lead to a porosity formation behavior similar to the one of Al-base alloys in which
dihydrogen is the single gas responsible for porosity:
1. In Visual-Cast, the user mentions the alloy base (ex: Ni) in the Composition panel of the
casting material:

2. Then he runs DataCAST and ProCAST, or DataCAST –u if the thermal calculation has
been already done.
3. Then he opens the database "dat/db/gas.db", and replaces the keyword "YourAlloy" by the
chemical symbol of the alloy base (ex: Ni).
4. In the YourAlloy gas database, he specifies a "gas.formation.coefficient:", (where YA
means YourAlloy), which has to be equal to:

912
with

is the solubility product of dihydrogen in pure Aluminum at the melting


temperature ( )

is the molar mass of Al (26.9 g/mol),

is the density of Al at the melting point (2390 kg/m3),

is the melting temperature of Al (933 K),

is the molar mass of the base of YourAlloy (ex: =58.7 g/mol),

is the density of the base of YourAlloy at the melting point (ex: =7780
kg/m3),

is the melting temperature of the base of YourAlloy (ex: =1728 K),


For example, for Ni base alloys, B = 2.762, and so
gas.formation.coefficient = 2.24e+10
This is the actual default value specified in YourAlloy gas database.

Concerning the typical Hydrogen nominal concentrations in YourAlloy, , they have to


be equal to:

 As low in Al means 2.3e-6 at, low in Ni will mean 2.3e-6/2.762=8.3e-7


 As medium in Al means 4.6e-6 at, medium in Ni will mean 4.6e-6/2.762=1.66e-6
 As high in Al means 6.9e-6 at, high in Ni will mean 6.9e-6/2.762=2.49e-6
These are the actual default values specified in YourAlloy gas database.
5. Finally, run the APM.
The above procedure has already been applied to Ni, Ti, Mg base alloys in "dat/db/gas.db"
ASCII file.
With this procedure, in terms of porosity, the alloy will have a behavior similar to Al-base
alloys in which dihydrogen is the single gas responsible for porosity.
Of course, if the user has a way to obtain thermodynamic properties of gases responsible
for porosity in his alloy, he can create his own database in "dat/db/gas.db" See the
Appendix 3 for the description of Gas Thermodynamic Database.
One should be careful that the initial gas element concentrations do not induce formation
of bubbles in the liquid metal before the pouring of the metal. In order to prevent such
case, a warning will be printed at the beginning of the calculation (see figure below) if the
following situation arises. Then it is advised to reduce the initial gas element
concentrations.

913
With APM, it is also possible to run a porosity calculation with no gas element
(concentrations equal to zero). In this case, the uncoupled resolution algorithm will be
forced and microporosity will form as soon as the liquid pressure reaches minus Laplace's
overpressure (see "coupled.solving" parameter description).
Process Information
pressure.param

The type of process, as well as the pressure definition, are specified in this block (casting.type).
Firstly, one should specify the process ("casting.type") which is modeled, among three choices:
gravity, injection or continuous.

gravity
For all types of gravity casting (sand, permanent mould, investment, ...), the "gravity" type should
be used. In this case, the software automatically sets the pressure to the highest surface of the
casting. This means that the user does not need to specify anything, except the value of the
pressure ("p.imposed"). The highest surface is determined with the help of the gravity vector.
With this mode, the metal at the top of the casting will be free to pipe, according to the value of
"mobility.limit" (see "feeding.param" block).

injection
The type "injection" has to be used for HPDC, LPDC and squeeze casting, as well as all
processes where the liquid metal is injected. In this case, the injection point has to be specified
with the "x,y,z.pressure.coordinate" (see below) - it is advised to select the last point to solidify as
the feeding will be stopped when this point will solidify.
As the metal is injected, no piping will occur, as there will be a continuous feeding of metal
(however, depending upon the geometry and the thermal conditions, macroshrinkage may occur).
In this case, the "mobility.limit" does not need to be specified and it will be automatically set to 1.

914
continuous
For all continuous casting processes, the "continuous" type should be used. As for "injection",
one will have a continuous feeding of metal and thus, the "mobility.limit" does not need to be
defined. In this case, it will automatically be set to 1. Moreover, the feeding point (usually the last
point to solidify) should be specified with the "x,y,z.pressure.coordinate" (see below - please note
that the coordinates have to be set in [m]). In addition, in the case of a vertical continuous casting,
one should specify the liquid level (with "p.level"). In this case, the value of the applied pressure
will be automatically adapted to take into account the appropriate metallostatic pressure.
In the case of "injection" or "continuous", the location where the pressure is applied should be
defined (whereas it is automatically set to the highest surface in the case of "gravity"). This is
done with the keywords "x.pressure.coordinate", "y.pressure.coordinate" and
"z.pressure.coordinate". It is strongly advised to specify a point at the injection location which will
solidify last as the feeding will be stopped when the fraction of solid at this location will reach a
value of 1.
The applied pressure is specified with "p.imposed". This pressure is either applied on the highest
surface (in the case of "gravity"), or at the "x,y,z.pressure.coordinate" location in the case of
"injection" or "continuous". The value of p.imposed can be defined either by a constant or by a
function of time (with a value block F(TIME)).
In order to define the pressure as a time table, one should replace the pressure value by a pointer
(i.e. a name starting by a "*" - see below).

Then, an additional value block should be specified with the time function. The name of the value
block should be the same as the one of the pointer (without the "*"). Then, the following syntax
should be used:

If the level of the liquid is not corresponding to the level of the coordinate where the pressure is
applied, this can be accounted for with the keyword "p.level". This has to be used in continuous
casting (as the "effective" level of the liquid is changing during the process) or if a part of the
casting is not modeled. When both "p.level" and "x,y,z.pressure.coordinate" are defined, the
pressure applied at the p.level altitude (in absolute axis coordinated in the direction of the gravity)
corresponding to the applied pressure (defined by "p.imposed"). Below p.level, the metallostatic
contribution is added to p.imposed. This can be described with the following piece of code
(considering that the gravity is in the -Z direction):
if (z > p.level) then
pcell = p.imposed

915
else
pcell = p.imposed + rho * g * (p.level - z)
endif

where z is the current altitude of the cell for which


the pressure (pcell) is calculated.
The value of "p.level" can be defined either by a constant or by a function of time (with a value
block F(TIME)).

Multiple Pressure Definition


In the case of injection, it is possible to define more than one pressure point. This is especially
useful when one does not want to model the gating system but still apply the pressure at the
biscuit to the different gates.
As the "injection points" can now also be defined "inside" a volume (and not only on the surface),
this allows to mimic the effect of a third phase to still apply the pressure in front of a gate while it
is totally frozen.
To do so, additional injection points can be defined with the keyword "injection.points", and then a
point to a list should be set (like "*pts". Then, the list should be defined with the value block, using
"data PARAMETERS", as shown below.

916
The point defined by "x.pressure.coordinate, y.pressure.coordinate and z.pressure.coordinate"
will correspond to the "master" pressure point. This means that the pressure defined by
"p.imposed", will be set at this point and that the pressure of the other injections points will be
calculated from this point (to take into account the corresponding metallostatic pressure). If the
"x.pressure.coordinate, y.pressure.coordinate and z.pressure.coordinate" point is not defined (but
there are only points in the "injection.points" list), the first one in the list will be considered as the
"master".
The two above examples (in the blue tables) are totally equivalent.
The following example shows how these multiple injection points can be used. In case A, the full
gating system is modeled and one injection point at the biscuit is used. In example B, the gates
are not modeled and an injection point in front of each gate is defined (please note that the
injection point is inside the gate and not inside the casting). In case C, the gating system is
modeled (like in A), but the injection points are set as in B (in front of each gate). One can see in
the following graphs that the results are identical in the three cases. The green arrows show the
injection points.

917
The main advantage of using the middle approach (case B) is that the CPU time of the APM
calculation is significantly reduced, as the volume of the gating system and the biscuit (which can
sometimes be rather large) is not taken into account in the APM calculation. In the above
example, the CPU time of case B was reduced by a factor 8 with respect to case A (or case C) -
the number of APM cells was reduced in this case by a factor 7.
In the next example, the left injection point was removed in the right figure. One can directly see
the effect on the porosity results.

feeding.param

The "mobility.limit" corresponds to the critical solid fraction from which the liquid at the top free
surface cannot move anymore locally (for piping). If the "mobility.limit" is very low (0.01), it means
that as soon as the solid fraction is equal to 1%, the liquid cannot move down anymore to feed
the liquid pockets below. Thus one will have almost no piping, but macroshrinkage in the center
of the casting. On the other hand, if a larger value of "mobility.limit" is used (0.9), the liquid can
move down upto a fraction of solid of 90%. This will induce a significant piping and thus reduce
the amount of macroshrinkage which may occur in the center of the casting. The value of
"mobility.limit" is dependent upon the type of microstructure. In the case of columnar structure,
the dendrites are linked to the solid shell and thus cannot move too much, leading to a small

918
value of the "mobility.limit". On the other hand, in the case of equiaxed grains, they can move
down more freely and thus, the "mobility.limit" is higher.
If one would like to prevent piping (such as in high pressure die casting, squeeze casting or
continuous casting), the "mobility.limit" has to be set to 1.0. In this case, the liquid will
continuously feed the casting.
The value of "mobility.limit" can be defined either by a constant or by a function of time (with a
value block F(TIME)). This can be used in order to model the end stage of a DC casting process.
In this case, the mobility limit will be changed from 1.0 to a smaller value, when no more liquid
metal will be poured in the ingot.
The "permeability.solid.fraction.cutoff" is used to cut-off the permeability at high solid fractions.
As it can be seen in the following Kozeny-Carman relationship:

when the solid fraction (gs) is becoming one, K is equal to zero. As in the Darcy's equation 1/K is
used, it is going to infinity. In order to prevent that, the permeability is taken as a constant for
fractions of solid above the value of "permeability.solid.fraction.cutoff". Values around 0.95 to
0.98 are recommended. If values higher than 0.98 are used, a value of 0.98 is automatically set.
If nothing is specified, a value of 0.98 is used.
In the presence of eutectic, the permeability drop at the dendrite root is limited because the
dendrite network does not coarsen anymore as soon as gs>1-ge (ge is the final eutectic fraction).
The "permeability.solid.fraction.cutoff" parameter can be used to model this effect.
At very high solid fractions, the interdendritic flow becomes very small and the pressure drop
calculation becomes very difficult (on a mathematical point of view). In order to improve the
convergence of the model, the feeding calculation is stopped at a fraction of solid above
"feeding.solid.fraction.cutoff". Values around 0.95 to 0.98 are recommended. If values higher than
0.99 are used, automatically a value of 0.99 is set. If nothing is specified, a value of 0.98 is used.
This value has to be decreased in the case of bad convergence of the model.
In order to reduce the number of activated cells, the activation.fraction parameter can be used to
artificially truncate fs(T) curve:

919
Cells with fs < "activation.fraction" minus 5% are seen as liquid by the APM solver. The
consequences are:
 Calculation time drastically reduced (even for low values of "activation.fraction"),
 Microporosity more and more concentrated for increasing value of "activation.fraction",
 Microporosity replaced by macroporosity for increasing values of "activation.fraction",
 For intermediate values of "activation.fraction" (~30%), APM macroporosity looks like what
is obtained by ProCAST standard porosity module (when POROS=1 and PIPEFS=30%).
It is recommended to set a value lower than 30%, otherwise macroporosity is overestimated. For
consistency reasons, and for the conservation of the global volume of porosity (micro-macro),
viscosity and density curves are also truncated in APM solver.

gravity.param
In principle, the gravity vector is already defined in Visual-Cast as it is required for the thermal-
flow calculation. This vector, also required for a porosity calculation, is automatically read out of
the ProCAST run-files ("prefixg.unf" file) by the APM. One should note that the gravity should be
parallel to one reference axis (i.e. parallel to x, y or z). In addition, it is not possible to have a
rotating gravity. Thus, some drastic simplifications have to be done to use this module for tilt or
centrifugal cases:

920
- For tilt: Use the APM calculation on an already filled part in its final orientation (making sure that
in the final position, the gravity is well parallel to one reference axis).
- For centrifugal: Orient the model in order to have one component of the cluster parallel to one
axis. Create one domain for this component. Run the thermal-flow calculation. Then, redefine in
Visual-Cast a gravity vector normal to the rotation axis and parallel to the axis of the component.
The length of this vector has to be close to an estimated centrifugal acceleration. After having
changed the gravity vector, run DataCAST –u, and then run the APM.
The user has to define the gravity vector in the "prefix_poro.d" file if not defined in Visual-Cast.
(The three components of the gravity must be defined):

Calculation Settings
grid.param

The "grid.spacing" corresponds to the cell size of the FVM mesh. One should select a size which
is in relationship with the size of the mushy zone (in order to have several cells through the
mushy zone thickness).
The "grid.calculation.tolerance" is used in order to remove duplicate cells which would lie at the
limit in between two elements. If a regular orthogonal FEM mesh is used and if the cell size (or
grid spacing) is exactly matching the FEM mesh (i.e. FEM elements have a size of 1 cm and FVM
cells have a size of 1 mm.), it happens that many cells are lying exactly on the element borders.
The algorithm which is used involves long loops to guarantee no double cells. The
grid.calculation.tolerance is used to check whether a cell is aligned with element borders. If this
tolerance is too large, double checks will be made many times and the CPU time can rise very
strongly. If this tolerance is too small, it is possible to create "holes" in the FVM mesh. Thus, a
value of 1.e-8 is recommended. If the cellular meshing becomes very long, it is advisable to
change slightly the cell size from 1.00 to 1.00001 in order to remove these alignments. If
unstructured FEM meshes are used, this problem never happens.
In cases, such as HPDC, sometimes, the gates between the casting and the overflows are very
thin. This may lead to a lack of cells at the gate and thus, the overflow may become "isolated"
form the casting (i.e. no cells in between the casting and the overflow). In such case, the porosity
calculation will not be possible, as there is no way to "transmit" the pressure from the casting to
the overflow. This could also happen if very thin sections, such as flashes are modeled. In this
case, these "orphan" cells should be removed in order to allow the calculation to run. As this

921
procedure of "orphan search" is CPU intensive, it can be disabled in cases where it is clear that
this will not occur (for bulky parts). Otherwise, it is highly recommended to set the
"grid.search.orphan" value to ON.

calculation.param:

Finally, a few calculation parameters should be defined.


The "region.number" (or domain number) in which the porosity calculation should be done must
be specified at this time. Please note that it is possible to run a porosity calculation in more than
one domain. In this case, the domain list should be specified in a value block (see below). One
should however make sure that all the domains are connected.
The "convergence.tolerance" is the value of the tolerance which is used in the pressure iterative
solver. The "maximum.iterations" corresponds to the number of iterations that are run before the
iterative solver stops (if the "convergence.tolerance" is not reached before).
"LU.preconditioner" allows to make a LU (LU.preconditioner=1) or a diagonal
(LU.preconditioner=0) preconditioning of the linear system. By default the diagonal
preconditioning is done: this accelerates the SMP parallel version of the APM solver. If the
iterative solver did not converged, it is advised first:
 To refine the FE and FV meshes,
 To decrease the thermal time step,
 To store all thermal steps.
If it is still not converging, it is advised then to force the LU preconditioning:
LU.preconditioner = 1.
Concerning porosity results, by default, porosity calculated at cells centers (stored in
"prefixAPM.erfh5" file) can be post processed with Visual-Viewer (Cast) (See Advanced Porosity
Post-processing section).
But it is still possible to display porosity results averaged a nodes of the FE element mesh. To do
so:

922
 Before opening the case in Visual-Viewer (Cast), rename "prefixAPM.erfh5" in any other
file name,
 Then open the case,
 As "prefixAPM.erfh5" does not exist anymore, the post processor will employ
"prefixb.ca.unf" and "prefix.cb.unf" files containing porosity results averaged at nodes.
For those who would like to display results with the previous Advanced Porosity Post-processor
(Calcosoft), other sets of storage formats can be activated thanks to the following couple of
keywords:
 store.type
 store.format
The activated formats are given as a function of store.format and store.type values in the
following matrix:

The default values are the dark grey ones.


"restriction.type" is a parameter used for the definition of the "interpolation" at the FEM nodes.
restriction.type = 1: restriction using average value of cells located in the neighborhood (see
below) of the node. Each term in the sum is weighted by the value at cell of the shape function
associated to the node.
restriction.type = 0: restriction using maximum value of cells located in the neighborhood (see
below) of the node.
0 <restriction.type < 1: The cells for which the value of the shape function associated to the node
is higher than (1-"restriction.radius") are taken into account in the restriction calculation.
The "store.frequency" parameter defines the frequency of storage of the porosity results. It is
possible to store the pore fraction only (and not the liquid pressure) with "store.pore.fraction",
however, if the pressure-only storage is defined (with "store.pressure"), the pore fraction will also
be stored. These parameters will be valid only for the "Advanced Porosity Post-processor" format
results. The ProCAST format results will be stored at the same frequency as the ProCAST
temperatures, whatever values are specified for these parameters.
In order to define a list of regions (to perform the porosity calculation in more than one region),
the region.number should be specified by a pointer (i.e. a name starting by a "*" - see below).

923
Then, an additional value block should be specified with the list of regions. The name of the value
block should be the same as the one of the pointer (without the "*"). Then, the following syntax
should be used:

coupled.solving
In copper- and iron-base alloys, as soon as the nucleation criterion is reached, the pore growth
rate is larger than the solidification shrinkage rate, whereas this is never the case in aluminum-
based alloys. As a consequence, whatever the initial gas concentration is, liquid will always be
rejected from the mushy zone in copper- and iron-base alloys. This will induce a fast liquid
pressure increase in the mushy zone. A very small time step is thus required to capture this
increase. For cases with a great number of active cells, the calculation time will be too long. Two
solving modes are thus possible:
calculation.param:
coupled.solving 1
end
-> As soon as nucleation criterion is reached, alloy mass conservation equation is coupled to gas
conservation equations and pore growth is deduced from gas conservation equations.
calculation.param:
coupled.solving 0
end
-> The alloy mass conservation equation is not coupled to the gas conservation equations, and
solidification shrinkage is assumed to be entirely compensated by pore growth (no liquid flux) as
soon as nucleation criterion is reached (when liquid pressure will reach minus Laplace's
overpressure).
coupled.solving parameter is optional. Its default value is equal to 1 for all alloys, excepted for Fe
and Cu-base alloys for which it is equal to 0.

crit.pore.fraction
The "crit.pore.fraction" parameter allows to analyze the results of a calculation. For example, it
allows to "measure" the volume in which the porosity fraction exceeds a specified value (e.g.
higher than "crit.pore.fraction"). This volume is calculated in the casting, as well as in each
domain where the APM is computed. The results are stored in the "prefix_res.log" file (see the
end of the section Advanced Porosity Solver for more details).

924
Examples

Macroporosity predicted by the APM in a complex HPDC part

925
Example of the type of porosity calculation that can be carried out for a complex shape A383 casting.
The geometry is shown in figure (a), while the calculated porosity fraction is displayed on selected
cuts when the applied pressure is 100 bars (b) and 1 bar (c) and (d). The effect of solute elements
on hydrogen solubility has not been taken into account in (b) and (c) and has been taken into
account in (d). cH = 0.2ccSTP/100g, 2 = 50m. Here the cellular mesh was composed of 400'000 cells
Warnings
 The APM allows to predict porosity in complex geometries (see figures above). The
number of FVM cells is no longer limited to 2 million as a 64 bits executable is now

926
available for 64 bits machines. But a number of cells lower than 2 million is recommended
to obtain a first result in 24 hours.
 One should note that the "Advanced Porosity" module is based upon very complex
physical algorithms and thus its mathematical handling may be quite delicate in some
cases. It is thus possible that the solution is not converging (or is giving error with the pre-
conditioner). In such case, it is advised to either: store more thermal timesteps, reduce the
cell size and the finite element size.
 One should also take a special care to make sure that there is no remelting.
 Finally, when the mushy zone is quite small (in case of large castings with low conductivity
materials), the finite element size and the cell size should be adapted (i.e. they should be
much smaller than the mushy zone thickness).
Examples of prefix_poro.d Input File
A lot of parameters in the "prefix_poro.d" file are optional. Each optional parameter has a default
value coded in the APM. The user has still the possibility to change this value: he can define it in
the "prefix_poro.d" file, but if he wants to customize the APM, he can also define it in the
"default_poro.d" file located in the software installation: "dat/pref/default_poro.d". The definition of
a parameter in the "prefix_poro.d" file takes over the definition in the "default_poro.d" file. The
definition of a parameter in the "default_poro.d" file takes over the hard-coded value.
Let's look now at the strictly needed parameters in "prefix_poro.d" for gravity casting, injection
and continuous casting.

Gravity

Example of the simulated final porosity fraction in a "simplified" window shape gravity casting,
without (left) and with (right) solid fins, "cooling channel", "copper chill" and "riser"
For gravity casting, in the "prefix_poro.d" file, the list of strictly needed parameters is (the $$$ are
indicating where a value should be specified by the user):

#--------- Gas Information ----------

gas.param:
H $$$ # typical value for Al: 2.3e-6 to 6.9e-6 [molar fraction]
end

#------------ Process Information --------------

927
pressure.param:
casting.type gravity # Gravity setting
p.imposed $$$ # [Pa.s] 101325.0 [Pa.s] = 1 bar
end

#------------ Calculation settings -------------

grid.param:
grid.spacing $$$ # [m]
end

calculation.param:
region.number *regions
store.frequency $$$
end

value regions
data PARAMETERS
$$$ # Porosity Domain 1
$$$ # ...
$$$ # Porosity domain N
end value

Injection

928
Simulated final porosity fraction (slices) in a complex shape High Pressure Die Casting (100 bar)
For injection, in the "prefix_poro.d" file, the list of strictly needed parameters is:

#--------- Gas Information ----------

gas.param:
H $$$ # typical value for Al: 2.3e-6 to 6.9e-6 [molar fraction]
end

#------------ Process Information --------------

pressure.param:
casting.type injection # Injection setting
p.imposed $$$ # [Pa.s]. 101325.0 [Pa.s] = 1 bar
x.pressure.coordinate $$$ # [m]
y.pressure.coordinate $$$ # [m]
z.pressure.coordinate $$$ # [m]

end

929
#------------ Calculation settings -------------

grid.param:
grid.spacing $$$ # [m]
end

calculation.param:
region.number *regions
store.frequency $$$
end

value regions
data PARAMETERS
$$$ # Porosity Domain 1
$$$ # ...
$$$ # Porosity domain N
end value

Continuous Casting

930
Simulated final porosity fraction in a continuous casting case
For continuous casting, in the "prefix_poro.d" file, the list of strictly needed parameters is:

#--------- Gas Information ----------

gas.param:
H $$$ # typical value for Al: 2.3e-6 to 6.9e-6 [molar fraction]
end

#------------ Process Information --------------

pressure.param:
casting.type continuous # Continuous setting
p.imposed $$$ # [Pa.s]. 101325.0 [Pa.s] = 1 bar
x.pressure.coordinate $$$ # [m]
y.pressure.coordinate $$$ # [m]
z.pressure.coordinate $$$ # [m]
p.level *plevel
end

value plevel
data F(TIME)
$$$ $$$ # Time [s] level [m]
$$$ $$$ # Time [s] level [m]
$$$ $$$ # Time [s] level [m]
end value

#------------ Calculation settings -------------

grid.param:
grid.spacing $$$ # [m]
end

calculation.param:
region.number *regions
store.frequency $$$
end

value regions
data PARAMETERS
$$$ # Porosity Domain 1
$$$ # ...
$$$ # Porosity domain N

931
end value
APM Examples
This section of the manual is illustrating the effect of different parameters (gas concentration,
secondary dendrite arm spacing, viscosity, pressure) on the porosity results.
An Al-7wt%Si-0.3wt%Mg alloy containing hydrogen is used to test the APM under several
conditions. The solidification path was calculated by Visual-Cast with the Scheil assumption.

Casting geometry, and cooling conditions. Here the solid fraction is represented at the same time for
"good cooling" conditions (a) and for “bad cooling" conditions (b)
The geometry used in the examples below is given in the figure above. Two kinds of cooling
conditions are used: in the first case an adiabatic condition is applied at the top of the casting and
on the vertical walls connected to the top (a), while in the second case the adiabatic condition
(dashed line) is only applied on the top side (b). Elsewhere the cooling is governed by a
convective heat transfer coefficient. Cooling conditions of figure (a) will be called "good cooling
conditions", and those of figure (b) will be called "bad cooling conditions". Such a simple
geometry could be employed by a user to calibrate the APM for his alloy (see paragraph
"Configuration of the porosity model" concerning the generic "default_poro.d" file).

Gas Concentration
The effect of the nominal gas concentration is illustrated in the figure below in the case of good
cooling conditions: as expected, the final porosity amount increases with the nominal gas
concentration.

932
Final porosity fraction for a nominal hydrogen concentration equal to (a) 0 cc STP/100g, (b) 0.1
ccSTP/100g, (c) 0.2 ccSTP/100g, (d) 0.3 ccSTP/100g. Good cooling conditions, 2 = 20m,  = 1e-3 Pa.s,
imposed pressure = 1 bar
As shown in the figure below, this effect is still observed in the case of bad cooling conditions.
One has to pay attention to the fact that this effect can be totally hidden if the cooling conditions
are so bad that the pure shrinkage porosity fraction becomes predominant over the gas-shrinkage
porosity fraction.

933
Final porosity fraction for a nominal hydrogen concentration equal to (a) 0 cc STP/100g, (b) 0.1
ccSTP/100g, (c) 0.2 ccSTP/100g, (d) 0.3 ccSTP/100g. Bad cooling conditions, 2 = 20m,  = 1e-3Pa.s,
imposed pressure = 1 bar

Secondary Dendrite Arm Spacing


To study the effect of 2, it is assumed here that the value of this parameter is not linked to the
cooling rate (wrong in reality). As the liquid pressure drop in the mushy zone is very high for very
low 2 (see Kozeny-Carman relation) the porosity amount is expected to be higher for very low 2
values. This effect is slightly compensated by the curvature contribution since the maximum pore
radius varies also with 2 (see appendix 2 in the APM Appendix section). The effect of the
secondary dendrite arm spacing (2) is illustrated in both following figures in the case of good and
bad cooling conditions. As observed, the expected trend is found by the APM.

934
Final porosity fraction for a secondary dendrite arm spacing equal to ((a) 2 = 10m, (b) 2 = 20m,
(c) 2 = 30m, (d) 2 = 100m. Good cooling conditions, cH = 0.1ccSTP/100g,  = 1e-3Pa.s, imposed
pressure = 1 bar

935
Final porosity fraction for a secondary dendrite arm spacing equal to (a) 2 = 10m, (b) 2 = 20m,
(c) 2 = 30m, (d) 2 = 100m. Bad cooling conditions, cH = 0.1ccSTP/100g,  = 1e-3Pa.s, imposed
pressure = 1 bar
It is observed in the figure below that the liquid pressure drop is negligible for a high 2 value ((d)
100m). But as the available spacing is high, the porosity growth is facilitated. That is the reason
why the porosity fraction is globally higher in case (d) than in case (c) (see figures above).

Ultimate liquid pressure for a secondary dendrite arm spacing equal to (a) 2 = 10m, (b) 2 = 20m,
(c) 2 = 30m, (d) 2 = 100m. Good cooling conditions, cH = 0.1ccSTP/100g,  = 1e-3Pa.s, imposed
pressure = 1 bar

Liquid Viscosity
The effect of the liquid viscosity is illustrated in both figures below. As expected the APM shows
that the final porosity fraction increases with the liquid viscosity (see Darcy's law). This effect is
accentuated when the cooling conditions are bad.

936
Final porosity fraction for a liquid viscosity equal to (a)  = 1e-4Pa.s, (b)  = 1e-3Pa.s, (c)  = 5e-
3Pa.s, (d)  = 1e-2Pa.s. Good cooling conditions, cH = 0.1ccSTP/100g, 2 = 20m, imposed pressure =
1 bar

937
Final porosity fraction for a liquid viscosity equal to (a)  = 1e-4Pa.s, (b)  = 1e-3Pa.s, (c)  = 5e-
3Pa.s, (d)  = 1e-2Pa.s. Bad cooling conditions, cH = 0.1ccSTP/100g, 2 = 20m, imposed pressure =
1 bar

Imposed Pressure
The effect of the imposed pressure is illustrated in both figures below. As expected the APM
shows that the final gas-shrinkage porosity fraction can be significantly reduced if the imposed
pressure is increased. Nevertheless the APM will never predict the reduction or pure shrinkage
porosity for an increasing imposed pressure because actually not mechanical effect is taken into
account in the porosity model.

Final porosity fraction for an imposed pressure equal to (a) 0.1bar, (b) 1bar, (c) 5bars, (d) 10bars.
Good cooling conditions, cH = 0.1ccSTP/100g, 2 = 20m,  = 1e-3Pa.s

938
Final porosity fraction for an imposed pressure equal to (a) 0.1bar, (b) 1bar, (c) 5bars, (d) 10bars.
Bad cooling conditions, cH = 0.1ccSTP/100g, 2 = 20m,  = 1e-3Pa.s

Alloying Elements Effect


Alloying elements can modify the gas solubilities. For example, it is known that hydrogen
solubility in aluminum is decreased in the presence of Si, and increased in the presence of Mg.
As a consequence, for a given gas nominal concentration and a given solidification path, it is
expected that the final porosity fraction is increased in the presence of Si, and decreased in the
presence of Mg. This effect is reproduced by the APM (see figure below) with an Al-7wt%Si-
2wt%Mg alloy. As shown in the figure, the final porosity fraction is increased (compare (a) and
(b)) when the effect of Si on hydrogen solubility is taken into account. When the effect of Mg on
hydrogen solubility is taken into account, the final porosity fraction is decreased (compare (a) and
(c)). Of course, as illustrated in figure (d), the combined effect of several alloying elements can be
studied.

939
Final porosity fraction in an Al-7wt%Si-2wt%Mg part when (a) the effect of Si and Mg on H solubility
are not taken into account, (b) only the effect of Si is taken into account, (c) only the effect of Mg is
taken into account, (d) the effects of Si and Mg on H solubility are both taken into account. Good
cooling conditions, cH = 0.2ccSTP/100g, 2 = 20m,  = 1e-3Pa.s, imposed pressure = 1 bar

Several Gases
In brasses, the formation of several gases and a volatile solute element are responsible for
porosity: H2O, H2, SO2 and Zn. Zinc is a volatile element in melted copper base alloys, and thus
can contribute to the formation of microporosity. This Zn contribution is explained in the following
reference (can be consulted in "dat/manuals/Pdf/APM_papers.pdf"):
Couturier G., Rappaz M. (2006). "Effect of volatile elements on porosity formation in solidifying
alloys", Modeling and Simulation in Materials Science and Engineering, 14, pp. 253-271.
The porosity module is applied here to a brass alloy: Cu-10wt%Zn alloy. In the results presented
in the figure below, the alloy was assumed free of sulfur: only the combined effect of hydrogen,
oxygen and zinc in solution was taken into account in the porosity calculation.
The "gas.param:" block in the "prefix_poro.d" file looks like:

gas.param:
H 0.000020 # [molar fraction]
S 0. # [molar fraction]
O 0.000020 # [molar fraction]
end

940
Nominal Zn concentration is not mentioned in the "gas.param:" block because Zn is a solute
element of the alloy: its concentration evolution in the liquid phase is directly loaded by the APM
from the solidification path file: "prefix.phs" file.
As observed in the figure below, the final gas-shrinkage porosity fraction strongly depends on the
nominal concentrations of H and O in solution in the liquid alloy.

Final porosity fraction in an Cu-10wt%Zn alloy part when (a) cH=20e-6[at] cO=20e-6[at], (b) cH=10e-
6[at] cO=20e-6[at], (c) cH=20e-6[at] cO=10e-6[at], (d) cH=10e-6[at] cO=10e-6[at]. Good cooling
conditions, 2 = 20m,  = 1e-3Pa.s, imposed pressure = 1 bar

In iron base alloys, H2, N2, CO gases are responsible for porosity. The porosity module is applied
here to a Fe-1wt%C alloy. The evolution of the carbon concentration in the liquid phase is stored
in the file containing the solidification path: "prefix.phs" ASCII file. As a consequence the
concentration of carbon, which is one element of a gas responsible for porosity (CO), has not to
be defined in the "gas.param:" block of "prefix_poro.d" file: its concentration will be directly read
by the APM in the "prefix.phs" file. Only the concentration of N, H and O has to be defined:

gas.param:
N 0.00020 #[molar fraction]
H 0.00010 #[molar fraction]
O 0.00002 #[molar fraction]
end

As observed in the figure below, the final gas-shrinkage porosity fraction strongly depends on the
nominal concentrations of N, H and O in solution in the liquid alloy.

941
Final porosity fraction in an Fe-1wt%C alloy part when (a) cN=200e-6[at] cH=100e-6[at] cO=20e-6[at],
(b) cN=0[at] cH=100e-6[at] cO=20e-6[at], (c) cN=200e-6[at] cH=0[at] cO=20e-6[at], (d) cN=200e-6[at]
cH=100e-6[at] cO=0[at]. Good cooling conditions, 2 = 100m,  = 1e-3Pa.s, imposed pressure = 1
bar
Advanced Porosity Solver
Once the "Advanced Porosity" case is set-up (i.e. when the ProCAST Thermal calculation is run
and when the prefix_poro.d input file is ready), one can launch the "APM" solver. To do so, the
Start Simulation dialog should be used. This opens the following window:

942
The "Run" button should be hit to start the calculation. If the ProCAST Thermal calculation is not
yet run, it is possible to click on the "Execute ProCAST first" check box before the "Run" button.
It is also possible to automatically launch a series of calculation using the Run list of the Start
Simulation dialog.
If the above window shows the "APM" section as disabled, one can enable it in the Cast
Preferences tab of General Preferences dialog by switching on the "APM Sub Solver", as shown
below:

943
APM Global Results
At the end of an APM calculation, a file named "prefix_res.log" is created. This file contains
different information about the amount or micro and macroporosity and volume of "porous" metal
in the different domains.
This file has the following structure:

general:
number.of.domains 3
casting.process.time.sec 3.408665e+002
CPU.time.sec 9.200000e+001
end

casting: volume.m3
all.domains 5.204001e-006
domain 1 2.601000e-006

944
domain 2 2.000000e-009
domain 3 2.601000e-006
end

modeling: cell.size.m cells.number


all.domains 1.000000e-003 5204
domains 1 1.000000e-003 2601
domains 2 1.000000e-003 2
domains 3 1.000000e-003 2601
end

microporosity: affected.volume.m3 porosity.fraction.in.af


fected.volume xxx yyy
all.domains 4.831001e-006 3.686847e-
002 4.719001e-006 3.770333e-002
domains 1 2.439000e-006 3.408665e-
002 2.343000e-006 3.541561e-002
domains
2 0.000000e+000 0.000000e+000
0.000000e+000 0.000000e+000
domains 3 2.392000e-006 3.970494e-
002 2.376000e-006 3.995928e-002
end

macroporosity.pipe: affected.volume.m3
all.domains 3.710001e-007
domains 1 1.620000e-007
domains 2 0.000000e+000
domains 3 2.090000e-007
end

The first block (general:) contains the number of domains in which the APM calculation is run
(number.of.domains), the time (in seconds) for which the solidification has been calculated in the
Thermal ProCAST calculation (casting.process.time.sec) and the CPU time for the APM
calculation in seconds (CPU.time.sec).
The second block (casting:) contains the total volume (all.domains), as well as the volumes of
each APM domain (in m3).
In the third block (modeling:), the cell size (which is the same for each domain), as well as the
number of cells in all the domains and in each domain are indicated.
The microporosity in all the domains and in each domain are given in the fourth block
(microporosity:). The "affected.volume.m3" column corresponds to the volume in which the
porosity is larger than zero (in m 3). The "porosity.fraction.in.affected.volume" corresponds to the
average microporosity in the "affected.volume.m3" (the value is in fraction). The next column
(labeled by the "xxx" above due to the very long keyword) corresponds to the
"volume.upper.crit.fraction.m3". This is the volume in which the microporosity is above the value

945
defined in the "prefix_poro.d" by the keyword "crit.pore.fraction" (in m 3). Finally, the last column
(labeled by the "yyy" above due to the very long keyword) corresponds to
"porosity.fraction.in.volume.upper.crit.fraction". This is the average of the microporosity in the
"volume.upper.crit.fraction.m3" (the value is in fraction).
Finally, the last block (macroporosity.pipe) is giving the volumes where there is pipe shrinkage
and macroporosity (in m3).
Advanced Porosity Post-Processing
APM results are stored in the "prefixAPM.erfh5" file and can be post-processed in Visual-Viewer
(Cast).
In the "erfh5" format, the porosity is stored at each FVM cells centers and this allows a very fine
resolution of the results that can be displayed with the APM result category.
Examples

Liquid Pressure

946
Macro porosity

Micro porosity (default cut-off value = 1%, should be fine tuned)

947
Total porosity (default cut-off value = 1%, should be fine tuned)
Notes: Previous APM results formats can still be retrieved:

a) Porosity results averaged nodes of the FE element mesh


 Before opening the case in Visual-Viewer (Cast), rename "prefixAPM.erfh5" in any file
name,
 Then open the case,
 As prefixAPM.erfh5 does not exist anymore, the post processor will employ "prefixb.ca.unf"
and "prefix.cb.unf" files containing porosity results averaged at nodes.
b) Previous "Advanced Porosity Post-processor" format (Calcosoft)
Other sets of storage formats can be activated thanks to the following couple of keywords:
 store.type
 store.format
The activated formats are given as a function of store.format and store.type values in the
following matrix:

948
The default values are the dark grey ones
APM Appendix
The flow chart followed by the Thermal and APM calculations is summed-up in Appendix 1.
In Appendix 2, a growth law of a pore constrained by the dendrite network is proposed.
The gas thermodynamic database structure (“dat/db/gas.db”) is described in Appendix 3.
Finally, Appendix 4 is the table giving the full list of the APM parameters.
 APM References
Appendix 1: APM Flow Chart
The complex porosity model implemented in the APM is not detailed here (for a complete
description of this model, see Ref [1-4] in the "APM References" section). But the flowchart
followed by the APM is described below to understand how and where all the necessary
information for a porosity calculation is found by the APM.

949
Flowchart followed by the APM
The Finite Volume porosity solver is a "post treatment" of the thermal results obtained with the
Finite Element ProCAST solver:
 The temperatures at nodes (“prefixt.unf” file) are read by the APM and interpolated at the
center of cells (1),
 The solid fraction at cells (2) is deduced from these temperatures and from the gs(T) curve
defined in the pre-processor Visual-Cast (read in “prefixg.unf” file).
 The physical properties (ex: density curve and viscosity of the alloy) and some casting
process parameters (ex: gravity) are directly defined in Visual-Cast (3) and read in the
“prefixg.unf” file by the APM because these properties are also required for the thermal-
flow calculation.
 APM is a complete approach that takes into account the effect of solute elements
segregation on gas solubility if the solidification path has been calculated by Visual-Cast
(“prefix.phs” file). The alloy characteristics (alloy base and composition) defined in Visual-
Cast and the solidification path, are directly read by the APM (4) in the “prefixg.unf” file and
the “prefix.phs” file respectively. That information allows the porosity solver to detect
automatically the gases responsible for porosity in the considered alloy and to load the
corresponding gas thermodynamic properties and solute elements interaction coefficients
(5). This data is loaded from the gas thermodynamic database (“dat/db/gas.db” file).
The list of the strictly needed parameters in the “prefix_poro.d” file is limited (6). A warning
message is written by the APM each time a badly spelled keyword was defined in the
“prefix_poro.d” file. Other parameters are optional: for them a value is defined in the APM source
code. The user has the possibility to change this hard-coded value: he can define it in the
“prefix_poro.d” file, but if he wants to customize the APM he can also define it in a
“default_poro.d” file located at “dat/pref/default_poro.d” (7). The definition of a parameter in the
“prefix_poro.d” file takes over the definition in the “default_poro.d” file. The definition of a
parameter in the “default_poro.d” file takes over the hard-coded value.
The porosity results can be post-processed (8):
 With Visual-Viewer (Cast), or
 With the previous Advanced Porosity Post-processor (Calcosoft)

950
Appendix 2: Growth Model of a Pore
The growth law has changed since the original Pequet et al. model [1] (for more details see
references [2-3]). As the interface energy, gl, is on the order of 1 Jm-2 and the pore curvature
radius, r, is equal to a few tens of micrometers, the curvature contribution (Laplace's
overpressure) cannot be neglected and strongly influences the pore fraction, g p. While the
relationship between gp and r is straightforward for spherical pores, a simple model for the
curvature of a pore constrained to grow in a well developed dendritic network (i.e., gas-shrinkage
porosity) is derived in this section.

Regular stacking of dendrite arms showing the space available for pores (rmax): hexagonal arms
without impingement (left), and cylindrical arms with impingement (right)
The left scheme of the above figure is an illustration of a too simple geometrical solution that does
not take into account secondary dendrite arms impingement. The present model considers a
simplified 3-dimensional network of cylindrical secondary dendrite arms and takes into account
their impingement (right scheme in the above figure). Assuming that pores can grow in between
the cylindrical arms, assumed to be infinite in length, the maximum radius of the pore is simply
given by:

As the liquid phase is assumed to completely wet the solid, the contact angle at the triple point
(pore-solid-liquid) is zero. Equations above are shown in the following figure, together with
another relation, rmax = 0.5 2(1 - gs0.5), that corresponds to the solution of the left geometry in the
above figure. It appears that the new relations above seem more adapted to the modeling of gas-
shrinkage porosity. Indeed, with rmax = 0.5 2(1 - gs0.5), rmax/2 does not exceed 0.025 for gs >0.9.
Taking 2 = 40 m, rmax will be smaller than 1 m, and pr will be greater than 1.8 MPa (for
gl = 0.9Jm-2). Therefore, pores will have almost no chance to grow if they do not nucleate before
gs = 0.9. Doing the same calculation with the above equation (rmax/2 < 0.15 for gs > 0.9), the
curvature contribution is on the order of 300 kPa during the last stage solidification, thus allowing
gas-shrinkage porosity formation.

951
Representation of the maximum radius of a pore (normalized by the secondary dendrite arm
spacing) growing in a mushy zone for both geometrical models shown in the above figure (the solid
curve ("relations (2.1)") refer to the equations above

The above equations, i.e. (rmax/2)(gs), have been hardcoded in the APM. The users can define
their own (rmax/2)(gs) relationship in the "prefix_poro.d" file or in the "default_poro.d" file. As the
reading function of "prefix_poro.d" cannot read any table function of g s, (rmax/2)(gs) table is
assumed to be a function of the temperature (although the values of the abscissa are indeed solid
fractions):
nucleation.growth.param:
available.half.spacing *r(gs)
end

value r(gs)
data f(temp)
0 0.7
0.2 0.6
0.8 0.5
1. 0
end value
Appendix 3: Gas Thermodynamic Database
APM communicates with a structured database that contains properties of the gases responsible
of porosity for different alloy categories: "dat/db/gas.db" ASCII file. The simplicity of this database
structure will allow the user to modify and complement the database.
Its structure is explained hereafter.
First, the equations governing the formation of gases are given (for details see ref [2]).

952
The involved reactions are:
 Formation of gas ,

 Formation of gas ,

The solubility product of gas , composed of two chemical elements, A and B, is governed by the
following equation:

with:

A gas conservation equation is written for each element, A, contained in at least one gas:

Second, the gas database structure is given in the following table. It is organized in three levels
represented by three colors. The first level (red) specifies the alloy category. In each category,
this database has to distinguish properties of gases and properties of chemical elements that
compose these gases because an element can be contained in several gases and a gas can be
composed of several elements. As a consequence the second level (blue) contains some
separate blocks of information that concern each gas and each element. For example in the
category Cu, "gas:" blocks called water, dihydrogen, sulphur dioxide are defined. The existence
of these gases implies the definition of a "gas.element:" block for each of the following chemical
elements that appear at least one time in these gases: H, O and S. In each "gas:" (or
"gas.element:") block, characteristics and thermodynamic properties of the gas (or element) are
specified (third level in green). The reading functions of gas.db file allow the definition of these
properties in any order.

953
Representation of the structure of the gas database stored in file dat/db/gas.db (dummy values are
shown in this table)

Below is the correspondence between the gas parameters of the above equations and
parameters represented in green in the above table.
For a given gas, :
 The composition of the gas ("composition:") and the gas formation coefficient
("gas.formation.coefficient:") are needed parameters. The last parameter corresponds to
A in the following equation:

954
 The standard enthalpy ("standard.enthalpy:") of a formation reaction is an optional
parameter. If this parameter is not given, it is assumed equal to zero. This parameter
corresponds to Ho in the above equation.
For a given gas element, A:
 The partition coefficient of A ("partition.coefficient:") between the solid and the liquid phase
(kA in the following equation) is also a needed parameter, as well as the activity coefficient
of A ("activity.coefficient:") in the liquid phase in absence of solute element ('f lA in the above
equation).

 The optional interaction coefficients ("interaction.coefficients:") are parameters "eAs" and


"rAs" of the following equation:

 The parameter "concentration.level:" is an optional parameter that will make the APM
display the typical nominal concentrations of the gas element A.
Appendix 4: List of the APM Parameters
The following table is the list of all the APM parameters. For each parameter it is mentioned if it is
needed, optional or not required (i.e. cannot be defined at this location) in the "prefix_poro.d" and
the "default_poro.d" files. The hard-coded value is also mentioned.
The definition of a parameter in the "prefix_poro.d" file takes over the definition in the
"default_poro.d" file. The definition of a parameter in the "default_poro.d" file takes over the hard-
coded value.

955
956
957
APM References
The following references can be found in the software installation
(dat/manuals/Pdf/APM_papers.pdf)
[1] Péquet Ch., Gremaud M., and Rappaz M. (2002), “Modeling of Microporosity, Macroporosity
and Pipe Shrinkage Formation during the Solidification of Alloys using a Mushy-Zone
Refinement Method”, Met. Mater. Trans., 33A, 2095.
[2] Couturier G., Desbiolles J-L., Rappaz M. (2006). "A porosity model for multi-gas systems in
multicomponent alloys", TMS, Modeling of Casting Welding and Advanced Solidification
Processes, pp. 619-626.
[3] Couturier G., Rappaz M. (2006). "Modeling of porosity formation in multicomponent alloys in
the presence of several dissolved gases and volatile solute elements", TMS, Symposium on
Simulation of Aluminum Shape Casting Processing.
[4] Couturier G., Rappaz M. (2006). "Effect of volatile elements on porosity formation in solidifying
alloys", Modeling and Simulation in Materials Science and Engineering, 14, pp. 253-271.
New Advanced Porosity Module
This section consists of the following topics:
 Introduction
 NAPM - Physical Model
 NAPM - Numerical Implementation

958
 Guidelines for NAPM Usage
 References
Introduction

The New Advanced Porosity Module (NAPM) is developed to simulate porosity formed during
solidification process. There are essentially two types of solidification porosity:
- shrinkage porosity :solidification shrinkage cannot be compensated by incoming liquid flux when
feeding flow is no longer possible. Consequently, shrinkage porosity is formed.
- gas porosity : gas porosity is the result of two concomitant mechanisms (figure 1): solidification
shrinkage and segregation of gases. The higher density of the solid induces a suction of the
viscous liquid towards the permeable mushy zone, thus decreasing the pressure in the liquid. On
the other hand, dissolved gases such as hydrogen in aluminum alloys are usually less soluble in
the solid phase. Being segregated in the remaining liquid part, the gas in the liquid can reach a
concentration, , which exceeds the solubility limit, , especially since this limit
decreases with the temperature, T, and pressure in the liquid, pl. Nucleation and then growth of
pores has to be considered at this stage.

Figure 1 : Schematic representation of (a) the liquid pressure drop in the mushy zone due to

solidification shrinkage and (b) the increase of gas concentration, , in the liquid of the mushy

zone due to gas microsegregation (thick line) and the decrease of the solubility limit, (T,pl) (thin
line). At equilibrium, i.e., without the Laplace's overpressure, porosity nucleation occurs at the
crossing point of these two curves.

Both porosity mechanisms are taken into account in a single physical and numerical model called
NAPM. This model is largely explained in next sections.
NAPM - Physical Model
Two main governing equations are used to describe porosity formation during solidification.

959
Alloy Mass Conservation
The first governing equation is the alloy mass conservation which is a continuity equation
(equation 1):

(1)

Assuming that the solid phase is not moving and that there is no deformation, the conservation
equation of alloy mass is given by equation 1. is the specific mass of the solid, gs is the solid
fraction, is the density of the liquid, and vl is the velocity of the liquid between the solid
skeleton. The volume fraction of liquid, gl, is given by equation 2 if porosity formation has already
occurred:

(2)

where gp is the volume fraction of pores.


Equation 1 can also be written as:

(3)

where is the average mass of the liquid-solid mixture without porosity.


Solidification shrinkage and specific mass variations, the right hand side term of equation (3), can
be compensated for by interdendritic liquid feeding (first left hand side term) and/or by
microporosity formation (second left hand side term).
The right hand side term can be computed everywhere in the casting part:

is given by the density curve of the Alloy.

is the cooling rate given by an heat flow solver.

Darcy's Flow
Continuity equation 3 can be solved in combination with the Darcy's flow equation. Darcy's flow
equation is a flow momentum equation governing the resistance of a porous medium to viscous
liquid flow. The porous medium is the solid dendritic network in case of alloy solidification. Darcy's
flow equation is:

960
(4)

where pl is the local pressure in the liquid, K is the permeability of the solid skeleton, is the
dynamic viscosity of the liquid and g is the gravity vector.
and are alloy properties. K, which reflects the resistance of the solid pattern to the fluid flow
is modeled by Kozeny-Carman’s equation[1]:

(5)

where is the Secondary Dendrite Arm Spacing (SDAS).

Combining equations (3) and (4) one gets:

(6)

As can be seen, two scalar unknown fields appears in equation (6): the liquid pressure, pl(x,t),
and the volume fraction of microporosity, gp(x,t). The way to solve pl and gp is described later.

Boundary Conditions
Following boundary conditions are applied at borders of liquid/mushy regions to solve liquid
pressure:
- liquid pressure imposed at the top of each liquid/mushy regions:
- if the liquid/mushy region is connected to the free surface of the casting, the imposed
pressure will be equal to the atmospheric pressure,
- if the liquid/mushy region is not connected to the free surface of the casting (hot spot),
the imposed pressure will be equal to the local nucleation pressure, pnuc (see paragraph
“Porosity nucleation criterion”).
- no liquid flux elsewhere.
These boundary conditions are illustrated in figure 2.

961
Figure 2: boundary conditions implemented in NAPM to solve liquid pressure in liquid/mushy regions.

Liquid pressure will be computed from equation (6) in liquid/mushy regions. The numerical
method employed in NAPM is described in section “NAPM – numerical implementation”.

Porosity Nucleation Criterion


Depending on whether gases are dissolved in the liquid phase or not, porosity nucleation criterion
is different. Generally, porosity will nucleate if liquid pressure reaches a nucleation pressure, pnuc:
- In the presence of gases dissolved in the liquid metal: pores will nucleate if decreasing
liquid pressure reaches sum of partial pressures of gases dissolved in the liquid phase minus the
overpressure due to capillarity effect:

(7)

where pg is the sum of partial pressures of gases dissolved in the liquid phase, and is the
overpressure due to capillarity effect. Gas microsegregation model coupled with gas solubility
limit equations are employed to compute the sum of gas partial pressures (p g) (see paper [2]).
is given by Laplace’s law:

(8)

where is the interfacial tension between the liquid and the pore (gas), and r is the radius of
curvature of the pore. A model for radius of curvature of the pore is proposed in paper [2].

- In the absence of gas dissolved in the liquid metal: pore will nucleate if decreasing liquid
pressure reaches minus the overpressure due to capillarity effect:

962
(9)

Figure 3: Illustration of a critical region where porosity nucleation criterion was reached.

An algorithm detects isolated regions where porosity nucleation condition was reached. These
regions will be called "critical" regions. In figure 3 an example of critical region is shown: because
of a narrow channel, a part of the mushy zone is hardly feed. Long mushy zones could become
also critical regions.

Porosity Growth Model


As soon as porosity nucleation condition is reached (see paragraph “Porosity nucleation
criterion”), porosity starts to grow. As porosity fraction is no longer equal to zero, porosity fraction
represents an additional unknown in equation (6), and a liquid depression “relaxation” occurs.
This phenomenon is so fast that it cannot be captured by the numerical method. Liquid
depression could be continuously solved without accounting for porosity fraction, but liquid
depression would be highly overestimated. The following simplification is thus applied in NAPM:
where porosity nucleation condition is reached, liquid pressure is imposed to nucleation pressure:
this is the default mode that is called “relaxation 1”. In “relaxation 0” mode, liquid pressure is
continuously solved without accounting for porosity fraction. Both modes are implemented in
NAPM (see paragraph “Guidelines for NAPM usage”).

963
Figure 4: Schematic representation of porosity formation in a notched specimen. Porosity distribution
rules employed here are those currently implemented in NAPM.
Porosity increment is computed at each numerical time step. Critical regions (i.e. isolated regions
where porosity nucleation condition was reached) are treated sequentially. In each of these
regions, it is assumed that total liquid contraction and solidification shrinkage are no longer
compensated by a liquid flux coming from outside. Shrinkage will be fully compensated by
porosity formation, as there is no incoming liquid flux term in the mass balance. Consequently the
porosity volume increment is equal to the shrinkage volume increment in the critical region.
Then the question is: how is porosity increment spatially distributed in a critical region?
Distribution rules currently implemented in NAPM are shown in figure 4:
- if the current critical region contains a region where solid fraction is lower than the
"mass feeding limit": liquid contraction and solidification shrinkage are compensated by liquid-
solid emptying at the top of the critical region (black region). (It is not the case in the critical region
of figure 4).
- if solid fraction in the current isolated critical region is higher than “mass feeding limit”,
and if this region contains an area where solid fraction is still lower than an interdendritic
"gravity draining limit": solid motion is no longer possible because solid network is “dense"
enough. Liquid contraction and solidification shrinkage are compensated by liquid emptying at the
top of the area where solid fraction is lower than interdendritic “gravity draining limit”. This is the
case in figure 4 (growing dark blue region below the notch).
- else (solid fraction is above "gravity draining limit (GDL)" in the critical region): liquid
contraction and solidification shrinkage are compensated by distributed interdendritic
microshrinkage increment in the critical region. Homogeneity of this distributed porosity fraction
increment can be fine-tuned by playing with a "microshrinkage concentration (MC)" parameter.
Porosity fraction increment distribution in the critical region follows this method:
- Total shrinkage increment is integrated in the full critical region,

964
- A local weight is computed everywhere in the critical region according to following
formula:
weight = exp(-MC.( fs-GDL )2 ) / ( weight integrated in the full critical region ).
- Local porosity fraction increment is finally equal to: weight * total shrinkage increment.
Of course the above weight formula has no physical foundations and is questionable, but
at least it means that if MC is set to 0, porosity is "homogeneously" spread in the pocket
(with a local threshold of porosity fraction that is equal to remaining liquid fraction). For
increasing values of "microshrinkage concentration" parameter, the porosity is more and
more concentrated in low solid fraction regions (fs ~ GDL). Physical meaning which can be
given to the "microshrinkage concentration" effect is that porosity nucleation and growth is
facilitated where interdendritic liquid channels are bigger (low solid fraction). This has to
deal with capillarity effects.
These rules are applied to isolated mushy regions as well (not only critical regions) such as:
- The liquid/mushy zone connected to the top free surface in figure 4,
- Any closed liquid/mushy zone.
Effects of "mass feeding limit", "gravity draining limit" and "microshrinkage concentration" on
porosity distribution are illustrated in Figure 5. This set of parameters can be employed to fine
tune NAPM model on the basis of comparisons of simulation results with porosity measurements.

965
Figure 5. Effects of "mass feeding limit", "gravity draining limit" and "microshrinkage concentration"
parameters on porosity distributions in a notched specimen (highlight on the part below the notch).
On the bottom, a single parameter modification was done versus the reference case on the top.
NAPM - Numerical Implementation

The physical model employed in NAPM was described in the previous section (“NAPM – physical
model”). This section is focused on the liquid pressure drop numerical computation by NAPM.
Liquid pressure in governing equation (6) is solved by the following numerical method. NAPM
porosity computation is a post treatment of a thermal analysis.
Temperature history can come from:
 ProCAST Finite Element (FE) heat flow computation (see figure 6)
 QuikCAST Finite Volume heat flow computation.
In the case of a thermal history simulated by ProCAST, temperatures at nodes of the FE mesh
are read by NAPM. There are often few nodal temperatures in the thickness of the mushy zone,
and as liquid pressure gradient can be high in the mushy zone, a finer spatial discretization is
required to compute liquid pressure. For this reason an interpolation of the temperature of nodes

966
of the FE mesh at center of finer cells of a regular cellular mesh by NAPM is performed
(illustrated in figure 7). Re-interpolated temperatures will be employed by NAPM to evaluate
following quantities in governing equation (6): liquid density, permeability, viscosity, average
specific mass variations, and cooling rate.

Figure 6. Schematic representation of a Finite Element mesh employed in ProCAST to solve heat
flow governing equations.

967
Figure 7. Schematic representation of temperature history interpolation from the Finite Element mesh
(ProCAST) to the fine regular cellular mesh employed in NAPM (Finite Element mesh and cellular
mesh are 3D in reality).

Liquid pressure governing equation (6) is solved by NAPM on the cellular mesh according to the
numerical integration scheme illustrated in figure 8. Integration of the governing equation on a
control volume and divergence theorem give an equation (eq. 3 in fig. 8) in which liquid pressure
gradient has to be evaluated on the contour of the control volume. In NAPM, control volume is a
cubic cell of the regular cellular mesh, and contour is faces of this cell. Liquid pressure gradient
on cell faces is evaluated from pressures at centers of the considered cell and its neighbor cells.
And contour integrals are easily obtained. Consequently, the finite volume formulation leads to
equation (4) in figure 8 for each cell i. Equation (4) of figure 8 is a classical linear system solved
by NAPM to get liquid pressure at center of liquid/mushy cells.

968
Figure 8. NAPM numerical integration scheme. Picture on the left is a scheme illustrating the cellular
mesh and a zoom on a single cell and its neighbor cells (NAPM cellular mesh is 3D in reality).
The solution to the liquid pressure in NAPM has been fully parallelized based on domain
decomposition method. This allows NAPM to be run on either shared or distributed memory
systems. For large problem size, it is recommended that user start with 4-8 processors and
increase the number of processors as the problems size grows even larger.
Guidelines for NAPM Usage

The input file to NAPM is written in an ASCII file named prefix_poro.d, of which a typical example
is shown in Fig.9. This file can be edited either by using a text editor or through Visual-Cast GUI.
Once NAPM is launched, the progress of computation can be monitored through an output file
named prefixComputationInfo.log, which is updated every simulation time step. Upon completion,
a summary of the porosity results is written to a file named prefixPoroRes.log.

969
Figure 9. Example of NAPM set-up
Here we describe the procedure of setting up NAPM input through Visual-Cast and explain the
meaning of the various input parameters. This chapter consists of 5 section: 1) Turning on NAPM
in Visual-Cast, 2) Basic input setup, 3) Advanced options I, 4) Advanced options 2 and 5)
additional notes.

Turning on NAPM Option


 From the File menu in Visual-Cast choose Preferences
 Choose the Cast Preferences and click Advanced Options
 Turn On the APM New Sub-Solver. As shown in Fig. 10, the NAPM option here appears as
the APM New Sub-Solver . Once turned on, the APM-New tab will appear in the Simulation
Parameters window, where various input parameters to NAPM can be specified.
Otherwise, the APM tab will appear for the input parameters to the first generation of APM.
However, it is generally recommended that the second-generation APM be used for its
improved performance and accuracy.

970
Figure 10. NAPM activation in Visual-Cast

Basic Setup of NAPM Input Parameters


The basic setup of NAPM is through the APM-New tab in the Simulation Parameters, as shown in
Figure 11.

Figure 11. Basic setup of the input parameters to NAPM


The basic input parameters to NAPM are described as follows.
 APM parameters saving activation:
o On: Write out the prefix_poro.d file when Apply button is clicked
o Off: No prefix_poro.d file will be written.
 Porosity Models:

971
o Pressure Model: Uses liquid pressure drop and gravity drainage to identify the
regions where shrinkage porosity forms. As discussed in the physics model section,
the main advantage of using NAPM for predicting shrinkage porosity is through the
calculation of liquid pressure drop in the mushy zones, so normally one should
choose the Pressure Model.
o Cut-Off Model: Use only gravity drainage to identify the regions where shrinkage
porosity forms.
 Selected Volumes :
o The volume ID(s) in which shrinkage porosity will be computed by NAPM. There are
in general two ways to choose the NAPM computation domain: one is here by
selecting volumes, which is part of the geometry definition in the ProCAST setup,
and the other is through a use-defined box region (see below). A combination of the
two methods is also possible, and enables flexible selection of the computational
domain(s), often resulting in significant savings in computation time.
 Zone-Box definition:
o A user-defined rectangular region (box) where the NAPM calculation will be only
performed within this box. If not defined, NAPM calculation will be performed in the
entire simulation domain (or in the volumes chosen above).
o Note that liquid feeding paths should not be intersected by boundaries of this box in
order to minimize the impact on porosity distribution. Consequently, box size and
box location should be judiciously chosen, which could require some user
experience.
o The box region can be defined using GUI by clicking the cube icon.
o Or it can be defined using the coordinates of its two diagonal points, i.e. Min Point
(xmin, ymin, zmin) and Max Point (xmax, ymax, zmax).

o Note the limitation of the zone-box is that its sides must align with the major axes.
Only in this way can it be defined by the six coordinates as above.
 Alloy:
o The base alloy used in the casting, determined by Visual-Cast setup.
 Casting Process:
o Gravity: Gravity casting.
 Use the force of gravity to fill a permanent mold or die with molten material.
The process pressure is usually at ambient pressure (1 atm), but can also be
in a vacuum and or even specified as a function of time.
o HPDC: High pressure die casting
 Use high pressure to inject molten material into a mold cavity or die. For
NAPM calculation, both the injection pressure and the location of the
injection point/surface need to be specified (see below).
o Centrifugal: Centrifugal casting
 The molten material is introduced into a permanent mold rotating at high
speed and thus centrifugally thrown towards inside the mold wall where it
solidifies after cooling. The axis of rotation will be read by NAPM
automatically from the ProCAST setup. However, only the Cut-Off model is
currently supported for centrifugal casting, and only the axis (and not the
speed) of rotation is considered in the calculation.
 Imposed Pressure:
o This is the process pressure during the casting. It can be a constant, for example,
for gravity casting under ambient pressure, its value will be 101325 Pa. Or for

972
HPDC it is the pressure applied to the piston. For the latter case, the location of the
injection point will also need to be specified (see next)
o The imposed pressure can also be specified as a function of time P(t). Click the
curve icon in Value, an input table will open for user to specify the function form of
P(t).
 Pressure Coordinates X/Y/Z: (Active only if HPDC is chosen)
o The (x, y, z) coordinates of the injection point where pressure is imposed.

o Note the injection point must locate OUTSIDE the NAPM computation domain
(volume/box). NAPM will use this point to define a region on the exterior of the
computation domain where the imposed pressure is used as a boundary condition.
It will do so by projecting the user defined point onto the computation domain.
Therefore, the injection point should be specified such that when it is projected
(from outside) onto the casting part, the projection point should identify the surface
area where the pressure is imposed. For example, assume a piston of 1 cm radius
moves along the +x direction and its top dead end stops at x = 0.1 m. The left
boundary of the NAPM domain (e.g. the box region) is chosen at x = 0.08 m. The
injection point in this case can be specified as (0.07, 0.0, 0.0). The pressure on the
resulting circular region centering at (0.08, 0.0, 0.0) within the plane x=0.08 cm will
be specified as the imposed value.
 Gases:
o The gaseous solute in the alloy. e.g. dihydrogne (H2) in Aluminum.
 Gases Elements:
o The partial pressure of the gases element. If none present, choose 0. If unknown,
click the information icon gives recommended values (if available) for typical low,
medium and high concentrations.
 Grid spacing:
o The size of the cellular cells in NAPM. Typically, it should be smaller than the finite
element size in ProCAST. On the other hand, it is recommend the total number of
cells in the NAPM to be less than 10M. Clicking the information icon gives an
estimate of the computation time with the different choices of the cell size.
The basic setup of the NAPM input parameters is now complete. Normally a user can start
running NAPM at this point. The Advanced options described in the following all have default
values which should be suitable for most of the NAPM calculations.

Advanced Input Options (I)


Beyond the basic setup described above, NAPM also allows user to fine-tune its accuracy and
performance via a series of advanced options. The Advanced options in the Simulation
Parameters tab are divided into two groups. In this section, we discuss the first group, which can
be activated by clicking the Advance1 as shown in Fig. 12.

973
Figure 12. Advanced input parameters to NAPM, Group 1

 Storage Frequency:
o The frequency at which NAPM writes out its intermediate results. For example, at
default value 10, NAPM will output porosity and pressure results every 10 steps.
 Secondary Dendrite Arm Spacing (SDAS):
o SDAS can be set as a constant, a function of time (coarsening) or a spatial field
generated by ProCAST (if the MICRO is ON). In the last case, the file
prefix_microProp.usf should be present and NAPM will read the values of SDAS
from it automatically.
o In the absence of the prefix_microProp.usf, SDAS may be assumed to be uniform
constant and independent of time. Its default value is 50 micrometers. The
permeability of the mushy zone as well as the radius of the nucleation bubble are
influenced by SDAS (see equation 5 and 8)

o Coarsening constant: SDAS is in fact typically growing (coarsening) during the


solidification. If the coarsening kinetics is known, a coarsening constant M is
employed as the coarsening factor in following SDAS coarsening model: SDAS =
[SDAS03 + M(t – tLiq)]1/3 , where t is current time, tliq is time when temperature reaches
liquidus temperature. SDAS0 = 10 micrometers.

 Mass Feeding Limit (MFL):


o The solid fraction (Fs) below which the liquid and solid are supposed to move
together. See the section on Porosity growth model. Default value is 0.3
 Gravity draining limit (GDL ):

974
o For MFL < Fs < GDL, the liquid will be drained in the direction of gravity through the
dendritic structure to compensate for shrinkage while the solids remain immobile.
See the section on Porosity growth model. Default value is 0.6.
 Microshrinkage concentration (MC):
o Concentration factor between 0 and 100. See section on Porosity growth model.
Default value is 10. This control the distribution of the micro-shrinkage in the mushy
pockets.
 Interdendritic Feeding Limit (IFL) (active only in Cut-off model)
o The solid fraction limit beyond which liquid feeding stops. Default value is 0.9
 Gas-Metal Surface tension:
o Interfacial tension between the liquid and the pore ( in equation 8). Default value
is 0.9 J/m2
 NAPM time steps:
o Three different ways can be used to specify the time step size of NAPM.
 Stored: Uses the same time interval of the stored thermal simulation results.
 User-defined: constant or vary with time (defined in a table)

 Automatic: determined by the code, based on the maximum percentage


increment of Fs during one step. Its default value is 1%, which means that
within 1 time step of NAPM, the increase of solid fraction is less than 1
percent.

o Try use small time steps, particularly when the grid spacing is reduced. It makes the
pressure computation more accurate and reduces the discreteness of the resulting
porosity pockets
This completes the first group of the Advanced input options to the NAPM.

Advanced Input Options (II)


The second group of the Advanced option to the input of NAPM can be activated by clicking the
Advanced2 on the APM-New(Beta) tab. The expanded window is shown as follows.

975
Figure13. Advanced input parameters to NAPM, Group 2

 Restart Time:
o Choose 0 if NAPM runs from the beginning. Otherwise, choose the simulation time
from which restart occurs.
 Overwrite Restart Mode: only saves the results at the last available time step
and the restart can occur from this time only (default). This is good if the
simulation is interrupted for any reason and needs to be resumed.
 Append Restart mode: saves ALL the results up to the last step (large file!)
so that NAPM can restart from any previous time step.
o Default 0: Start from the beginning.
 Nucleation radius
o The radius of the pore nuclei, default value 10 micrometers.
 Pore density:
o Ignore, not currently used in the code. Reserved for future use.
 Transition solid fraction:
o The solid fraction (Fs) limit under which the pores grow freely, i.e. not constrained
by the available half spacing (see next), default value is Fs = 0.5.
 Available half spacing:
o A tabulated parameter (function of solid fraction, or constant) reducing the radius of
pore nuclei at the end of solidification when dendritic network is dense. The default
table is presented in paper [2]. For more details concerning this model please refer
to paper [2]. To deactivate the effect of dendritic network on pore nuclei radius, it
should be set to a high constant value. Ex: available.half.spacing 1.e+9

976
o The user can also define its own tabulated value (as a function of FS), see the
example in the Figure 9 (a leading * indicates a tabulated function section will
follow).
 Permeability solid fraction cut-off:
o Define the maximum Fs in computing permeability and available half spacing. As
soon as solid fraction is above this value, mushy zone permeability is fixed. This
threshold can be employed to fine tune the model. Higher values of
permeability.solid.fraction.cutoff will result in higher amount of porosity as liquid
pressure drop will be larger. Default value is 0.99.
 Viscosity (used to compute the Darcy's law):
o Liquid viscosity can be chosen either as constant or a function of temperature.
o The default viscosity value is the same as those used in the main simulation.

This completes the second group of the Advanced input options to the NAPM.
1. Additional Notes:
a. When NAPM is run in parallel, the solver requires a connected domain. If the
intersection of the selected volumes and the zone-box definition is such that the
resulting computational domain becomes isolated separate volumes, try to redefine
the Zone-Box to make it connected. Using the serial solver the calculation can be
initiated, although this kind of setup is not recommended.
b. In terms of input parameter sensitivity, SDAS is an important parameter. As the
reliable knowledge of SDAS is often unavailable, it is recommended to try both
constant and coarsening specifications.
c. Generally MFL should not exceed 0.3 and GDL should not exceed 0.7.
d. The liquid pressure in the output visualization file from NAPM does NOT reflect an
instantaneous pressure distribution. Rather it can be regarded as a time history,
since once the pressure in a cell reaches its nucleation pressure, its values is kept
and taken out of the solution procedure from that moment on.
e. NAPM module is not suitable for the LPDC process.
References
[1] Ch. Péquet, M. Gremaud, and M. Rappaz, “Modeling of Microporosity, Macroporosity and Pipe
Shrinkage Formation during the Solidification of Alloys using a Mushy-Zone Refinement Method”,
Met. Mater. Trans., 33A (2002) 2095.
[2] Couturier G., Desbiolles J-L., Rappaz M.. "A porosity model for multi-gas systems in
multicomponent alloys", TMS, Modeling of Casting Welding and Advanced Solidification
Processes, 2006.
Macrosegregation
The macrosegregation module of ProCAST can calculate automatically the macrosegregations
for steels, based upon the composition of the alloy. This can be achieved with the link of the
module with thermodynamic databases.
It has been developed for multicomponent alloys and back diffusion is considered.

This is the first release of this module which a can be considered at this stage as an
"innovative" development (few industrial validations).
Governing equations of the Macrosegregation module are:
Liquid species conservation

977
Solid species conservation

where:
m - species
- Diffusion length
- Interfacial area concentration
- Secondary dendrite arm space
sl - solid/liquid interface
D - diffusivity

Liquid density calculation is done as follows:


The temperature dependence of density for liquid metals is linear

where:

- reference density

- reference temperature

Liquid density

where:

- liquid concentration

Limitations:
 No solid movement
 No grain sedimentation
 Fully equiaxed dendrites, no columnar dendrites is considered

Inputs are:
 MACROSG 1
 Alloy composition should be provided in thermodynamics database
 FLOW 1
 It is recommended to use NMETHOD 0 when MACROSG is 1

Examples of outputs of the macrosegregation module


Typical segregation for a Steel Ingot

978
Final Distribution of Cu

Final Distribution of C, Si and Mn

979
Microstructures
This section consists of the following topics:
 Introduction
 Case Set-up and Results
 Examples
 Iron and Steel
Introduction
The microstructure module of ProCAST can calculate automatically the microstructures based
upon the composition of the alloy. This can be achieved with the link of the module with
thermodynamic databases.
Depending upon the chemical composition, the microstructure module automatically detects the
phases which will appear and the type of microstructure which should be computed (dendritic,
eutectic, nodular, ...).
For instance, if an Al-7%Si-0.3%Mg alloy is specified (A356), automatically, the software will
detect that primary dendrites will form, followed by an interdendritic eutectic. On the other hands,
if the composition of a Nodular Cast Iron (SGI) is defined, the nodule counts, the austenite grain
radius, the pearlite and ferrite fractions will be computed, together with the corresponding
mechanical properties (such as hardness, yield and tensile strength). The software will also
automatically detect that, if there is no Magnesium in the cast iron, the structure will be lamellar
rather than spheroidal. In the same way, if the composition is hypo-eutectic, primary dendrites of
austenite will form before the eutectic transformation.
The only parameters that the user may need to specify are the nucleation parameters (see
below). This is due to the fact that this is not an intrinsic property and that it may depend upon the
metal treatment. In some cases, it may be necessary to specify the growth kinetics of the eutectic
and pearlite colonies.
Since the microstructure module is linked with the thermodynamic databases, it is necessary to
have the corresponding database license for the desired base material.

Nucleation of the Primary Dendritic Grains

980
The primary dendritic phase (if any) will nucleate and grow as equiaxed grains. The nucleation of
these grains strongly depends upon the alloy treatment and thus the nucleation parameters
should be defined.
The model which is used is based upon the "Gaussian distribution" model proposed in 1987 by
Rappaz et al. (Acta Metall., 35, (1987), 1487 and 2929). This model defines the relationship
between the number of nuclei and the undercooling. The distribution of the nuclei with
undercooling has the form of a Gaussian distribution and thus, the integral of this curve is an "S-
shape" function (see graphs below).

The mathematical description of this "S-shape" curve is as follows:

with the following definitions:

Thus, the nucleation behavior of the primary dendritic phase is fully defined by the three above
parameters.

Nucleation of the Eutectic Grains


The nucleation of the eutectic grains is based upon the model proposed in 1966 by Oldfield (ASM
Transaction, 598, (1966), 945). The number of nuclei is a power law (Oldfield proposed a
quadratic law) of the undercooling.
The model is described by the following equations:

981
Thus, the nucleation behavior of the eutectic phase is fully defined by the two above parameters.

Growth Kinetics of the Eutectic Grains


The eutectic is growing with a quadratic power of the undercooling:

Thus, the above constant fully defines the growth characteristics of the eutectic.

Default Values
The following table shows the default values which are used in the microstructure module for the
models described above and for the different alloys. The nucleation data may of course change
from one alloy to the other, due to different metal treatment. These default values correspond to
data proposed in the literature.

Case Set-up and Results


Set-up
The set-up of a microstructure calculation is very simple as the model is based upon the chemical
composition.
Firstly, the problem should be defined as a usual thermal case.
Then, the chemical composition of the alloy should be specified in the corresponding material
properties tab (see below).

982
For the thermal properties, only the thermal conductivity and the density should be defined in
addition to the chemical composition. Then, the enthalpy needs to be calculated in Visual-Cast,
with the Thermodynamic Databases (based upon the specified chemical composition), using
the Lever model for Fe alloys and the Scheil model for the other systems. Thus, at the end, the
thermal conductivity, the density, the enthalpy, the fraction of solid, the liquidus and solidus
temperatures are defined.
Finally, the Simulation Parameter MICRO should be set to 1. This activates the 2010.0 version of
the models which have been revised and grouped in a new metallurgical library. By setting
MICRO to -1 the former implementation is recovered. A value of 0 will disable the microstructure
calculation.
If the nucleation or growth parameters have to be changed from the default values (see Table
below), the corresponding Simulation Parameters can be modified (see the Micro Simulation
Parameters section for more details).

983
Coupling Algorithms
In the 2010.0 version more accurate coupling schemes have been implemented to account for
the feedback of microstructure formation and latent heat release on heat transfer. Three coupling
modes are available:
Coupling level 0 (default): This corresponds to an enthalpy scheme without iterations. This
scheme offers good accuracy and computation efficiency. This is the recommended method.
Please note that it will automatically select the enthalpy scheme, regardless of the value given for
the Simulation Parameter THERMAL.
Coupling level 1: Iterative scheme. This scheme offers maximum accuracy (full convergence),
but requires more computation resources. Please note that it will automatically select the
temperature scheme, regardless of the value given for the Simulation Parameter THERMAL.
Coupling level -1: Totally uncoupled. This means that the heat flow calculation is not at all
affected by the evolution of the microstructure. It is equivalent to run the microstructure model a
posteriori, using a thermal history coming from a heat flow calculation without microstructure. This
scheme is not recommended for solidification because it introduces a substantial error on the
undercooling and therefore on transformation kinetics. This scheme is meant to be used for solid-
state transformation (TTT diagram approach), where the latent heat of transformation can
sometimes be neglected. This scheme offers very high computation efficiency.
Please note that none of these schemes correspond to those available in 2009.1 and former
ProCAST versions. Both coupling levels 1 and 0 provide higher accuracy than the previous
schemes.
(See the Micro Simulation Parameters section for more details about how to activate these
coupling modes).

Results
Depending upon the alloy composition, the type of microstructure will be different. As a
consequence, the type of results which are computed will also be different. All the microstructure
results can be visualized in the post-processing, in the "Contour/Microstructure" menu.
The microstructure results are grouped in three categories:

984
Base constituent fractions: These fields correspond to the volume fraction of the basic
constituents the microstructure is made of. The sum of the volume fractions of the basic
constituents at a given node is always equal to 1.
Mixture fractions: These fields are volume fractions of mixtures of basic constituents. These
mixtures correspond to microstructures that are classically measured by metallography such as
ledeburite. The mixture "ledeburite" is made of the two basic constituents: "ledeburitic austenite"
+ "ledeburitic cementite". Similarly, the mixture "ductile eutectic" is made of the two basic
constituents: "ductile eutectic austenite" + "ductile eutectic graphite".
Properties: This category encompasses all the fields that are not volume fractions. It includes
mechanical properties and microstructural quantities such as grain size, secondary dendrite arm
spacing, etc.

a) Dendritic primary phase and eutectic secondary phase


Most alloys are solidifying with a dendritic primary phase, followed by the formation of an inter-
dendritic eutectic. In this case, the following fields are calculated:

b) Special case of Fe-C alloys - grey iron (lamellar eutectic)


In the case of grey iron (lamellar graphite), graphite (gray eutectic) or metastable phases
(ledeburite) may appear depending upon the chemical composition and the local cooling
conditions. The solid state transformation of austenite decomposition into ferrite and pearlite is
calculated, as well as the corresponding final mechanical properties (tensile strength, yield
strength and Brinell hardness). The following quantities are calculated:

985
For Mg containing alloys, please note that if the Mg amount is larger than 0.039%, the software
will consider that it corresponds to a nodular cast iron (SGI). If the Mg content is higher than
0.039% but graphite is known to be lamellar, please decrease the Mg amount in the chemical
composition to make it smaller than 0.039%.

c) Special case of Fe-C alloys - nodular cast iron (eutectic composition)


In the case of nodular cast iron, nodules of graphite surrounded by austenite are formed instead
of eutectic grains. The "eutectic nodule count" (which corresponds to the density of graphite
nodules), as well as the "austenite radius" and "graphite radius" are calculated. Metastable
phases (ledeburite) may also appear depending upon the chemical composition and the local
cooling conditions. The solid state transformations, as well as the mechanical properties are
calculated, as for lamellar iron. In addition, the "elongation" is calculated. The following fields are
calculated:

986
The "eutectic nodule count" (which corresponds to the density of graphite nodules), as well as the
"austenite radius" and "graphite radius" are calculated. Metastable phases (ledeburite) may
appear depending upon the chemical composition and the local cooling conditions. The solid
state transformations, as well as the mechanical properties are calculated, as for lamellar iron. In
addition, the "elongation" is calculated.
The Nodular cast iron (SGI) model is activated as soon as the Mg content is larger than 0.039
wt%.

d) Special case of Fe-C alloys - nodular cast iron (hypo-eutectic composition)


In the case of a hypoeutectic iron alloy (carbon equivalent smaller than 4.3%), growth of primary
austenite dendrites prior eutectic formation is also calculated. In addition to the fields described
above (case b or c according to the Mg content), the model provides the following quantities:

As for eutectic alloys, the nodular cast iron (SGI) model is activated as soon as the Mg content is
larger than 0.039 wt%.

987
References
For cast iron, the mechanical properties calculations are based upon the microstructure,
according to two following papers:
Stefanescu et al, Proceedings of the 4th Decennial International Conference on Solidification
Processing, Sheffield, (July 1997), 609.
Goettsch et al, Metallurgical and Materials Transactions, 25A:5, (1994), 1063
Examples
In order to illustrate the application of the microstructure module on the solidification of nodular
cast iron, two calculations were performed with two different chemical compositions.
A very simple geometry was used, as shown below. The casting is cooled from the bottom with a
chill, whereas the rest is in a sand mold.

This set-up produces a full range of cooling rates, as shown in the cooling curves hereafter.

988
The following figure is showing the two alloys which were used, with the corresponding chemical
compositions. The only difference between the two calculations is the amount of Carbon (from
3.2% to 3.5%).

989
990
The following figures are showing the comparison of the different results. On the left, the Alloy 1
is shown (3.2% C - Hypo-eutectic) and the Alloy 2 is shown on the right (3.5% C - Eutectic).
Nodule Counts

991
Dendritic Grain Radius

992
Ledeburite Fraction

993
Total Austenite Fraction

994
Density

995
Brinell Hardness

996
Elongation

997
Tensile Strength

998
Yield Strength

999
Iron and Steel
In order to run iron micro modeling, the following set-ups are needed in Visual-Cast:
1. Simulation Parameters/Micro:
a. MICRO=1
b. Select Default Values (Gray Iron or Ductile Iron)
c. Based on the inoculation level change the values accordingly
i. EUNUCL (For ductile iron, default value is 2000)
ii. EUPOWER (For ductile iron, default value is 2.5)
2. Simulation Parameters/Thermal
a. MACROFS
b. PIPEFS
c. FEEDLEN
d. MOLDRIG (0~1, change it according to the hardness of mold)
3. Simulation Parameters/Micro
a. GRAPHITE (0~1, default=1.0)
b. FADING (0~1, default=1.0) (0 for large castings, 1 for small ones)
c. MGTREAT (time between the Mg treatment and the beginning of the calculation)

This section consists of the following topics:


 Introduction to Iron and Steel
 Iron and Steel Models
 Case Studies

1000
Introduction to Iron and Steel
The study of the microstructure of steels and irons must start with the iron-carbon equilibrium
diagram. Many of the basic features of this system (Fig. 1) influence the behavior of even the
most complex iron alloys. For example, the phases found in the simple binary Fe-C system
persist in complex steels. The iron-carbon diagram provides a valuable foundation on which to
build knowledge of both plain carbon and alloy steels in their immense variety.

Fig. 1: The iron-carbon diagram


It should first be pointed out that the normal equilibrium diagram really represents the metastable
equilibrium between iron and iron carbide (cementite). Cementite is metastable, and the true
equilibrium should be between iron and graphite. Graphite occurs extensively in cast irons (2-4 wt
% C), but it is usually difficult to obtain this equilibrium phase in steels (0.03-1.5 wt %C).
Therefore, the metastable equilibrium between iron and iron carbide should be considered for
steel, because it is relevant to the behavior of most steels in practice.
It is convenient to combine the effect of the silicon with that of the carbon into a single factor
which is called the carbon equivalent (CE):
CE=%C+%Si/3
It is called iron if CE is greater than 2, otherwise it is called steel.

Steel
When the weight percent sum of all elements other than Fe is more than 5% (such as some alloy
steel or stainless steel), only equiaxed dendrite model will be activated.
1. Carbon content less than 0.53% (such as Alloy A in Fig. 1)

1001
When the melt alloy cools from an initial temperature higher than the liquidus temperature
down to a temperature slightly below it, the primary delta dendrite phase begins to
nucleate in the liquid until a recalescence occurs due to the heat released from the
growing nuclei. During the recalescence, the nucleation ceases and the nuclei grow rapidly
into dendritic grains and soon impinge on each other at the end of recalescence. Then the
growth of delta dendritic grains is replaced by the coarsening of delta dendritic arms. When
the temperature reaches to the peritectic temperature, the peritectic transformation starts if
there is still liquid available. Otherwise, the austenite phase precipitates from the delta
phase until all of the delta phase is transformed into the austenite phase. Lastly, when the
temperature of the casting is cooled down to the alpha phase transformation temperature,
the alpha phase precipitates from the austenite phase to the eutectoid temperature. Below
the eutectoid temperature, cementite nucleates, initially on austenite grain boundaries, and
then pearlite colonies are formed by cooperative growth of alpha and cementite at the
expense of austenite.
2. Carbon content is greater than 0.53% (such as Alloy B in Fig. 1)
When the melt alloy cools from an initial temperature higher than the liquidus temperature
down to a temperature slightly below it, the primary austenite dendrite phase begins to
nucleate in the liquid. The austenite phase will grow until the end of solidification. There is
no peritectic reaction here. When the temperature of the casting is cooled down to the
alpha (C<0.8%) or cementite (C>0.8%) transformation temperature, proeutectoid alpha or
cementite precipitates from austenite until the eutectoid temperature is reached. Below the
eutectoid temperature, the coupled growth of alpha and cementite leads to the
transformation of the remaining austenite into pearlite.
The eutectoid temperature is around 723°C while the eutectoid composition is 0.80% C. By
cooling slowly alloys containing less than 0.80% C, hypo-eutectoid ferrite is formed from
austenite in the range 910-723°C with enrichment of the residual austenite in carbon, until
at 723°C the remaining austenite, now containing 0.8% carbon transforms to pearlite, a
lamellar mixture of ferrite and iron carbide (cementite). In austenite with 0.80 to 2.06%
carbon, cooling in the temperature interval 1147°C to 723°C, cementite first forms
progressively depleting the austenite in carbon, until at 723°C, the austenite contains 0.8%
carbon and transforms to pearlite.
Steels with less than about 0.8% carbon are thus hypo-eutectoid alloys with ferrite and
pearlite as the prime constituents, the relative volumes being determined by the lever rule
which states that as the carbon content is increased, the volume percentage of pearlite
increases, until it is 100% at the eutectoid composition. Above 0.8% C, cementite becomes
the hyper-eutectoid phase, and a similar variation in volume of cementite and pearlite
occurs on this side of the eutectoid composition.

Cast Iron
The term cast iron, like the term steel, identifies a large family of ferrous alloys. Cast irons are
multicomponent ferrous alloys. They contain major (iron, carbon, silicon), minor (<0.01%), and
often alloying (>0.01%) elements.
Cast iron has higher carbon and silicon contents than steel. Because of the higher carbon
content, the structure of cast iron, as opposed to that of steel, exhibits a rich carbon phase.
Depending primarily on composition, cooling rate and melt treatment, cast iron can solidify
according to the thermodynamically metastable Fe-Fe3C system or the stable Fe-graphite
system.
When the metastable path is followed, the rich carbon phase in the eutectic is the iron carbide;
when the stable solidification path is followed, the rich carbon phase is graphite. Referring only to
the binary Fe-Fe3C or Fe-C system, cast iron can be defined as an iron-carbon alloy with more
than 2% C. Important notice is that silicon and other alloying elements may considerably change
the maximum solubility of carbon in austenite. The formation of stable or metastable eutectic is a

1002
function of many factors including the nucleation potential of the liquid, chemical composition, and
cooling rate. The first two factors determine the graphitization potential of the iron. A high
graphitization potential will result in irons with graphite as the rich carbon phase, while a low
graphitization potential will result in irons with iron carbide. The metastable phase amount has
both direct and indirect effects on the properties of ductile iron castings. Increasing the volume
percent of hard, brittle carbide increases the yield strength, but reduces the tensile strength and
elongation, of ductile iron castings. Because there is no graphite expansion for the metastable
phase, the formation of carbide increases the likelihood of internal casting porosity.
The two basic types of eutectics - the stable austenite-graphite or the metastable austenite-iron
carbide (Fe3C) - have wide differences in their mechanical properties, such as strength, hardness,
toughness, and ductility. Therefore, the basic scope of the metallurgical processing of cast iron is
to manipulate the type, amount, and morphology of the eutectic in order to achieve the desired
mechanical properties.
The structure of the matrix is essentially determined by the cooling rate through the eutectoid
temperature range. Slow cooling rates prevalent in heavy sections promote the transformation of
ferrite.

Classification
Historically, the first classification of cast iron was based on its fracture. Two types of iron were
initially recognized:
 White iron: Exhibits a white, crystalline fracture surface because fracture occurs along the
iron carbide plates; it is the result of metastable solidification (Fe 3C eutectic)
 Gray iron: Exhibits a gray fracture surface because fracture occurs along the graphite
plates (flakes); it is the result of stable solidification (Graphite eutectic).
With the advent of metallography, and as the body of knowledge pertinent to cast iron increased,
other classifications based on microstructural features became possible:
 Graphite shape: Lamellar (flake) graphite (FG) as shown in Fig. 4.1 and 4.2, spheroidal
(nodular) graphite (SG) as shown in Fig. 5.1 and 5.2, compacted (vermicular) graphite
(CG), and temper graphite (TG); temper graphite results from a solid-state reaction
(malleability.)
 Matrix: Ferritic, pearlitic, austenitic, martensitic, bainitic (austempered).
The correspondence between commercial and microstructural classification, as well as the final
processing stage in obtaining common cast irons, is given in Fig. 2.

1003
Fig. 2: Basic microstructures and processing for obtaining common commercial cast irons
Graphite is a hexagonal-close pack form of carbon that can grow in both the liquid and solid
forms of iron. In theory, in irons above the eutectic composition of carbon, the graphite first
nucleates in the liquid, and then continues to grow in the solid. In irons below the eutectic
composition, the carbon does not start to grow until the iron reaches eutectic temperature. As
seen in a micro, the larger nodules are from growth initiated in the liquid, and the smaller nodules
are from growth that does not start until solidification temperatures are reached. The graphite
nodules continue to grow as the iron cools, so the amount of growth that occurs in the liquid is
smaller than what would be assumed by the micro.
The expansion from the graphite that grows in the liquid pushes liquid back into the riser, and
does not offset shrinkage. So in order to minimize shrinkage, it is necessary to maximize the late
formation of graphite without having to reduce the actual amount of graphite. Understanding what
happens in a non-steady state solidification of Ductile Iron suggests a way that this can be done.
In a hypoeutectic mode of solidification, austenite forms as a solid with a lower than average
carbon content. This increases the carbon content of the remaining liquid until it reaches the
eutectic composition. Likewise, in a hypereutectic mode of solidification, graphite nodules form in
the liquid, removing carbon from the liquid until it is reduced to the eutectic composition
Fig. 3.

1004
Fig. 3: Phase diagram showing movement of carbon concentration in liquid metal as iron solidifies
It can be seen from the previous diagram, that the maximum amount of carbon that can be
formed in late graphite is determined by the eutectic composition, and as long as the iron is at
eutectic or above, the amount of late graphite will be the same.
Fig. 4.1, 4.2, 5.1, 5.2

Iron and Steel Models


The following micro models are available in ProCAST:
Equiaxed Dendrite Model
The model is based upon the model proposed in 1987 by Rappaz et al [Acta Metall., 35, (1987),
1487 and 2929]. This model defines the relationship between the number of nuclei and the
undercooling. The distribution of the nuclei with undercooling has the form of a Gaussian
distribution and thus, the integral of this curve is an "S-shape" function. Following nucleation, the

1005
dendrite tip growth is controlled by the supersaturation (dimensionless undercooling) at the
dendrite tip. The concentration and volume fraction of the solid fraction are known from a thermal
and solute balance at the scale of the grain. The tip growth velocity is obtained from the Lipton-
Glicksman-Kurz model, which simulates the growth of an isolated dendrite tip. The tip continues
to grow until it meets another grain. At this point, solid is still less than unity. However, mixing of
the solute in the remaining liquid is complete at this stage. Therefore, a back diffusion type
equation can be used to calculate the solid fraction. If the phase diagram has a terminal reaction,
e.g., eutectic, the remaining liquid gets rapidly transformed into a solid. It is assumed that the
temperature of the grain is uniform and curvature undercooling is neglected once the dendrites
have impinged. Also, it is considered that the thermal undercooling is negligible, because
dendritic growth in alloys is essentially controlled by solute diffusion.

Eutectic Model
This model can be applicable to both regular and irregular eutectics. In the case of regular
eutectics, growth of both phases of the eutectic structure is non-faceted in nature. For irregular
eutectic, the growth process of one of the phases is faceted. Growth of the faceting phase
requires considerably higher entropy of fusion. Examples of faceted growth are graphite growth in
stable austenite/graphite eutectic and Silicon in Al-Si eutectic. The metastable
austenite/cementite eutectic is an example of non-faceted/non-faceted type eutectic growth.
Growth of both the stable and metastable eutectic are addressed here. Growth of the stable
eutectic usually proceeds at a higher temperature. A higher cooling rate results in the formation of
a metastable eutectic. This model assumes bulk heterogeneous nucleation at foreign sites which
are already present within melt or intentionally added to the melt by inoculation.
The nucleation of the eutectic grains is based upon the model proposed in 1966 by Oldfield (ASM
Transaction, 598, (1966), 945). The number of nuclei is a power law (Oldfield proposed a
quadratic law) of the undercooling. The growth of the grains is controlled by thermal undercooling
at the solid/liquid interface. Solutal undercooling is neglected here since solute diffusion during
eutectic solidification is negligible. The thermal undercooling is given by the difference between
the eutectic temperature and the actual solid/liquid interface temperature.

Ductile Iron Eutectic Model


The eutectic growth process in ductile iron is a divorced growth of austenite and graphite, which
do not grow concomitantly. At the beginning of the liquid/solid transformation, graphite nodules
nucleate in the liquid and grow in the liquid to a small extent. The formation of graphite nodules
and their limited growth in liquid depletes the melt locally of carbon in the vicinity of the nodules.
This facilitates the nucleation of austenite around the nodules, forming a shell. Further growth of
these nodules is possible by diffusion of carbon from the melt through the austenite shell. Once
the austenite shell is formed around each nodule, the diffusion equation for carbon through the
austenitic shell is solved in 1-D spherical coordinates. The boundary conditions are known from
the phase diagram because thermodynamic equilibrium is maintained locally. Conservation of
mass and solute is maintained in each grain. Because of the density variation resulting from the
growth of austenite and graphite, the expansion/contraction of the grain is taken into account by
allowing the final grain size to vary. Toward the end of solidification, the grains impinge on each
other. This is taken into consideration by using the Avrami-Johnson-Mehl approximation.

Gray/White Iron Eutectic Model


This model is a special case of eutectic growth model and is applicable to cast gray/white iron
only. In cast iron, one may obtain both gray and white iron depending on the melt composition
and cooling conditions. Given a controlled melt composition, the most important factor that will
determine whether a given region will solidify as white or gray is the cooling rate. It has been
observed that for a specific melt composition and solidification condition, there exists a parameter

1006
called a critical cooling rate. If a region of a casting solidifies with a cooling rate higher than the
critical cooling rate, then it will be white. The reverse is the case for gray iron.

Compacted Graphite Iron (Vermicular Graphite Iron)


The model is chosen by the initial content of Mg, such as:
Mg < =0.01 %: Gray iron
0.01% < Mg < 0.04% : Compact iron
Mg >= 0.04% : Ductile iron
The microstructure and mechanical properties of CGI are somehow between FGI and SGI. CGI
has higher mechanical properties, lower thermal conductivity, and higher tendency of shrinkage
porosity compared with LGI while the relationships are reversed when comparing CGI to SGI. It
has been proposed that the growth of CGI occurs by the twin/tilt of boundaries. The initiation of a
twin/tilt is close related to the unstable growth of the (1010) interface because of the reactive
elements, such as magnesium. If the reactive element is insufficient, the tilt orientation of twin
boundaries can alternate and result in CGI. Hence it is believed that CGI is the result of
degeneration of SGI. It is reasonable to assume that the growth of CGI is similar to that of SGI.
Hence, CGI can be modeled with the existing SGI micromodeling with some modifications which
consider the graphite shape change
When Mg is added not enough or the treated melt is hold too long before solidification, the
effectiveness of Mg to eliminate sulfur and oxygen reduced. At the beginning, graphite
precipitates as spheroids but degenerates during growth and later develops as interconnected
segments within the austenite phase. Hence the growth of vermicular graphite is modeled by the
growth combination of flake and spheroidal depends on the residual Mg amount Mg.

Ductile Iron Eutectoid Model


This model can be used during the eutectoid transformation while describing the phase
transformation of ductile iron to room temperature after solidification. The eutectoid reaction leads
to the decomposition of austenite into ferrite and graphite for the case of the stable eutectoid and
to pearlite for the metastable eutectoid transformation. Usually, the metastable eutectoid
temperature is lower than the stable eutectoid temperature. Slower cooling rates result in more
stable eutectoid structure. If the complete transformation of austenite is not achieved when the
metastable temperature is reached, pearlite forms and grows in competition with ferrite.
Growth of Ferrite:
Even though ferrite can form either from the breakdown of pearlite or from the direct
decomposition of austenite, it is assumed here that ferrite results only from the latter source. The
following assumptions are made for modeling the growth of ferrite:

1007
1. The austenite to ferrite transformation occurs at steady state and is controlled by carbon
diffusion.
2. The ferrite grains grow as spherical shells within austenite grains and the number of ferrite
grains is equal to the number of graphite nodules.
3. Thermodynamic equilibrium exists at graphite/ferrite and ferrite/austenite interfaces. These
are defined by equilibrium solvus lines extended below the equilibrium eutectoid
temperatures.
4. Diffusion from the ferrite/austenite interface towards austenite is neglected as diffusion
coefficients and concentration gradients in austenite are small compared to those in ferrite.
Nucleation and Growth of Pearlite:
The nucleation of pearlite usually occurs at austenite grain boundaries. It has been demonstrated
that pearlite colonies grow either as spheres or hemispheres following nucleation. By the
movement of high mobility (i.e., low interface energy) incoherent interfaces, these colonies can
grow edgewise or sidewise into the austenite. This means that pearlite grows in competition with
ferrite until austenite is completely transformed.
Transformation of austenite into pearlite is usually modeled with an Avrami equation because the
study of nucleation of pearlite is difficult, especially under continuous cooling conditions. Also,
pearlite grains impinge on each other at an early stage, especially at a relatively high cooling rate.

Gray Iron Eutectoid Model


The gray iron eutectoid transformation model is based on the approach used for gray iron
eutectic. Nucleation and growth of ferrite takes place once the temperature drops below the
stable eutectoid temperature. If the transformation of austenite is not complete when the
metastable eutectoid temperature is reached, then nucleation and growth of pearlite takes place.
The nucleation and growth rate expressions for pearlite are the same as those for the ductile iron
eutectoid model.

Ni-Resist Model
Ni-Resist is characterized by having an austenitic structure matrix produced by means of an alloy
with Ni.
Ni-Resist provides excellent corrosion resistance, mechanical strength, low thermal expansion
and thermal shock resistance.
Ni-Resist cast iron can be gray iron or ductile iron. (User has to use the same Simulation
Parameters as regular gray/ductile iron).
Because of the Ni addition, the final phase fraction will be different. Mechanical properties could
be different too.

Density Calculation during Iron Alloys Solidification


During gray or ductile solidification, the densities of the different phases are computed according
to the composition of the phase at that particular temperature. In the calculation, the graphite
expansion is included. The densities are updated at each time based on the temperature. The
porosity calculation is based upon the calculated density (see the Cast Iron Porosity model
section for more details). The input density curve in Visual-Cast will not affect the calculated
porosity formation if micro model is activated.

Iron Micro Model Inoculation Setup


In ProCAST, you can modify the phase nucleation depending on the inoculation practice in the
foundry for iron alloys solidification simulation. The inoculation will be good if it is in-mold or in-
stream with additional melt pretreatment. It is not as good if the inoculation is only in-ladle. You

1008
can change the Simulation Parameters to represent the practice of different inoculation. The
higher value of EUNUCL (a micro Simulation Parameter) represents better inoculation. The
default value is set to 2000 which should represent pretty good inoculation. Metastable phase can
form in the faster cooling area if the inoculation is not good enough.
The following figure is showing the effect of the inoculation parameter EUNUCL on the
microstructure and thus on the densities and porosity values.

Graphite Precipitation
One more micro Simulation Parameter for iron alloys solidification simulation is added called
graphite precipitation (GRAPHITE Simulation Parameter -see the Micro Simulation Parameters
section for more details) which tells the degree of graphite precipitation during solidification. It
varies from 0 to 1. 1 means that the graphite expansion potential is completely considered in the
simulation so the casting will have a relatively low tendency of shrinkage. 0 means that the
graphite expansion does not occur hence there is no compensation for the shrinkage of the liquid
during solidification by graphite expansion. During the micro calculation, the computed expansion
part of the density (as a function of the phases present) is multiplied by GRAPHITE. If GRAPHITE
= 0, there will be no expansion, whereas with a value of 1, the full expansion contribution will be
taken into account in the density. This density is only used if a porosity calculation (POROS = 1)
is made during the microstructure calculation (see the Cast Iron Porosity model section for
more details). The value of GRAPHITE will not affect at all the computed microstructure.
The default value is set to 1.0. This parameter is used to adjust the porosity formation to the real
foundry condition.
The following figure is showing the effect of GRAPHITE.

1009
Magnesium Treatment (Fading Effect)
FADING
Nodular cast iron (SGI and DI) is obtained by a Magnesium treatment of the melt. The graphite
formation tends to diminish as the time interval between the treatment and the solidification
increases (fading effect). As a consequence, the expansion effect will be reduced as graphite
formation is decreasing. This will of course have an effect on the amount of porosity.
Fading occurs as a result of a general coarsening of the inclusion population with time. The mean
inclusion diameter d is given by the Wagner equation:

Where do is the inclusion diameter at the time of addition of the inoculation, k is a kinetic constant.
The effects of some treatment material fade more slowly than others depending on their
composition and condition to use, such as in some heavy section ductile iron castings.
The Simulation Parameter FADING will allow to adjust the inoculants coarsening speed as:

Where k1 is the Wagner constant.


Normally the value of FADING can be any number between 0 and 1. The default value is 1.
Small FADING value corresponds to slow coarsening, which is the case for heavy section ductile
iron castings. Thus, for large castings, it is advised to set FADING to 0.

1010
The value of FADING will affect microstructure results, thus the densities and thus the porosity
results as illustrated in the following figure.

MGTREAT
As the calculation is starting usually at the beginning of the filling or when the casting is full, one
should take into account the time between the Mg treatment and the beginning of the calculation.
To do so, one can define the Simulation Parameter MGTREAT (see the Micro Simulation
Parameters section for more details).
Case Studies
A simple geometry casting is used to illustrate the application of the microstructure module on the
solidification of different alloys. The casting is cooled from the right with a chill (higher heat
transfer coefficient). The two bigger surfaces (back and front) are symmetry. All the other faces
are adiabatic.

The results shown here are not computed with the latest Microstructure module (i.e.
thermodynamic library model).

1. Al 4.9wt%Si
For this alloy, as the temperature cools down, the primary phase forms first. The possibility
to have and the amount of eutectic phase depends on the cooling rate. With faster cooling
rate, there is less amount of primary phase but more eutectic phase. The following figure
shows the comparison of current calculation with some experiment and other modeling
results for the solidification of this alloy.

1011
Fraction of Eutectic
a. Primary dendrite radius

The PRIMARY DENDRITE RADIUS provides the current position of the dendrite tip
and volume fraction of the dendritic grain as it varies with time. At the end of the
primary solidification, this parameter will equal the final grain radius.
b. Primary solid fraction

1012
This reflects the volume fraction of the primary phase formed during solidification.
As stated above, there is more primary phase for lower cooling.
c. Eutectic grain radius (grain radius of the eutectic phase)

d. Fraction of eutectic

1013
e. Eutectic interlamellar spacing

The INTER-LAMELLAR SPACING parameter determines the fineness of the


eutectic. Smaller values of this parameter provide better mechanical properties.

2. Ductile Iron (GGG 60)


This is a eutectic ductile iron. There is no primary austenite phase but only eutectic phase
during solidification. If the Carbon Equivalent is less than the eutectic composition, the first
phase comes out would be primary austenite phase then eutectic.
The AUSTENITE RADIUS and GRAPHITE RADIUS provide the instantaneous values of
the solidified grain size and nodule size respectively. At the end of solidification, they
provide a correct description of the final grain size and nodule size. AUSTENITE RADIUS
AND GRAPHITE RADIUS can be related to the mechanical properties of castings. Density
is calculated from the local fraction of graphite, austenite, and liquid, thus capturing the
contraction and expansion behavior of ductile iron. As explained earlier, the stable
eutectoid growth refers to the decomposition of austenite into ferrite and graphite and the

1014
metastable eutectoid growth refers to the decomposition of austenite into pearlite, which is
a coupled growth of ferrite and cementite.
The properties of the iron depend strongly on the relative amounts of ferrite and pearlite in
the matrix. As the pearlite content increases, tensile and yield strengths also increase, but
at the cost of ductility. Ferrite content controls fracture toughness and dynamic properties
of iron. The FRACTION OF FERRITE and FRACTION OF PEARLITE give the relative
amount of stable and metastable eutectoid structures. The pearlite/ferrite ratio can be
related to tensile strength through its effect on matrix microhardness. Usually, a finer
pearlite grain size is associated with a finer interlamellar spacing with better mechanical
properties.
The following Simulation Parameters are used.
EUNUCL=1000 EUPOWER=2.5
a. Eutectic Nodule Count

b. Austenite radius

c. Graphite radius

1015
d. Pearlite Spacing

e. Fraction of Ferrite

1016
f. Fraction of Pearlite

g. Fraction of Eutectic

1017
h. Fraction of Metastable Phase

i. Tensile Strength

1018
j. Yield Strength

k. Elongation

1019
l. Hardness

We can see that it is not 100% stable phase (Eutectic) everywhere for this casting after
solidification. On the higher cooling area (right side), the metastable phase (ledeburite)
formed. The fraction of stable phase plus the fraction of metastable phase is 1. The hard
brittle metastable phase can form at higher cooling area when the inoculation is not good
enough. The metastable phase can increase the yield strength but reduce the tensile
strength of the ductile iron castings.

3. Gray Iron (GG 20)


Mechanical properties of the cast grey iron part are a function of the stable and metastable
eutectic volume fractions and grain sizes. FRACTION OF EUTECTIC gives the amount of
the gray eutectic, whereas FRACTION OF METASTABLE EUTECTIC gives the amount of
the white eutectic. In most cases, the gray structure is more desirable as it gives improved
tensile strength and ductility. The EUTECTIC GRAIN RADIUS parameter gives the gray

1020
eutectic grain radius. The INTER LAMELLAR SPACING parameter calculates the spacing
of the gray eutectic.
a. Fraction of Primary phase

b. Fraction of Eutectic

c. Fraction of Metastable Eutectic

1021
d. Eutectic grain Radius

e. Eutectic Interlamellar Spacing

1022
f. Fraction of Ferrite

g. Fraction of Pearlite

1023
h. Pearlite Spacing

i. Tensile Strength

1024
j. Yield Strength

k. Brinell Hardness

1025
Metastable phase can form if the cooling is high enough.

4. Carbon Steel (Plain Carbon AISI 1008 Steel)


From the phase diagram, we know that the first phase formed during solidification is
primary austenite. The peritectic reaction happens when the temperature drops to the
peritectic temperature. Usually, peritectic growth is limited by the formation of the solid
transformed product at the reacting liquid/solid phase boundary. The PERITECTIC FR. OF
SOLID parameter gives the volume fraction of solid resulting from this reaction. It is
important to know the amount of the phase formed through this reaction, as it usually
forms as a surface layer on the primary dendritic solid phase. As temperature cools down,
pro-eutectoid ferrite or cementite will form depends on the composition until when the
temperature reaches to the eutectoid temperature. Below the eutectoid temperature, the
pearlite forms. FRACTION OF PROEUTECTOID PHASE refers to the fraction of
proeutectoid ferrite or cementite formed from the austenite phase as a function of time.
The carbon equivalent value controls which type of the proeutectoid phase (ferrite or
cementite) will form. If the carbon content is less than the eutectoid composition 0.8%, the
proeutectoid phase would be ferrite phase, otherwise would be cementite phase.
a. Primary dendrite arms

1026
b. Primary solid fraction

c. Secondary dendrite arm spacing

1027
d. Fraction of peritectic

e. Fraction of eutectoid

1028
f. Fraction of proeutectoid

Microstructures - Stress Coupling


Two different type of coupling between Microstructures and Stress are available in ProCAST:
 Stress properties depending upon the microstructure, during a calculation (see the Stress
Properties Depending Upon Microstructure section)
 Final stress properties, at room temperature, as a function of the final microstructure (see
the Final Stress Properties as Function of Microstructure section)
Stress Properties Depending Upon Microstructure
In some cases, the mechanical properties during the process can depend upon the
microstructure. This is especially true during heat treatments. Moreover, mechanical properties
can also be affected locally by defects, such as porosity.
For a stress calculation, ProCAST allows to define mechanical properties which are not only
temperature dependant, but also microstructure and/or defects dependant.

1029
As such dependencies may be very different from one alloy to another, the definition of these
mechanical properties is done with the help of User Functions. When these User Functions are
activated, at each timestep and each node (or Gauss point), the mechanical properties are
evaluated in the corresponding User Function. This allows to see the effect of the microstructure
on the mechanical behavior of the part, during the process.
The mechanical properties which can be defined in this way are the following:

Elasticity

 Young’s modulus
 Poisson ratio
 Thermal expansion

Plasticity

 Yield stress
 Hardening parameters
 Plastic modulus
 Ultimate stress
 Hardening exponent
 Kinematic hardening 1
 Kinematic hardening 2

Viscoplasticity

1030
 Viscoplastic parameters
 Viscous param
 Power
 Strain power
The corresponding User Functions (C functions) have the following names:
 func_youngsmodulus()
 func_poissonratio()
 func_thermalexpansion()
 func_yieldstress()
 func_hardeningplasticmodulus()
 func_hardeningultimatestress()
 func_hardeningexponent()
 func_hardeningkinematic1()
 func_hardeningkinematic2()
 func_viscoplasticviscousparam()
 func_viscoplasticstresspower()
 func_viscoplasticstrainpower()
In order to activate the corresponding User Function, the "Table" radio button should be selected.
Then, the "User Function" check box should be selected. Even if the "Table" radio button is
selected, it is possible to leave the table empty (if everything is defined in the User function). It is
however possible to fill the table and the corresponding values can be retrieved in the User
function itself.
Example

1031
Please note that the Temperature unit used in the User Function is the one specified in the
default unit file, "UserFunctions_units.dat", located in the "dat/pref" directory, or the one given in
"prefix_units.dat" file, located in the execution directory (see the User Functions section for more
details).
Once the "User Function" is selected in the Stress properties definition, the user should copy the
corresponding User Functions from the Template files (using the "Copy" function of the Manager -
the templates are in the ...\templates\MechanicalProperties\ directory of the software installation).
In the example shown below, it should correspond to the func_youngsmodulus.c template which
should be copied in the local directory as prefix_youngsmodulus.c.

1032
The figure hereafter is showing an example of this C function. The yield stress is assumed to be
the average value of the yield stresses of pearlite, bainite and martensite weighted by the local
fractions of these phases.

1033
In the User Function, the user has access to the following entities:
 Phase fractions: getFraction (Phase_fractions_quantities)
 Microstructural quantities: getMicro (Microstructural quantities)
 Defects quantities: getDefect (Defect_quantities)
 Mechanical properties defined in the Table: getFuncTemp()
The Phase fractions and Microstructural parameters are calculated by the Micro and TTT/CCT
modules. For the different alloy families, the available quantities (which should be specified as
argument of the above functions) are described in the following tables with the corresponding
result names:

Phase_fraction_quantities [ getFraction() ]

1034
1035
Microstructural_quantities [ getMicro() ]

1036
1037
Defect_quantities [ getDefect() ]
Defect.porosity_POROS1 (porosity amount calculated by the POROS = 1 model)
Defect.FVOL (fraction of volume)

1038
Mechanical properties defined in the Table [ getFuncTemp() ]
getFuncTemp() is the function which will return the value of the mechanical property define (if
any) in the Table, at the temperature of the location where the function is evaluated. No argument
should be specified (just "()").

Warning: When Phase fractions Microstructural quantities are used, one should of
course make sure that the corresponding quantities are well calculated by the
Microstructure module for this particular alloy system. If one of the variables is not
activated, the calculation is stopped with an explicit error message. In order to know which
variable are available, one could run a calculation with constant stress properties and see
in the post-processor which microstructure fields are displayed.

In the argument of each function, there is the Material ID (or Domain ID). This means that if such
function should be used in different materials, it is possible to set different properties for each
domain (respectively material). The variable is "matID". The other available variable is the
temperature ("temp").

real func_yieldstress(int matID, real temp)


Final Stress Properties as Function of Microstructure
ProCAST has the possibility to compute the final stress properties as a function of the final
microstructure.
To do that, five User Functions are provided to the user in order to define up to five mechanical
properties.
The templates of these functions are in the directory ...\templates\MechanicalProperties\ of the
software installation. They are called: func_mechprop1.c, ..., func_mechprop5.c
Example

1039
In order to activate such a function(s), the corresponding file(s), named "prefix_mechpropi.c"
(where "i" is equal to 1, 2, 3, 4 or 5) should be present in the local directory and they will be
compiled upon the launch of the solver.
The structure of these User Functions is identical as the ones described in the Stress Properties
depending upon the Microstructure section. The Phase fractions, Microstructure parameters
and Defects quantities that can be used in the Function are the same. The only difference is that
as we are calculating the final mechanical properties at room temperature, the temperature is not
available as an argument of the function. However, the Material ID (matID) is available to the
user.
The following figure is showing an example of the final Yield Stress at room temperature as a
function of the phase fractions. Please note that the name of the property, as well as the units are
defined in the function, and will be displayed in the post-processing.

1040
If a flow-thermal-micro calculation has already been done with no mechanical
property user function, it is not necessary to redo the complete ProCAST calculation. As
the mechanical property is only calculated at the ultimate step of a ProCAST calculation, it
is just necessary to do a restart with an INILEV close to the ultimate step.

It is worth to note that it is possible in Visual-Viewer (Cast) post-processing to


compute the same type of material properties, using the mathematical functions of Visual-
Viewer (Cast). However, the usage of these User Functions allows to prepare these
properties automatically during (i.e. at the end) of the calculation in order to be readily
available at the launch of the post-processing.
The following figure is showing the final Yield stress property in a simple part, after two different
heat treatments (quenching and air cooling). As the microstructure is different in both cases, the
final properties are thus also different.

1041
Final Yield stress properties in the part, as function of the microstructure

CAFE

This section presents the methodology to incorporate CAFE in casting with Visual-Cast.
 Defining CAFE in Volume Manager
 Specifying the Calculation Zone
 Adding CAFE Simulation Parameters
 Input Data Parameters
 Computation of Growth Kinetics (a2 and a3)
 CAFE Solver
 CAFE_Results
 References
Defining CAFE in Volume Manager
In Volume Manager, one should activate CAFE and switch it ON for the same. Select Alloy
volumes for CAFE, right-click on name column and select CAFE. Select ON from combo options
given in CAFE column, as shown below.
Once CAFE is activated in the Volume Manager, the user needs to set some process condition
relative to CAFE, namely Volume, Surface and Point Nucleation. At least one of these should be
defined, but the user can define multiple if desired. Specific description on how to set these
conditions can be found in Process Conditions Database.

1042
Specifying the Calculation Zone
The "Box List" within which the CAFE calculation will be performed (see dataset 54) are created
using CAFE Window Definition. All boxes are shown in explorer under Calculation Zone folder:

1043
Simple ways and means to create Box and access CAFE Window Definition:
Right-click on the Calculation Zone folder in explorer and select New.

Result: CAFE Window Definition GUI is posted.

CAFE Window Definition usage detailed

(1) Add button ( ): On clicking, a new box is added.


(2) Box-Name: Lists all boxes created.

Box name cannot be changed.


(3) Co-ordinates: For current selected box, its maximum and minimum coordinates are displayed
in respective fields, as shown above. Model units are used while defining the values.

The boxes are orthogonal which should be parallel to the XYZ coordinate system. It
is not possible to have other shapes or orientation.
The current selected box is shown in the model window with face handles. As it is often tedious to
define boxes "numerically", the face handles helps us to define box graphically, as shown below:

1044
There are six face handles displayed at the center of each face. Each face handle can be
dragged along the direction perpendicular to the corresponding face. The minimum and maximum
coordinates are correspondingly updated in the GUI.
Then, the new box can be defined at this stage, as shown below:

1045
One should be careful that boxes can touch, but should not intersect. For this purpose, green,
orange and red color labels are shown next to the coordinate’s values. When the labels are
green, the current box (displayed with handles) is not touching or intersecting any existing boxes.

1046
When the labels are orange, the current box is just touching one or more existing box(s). When
the labels are red, the current box is intersecting one or more existing box(s).
The handles of selected box also change color to green, orange and red, accordingly.
(4) Advanced: On clicking this tab, the following screen appears:

It has options to define surface nucleation on box faces. A face option has to be ticked on only if it
is intended to have surface nucleation on it. "-X face" is face which is perpendicular to the X-axis
and which has the minimum X-coordinate. On clicking Apply button, a plane region is created that
has same dimensions of face that is ticked on. If surface nucleation conditions are defined on
faces of the box, it is necessary to set the priority of faces on edges and corners. The following
buttons are used for that purpose:

In the above case, the X-faces will have the priority over the one of the Y-faces, which would
have the priority of the one of the Z-faces. It is possible to change the order or the priority by
clicking on the buttons (toggle) until the appropriate combination is obtained.
(5) Block Adjust: It gives user the option to choose the box to exactly fit the block size
(recommended), or not.
a. ON: The cursors are automatically incremented by the size of a block. With this mode, it
allows to make sure that the boxes will fit the blocks well.
b. OFF: The cursors are free. Thus, any values in the X-, Y- or -Z directions can be selected.
In this mode, it is not guaranteed that the blocks will exactly fit the box.
(6) Display: Controls box display in the model window. The buttons have the following functions:
a. None: No box is displayed.
b. Current: Only the current box is displayed.
c. All: All boxes are displayed.
(7) Auto: If the current box (displayed with face handles) is intersecting with any other existing
box(s), then on clicking this button, the current box is automatically re-adjusted such that the
current box does not intersect with other box(s).

(8) Delete ( ): On clicking this icon, the current box is deleted.

Warning message is issued if user tries to close the GUI or selects different box

without clicking on Apply ( ), as shown below.

1047
Adding CAFE Simulation Parameters
Example of adding CAFE Simulation Parameters

1048
Input Data Parameters
The parameters necessary for the CAFE calculation are contained in the file "prefix_mica.d".
Although this file is created automatically by the CAFE pre-processor of calcoSOFT, its structure is
explained below (as advanced users may want to change some parameters by hand without reloading
it in the pre-processor).
The file "prefix_mica.d" is structured in "datasets". Each dataset starts with a label (i.e. a number from
0 to 99) and is then followed by the appropriate values. Comments can be added after the # sign.
A typical example of the "prefix_mica.d" file is shown below:
51 5e-05 # cell size
52 10 10 10 # number of cells in blocks
along Ox, Oy, Oz
53 3 # domain where the CAFE
calculation is performed
54 -0.002 -0.002 -0.002 # xwmin ywmin zwmin (window
0.0025 0.0025 0.0035 definition)
0 0 0 0 0 0 123 # xwmax ywmax zwmax
# irfx- irfy- irfz- irfx+ irfy+ irfz+
mode
55 0.001 # iprec : precision for window
joining
56 11 # itable : El./block tables update
# iprot : result files protection
57 5000 # nbior : number of
crystallographic orientations
58 1 # iseed : seed value for the
random generator
59 7.494e-07 2.043e-06 # a2,a3 : coefficients of the
growth kinetics
60 10 1 1e9 # dtn,dts,gmax : coefficient of
the liquid nucleation
61 1 2 1 1e10 # iref,dtn,dts,gmax : coefficients
of Gaussian surface nucl.
62 2 0.45 2.75 1.13 2.5 # coefficient of SX nucleation at
boundaries
63 0.45 2.75 1.13 2.5 0.01 0.35 0.17 # coefficient of nucleation of a
SX nucleus at a given point
64 3 3e9 0 0 1 0.55 # coefficient of nucleation (fiber
texture)
66 1500 # liquidus temperature
67 0 # irefcell : flag for the cell
referencing algorithm
68 2 # iprint : flag for the print-out
level
69 1 0.8 # iauto : flag for the automatic
micro time-stepping
# dtfac : micro time-step

1049
adjustment factor
70 0 # ifull : flag for full coupling
calculation
71 0 0 2 0.015 # cut t-flag [0|1] u-flag [0|1]
coord. [1|2|3] coor.
72 11 # global file: t-flag [0|1] u-flag
[0|1]
73 11 # extern. surface file: u-flag
[0|1] r-flag [0|1]
74 1 # nucleation file: u-flag [0|1]
75 1 114.5 # interface file: u-flag [0|1] time
80 5. 5. 0.1 # sdgau1,sdgau2,nvgau :
Gaussian discretization
0 # end card

Description of the datasets

Dataset 51 Definition of the cell size


cell size cell size [m]

Dataset 52 Definition of the number of cells in a block


ncellx Number of cells in the X-direction in a
block
ncelly Number of cells in the Y-direction in a
block
ncellz Number of cells in the Z-direction in a
block

Dataset 53 Definition of the domains in which the CAFE calculation is performed


(this dataset is repeated for each domain in which the CAFE calculation should
be done)
ndom Domain number in which the CAFE
calculation is performed

Dataset 54 Definition of a window


(this dataset is repeated for each window)
xwmin Minimum X-coordinate of the window [m]
ywmin Minimum Y-coordinate of the window [m]
zwmin Minimum Z-coordinate of the window [m]
xwmax Maximum X-coordinate of the window
[m]
ywmax Maximum Y-coordinate of the window
[m]
zwmax Maximum Z-coordinate of the window

1050
[m]
irfx- Reference number on the -X face of the
window
irfy- Reference number on the -Y face of the
window
irfz- Reference number on the -Z face of the
window
irfx+ Reference number on the +X face of the
window
irfy+ Reference number on the +Y face of the
window
irfz+ Reference number on the +Z face of the
window
mode Mode for the precedence of the
references on edges and on corners of
the window.
123 means that X will have the priority
over Y, which will have the priority over
Z.
231 means that Y will have the priority
over Z, which will have the priority over X

Dataset 55 Precision for window joining


iprec In order to join together adjacent
windows, the precision "iprec" is used. If
the distance between two windows is
larger than "iprec", the windows will not
touch each other (thus the grains will not
pass from one window to the other).

Dataset 56 Calculation flags


itable Flag to recompute the "Elements-blocks"
relation tables
itable = 0 : no recomputation
itable = 1 : The tables are recomputed
It is necessary to recompute the tables if
the following things are changed : the
geometry (i.e. the mesh), the windows or
any values in the cards 51 to 55)

One should be very careful when the value itable=0 is used. If the cell size,
the block size or the windows are changed and the tables are not recomputed,
the calculation will go wrong or will crash (there is no possibility of control within
the software).
iprot Flag to protect the result files
iprot = 0 : The result files are not
protected (i.e. the program will run even
if old result files are present)

1051
iprot = 1 : The result files are protected
(i.e. the program will stop if result files
are present. In this case, the result files
should be deleted and the program
restarted).

Dataset 57 Number of crystallographic orientations


nbior Number or crystallographic orientations
for the CAFE calculation. (usually a
default value of 5000 is used)

Dataset 58 Definition of the seed for the random number generation


iseed Seed number for the random number
generator
iseed > 0 : the sequence of random
numbers will always be the same for the
same value of iseed
iseed < 0 : the sequence of random
numbers will always be different (in order
to make statistics on the results of
several calculations)

Dataset 59 Growth kinetics parameters


a2 First coefficient of the growth kinetics
a3 Second coefficient of the growth kinetics
or
Ffunction activate the Fortran user-function
USERGROW
or
Cfunction activate the C user-function
USERGROW

Dataset 60 Nucleation parameters in the bulk of the liquid (Gaussian distribution)


dtn Average undercooling
dts Standard deviation
gmax Maximum number of nuclei
or
Ffunction activate the Fortran version of user-
subroutine USERNUCL
or
Cfunction activate the C version of user-subroutine
USERNUCL
dtn Average undercooling
dts Standard deviation
gmax Maximum number of nuclei
nuclcr flag telling whether the cooling rate at

1052
liquidus has to be stored (0 = no, 1 =
yes)
nucltmax flag telling whether the maximum
temperature reached in the cell has to be
stored (0 = no, 1 = yes)
nuclv number of user variables

Dataset 61 Nucleation parameters at the surface (Gaussian distribution)


(this dataset is repeated for each appropriate reference)
iref Reference number of the corresponding
surface
dtn Average undercooling
dts Standard deviation
gmax Maximum number of nuclei

Dataset 62 Single crystal (SX) nucleation parameters on a surface


The single crystal will be created on the whole surface
(this dataset is repeated for each appropriate reference)
iref Reference number of the corresponding
surface
1 Phi1 : first Euler angle of the SX grain
orientation [degree]
 Phi : second Euler angle of the SX grain
orientation [degree]
2 Phi2 : third Euler angle of the SX grain
orientation [degree]
deltat Undercooling for the nucleation of the
grain (valid on the whole surface)

Dataset 63 Single crystal (SX) nucleation parameters to define a single nucleus at a given
location (one should be careful that the coordinates should not be outside the
geometry in order to have nucleation)
(this dataset is repeated for each nucleus)
1 Phi1 : first Euler angle of the SX grain
orientation [degree]
 Phi : second Euler angle of the SX grain
orientation [degree]
2 Phi2 : third Euler angle of the SX grain
orientation [degree]
dtu Nucleation undercooling of that grain
x X-coordinate of the nucleus
y Y-coordinate of the nucleus
z Z-coordinate of the nucleus

Dataset 64 Prescribed texture (fiber texture) and grain density on a surface.

1053
In this case, it is supposed that the nucleation occurs at zero undercooling.
(this dataset is repeated for each appropriate reference)
iref Reference number of the corresponding
surface
dens Grain density on the surface [m -2]
vx X-component of the vector defining the
texture orientation
vy Y-component of the vector defining the
texture orientation
vz Z-component of the vector defining the
texture orientation
theta Solid angle for the dispersion of the grain
orientations around the texture
orientation [degree]

Dataset 66 Liquidus temperature

Dataset 67 Algorithm for cell referencing


irefcell irefcell = 0 : a "simple" algorithm is used
irefcell = 1 : a "complex" algorithm is
used
The "simple" algorithm must be used if references are NOT defined on all the
faces of the casting.
In the "complex" algorithm, if no reference is found of the surface elements (i.e.
the elements which have a face on the casting surface), a loop on all the
elements is made until an element which has a referenced node on the surface
is found. If no references are set, a loop on all the elements will be done for
each surface cell, which can take hours of CPU (thus explaining why the
"simple" algorithm should be used in this case).

Dataset 68 Print-out level


iprint Level of the information printed by the
CAFE model
iprint = 0 : no print-out at all during the
execution
iprint = 1 : Some information are printed
iprint = 2 : More extensive information
are printed

Dataset 69 Calculation parameters


iauto iauto = 0 : no automatic micro time-
stepping (i.e. the macroscopic time-step
is used also for the CAFE calculation
iauto = 1 : automatic micro time-stepping
for the CAFE calculation
dtfac Parameter to adjust the micro time-step (
0 < dtfac < 1).
The time-step is adjusted in order that

1054
the grain does not grow more than one
cell within one time-step :
dt * v = dtfac * cs (where dt is the micro
time-step, v the maximum growth
velocity and cs the cell size).
Small values of dtfac will lead to a better
precision and longer CPU time.

Dataset 70 Full coupling flag


ifull Flag to define the type of coupling
ifull = 0 : no coupling (post-processing or
weak coupling mode)
ifull = 1 : full coupling mode

Dataset 71 Definition of the cut files


(this dataset is repeated for each cut)
t-flag Flag to define whether the time is stored
or not
t-flag = 0 : no time is stored
t-flag = 1 : the time is stored
u-flag Flag to define whether the undercooling
is stored or not
u-flag = 0 : no undercooling is stored
u-flag = 1 : the undercooling is stored
(undercoolings cannot be stored when
"no time" is selected)
icoor Flag to define the direction perpendicular
to the cut
icoor = 1 : cut perpendicular to the X-
direction
icoor = 2 : cut perpendicular to the Y-
direction
icoor = 3 : cut perpendicular to the Z-
direction
coord Coordinate of the cut in the direction
defined by icoor

Dataset 72 Definition of the global file


t-flag Flag to define whether the time is stored
or not
t-flag = 0 : no time is stored
(this file cannot be visualized in the
current version of the post-processor)
t-flag = 1 : the time is stored
u-flag Flag to define whether the undercooling
is stored or not
u-flag = 0 : no undercooling is stored

1055
u-flag = 1 : the undercooling is stored

Dataset 73 Definition of the external surface file


u-flag Flag to define whether the undercooling
is stored or not
u-flag = 0 : no undercooling is stored
u-flag = 1 : the undercooling is stored
r-flag Flag to define whether the references
are stored or not
r-flag = 0 : no reference is stored
r-flag = 1 : the references are stored

Dataset 74 Definition of the nucleation file


u-flag Flag to define whether the undercooling
is stored or not
u-flag = 0 : no undercooling is stored
u-flag = 1 : the undercooling is stored

Dataset 75 Definition of the interface file


(this dataset is repeated for each interface)
u-flag Flag to define whether the undercooling
is stored or not
u-flag = 0 : no undercooling is stored
u-flag = 1 : the undercooling is stored
time Time at which the interface is stored

Dataset 79 Storage location of the "Elements/Blocks connectivity tables" files


tabflag tabflag = 0 : local directory
tabflag = 1 : directory defined by the
environment variable MOSTMPV4000X
(where X stands for the version number
of the software)
tabflag = 2 : directory indicated by tmpdir
(see below)
tmpdir If tabflag = 2, the directory should be
defined at this stage
The "Elements/Blocks connectivity tables" files are named "prefix_tab0.u" and
"prefix_tab1.u". They contain the connectivities between the Finite Elements
and the Block structure. During the calculation, these files are heavily used.
Thus, if they are located on a remote disk on a server and if the network is slow,
it may degrade the performances of the calculation. Thus, it is possible to store
these files on a different disk as the other result files, such as a local scratch
disk for instance.

Dataset 80 Gaussian discretization


sdgau1 "Gauss min"
If one would like to cut the Gaussian
distribution below some minimum

1056
undercooling, it is possible to do it with
sdgau1. The minimum undercooling
dtmin= dtn – sdgau1*dts (where dtn is
the mean undercooling and dts the
standard deviation of the Gaussian
distribution (see dataset 60 and 61)).
sdgau1 and sdgau2 are totally
independent from nvgau.
sdgau2 "Gauss max"
If one would like to cut the Gaussian
distribution above some maximum
undercooling, it is possible to do it with
sdgau2. The maximum undercooling
dtmax= dtn + sdgau2*dts (where dtn is
the mean undercooling and dts the
standard deviation of the Gaussian
distribution (see dataset 60 and 61)).
sdgau1 and sdgau2 are totally
independent from nvgau.
nvgau "Gauss delta"
Discretization of the Gaussian
distribution. By default, the value is 0.1
degree. It means that the calculation is
dividing the Gaussian distribution in
intervals of 0.1 degree for the nucleation
computation. This parameter has no
relationship whatsoever with sdgau1 and
sdgau2.

Dataset 0 End card (which should be placed at the end of the file)
Computation_of_Growth_Kinetics_(a2_and_a3)

The Growth kinetics a2 and a3 can be computed using material DB.


Material Editor dialog box

1057
To compute, you have to toggle on "CAFE computations" (1) and do CompuTherm (2)
calculation.
During CompuTherm calculation, m, k and d1 (3) values for each composition are calculated and
updated in the DB. If you don't toggle on "CAFE computations", CompuTherm will skip calculation
of these parameters.

Lever rule is recommended when doing CAFE computation.


Then, you have to input "Gibbs-Thompson coefficient", "Dt max" and "Dt max(fit)" (4) values.
If you do not input these values and click "Compute CAFE" button, the calculation will be done
using default values. The default value for "Gibbs-Thompson coefficient" is 2e-007, "Dt max" is 10
and "Dt max(fit)" is 10, and the default values are displayed after computation.
Then you have to click "Compute CAFE" button. The software calculates and updates the growth
kinetics a2 and a3 (6) in the corresponding cell.
If <prefix>_mica.d is present in the work directory, CAFE calculation will be activated
automatically at the end of ProCAST calculation.
File <prefix>_mica.d will be created on a click of 'Run' from Start Simulation GUI when CAFE
option is selected for alloy volume(s) in the volume manager GUI. On the contrary, file
<prefix>_mica.d will be deleted if CAFE option is not activated from volume manager.

1058
You should be careful when solver is launched in a batch mode. <prefix>_mica.d will be deleted if
CAFE option is not activated in the selected vdb files.
From Visual-Cast 12.0, the user can enable the option to export the <prefix>_mica.d file, as
shown below. When this option is enabled, a new <prefix>_mica.d file is generated when running
the calculation. It will overwrite the previous existing mica.d in the repository.

CAFE Solver
Introduction
The CAFE module of the CALCOSOFT software can be operated with four modes:
 Post- processing mode.
 Weak coupling mode.
 Micro coupling mode.
 Multiple solidification path coupling mode (MFS coupling).
These four modes are described below:

Post- processing mode


In the CAFE model, the temperatures are transferred from the finite element calculation to the
cellular automata to calculate the nucleation and growth of the grains. In the post-processing
mode, the latent heat released during solidification is treated in the usual way through the
thermophysical properties and is not influenced by the results of the CAFE calculation. This
assumption is usually reasonable in directional solidification, namely in absence of equiaxed to
columnar transitions

1059
In the post-processing mode, only the temperature results are needed to run the calculation (in
addition to the mesh). It is called "post-processing mode" as the CAFE calculation can be run
after the macroscopic calculation performed with ProCAST.
In such a case, the mesh file and the temperature result file should be converted to the
appropriate format.
The "Post-processing solver" is completely independent from ProCAST.
When the post-processing mode is used on existing ProCAST results, it is often the case that the
references were not defined during the ProCAST calculation. Thus, a special technique has to be
used in order to apply the surface nucleation conditions. In the case of a DS or SX problem
(oriented solidification), one can design a window which just "cuts" the bottom part of the casting
(1 or 2 mm. above the chill). It is then possible to define a reference number on this particular
face of the window and to apply the appropriate nucleation boundary conditions. In this case, no
nucleation will be applied on the surface of the casting (as no references are present), but grains
will start from the bottom of the window instead. Of course, volume nucleation (if any) will always
be active in all cases. As no references are set on the casting surface, it is mandatory to define
the parameter "irefcell" to 0 (see dataset 67).
The post-processing calculation of CAFE can be performed whether the MICRO module of
ProCAST has been used during the Thermal calculation or not.
To run this mode, the Running Parameters must be set up as follows:
 CAFE: OFF.
 MFS: OFF.
 MICRO: ON/OFF.
 Run CAFE sub-solver after thermal calculation.
Even when CAFE solver is run in Post-Processing mode, Nucleation conditions must be set-up
when the Thermal calculation is performed by ProCAST.
If this is not the case and no Nucleation conditions were defined during the Thermal calculation,
user must perform the following steps before launching Post-Processing mode:
 Retrieve the vdb with the Thermal results.
 Set up the Nucleation conditions.
 In Run simulation panel, select Restart button and run DataCAST.
 Run Post-Processing mode for CAFE.

Weak coupling mode


This mode is equivalent to the "Post-processing mode", except that instead of performing the
CAFE calculation after the thermal calculation, it is done simultaneously. In this case, the CAFE
calculation is performed at each time-step of the thermal calculation. The advantage of this mode
with respect to the "Post-processing mode" is that the thermal history is finer, as the CAFE model
is called at all the steps, whereas in the "Post-processing mode", not all the steps are stored most
of the time.
In this mode, the calculation is launched and piloted from the thermal solver. The calculated
temperatures will not be affected by the CAFE calculation (no recalescence visible).
To run this mode, the Running Parameters must be set up as follows:
 CAFE: ON.
 MFS: OFF.
 MICRO: OFF.

Micro coupling mode

1060
This mode corresponds to a full coupling between the finite element and the cellular automata
calculations. The latent heat released by the solidification at a given location in the part depends
on the local grain structure predicted by CAFE.
In this mode, the calculation is launched and piloted from the thermal solver. The resulting
temperatures will be affected by the CAFE calculation (recalescence may be visible).
While the weak coupling approach is generally adequate for the prediction of grain selection (e.g.
grain selector), it remains limited for the description of the columnar to equiaxed transition (CET)
and stray grain formation in SX turbine blades (e.g. undesired grains nucleating in platforms) as
shown on the below example. The micro coupling mode is recommended for situations where the
released latent heat significantly affects the formation of the grains, such as for the columnar to
equiaxed transition.

The Micro coupling mode, which was revisited in 2016, calculates the temperature and enthalpy
evolutions based on the grain fraction obtained with CAFE, the fraction of solid obtained with a
microsegregation model (MICRO) at every FE node, and macroscopic heat transfer in ProCAST.
Please note that the computation time may become critical with the micro coupling scheme is
used in very large cases.
Due to the recalescence effect from the CAFE calculation, it is not recommended to run the Micro
coupling mode only on partial windows (calculation zone). Otherwise, the results at the limits of
the calculation zone might not show continuity.
To run the Micro coupling mode, the Running Parameters must be set up as follows:
 CAFE: ON.
 MFS: OFF.
 MICRO: ON.

Multiple solidification path coupling mode


This mode follows the same principle as the Micro coupling mode. The main difference resides in
the usage of multiple curves for the Enthalpy and Fraction of solid, which depend on the local
cooling rate at the FE node.
The curves associated to different cooling rates can be computed inside the Material Manager
application of Visual Environment. The principle consists of repeating backdiffusion calculations

1061
for a series of cooling rates. Alternatively, enthalpy and solid fraction curves can be introduced
manually for different cooling rates as shown in the following figure.

As for the Micro coupling mode, the resulting temperatures will be affected by the CAFE
calculation (recalescence may be visible). In consequence, results at the boundaries of the
calculation zone might not show continuity when the calculation is not performed in the entire
casting.
To run the Multiple Solidification path (MFS) mode, the Running Parameters must be set up as
follows:
 CAFE: ON.
 MFS: ON.
 MICRO: OFF.

The following figure shows a comparison of the results obtained using all the computation modes.

1062
Hints about models
For the nucleation algorithm, it is recommended not to use dummy values of the maximum grain
density that are artificially too large. This is because the time spent in the nucleation algorithm is
directly proportional to the grain density. Thus, very large values of the grain density may lead to
longer CPU times.

Important point
The essence of the CAFE model is to perform calculations at two different scales, i.e. at the scale
of the Finite Elements mesh and at the scale of the cellular automaton grid. Thus, one of the first
tasks of the calculation is to compute the tables that give the correspondence between the
elements and the blocks and vice-versa. These tables may be quite large in size and are thus
stored on files rather than being kept in memory. However, during the calculation, these tables
are accessed many times. Thus, it is very important that the disk access to these files is very fast
and is not slow down by the network. As a consequence, it is strongly advised that the disk in
which the calculation is performed is the closest from the CPU. In a later release of the software,
it will be possible to specify a different path for the storage of these files (*_tab0.u and *_tab1.u)
and for the storage of the data files.

User must take note that CAFE module is not designed to be launched in coupling
mode with Flow solver.
CAFE Results
This section consists of the following topics:
 Histogram
 Statistics
 Pole Figure
 Misorientation
 Mean Undercooling
CAFE - Histogram

This tool enables to analyze the grain structure more quantitatively.


Description
This tool plots the histogram of different stereological parameters like grain size, grain orientation,
shape factor. The analysis can be done only on one section cut. If there are more than one
section cuts, the latest visible section cut will be considered. The entry in menu will be disabled if
there is no section cut or if the result applied is not of CAFE.
PATH:
 Select Results > CAFE > Histogram from the menu.

This menu item is enabled only when a CAFE result with Slice is applied.
Result: The Histogram panel is posted.

1063
Options:
1. Grain Orientation Deviation: This is the misorientation of grain with respect to defined
orientation axis.
2. Grain Size: This is the cut area of grain, sliced by the section cut plane.
3. Shape Factor: This is an indicator of the shape of the grain. The value ~1 means the grain
is close to a disk.
The datum line shows the average value. Also in console, the average value and standard
deviation value is printed.

CAFE - Statistics

This tool enables to analyze the grain structure more quantitatively.


Description
This tool displays the statistics of grain size, orientation as well as grain stereological information.
The analysis can be done only on one section cut. If there are more than one section cuts, the
latest visible section cut will be considered. The entry in menu will be disabled if there is no
section cut or if the result applied is not of CAFE.
PATH:
 Select Results > CAFE > Statistics from the menu.

This menu item is enabled only when a CAFE result with Slice is applied.
Result: The Statistics panel is posted.

1064
Panel Description
1. Nb. Grain: Number of grains analyzed
2. Total Surface: Total surface of analysis
3. Mean Surface: Mean surface of the analyzed grains
4. Min Surface: Surface of the smallest analyzed grain
5. Max Surface: Surface of the largest analyzed grain
6. NI (Inter/m): Number of grain boundaries per unit length (along lines in the X-, Y-, Z-
directions). For example, given a section aligned with the axis X-, Y- directions, CAFE will
count the total number of intersections given in all the lines parallel to the main directions
(X-, Y-) separated by a distance equal to the cell size. Once the total number of
intersections has been computed, next equation will be used:

7. Na (Grains/m^2): Number of grain boundaries per unit surface


8. Mean Radius: Average grain size.
= ( 2 NI )/( π Na )
If only one grain is selected, NI will be equal to zero, hence Mean
Radius equal to zero.

The units displayed are those set in Unit Conversion panel.


CAFE - Pole Figure

This tool enables to analyze the grain structure more quantitatively.


Description
This tool displays the stereographic representation of grain orientation with respect to a specified
crystallographic orientation. The analysis can be done only on one section cut. If there are more

1065
than one section cuts, the latest visible section cut will be considered. The entry in menu will be
disabled if there is no section cut or if the result applied is not of CAFE.
PATH:
 Select Results > CAFE > Pole Figure from the menu.

This menu item is enabled only when a CAFE result with Slice is applied.
Result: The Pole Figure panel is posted.

Panel Description
You have to define the Crystallographic orientation to analyze, as shown in the example below.
1. Euler Plot...: Click this button to post the Euler Angle Tool panel.

1066
Euler Angle Tool

Tool to determine the crystallographic orientation of the grains during solidification of


dendritic alloys.
Description
A CAFE model is applicable only for dendritic grain structure of alloys; not for eutectic and pure
models.
Grains that form during solidification process may either have columnar orientation or equiaxed
orientation. Also, the grain size may not be uniform all the time. Orientation of each grain is
expressed by Euler angles.
A set of three consecutive rotations about specified axes are used to define the orientation
between two coordinate systems. These rotations are called the Euler angles.
When Euler Angle Tool panel is posted, the stereographic projections and pole view diagram to
represent rotations along different axes are displayed in the model window.

1067
Panel Options
1. Euler Angles
a. Phi1: Enter the angle of rotation Phi1. The value can be entered directly in the
space provided or by using the spinners provided next to it. The angles can be
incremented or decremented by a value of five degrees on each button click. The
co-ordinate system will rotate by Phi1 degrees about the Z axis.
b. Phi: Enter the angle of rotation Phi. The co-ordinate system will rotate by Phi
degrees about the new X axis.
c. Phi2: Enter the angle of rotation Phi2. The co-ordinate system will rotate by Phi2
degrees about the new Z axis.
2. Plane Definitions
a. Nx: Aligns X axis with the pole.
b. Ny: AlignsY axis with the pole.
c. Nz: Aligns Z axis with the pole.
User can also define his own plane by entering the plane normal value.
3. Command Controls
a. Apply: Clicking on Apply will rotate the model by phi1, phi, phi2 successively, and
the same is displayed in pole figure.
b. Reset: Resets the values of angles as 0.000 and aligns pole to Z-axis.
c. Close: Closes the panel, stereographic projection and pole diagram.
CAFE - Misorientation
Misorientation is the angle described between the main growing direction of a grain and the
reference Z-axis of the model.

1068
The crystallographic orientation of a grain can be retrieved by rotating the original axis of
reference (X, Y, Z) by the provided Euler angles (phi1, phi, phi2). Only one of the Crystallographic
directions of the grain (X’, Y’, Z’) can create an angle smaller than 54° with the reference Z-axis of
the model. This direction is called the main growing direction.
In case of having the crystallographic Z’ direction as main, the misorientation angle will match
with the 2nd Euler angle (phi).
An example of this result can be shown in the following image:

The Euler angles can be retrieved in the Pole figure of a given section, or by
exporting CAFE results.
CAFE - Under Cooling
Undercooling result is given in celsius degrees (°C). It represents the mean undercooling
registered in the part during the grain creation.
Go to Contour Panel and select: Category CAFE / Undercooling Result.
An example of this result can be shown in the following image:

1069
CAFE_References
CAFE3D Papers can be found in the CAFE3D Papers document located in the software
installation.

References
[1] M. Rappaz, Ch.-A. Gandin, J.-L. Desbiolles and Ph. Thévoz, Met. Trans. 27A, (1996), 695.
[2] M. Bobadilla, J. Lacaze and G. Lesoult, J. Cryst. Growth, 89, (1988), 531.

The three following papers describe the CAFE models. Reprints of these papers are provided
from the link above.

Paper 1
Ch.-A. Gandin and M. Rappaz, Acta Metall, 42, (1994), pp. 2233-2246

Paper 2
M. Rappaz and Ch.-A. Gandin, Acta Metall, 41, (1993), pp. 345-360

Paper 3
Ch.-A. Gandin, J.-L. Desbiolles, M. Rappaz and Ph. Thévoz, Metal Trans A, 30A, 1999, pp. 3153-
3165

Papers 1 and 2 present the fundamentals of the CAFE models in 2D, while Paper 3 presents the
3D algorithms (which corresponds to the content of calcosoft-3D).

1070
Continuous Casting
This chapter presents the methodology to model continuous casting with Visual-Cast.

Two different approaches, steady state and non steady state, will be presented.

This section consists of the following topics:


 Principles
 Setup
 MiLE Examples
Principles
The modeling of Continuous casting can be addressed in two different ways:
 Steady state calculations
 Non-steady calculations (also called transient calculations)

"DC casting" can be addressed as well and it should be understood that it is included
in the generic name of "continuous casting".
Visual-Cast can address both cases.
For steady state computations, a fixed domain is modeled and the solid is transported at the
casting speed through this domain.
For non-steady calculations, the domain is extending with time, as the continuous casting process
proceeds. A new algorithm has been developed and implemented in order to allow this evolving
domain. This algorithm is called MiLE (for Mixed Lagrangian-Eulerian).

Steady State Continuous Casting Modeling


Steady state calculations allow the modeling of both straight and curved continuous casting
processes (including strip casting). It is possible to perform either thermal only calculations, or
thermal + flow calculations. In both cases a transport term of the solid is used (equal to the
casting speed). In the case of a thermal only calculation, both the solid and the liquid are
transported at the velocity corresponding to the casting speed.
Example

1071
In order to reach steady state, a pseudo non-steady calculation is performed (from an initial user
defined thermal field) until steady state is reached (i.e. the temperature are not anymore changing
with time). The temperature history before the steady state is reached have no special meaning.
As a consequence, it is not possible to perform a coupled thermal - stress calculation of
continuous casting using the steady state method. In order to do that, the MiLE algorithm has to
be used.
In the same line, it is not possible to model the start-up phase of continuous casting with the
steady state method (again the MiLE algorithm allows to do that).

1072
Non-Steady Modeling of Continuous Casting (MiLE Algorithm)
In order to allow the possibility to have a domain which is enlarging with time, as the continuous
casting process goes on, a MiLE algorithm was developed.
The principle of the MiLE algorithm is the following:

At the beginning, the casting is divided into two domains (1 and 2 above). Then, as the
continuous casting process starts, the bottom domain (2) is moving down (while the domain 1 is
staying at the same position). In order to have a continuity between domains 1 and 2, new
elements have to be introduced between domains 1 and 2 (creating the domain 3 above). During
the process, layers of new elements are introduced in domain 3 at the interface between domains
1 and 3.
The following figure is showing the principle of the MiLE algorithm (Mixed Lagrangian-Eulerian),
with the region where the calculation is Eulerian and the ones where it is Lagrangian.

In practice, in order to introduce the new layers of elements, at the beginning of the calculation (in
DataCAST), a given number of layers of elements of zero thickness are created in between
domains 1 and 2. Then, during the casting process, these layers are unfolded as an accordion.

1073
The number of pre-defined layers as well as the thickness of the layers are specified in the pre-
processor (see the Pre-processing section for more details).
During the calculation process, the domain 2 is translated at the casting speed and the accordion
will unfold itself in between domains 1 and 2.

The following figure is showing how the accordion is unfolding during the continuous casting
process.

1074
The MiLE algorithm is designed such as to have the continuity of temperature, fraction of solid,
velocity and pressure across the accordion as shown in the figures hereafter.

1075
As the mesh in the accordion and in the domain below the accordion (labeled domains 2 and 3 in
previous figures) are moving, a transport term of the mesh in accounting for this motion.
The MiLE allows to couple stress calculations with the heat and fluid computations. The only
restriction is that the solid should not cross the "accordion interface" (i.e. the interface between
domains 1 and 3). Thus, the accordion interface should be located in the appropriate position in
order to avoid such situation (it is possible to have a non-planar accordion interface to resolve this
question - see the Pre-processing section for more details).
Setup
This section consists of the following topics:
 Steady State Cases
 Non Steady State Cases (MiLE)
Steady State Cases
In order to model continuous casting at steady state, a long enough casting domain (in blue in the
figure hereafter) should be modeled.

1076
To handle the fact that we have a continuous process, a transport term of the solid is added to
the equations. As soon as the metal is solid (dark red in the figure above), it should be
transported at the casting speed (i.e. the continuous casting velocity - see the blue arrow in the
figure above).
If fluid flow is activated, the flow will automatically account for the transport of the heat in the
liquid zone (light yellow in the figure above). In the mushy zone, the model accounts for a "mix" of
the transport term of the solid and the transport of fluid of the liquid.
If the fluid flow model is not activated, the transport term is not only applied to the solid, but also
to the liquid and to the mushy zone.

Thermal Only Setup


The setup of a thermal only continuous casting case is performed in the following way (the setup
in the mold(s) is made as usual):

1077
1. At the inlet, a fixed Temperature BC should be applied.
2. At the outlet (or exit), an adiabatic BC (zero flux) should be applied.
3. At the interface between the mold and the casting, an interface heat transfer coefficient is
set as usual.
4. On the outside faces of the casting, a Heat BC is set as usual.
5. In the Casting domain, a Solid transport velocity should be defined in the Process
Condition Manager.

1078
To define the "Solid transport" velocity, the following panel should be filled:

1079
The initial temperature of each domain is defined, however these initial temperature do not
affect the final steady state solution. For the casting, the inlet temperature is usually
selected and for the mold, the temperature of the cooling media is selected.
The calculation is then performed, starting from a "dummy" state corresponding to the
specified initial temperature until the steady state is reached. The figure hereafter shows
the evolution of temperature in the casting and in the mold during the calculation. After
about 150 seconds, the steady state is reached (i.e. the temperatures are not changing
anymore).

1080
One can see in the figure below how the temperature is changing in the casting during the
calculation. Only the last result corresponding to the steady state is of interest. All the other
intermediary results should be discarded.

1081
Thermal + Flow Setup
When the fluid flow model is activated, the following setup should be made, in addition to the
thermal setup described above.
An inlet and an outlet velocity should be specified. If there is no nozzle (or no inlet section smaller
than the casting section), the same inlet and outlet velocity should be set, corresponding to the
casting speed (and to the solid transport velocity).

A Wall BC (zero velocity) should be applied on the external faces of the casting domain and on
the interfaces between the casting and the mold if a non-coincident interface is used (please note
that in the present example, the large faces are set as symmetry planes).

1082
A Pressure BC should be applied (with a 1 bar pressure) on one node of the inlet (on top of an
inlet velocity BC).

1083
Finally, the FLOW = 1 Simulation Parameter should be set. In addition, the value of LVSURF
should be set to a higher value than 1 (e.g. 1.10). As mentioned above, the value of PREF should
be set to the same value as the one used in the Pressure BC (1 bar in this example). It is also
very important to set FREESF = 0.

Thermal + Flow Setup (With Nozzle)


In the case a Nozzle is present or if there is a small inlet surface (i.e. the inlet flow is not applied
on the whole top surface of the ingot), the following precautions should be taken.
The mesh should contain a small extra volume which has the same area than the real inlet (see
the picture below).

1084
This allows to specify exactly the inlet velocity corresponding to the casting speed (by making the
ratio of the surfaces).

Then, a Wall BC should be applied to the rest of the top surface (see below).

1085
Finally, the Pressure BC should be applied on one node of the inlet surface.

1086
Curved Continuous Casting Setup
Visual-Cast allows to model curved continuous casting (as well as strip casting). In such case, the
solid is moving along a curved trajectory (corresponding to the curved casting shape). To account
for that, the solid transport term should be set to the vector corresponding to the local position
(i.e. with a turning direction).
Such non constant solid transport velocity should be defined in the ad-hoc User functions.
Firstly, the velocities at the inlet, outlet and along the faces of the casting should be assigned to a
given Velocity BC (please note that in the example of the following figure, the large faces are
defined as symmetry planes).

1087
The corresponding velocity BC should be defined as follows (the symmetry planes are
perpendicular to the Z axis) with Functions for both the X and Y velocity components:

1088
The corresponding functions "prefix_vximposed.c" and "prefix_vyimposed.c" should be copied in
the local directory and programmed in the following way:

1089
Example of the "prefix_vximposed.c" function

Example of the "prefix_vyimposed.c" function (end of the function only)


In the same way, the solid transport term should be set with User functions. Firstly the Solid
transport entry should be defined as follows (with Function for the X and Y components):

1090
The corresponding functions "prefix_vxsolidtransport.c" and "prefix_vysolidtransport.c" should be
copied in the local directory and programmed in the following way:

1091
Example of the "prefix_vxsolidtransport.c" function

Example of the "prefix_vxsolidtransport.c" function (end of the function only)


Finally, as for any flow calculation, a Pressure BC should be set on the top of the casting inlet.

1092
Thermal + Flow Setup (Initial Thermal Only Calculation)
As mentioned above (in the Thermal only section), a non-steady calculation is made until the
steady state is reached. Depending upon the size of the ingot, the time needed to reach steady
state can be quite long. When a coupled thermal + flow calculation is performed, the timesteps
are usually rather small and thus it can lead to long CPU times.
In order to speed-up the calculations, the following procedure can be used.
Firstly a thermal only calculation can be run until the steady state is reached. Then a new
calculation is set where both the thermal and the flow solvers will be activated. However, the
initial temperatures of this new calculation will be the one of the first thermal only calculation. As
the steady state was already reached in the first thermal only calculation, the steady state of the
second (thermal+flow) calculation will be reached much quicker (as the influence of the flow on
the thermal solution will reach steady state very quickly). (In addition, please note that the CPU
time for a thermal only calculation is much shorter as a calculation for a thermal-flow calculation).
When applying this method, one has to be careful when a nozzle is present (or when the inlet of
metal is not applied on the whole top surface). In this case, it is necessary, in the thermal only
calculation, to set an "imposed temperature" on the whole inlet surface (and to remove it
afterwards for the thermal+flow calculation).

Remark: Please note that the POROS 1 model is not suitable for continuous casting
(both steady state or MiLE) and thus POROS should be set to 0.

1093
Non Steady State Cases (MiLE)
This section describes the settings in Visual-Cast of a non-steady continuous casting problem
using the MiLE algorithm.
MiLE approach has been revisited in version 2014.0 to handle multi-geometric conditions (radius
and translation) for the continuous casting process.
“Forward” mode for accordion shall be used for the regular continuous casting approach, where
only one motion is possible.
When multiple motions (for instance rotation-translation) are required, then the option ”Backward”
shall be used for accordion.
Reminder: “Accordion” BC always gets its Heat BC on sides from the volume it grows out of.
In regular continuous casting set up approach, the “Accordion” grows from the bottom block
(where Heat BC is defined).
In the new approach, “Accordion” gets its Heat BC on the sides (as well as NCOINC interface
nodes) from the top material. Consequently, in the new approach, Heat BC applied on accordion
shall be extended to top material, as well as NCOINC nodes (see following figures).

New MiLE approach (required for multi radius/translation process)

1094
Regular MiLE approach
The following examples are showing some set up using the regular set up approach only.
The following set-up corresponds to a THERMAL ONLY case. For the activation of the fluid flow
or of the stress, please check the MiLE Examples. For the sake of simplicity, a "pseudo-2D"
model is used for the description, but of course, this algorithm is applicable to full 3D cases.

Meshing
The first requirement is at the level of the mesh. The initial casting domain should be meshed in
two distinct domains, as shown in the figure hereafter (the molds and bottom blocks should be
defined as usual).

1095
This will allow to define the "Accordion" location, which will be at the interface between these two
domains. The Accordion should be located high enough in order to make sure that there will be
no solid which will "cross" the accordion (i.e. the Accordion interface should remain fully liquid).
In this chapter, the domain "above" the accordion (shown in green in the previous figure) will be
called the "upstream domain" (considering that we are casting in the vertical downwards
direction). The domain "below" the accordion (shown in red) will be called the "downstream
domain".
Moreover, if a Nozzle is used, it should be fully located in the upstream domain (shown in green
in the figure hereafter)

1096
If the nozzle is deep and the solidification along the mold wall is expected to reach a higher level
than the bottom of the nozzle, it is allowed to have a non-planar accordion interface (see below).

In the case of a non-planar Accordion interface, some precautions should be taken in order to
allow for a smooth unfolding of the Accordion (see figure below). It is not allowed to have an
Accordion interface which is parallel to the casting direction (vertical in the example hereafter) or
a re-entrant corner. In mathematical terms, the interface should correspond to a function (i.e. one
single value of Y for each value of X). It is also advised to have inclined interfaces which are not
to "steep" in order to avoid very deformed elements in the unfolded accordion.

1097
Volumes
One should note that it is not possible to use a Virtual mold with the MiLE algorithm.
The Volumes which are indicated in the Volume Manager correspond to the initial volume of the
mesh (and not the volume when the Accordion is unfolded).

Materials Definition
The materials should be defined as usual. Needless to say that the material properties on both
side of the accordion should be identical and it should be labeled as "Casting".
The Stress properties can also be defined in the usual way.

Interfaces
All the interfaces between mold domains should be defined as usual.
The "Accordion interface" should be defined as coincident (COINC), but no interface heat transfer
coefficient value should be assigned (a * should remain).
The interface(s) between the upstream domain and the mold(s) can be set as coincident
(COINC).
The interface(s) between the downstream domain (including the bottom block if any) and the
mold(s) should be set as non-coincident (NCOINC). This is because the downstream domain
(including the accordion which will belong to this domain) and the bottom block will move with
respect to the mold during the casting process. Thus, a non-coincident interface will handle the
heat transfer between the moving casting and the stationary mold.
Example

1098
Boundary Conditions
In order to set the Accordion link, two steps should be done in the set-up.
1. The characteristics of the Accordion should be specified in the "Accordion BC". This BC
should be assigned to the surface of the "downstream domain" which is at the Accordion
interface.

1099
The Accordion Database Editor panel is the following:

1100
The number of layers of the Accordion, as well as the element thickness (once the element
is unfolded) should be defined. As all the layers are created at the beginning of the
calculation (in DataCAST), it is advised to define a number of layers which is not too large,
corresponding to the final desired length of the casting (in order to keep a reasonable size
of the model).
2. When you create Accordion BC, you need to define two interface regions. Using two
interface regions, Visual-Cast automatically creates Periodic BC.
If Accordion BC is created with one region, the automatic creation of Periodic BC is
suspended and warning message is displayed. The user can create the Periodic BC
separately.
Example

1101
Once the Accordion is set, it is necessary to define the cooling conditions on the side of
the continuous casting slab, once it is going out of the mold (if there is a mold).
As shown in the figure hereafter, the lateral cooling of the casting (below the accordion
interface) is rather complex. One has first an interface heat transfer between the casting
(and bottom block if any) and the mold. Then, as the casting is going out of the mold, there
is a convective cooling (i.e. a Heat BC). As the domain is moving, one should be able to
handle the transition between an interface heat transfer and a Heat BC transfer.

1102
The interface heat transfer coefficient is defined in the previous section. Concerning the
Heat BC, it should be applied on the lateral faces of the downstream domain (and possibly
on the lateral faces of the bottom block if any), as shown in the following figure.

1103
In order to achieve that, the Heat BC must be defined by a User function (see the User
Functions section of the manual for all the details). To do so, firstly, the Heat BC entry
should be defined as follows:

The Film coefficient should be defined by a "Function". This user function will allow to
define a film coefficient as function of the position of the surface element, so that it applies
only when the corresponding surface of the casting is outside the mold. If we suppose that
we have a vertical continuous casting (downwards), the heat transfer coefficient will be set
to zero if the position of the surface is higher than the exit altitude of the mold (e.g. 0.02 m
in the Y-direction) and it will be set to a given value (e.g. 3000 W/m2K) if the position is
lower than the exit altitude of the mold.
Example

1104
Such a User function (which can be of course much more sophisticated) will allow that
there is no convective heat transfer inside the mold and that the right convective cooling
will be applied for any surface going out of the mold.
The other boundary conditions should be set as a usual ProCAST calculation.

Process Conditions
A Translation velocity (corresponding to the casting speed) should be applied to the "downstream
domain", as well as to the bottom block (if any).

1105
To do so, the standard "Translation" conditions (in the "Process conditions" menu) should be
applied to the corresponding domains.
The "Translation" panel allows to define the translation as x(t), v(t) or v(x) - see below.

1106
For Curved Continuous Casting, a rotation velocity should be applied instead of a translation -
see below.

1107
To do so, the standard "Rotation" conditions (in the "Process/Assign Volume" menu) should be
applied to the corresponding domains.
The "Rotation" panel allows to define the curvature with a rotation angle and an axis - see below.

1108
Multi radius and multi geometric conditions definition (combination of translation / rotation driven
by start and end time) can be used to model industrial process like multi-curvature steel
continuous casting machine. This can be defined using multiple Translation and/or Rotation
conditions on the moving volumes or instead by using the following user functions
(func_rotationangle.c and func_rotationaxis.c).
User functions allow user defining the axis as the angle depending on time or Volume ID, with
abilities to use other global information as location. Simple example is commented out directly in
the templates.
It can be created using Function editor accessible from Tools menu.

1109
Initial Conditions
The initial conditions will be defined as usual.

Simulation Parameters
The Simulation Parameter ACCORDION should be set to 1 for straight CC (for curved CC,
ACCORDION should be set to 2).
This will allow to activate the MiLE algorithm.

Remark: Please note that the POROS 1 model is not suitable for continuous casting
(both steady state or MiLE) and thus POROS should be set to 0.
While defining periodic/accordion condition, it is advised to avoid 'Node' type user region
when selected entities are at interface.

When accordion is enabled, no misrun calculation is performed.

1110
MiLE Examples
This section consists of the following topics:
 Thermal + Flow
 Thermal + Stress

Please note that the described set-ups in the following examples are specific to the
shown cases. Set-up may differ depending on the geometry and process conditions
(pouring basin, etc ...). For instance, FREESF value may be set to 1, depending on the
inlet conditions.
Thermal + Flow
In addition to the Thermal set-up (see the Non Steady State Cases (MiLE) section), the
following definitions should be done to activate the flow.
Boundary Conditions
An inlet velocity BC should be set on the top surface. In the following example, the inlet velocity is
applied on the whole top surface (which is equal to the exit section of the ingot). In such case, the
inlet velocity should be equal to the translation velocity, applied to the downstream domain and
the bottom block.

In addition to the inlet velocity BC, it is necessary to apply a Pressure BC on one node of the inlet
surface. The applied pressure should be set to 1 bar (and the value of the Simulation Parameter
PREF should be set to the same value).

1111
As non-coincident interfaces are set between the "downstream domain" of the casting and the
mold, it is necessary to set a Wall BC (zero velocity) on the casting side of those interfaces, in
order to prevent "leaks" of liquid (please remember that in this example the large faces are set
with Symmetries).

1112
Simulation Parameters
Finally, the FLOW = 1 Simulation Parameter should be set. In addition, the value of LVSURF
should be set to a higher value than 1 (e.g. 1.10). As mentioned above, the value of PREF should
be set to the same value as the one used in the Pressure BC. Finally, one should set FREESF =
0.
Example

1113
Inlet with a Nozzle (or Small Inlet Surface)
In the case a Nozzle is present or if there is a small inlet surface (i.e. the inlet flow is not applied
on the whole top surface of the ingot), the following precautions should be taken.
The mesh should contain a small extra volume which has the same area as the real inlet (see the
picture below).

1114
This allows to specify exactly the inlet velocity corresponding to the casting speed (by making the
ratio of the surfaces).

1115
Then, a Wall BC should be applied to the rest of the top surface (see below).

1116
Finally, the Pressure BC should be applied on one node of the inlet surface.

1117
Thermal + Stress
This section describes the setup of a Thermal-Stress case. For the setup of the Thermal part,
please refer to the Non Steady State Cases (MiLE) section).
Stress Properties
The stress properties should be specified as usual in the Materials/Stress menu.

1118
One should remind that it is mandatory that the solidification front does not "cross" the Accordion
interface (i.e. the "upstream domain" should remain fully liquid).
Please note that at this stage, it is not possible to perform a stress calculation in the bottom block.
However, the mold(s) can be considered as Rigid, Vacant or a stress calculation can be
performed.
Boundary Conditions
No Displacement BC should be set on the Casting domain. This is due to the fact that the liquid
nodes are automatically set with a zero displacement. Thus, the model will be enough constraint
for the stress calculation.
If stresses are also calculated in the mold, it is necessary to set the usual Displacement BC on
the mold.
Simulation Parameters
Beside the STRESS = 1 Simulation Parameter, a special care has to be taken with the SCALC
value.
Due to the MiLE algorithm, the number of elements in which the stress calculation will be done
will increase with time. It was observed that the maximum timestep (dtmax), the casting velocity
(V), the thickness of the accordion elements (E) and the SCALC values should be defined in
order to satisfy the following relationship (in order to have a good accuracy of the results) :
(V * dtmax * SCALC) / E should be smaller than 0.1 to 0.2.
As a consequence, it is advised to use a SCALC value equal to 1. In order to limit the size of the
result files, the value of SFREQ (storage frequency of the stress results) can be set to a higher
value (e.g. SFREQ = 20 or higher).
Example

1119
Finally, for a better accuracy, it may be advised to strengthen the stress convergence tolerance
from 1e-2 to 1e-3.

1120
Hot Cracking (for Continuous Casting)
This chapter describes the Hot Cracking module of ProCAST.

Remarks: Please note that this Hot Cracking model (HCS) can be used only in
steady-state conditions, as encountered in continuous (or DC) casting. Thus, this model
cannot be used for shape casting (as it is non-steady by essence).
Moreover, the HCS model can be used only for straight continuous casting.

This section consists of the following topics:


 Introduction

1121
 The RDG Hot Tearing Criterion
 Structure of the input files
 Running a case
 Viewing of the results
 References
Introduction
In many continuous casting processes, the appearance of hot tears has a detrimental effect on
the productivity, especially for some very sensitive alloys. The new hot tearing criterion, recently
derived by Rappaz, Drezet and Gremaud [1] has been implemented in Calcosoft for 3D
geometries and steady state situations in order to model the run conditions of a continuous
casting process.
The strategy adopted here is very similar to the Stationary Inverse module of Calcosoft: once the
temperature field reaches steady state, a set of profiles are drawn parallel to the casting speed in
order to determine the position of the Tcg (temperature at coalescence of grains) isotherm and
the value of the components of the thermal gradient at that position. Then the hot tearing
sensitivity (HCS) is calculated using the so-called RDG criterion for each profile. Hence in 3D
situations, HCS is represented in a section perpendicular to the casting speed.
The RDG Hot Tearing Criterion
The present section gives an overview of the hot tearing criterion recently derived by Rappaz,
Drezet and Gremaud. A detailed description of the model can be found in [1,2,3].
The following figure is a schematic diagram of the equiaxed dendritic growth as observed in
inoculated aluminum alloys. In this case, the dendrites are assumed to grow in a given thermal
gradient, G, and with a velocity given by vT. Above a certain volume fraction of grains, mass
feeding can no longer compensate for shrinkage, the specific mass of the solid being larger than
that of the liquid for most metallic alloys. Therefore, the liquid has to flow from right to left in a
packed bed of solid grains.

1122
Schematic of the formation of a hot tear between equiaxed grains as a result of a localized strain
transmitted by the coalesced dendrites below. The pressure drop in the interdendritic liquid is also
indicated
If the dendritic network is submitted to a tensile deformation perpendicular to the thermal
gradient, the flow should also compensate for that deformation if no hot tears form. The pressure
in the interdendritic liquid is schematically represented at the bottom of Figure 1: it decreases
from the metallostatic pressure, pm, near the end of mass feeding.
Above the mass feeding temperature, T mf, the grains have not yet coalesced and are free to move
within the liquid. On the other hand, below the temperature at which coalescence of the grains
takes place, Tcg, all the grains form a coherent solid network which can transmit the thermal
stresses induced by cooling. Note that the temperature at which coalescence between two grains
occurs depends on their misorientation. Between T mf and Tcg, the film of liquid can only resist up
to a cavitation pressure at which a void is nucleated and can develop into a hot tear. Any opening
of the continuous interdendritic liquid film present in the packed bed of grains can hardly be
compensated for by feeding from the upper region of the mush because of the high volume
fraction of solid (i.e., low permeability).
The RDG criterion is therefore based on the derivation of the two pressure drop contributions
associated with deformation and shrinkage respectively. To do so, a mass balance is performed
at the scale of a small volume element of the mushy zone in a reference frame attached to the
isotherms [1].
Assuming no porosity formation, the volume fraction of liquid, f l, is equal to (1- fs) and the specific
masses of the two phases, rs and rl, are assumed to be constant, but not equal (solidification
shrinkage factor b). The velocity of the liquid is related to the pressure gradient in the liquid via
the Darcy equation and the permeability of the mushy zone is given by the Carman-Kozeny
approximation [1].
Considering that the fluid moves along the thermal gradient only, whereas the solid deforms in
the transverse direction, one can calculate the pressure within the mush (eq. 1):

where pa is the atmospheric pressure, gh the metallostatic contribution. psh and pmec are the
pressure drop contributions in the mush associated with the solidification shrinkage and the
deformation induced fluid flow, respectively. In steady state conditions and assuming an uniform
mechanical deformation rate throughout the mush, these two contributions are given by (eqs. 2):

Tcg is the temperature at which coalescence (solid bridging) of the dendrite arms between grains
occurs and m the viscosity of the liquid.  is the mean grain size for equiaxed structures or the
secondary dendrite arm spacing, 2, for columnar structures. The two parameters A and B
depend only on the nature of the alloy and on its solidification path, i.e. on the relationship
between fs and T. Equation 2 reveals that the shrinkage contribution is proportional to the speed
of the isotherms whereas the mechanical contribution is proportional to the strain rate. Both
contributions are inversely proportional to the square of the grain size.

1123
Eventually, if the pressure, P, given by equations (1) and (2), falls below the cavitation pressure,
Pc, a hot tear forms. This condition can be rewritten in terms of depressions (eq. 3):

where the cavitation depression is defined as Dpc = pa - pc. This condition allows the calculation

of the maximum strain rate sustainable by the mushy zone, , and a hot cracking

susceptibility, HCS, can be defined as . The higher HCS, the more susceptible the alloy.
Two alloy dependent integrals, A and B, have to be computed first [1,2,3]. To do so, the solid
fraction versus temperature curve is needed, as well as the solid fraction, F cg, at which
coalescence of grains occurs. Note that the integration:
 can be performed between Tcg and Tliq instead of Tmf (mass feeding temperature) without
modifying much their values
 is performed for each solid phase if needed (e.g. eutectic as well as peritectic reactions
can be treated)
To compute the maximum strain rate the mush can sustain, the following data are required:
 The alloy cavitation depression, Pc [Pa];
 The thermal gradient (3 components) at Tcg [°C/m];
 The total liquid height relative to the iso-Tcg line [m];
 The gravity vector [m/s2];
 The density for the liquid and for each solid phase [kg/m 3];
 The viscosity of the liquid [Pa.s];
 The mean grain size (for equiaxed microstuctures) or secondary dendrite arm spacing (for
columnar microstructures) [m]

The hot cracking susceptibility, HCS, can be defined as 1/ [s], is then computed. In case

[1/s] is negative, the mush cannot sustain any tensile deformation, thus a crack is to be
formed and HCS is set to a high value, 1.e6.
Structure of the Input Files
The steady state hot tearing modeling is carried out after a transient direct calculation has run
and converged to a steady state regime. At least two steps must be saved in the computation of
the thermal field. The steady state regime is considered to be reached when the maximum
variation between the two last saved steps, of the temperature at all nodes is smaller than the
value, stationary.t.tol. The HCS value is calculated on the last step which is supposed to
correspond to steady state conditions.
If the maximum temperature difference computed between the last two saved steps is larger than
the given tolerance (stationary.t.tol) beyond which steady state is assumed, the tolerance and/or
the number of computation steps to get the steady state temperature field should be increased.
To decrease the computation time, it can be useful to restart a calculation from a first
approximation of the steady state temperature field by using the restart option.
The steady state hot tearing module needs the following input files:
prefixg.unf (geometry file)
prefixt.unf (results file - temperature)
prefixfs.unf (results file - fraction of solid)
Two additional files are required:

1124
prefix_hcsinput.d (data file)
prefix_hcsfst_plot.d (fs-T file)

Structure of the Input File prefix_hcsfst_plot.d


The file prefix.hcsfst_plot.d has the following structure (plot.d file structure):
n, Nphase

where n is the number of lines and Nphase the number of solid phases (a, b, g, ...) (which may be
present together with the liquid phase) that are considered (1 for eutectic reactions, 2 for

peritectic reactions). are the solid fractions (varying between 0.0 and 1.0) at
temperature Ti for solid phases a, b, g , … (only the solid phases which appear together with the
liquid should be considered, i.e. no solid phase transformations are considered). Note that the
total solid fraction is the sum of these quantities. These data are required to compute the
parameters A and B.

IMPORTANT:
 The temperatures Ti are stored in the order of increasing values, thus the solid fraction

are decreasing and Tn is the liquidus temperature of the alloy at which

(or the mass feeding temperature at which ).


 The number of values, n, should be large enough in order to precisely compute the two
integrals A and B, notably at high solid fractions.
 The integration of A and B are performed from Tcg to Tn (liquidus or mass feeding
temperature).
 The solid fractions have no unit and should not be expressed in %

 T1 is the solidus temperature at which

Structure of the Input File prefix_hcsinput.d


The benefit of symmetry planes is taken into account and only one fourth of the slab is modeled.
Moreover, the casting speed and the gravity vector must be parallel to one axis of coordinate
given by Naxis (this means that only vertical casting can be treated at this time - downwards or
upwards).
The input file named prefix_hcsinput.d has the following structure:

12 8 # nx ny
1 # Domain number (casting domain)
1. # liquid height (liquid surface
level)
0.15 # stationary t.tol

1125
3 # Naxis : casting and gravity
direction
# 1 : X direction
# 2 : Y direction
# 3 : Z direction
1.e-3 # casting velocity (positive or
negative)
9.81 # gravity (positive or negative)
2600. 2 # liquid density & number of
solid phases
2782. 2365. # solid density of each solid
phase (phase1, phase2, ...)
1.e-3 # viscosity
200.E-6 # Average microstructure size
[m]
7000. # Cavitation depression [Pa]
0.972 # Fraction of solid at grain
coalescence

 nx [-] : Number of profiles in the X-direction.


 ny [-] : Number of profiles in the Y-direction.
 Domain number [-]: Domain in which the HCS calculation is performed (it should be in
one and one domain only).
 liquid height [m]: Coordinate of the height of the top of the liquid pool (it can be outside
the domain). This height will be taken parallel to the gravity vector.
 stationary t.tol [°C]: If t.tol is positive, it represents the maximum acceptable temperature
difference between the last two saved steps to insure that stationary conditions are
reached. If it is equal to 0.0, only the last saved step is considered (without checking of the
stationary condition). If it is negative, then the RDG is computed and stored at all saved
steps (the .csv file contains the last step).
 Naxis: Direction of the casting velocity and of gravity (1: X-direction, 2: Y-direction, 3: Z-
direction). This number should always be positive.
 velocity [m/s]: Casting velocity (velocity can be positive or negative). If velocity is
negative, it will go along the negative direction of the axis of coordinate (defined by Naxis
above).
 gravity [m/s2]: Gravity value (gravity can be positive or negative). If gravity is negative, it
will go along the negative direction of the axis of coordinate (defined by Naxis above). For
vertical casting downwards, both gravity and velocity have the same sign. For upwards
vertical casting, the gravity and the velocity have opposite signs.
 liquid density [kg/m3]: Density of the liquid (at liquidus).
 number of solid phases [-]: The number of solid phases should be defined (e.g.: 2 for a
peritectic reaction).
 solid densities [kg/m3]: Density of each solid phase (at solidus).
 viscosity [Pa.s]: Viscosity of the liquid (at liquidus).
 average microstructure size [m]: Usually, the SDAS is considered.
 cavitation depression [Pa]: Cavitation depression.
 coalescence fraction [-]: Fraction of solid at which coalescence of grains occurs. This
fraction will determine Tcg (coalescence temperature).

1126
Stationary.t.tol: Maximum acceptable variation in temperatures (°C). The steady
state regime is considered to be reached when the maximum variation, between the two
last saved steps, of the temperature at all nodes is smaller than the value, stationary.t.tol.
The HCS value will be calculated on the last step which is supposed to correspond to
steady state condition. A reasonable value of stationary.t.tol. is 0.1-1.0 °C.

Cavitation depression: The cavitation depression depends on the alloy composition


and on gas and impurities content. Typical values for metallic alloys vary between 10 to
100 kPa.

Mesh refinement near the Tcg isotherm: The mesh should be fine enough (or
refined) near the iso-Tcg isotherm in order to precisely compute not only the position of
this isotherm but also the values of the thermal gradient, which is the derivative of the
temperature and which requires even more mesh points.
Running a Case
The HCS calculation can be launched from the Manager. The "ProCAST" button gives access to
the following panel (if activated in the Installation Settings):

The results file prefix_resuhcs.epf will be automatically created and the following print-out will
appear together with the values of the two parameters A and B:

1127
Please note that the HCS module is coming from Calcosoft-3D.
The computed values of the hot tearing sensitivity are stored in the file prefixhcscrit.usf. In
addition, using the Excel csv (comma separated values) format, these values are also stored in
the two files prefix_hcs-column.csv and prefix_hcs-array.csv, in column and array formats,
respectively.
If there are more than one domain (e.g. casting and mould), the values of HCS in the mould are
set to -1.
If the hot cracking sensitivity is very high, it is limited to a maximum value of 1e6. In this case, one
can say that there is cracking in any case.
Viewing of the Results
The results saved in the file prefixhcscrit.usf can be viewed with the help of the post-processor.
After loading the case, one has to select Field/Additional/HCS_criterion to represent the selected
field. A typical result is shown in the following figure.

1128
Viewing the results in the post-processor
One can also represent the results with the help of Excel by drawing some surfaces. The two files
prefix_hcs-column.csv and prefix_hcs-array.csv, can be opened in Excel which automatically
recognizes the csv (comma separated value) format. The file prefix_hcs-column.csv contains the
following data, stored in columns as indicated in the following figure:

1129
Viewing the file prefix_hcs-column.csv with the help of Excel
x (x coordinate), y (y coordinate), z (z coordinate of the iso-Tcg surface), rdg (hcs value obtained
with the rdg model), Gx, Gy, Gz (components of the thermal gradient at the location (x,y,z)).
Note that the coordinate system is the system defined in the mesh (see the next figure).
The file prefix_hcs-array.csv contains the same data, but this time stored in arrays as indicated in
the next figure. The five quantities, z-tcg, rdg, Gx, Gy and Gz are given as a function of x and y.
This allows the user to get 3D graphics of each array following the procedure described in the
following figures.

1130
Viewing the arrays in the file prefix_hcs-array.csv with the help of Excel

1131
Clear the number nx*ny (60 here) before getting a 3D graphs of the array

Select the data of the array

1132
Select the type of 3D graph you want

1133
3D graph of the HCS values
References
[1]
M. Rappaz, J.-M. Drezet and M. Gremaud : "A new hot tearing criterion", Met. Trans. Vol. 30A,
pp-449-455, Feb. 1999.
[2]
J.-M. Drezet and M. Rappaz: "A New Hot Tearing Criterium for Aluminum Alloys", proceedings
of the First EsaForm Conference on Material Forming, Ecole des Mines de Paris, CEMEF,
Sophia Antipolis, France, March 1998, pp. 49-52.
[3]J.-M. Drezet, M. Gremaud, R. Graf and M. Gaümann, A new hot tearing criterion for steel,
proceedings of the 4th European Continuous Casting Conference, IOM communications,
Birmingham, UK, October 2002, pp. 755-763.
User Functions
Visual-Cast allows the use of User Functions. User Functions can be used to define boundary
conditions in a very flexible way, such as combined time, temperature and/or space dependent
heat transfer coefficients.
Please note that the User functions usage requires the corresponding license (not included in the
base package).
Three categories of Functions are available in Visual-Cast:
 User Functions to define a given condition, instead of a constant or a table
 External Functions which can be called from the User Functions, in order to get the values
of some fields at any node.
 External Computation Function which can be called during the execution of the calculation
(e.g. for coupling with external software).
Please, see the User Functions Description section for more details
All the User Functions and External Functions should be written in C language, based upon the
provided User Functions Templates. In order to be able to use User Functions, a C compiler
and linker should be available on the machine. Specific compiler and linker are needed (only the
compiler/linker which has been used for the creation of the executables is guaranteed to work
with the software). There is no guarantee that the software will work with other compilers/linkers
(see the User Functions Language and Compiler section for more details).
Use and Units of the User Functions are described in the User Functions Use and Units
section.
The USF Export Through User Function section describes how, through user functions,
ProCAST can export specific results using an usf file.
User Functions Description
Currently, the following User Functions are available:
 Interface HTC: interface heat transfer coefficient
 DieCombo: Spray heat transfer coefficient and temperature.
 Heat BC: external heat transfer coefficient
 Heat BC: external temperature
 Heat BC: emissivity
 Heat BC: heat flux
 Imposed velocity (X, Y and Z components)
 Solid transport velocity (X, Y and Z components)
 Translation vector (X, Y and Z components)
 Mass source position (X, Y and Z components)
 Mass source flow rate
 Displacement BC: Displacement (X, Y and Z components)

1134
Each of these functions has the following arguments:
 Time
 Local temperature
 Local fraction of solid
 Local coordinates
 Material number
 Boundary condition ID
This allows to define conditions as a function of any of the above arguments (e.g. a time- and
space-dependent interface heat transfer coefficient).
In addition, "external functions" allow to get the value of the main fields (e.g. temperature, fraction
of solid, velocities, ...) at any location of the model. This allows to define for instance a heat
transfer coefficient as a function of a "control temperature", corresponding to a given location,
somewhere else ("remote control").
User Function Templates are available in the next section.

External Functions Description


From any User Function, it is possible to get the value of some fields (e.g. Temperature, fraction
of solid, velocity) at any node, specified by its node number. To do so, the following functions are
available:
 usertemp1(node#) for temperature
 userfs1(node#) for the fraction of solid
 uservx1(node#) for the X-component of the velocity
 uservy1(node#) for the Y-component of the velocity
 uservz1(node#) for the Z-component of the velocity
In addition, it is possible to get the node number by giving the coordinates, using the following
function:
 nodNum (xin, yin, zin, domain#, xout, yout, zout)
where xin, yin and zin are the coordinates specified by the user, xout, yout and zout the
coordinates of the closest nodes which correspond to the returned node number. domain# is the
domain number in which the search node should be found.

External Computation Function Description


Beside User Functions for the definition of flexible conditions, ProCAST is providing an "External
User Function", which is called at the following times:
 At the beginning of the calculation
 At the beginning of each timestep
 At the end of each timestep
 At the end of the calculation
This allows to perform a number of operations, as defined by the user, at these different
moments. As for the User Functions, the "internal functions" allow to retrieve the values of the
main fields (e.g. temperature, fraction of solid, velocities, ...) at any location of the model.
Such External calls can be used for instance to couple ProCAST with other software.
While running models with DMP, it is advisable to always use DMP functions. For example, for
temperature computation, the function usertemp1DMP() must be used instead of usertemp1().

1135
Beside this, user can also choose between functions usertemp1DMP() and usertemp2DMP().
The main difference is that usertemp1DMP() provides an output result from the previous
calculated step and usertemp2DMP() provides a solution for the current step.

The Template of the External Function is available in the next section.


If the 'externalcompute.c' function is to be used alone (i.e., with no other user functions), it will not
be called automatically (as it is designed to work in conjunction with other user functions). In this
case, one should manually set the Simulation Parameter 'USER 1' in the p.dat file. It will allow the
solver to correctly call the function 'externalcompute.c'.

User Functions - Control of BC's by a Probed Node - DMP


Let us consider an example quite typical, i.e. the control of a boundary condition by the
temperature at a probed node. For the sake of simplicity, we will consider that the outside
temperature changes depending on the temperature at one location but the same applies to
changing the HTS, IHTC, heat flux,…

DMP
Let us look first at the function 'externalcompute.c'. The following example allows the user to
localize the closest node to a given position (x = 0.0; y = -0.15; z = -0.1) inside of the Volume with
ID number 1.

#include <stdio.h>
#include <stdlib.h>
#include "common_dll.h"

#define real double

#ifdef WIN
#define EXPORT _declspec(dllexport)
EXPORT void func_externalcompute(char*,int,int,real);

#else
void func_externalcompute(char*,int,int,real);
#endif

#ifdef _MP
extern int tnodNumDMP ( real,real,real,int,real* ,real* , real* );
extern int vnodNumDMP ( real,real,real,int,real* ,real* , real* );

extern int userget_nbnodes_casting_in_proc();


extern int userget_nbnodes_castmold_in_proc();
extern int userget_nbelems_casting_in_proc();
extern int userget_nbelems_castmold_in_proc();

extern int userget_nbnodes_castingDMP();

1136
extern int userget_nbnodes_castmoldDMP();
extern int userget_nbelems_castingDMP();
extern int userget_nbelems_castmoldDMP();

/* these are "thermal domain node functions" to be used with tnodNumDMP */

extern real usertemp1DMP(int);


extern real usertemp2DMP(int);

extern real userfs1DMP(int);


extern real userfs2DMP(int);
extern real user_hottearDMP(int);
extern real userfatigue1DMP(int);

/* these are "thermal domain element functions" to be used with telmNumDMP */

extern real user_coldcrackDMP(int);


extern real user3dstress_xxDMP(int);
extern real user3dstress_yyDMP(int);
extern real user3dstress_yyDMP(int);
extern real user3dstress_xyDMP(int);
extern real user3dstress_yzDMP(int);
extern real user3dstress_xzDMP(int);
extern real usereff_plstrainDMP(int);
extern real userel_volDMP(int);

/* these are "flow domain node functions" to be used with vnodNumDMP */

extern real uservx1DMP(int);


extern real uservy1DMP(int);
extern real uservz1DMP(int);
extern real uservf_s1DMP(int);
extern real uservf_s2DMP(int);
extern real userf_vol1DMP(int);
extern real userf_vol2DMP(int);
extern real userjct1DMP (int);
extern real userjct2DMP (int);
extern real userpnode1DMP (int);
extern real userpnode2DMP (int);

/* these are "flow domain element functions" to be used with velmNumDMP */


/* currently none */

1137
/* these can be used to output node number, value, processor number and the
location where it is picked up on to screen */

extern void output_tvalue_node_DMP(int, real, real, real, real);


extern void output_vvalue_node_DMP(int, real, real, real, real);

extern double pro_MPI_Sum_double_Sync( double );


extern int user_getmaterialnb_FLOW( int );
extern int user_nb_ithnode_inelem_FLOW ( int, int );
extern int user_get_nodes_per_elem_FLOW(int);
extern real userel_vol_FLOW( int );
#endif

/* These functions return numbers and not indices */

extern int user_nb_ithnode_inelem (int,int);


extern int user_getelemtype(int);
extern int user_getmaterialnb(int);
extern int user_get_nodes_per_elem(int);

/* These functions take node numbers as arguments */

extern real usertemp1(int);


extern real usertemp2(int);
extern real userfs1(int);
extern real userfs2(int);
extern real userf_vol1(int);
extern real userf_vol2(int);
extern real uservx1(int);
extern real uservy1(int);
extern real uservz1(int);
extern real uservx2(int);
extern real uservy2(int);
extern real uservz2(int);
extern real userx1(int);
extern real usery1(int);
extern real userz1(int);
extern real user_hottear(int);
extern real user_coldcrack(int);
extern real uservf_s1(int);
extern real uservf_s2(int);
extern real userjct1 (int);
extern real userjct2 (int);
extern real userfatigue1 (int);

1138
extern real userpnode1 (int);
extern real userpnode2 (int);

/* These functions take element numbers as arguments */

extern real user3dstress_xx(int);


extern real user3dstress_yy(int);
extern real user3dstress_zz(int);
extern real user3dstress_xy(int);
extern real user3dstress_yz(int);
extern real user3dstress_xz(int);
extern real usereff_plstrain(int);

extern int userget_nbnodes_casting ();


extern int userget_nbnodes_castmold ();
extern int userget_nbelems_casting ();
extern int userget_nbelems_castmold ();

extern real userel_vol(int);


extern int nodNum (real,real,real,int,real* ,real* , real* );

/*
* function called at the beginning, the end of the calculation
* and at the beginning of each timestep
* loop = 0 : function is called at the start of the computation
* loop = 1 : function is called at the start of the current timestep
* loop = 2 : function is called at the end of the current timestep
* loop = 3 : function is called at the end of the computation
*/

/* ---------------------- Declarations: ------------------------------ */


/* these are external variables which also need to be decleared */
/* for example in func_convehtransfer() */

real tcontrol1;
int nodecontrol1;
real vcontrol;
real volume20;
real volume30;

void func_externalcompute(
char prefix[], /* case name */
int loop, /* loop value : 0/1/2/3 */
int timestep, /* current timestep */

1139
real time) /* current time */

{
/* ------------- Do not change anything above this line ------------- *
* ------------- Program your function below this line ------------- */

/* ---------------------- Declarations: ------------------------------ */

real xx1, xx2, yy1, yy2, zz1, zz2;

/* ------------- Do not change these instructions: ------------------ */

/* ------------------------------------------------------------------ */
/* Instructions: */

/* it is important that usertemp1DMP() is called here any other calculation


of value based on coordinate should be handled the same way */
/* NOT in func_externalcompute() */
/* also loop 0 gives global node number and loop 1, 2, 3 will give local node
number which is different for each process */
/* if more than one location is needed, you can have tnodecontrol1,
tnodecontrol2 .... */
/* also define external tcontrol1, tcontrol2,... etc */

/* here is an example */

/* tnodecontrol and vnodecontrol should be calculated at every step (loop 1)


because of dynamic partitioning */

if (loop==0)
{
nodecontrol1 = nodNum(0.0, -0.15, -0.1, 1, &xx1, &yy1, &zz1) ;
tcontrol1 = usertemp1(nodecontrol1) ;
printf ("loop = %d, rank = %d, Node Id = %d, T = %lf\n", loop, my_id,
nodecontrol1, tcontrol1) ;
}
else if (loop==1)
{
nodecontrol1 = tnodNumDMP(0.0, -0.15, -0.1, 1, &xx1, &yy1, &zz1) ;
tcontrol1 = usertemp1DMP(nodecontrol1) ;
printf ("loop = %d, rank = %d, Node Id = %d, T = %lf\n", loop, my_id,
nodecontrol1, tcontrol1) ;
}
return;

1140
}

In this UF, two global variables are declared:


 tcontrol1 (to be shared with other UF)
 nodecontrol1 (to assign the node which will be controlled)
Those variables are declared after the #endif and before the func_externalcompute to make them
global.
It must be highlighted that all variables created in 'externalcompute.c' must be shared with other
User Functions, and must always be kept the same.
In DMP, when loop == 1 (at the beginning of each time step), we have to find the node closest to
the probe using the function tnodNumDMP. We have to do this search for loop == 1 because at
loop == 0, the portioning is not yet done due to the node renumbering for DMP (sub domains per
CPU). Once we have the probe node, we can immediately determine its temperature (and
transmit that information to all UF) using the function usertemp1DMP.
Once the function 'externalcompute.c' has been correctly programmed, we will create the user
function that will really determine the Outside or External Temperature that will be applied for the
HEAT BC. It will be done with the user function 'texternal.c'.
For this, the global variable tcontrol1 defined in 'externalcompute.c' must be called.

#include <stdio.h>
#include <stdlib.h>

#include "common_dll.h"

#define real double

#ifdef WIN
#define EXPORT _declspec(dllexport)
EXPORT real func_texternal(char*, int, real, real, real, real, real, real,
int);
#else
real func_texternal(char*, int, real, real, real, real, real, real, int);
#endif

extern real usertemp1(int);


extern real userfs1(int);
extern real uservx1(int);
extern real uservy1(int);
extern real uservz1(int);
extern int nodNum (real,real,real,int,real* ,real* , real* );
extern int nodecontrol1; /* variables from << externalcompute >> */
extern real tcontrol1;

/*
* ambient temperature (applied on external surfaces)

1141
*/

real func_texternal(
char prefix[], /* case name */
int dimension, /* 2 = 2D ; 3 = 3D */
real temp, /* current temperature */
real fs, /* current fraction of solid */
real time, /* current time */
real x_coor, /* local coordinates: x */
real y_coor, /* local coordinates: y */
real z_coor, /* local coordinates: z */
int numBC) /* number of boundary condition */

/* ------------- Do not change anything above this line ------------- *


* ------------- Program your function below this line ------------- */

real Text ;
real tcontrol1 ;

if (tcontrol1 > 300)

Text = 250.;

else

Text = 20.;

return Text ;

For this example, when the temperature of the probe node will be above 300 °C, the external
temperature to be applied in the HEAT BC will be 250 °C, otherwise, it will be 20 °C.
Please note that the control variable 'tcontrol1' created in file 'externalcompute.c' must be kept.

This example shows that, in DMP, the functions with postfix Global are important!
User Functions Templates
The following section presents the templates of all the User and External Functions. The meaning
of the arguments is described in the comments of the functions.
 External Heat Transfer Coefficient Function (convehtransfer.c)
 Spray Heat Transfer Coefficient Function (sprayhtc.c)
 Spray Temperature Function (spraytemp.c)

1142
 External Temperature Function (texternal.c)
 Emissivity Function (emissivity.c)
 Heat Flux Function (heatflux.c)
 Interface Heat Transfer Coefficient Function (interhtransfer.c)
 Mass Source Flow Rate Function (masssourceflowrate.c)
 X-component Mass Source Vector Function (xmasssource.c) - same for Y and Z
 X-component Translation Vector Function (xtranslation.c) - same for Y and Z
 X-component Imposed Velocity Vector Function (vximposed.c) - same for Y and Z
 X-component Solid Transport Velocity Vector Function (vxsolidtransport.c) - same for Y
and Z
 X-component Displacement Function (xdisplacement.c) - same for Y and Z
 External Function (externalcompute.c)
 func_writeusf.c - To write .usf files for corresponding results
 Microstructural Entities
External Heat Transfer Coefficient Function
This function is called: convehtransfer.c
It is used to define a convective heat transfer coefficient on the outside of a domain, to be used in
conjunction with an external temperature.

#include <stdio.h>
#include <stdlib.h>

#define real double

#ifdef WIN32
#define EXPORT _declspec(dllexport)
EXPORT real func_convehtransfer(char*, int, real, real, real, real, real,
real, int);
#else
real func_convehtransfer(char*, int, real, real, real, real, real, real,
int);
#endif

extern real usertemp1(int);


extern real userfs1(int);
extern real uservx1(int);
extern real uservy1(int);
extern real uservz1(int);
extern int nodNum (real,real,real,int,real*,real*,real* );

/*
* convective heat transfer coefficient (applied on external surfaces)
*/

real func_convehtransfer(

1143
char prefix[], /* case name */
int dimension, /* 2 = 2D ; 3 = 3D */
real temp, /* current temperature */
real fs, /* current fraction of solid */
real time, /* current time */
real x_coor, /* local coordinates: x */
real y_coor, /* local coordinates: y */
real z_coor, /* local coordinates: z */
int numBC) /* boundary condition ID number */
{
/* ------------- Do not change anything above this line ------------- *
* ------------- Program your function below this line ------------- */

/* ------------ Do not forget to remove the call to exit ------------ *


* ------------ hereafter before running the calculation ------------ */

printf("---> exit in C user function convehtransfer <---\n");


exit(1);
Spray Heat Transfer Coefficient Function
This function is called: sprayhtc.c
It is used to define spray htc on the outside of a domain, to be used in conjunction with spray
temperature.

#include <stdio.h>
#include <stdlib.h>

#include "common_dll.h"

#define real double

#ifdef WIN
#define EXPORT _declspec(dllexport)
EXPORT real func_sprayhtc(real, real, real, real, real, real, int);
#else
real func_sprayhtc(real, real, real, real, real, real, int);
#endif

/*
* heat transfer coef for spray
*/

real func_sprayhtc(

1144
real temp, /* current temperature */
real fs, /* current fraction of solid */
real time, /* current time */
real x_coor, /* local coordinates: x */
real y_coor, /* local coordinates: y */
real z_coor, /* local coordinates: z */
int nnum ) /* global node number, 1 <= nnum <= nnod */

{
/* example

real value;
value = 0.5 + 0.25 * ( x_coor - 5.0 );

return value;
*/

/*************************************************************************
**/

/* ------------- Do not change anything above this line ------------- *


* ------------- Program your function below this line ------------- */

/* ------------ Do not forget to remove the call to exit ------------ *


* ------------ hereafter before running the calculation ------------ */

printf("---> exit in C user function prayhtc ---\n");


exit(1);

return 0;
}
Spray Temperature Function
This function is called: spraytemp.c
It is used to define spray temperature on the outside of a domain, to be used in conjunction with
spray htc.

#include <stdio.h>
#include <stdlib.h>

#include "common_dll.h"

#define real double

1145
#ifdef WIN
#define EXPORT _declspec(dllexport)
EXPORT real func_spraytemp(real, real, real, real, real, real, int);
#else
real func_spraytemp(real, real, real, real, real, real, int);
#endif

/*
* spray temperature
*/

real func_spraytemp(
real temp, /* current temperature */
real fs, /* current fraction of solid */
real time, /* current time */
real x_coor, /* local coordinates: x */
real y_coor, /* local coordinates: y */
real z_coor, /* local coordinates: z */
int nnum ) /* global node number, 1 <= nnum <= nnod */

{
/* example

real value;
value = 80.;

return value;
*/

/*************************************************************************
**/

/* ------------- Do not change anything above this line ------------- *


* ------------- Program your function below this line ------------- */

/* ------------ Do not forget to remove the call to exit ------------ *


* ------------ hereafter before running the calculation ------------ */

printf("---> exit in C user function spraytemp <---\n");


exit(1);

1146
return 0;
}
External Temperature Function
This function is called: texternal.c
It is used to define an external temperature on the outside of a domain, to be used in conjunction
with a convective heat transfer.

#include <stdio.h>
#include <stdlib.h>

#define real double

#ifdef WIN32
#define EXPORT _declspec(dllexport)
EXPORT real func_texternal(char*, int, real, real, real, real, real, real,
int);
#else
real func_texternal(char*, int, real, real, real, real, real, real, int);
#endif

extern real usertemp1(int);


extern real userfs1(int);
extern real uservx1(int);
extern real uservy1(int);
extern real uservz1(int);
extern int nodNum (real,real,real,int,real*,real*,real* );

/*
* ambient temperature (applied on external surfaces)
*/

real func_texternal(
char prefix[], /* case name */
int dimension, /* 2 = 2D ; 3 = 3D */
real temp, /* current temperature */
real fs, /* current fraction of solid */
real time, /* current time */
real x_coor, /* local coordinates: x */
real y_coor, /* local coordinates: y */
real z_coor, /* local coordinates: z */
int numBC) /* boundary condition ID number */
{
/* ------------- Do not change anything above this line ------------- *
* ------------- Program your function below this line ------------- */

1147
/* ------------ Do not forget to remove the call to exit ------------ *
* ------------ hereafter before running the calculation ------------ */

printf("---> exit in C user function texternal <---\n");


exit(1);

return 0;
}
Emissivity Function
This function is called: emissivity.c
It is used to define an emissivity on the outside of a domain.

#include <stdio.h>
#include <stdlib.h>

#define real double

#ifdef WIN32
#define EXPORT _declspec(dllexport)
EXPORT real func_emissivity(char*, int, real, real, real, real, real,
real, int);
#else
real func_emissivity(char*, int, real, real, real, real, real, real, int);
#endif

extern real usertemp1(int);


extern real userfs1(int);
extern real uservx1(int);
extern real uservy1(int);
extern real uservz1(int);
extern int nodNum (real,real,real,int,real*,real*,real* );

/*
* emissivity coefficient (applied on external surfaces)
*/

real func_emissivity(
char prefix[], /* case name */
int dimension, /* 2 = 2D ; 3 = 3D */
real temp, /* current temperature */
real fs, /* current fraction of solid */

1148
real time, /* current time */
real x_coor, /* local coordinates: x */
real y_coor, /* local coordinates: y */
real z_coor, /* local coordinates: z */
int numBC) /* boundary condition ID number */
{
/* ------------- Do not change anything above this line ------------- *
* ------------- Program your function below this line ------------- */

/* ------------ Do not forget to remove the call to exit ------------ *


* ------------ hereafter before running the calculation ------------ */

printf("---> exit in C user function emissivity <---\n");


exit(1);

return 0;
}
Heat Flux Function
This function is called: heatflux.c
It is used to define a heat flux on the outside of a domain.

#include <stdio.h>
#include <stdlib.h>

#define real double

#ifdef WIN32
#define EXPORT _declspec(dllexport)
EXPORT real func_heatflux(char*, int, real, real, real, real, real, real,
int);
#else
real func_heatflux(char*, int, real, real, real, real, real, real, int);
#endif

extern real usertemp1(int);


extern real userfs1(int);
extern real uservx1(int);
extern real uservy1(int);
extern real uservz1(int);
extern int nodNum (real,real,real,int,real*,real*,real* );

/*

1149
* heat flux coefficient (applied on external surfaces)
*/

real func_heatflux(
char prefix[], /* case name */
int dimension, /* 2 = 2D ; 3 = 3D */
real temp, /* current temperature */
real fs, /* current fraction of solid */
real time, /* current time */
real x_coor, /* local coordinates: x */
real y_coor, /* local coordinates: y */
real z_coor, /* local coordinates: z */
int numBC) /* boundary condition ID number */
{
/* ------------- Do not change anything above this line ------------- *
* ------------- Program your function below this line ------------- */

/* ------------ Do not forget to remove the call to exit ------------ *


* ------------ hereafter before running the calculation ------------ */

printf("---> exit in C user function heatflux <---\n");


exit(1);

return 0;
}
Interface Heat Transfer Coefficient Function
This function is called: interhtransfer.c
It is used to define an interface heat transfer coefficient between two domains.
This function can also be used for the definition of the gap properties (if one wants to use
something else than air or vacuum). See the Gaps in Stress models section for more details.

#include <stdio.h>
#include <stdlib.h>
#include "common_dll.h"

#define real double

#ifdef WIN
#define EXPORT _declspec(dllexport)
EXPORT real func_interhtransfer(char*, int, real, real, real, real, real,
real, real, real, int);
#else

1150
real func_interhtransfer(char*, int, real, real, real, real, real, real,
real, real, int);
#endif

extern real usertemp1(int);


extern real userfs1(int);
extern real uservx1(int);
extern real uservy1(int);
extern real uservz1(int);
extern int nodNum (real,real,real,int,real* ,real* , real* );

/*
* interface heat transfer coefficient
*/

real func_interhtransfer(
char prefix[], /* case name */
int dimension, /* 2 = 2D ; 3 = 3D */
real temp, /* current temperature */
real fs, /* current fraction of solid */
real time, /* current time */
real x_coor, /* local coordinates: x */
real y_coor, /* local coordinates: y */
real z_coor, /* local coordinates: z */
real p_fluid, /* pressure from fluid */
real p_contact, /* pressure from contact */
int numBC) /* number of boundary condition */
{
/* **** Example of computing ihtc using pressure from fluid ****/
/* **** and computing ihtc using pressure from contact ****/

/* real ihtc ; */
/* ihtc = 1000.; */
/* *** ihtc is the function of fluid pressure *** */
/* ihtc *= ( 1. + ( p_fluid / 1.e-3) ); */
/* *** ihtc is the function of contact pressure *** */
/* ihtc *= ( 1. + ( p_contact / -1.e-3 ) ); */
/* return ihtc ; */
/*************************************************************************
**/
/* ------------- Do not change anything above this line ------------- *
* ------------- Program your function below this line ------------- */

/* ------------ Do not forget to remove the call to exit ------------ *

1151
* ------------ hereafter before running the calculation ------------ */

printf("---> exit in C user function interhtransfer <---\n");


exit(1);

return 0;
}
Mass Source Flow Rate Function
This function is called: masssourceflowrate.c
It is used to define a variable flow rate of a mass source.

#include <stdio.h>
#include <stdlib.h>

#define real double

#ifdef WIN32
#define EXPORT _declspec(dllexport)
EXPORT real func_masssourceflowrate(char*, int, real, real, real, real,
int);
#else
real func_masssourceflowrate(char*, int, real, real, real, real, int);
#endif

extern real usertemp1(int);


extern real userfs1(int);
extern real uservx1(int);
extern real uservy1(int);
extern real uservz1(int);
extern int nodNum (real,real,real,int,real* ,real* , real* );

/*
* mass source flow rate coefficient
*/

real func_masssourceflowrate(
char prefix[], /* case name */
int dimension, /* 2 = 2D ; 3 = 3D */
real time, /* current time */
real x_coor, /* local coordinates: x */
real y_coor, /* local coordinates: y */
real z_coor, /* local coordinates: z */
int numMat) /* number of the domain */

1152
{
/* ------------- Do not change anything above this line ------------- *
* ------------- Program your function below this line ------------- */

/* ------------ Do not forget to remove the call to exit ------------ *


* ------------ hereafter before running the calculation ------------ */

printf("---> exit in C user function masssourceflowrate <---\n");


exit(1);

return 0;
}
Mass Source Vector Function
This function is called: xmasssource.c
(same for ymasssource.c and zmasssource.c)
It is used to define the X-component of the location of a mass source.

#include <stdio.h>
#include <stdlib.h>

#define real double

#ifdef WIN32
#define EXPORT _declspec(dllexport)
EXPORT real func_xmasssource(char*, int, real, int);
#else
real func_xmasssource(char*, int, real, int);
#endif

extern real usertemp1(int);


extern real userfs1(int);
extern real uservx1(int);
extern real uservy1(int);
extern real uservz1(int);
extern int nodNum (real,real,real,int,real* ,real* , real* );

/*
* masssource vector of a domain : x - component
*/

real func_xmasssource(
char prefix[], /* case name */

1153
int dimension, /* 2 = 2D ; 3 = 3D */
real time, /* current time */
int numMat) /* number of the domain */
{
/* ------------- Do not change anything above this line ------------- *
* ------------- Program your function below this line ------------- */

/* ------------ Do not forget to remove the call to exit ------------ *


* ------------ hereafter before running the calculation ------------ */

printf("---> exit in C user function xmasssource <---\n");


exit(1);

return 0;
}
Translation Vector Function
This function is called: xtranslation.c
(same for ytranslation.c and ztranslation.c)
It is used to define the X-component of the translation of a domain.

#include <stdio.h>
#include <stdlib.h>

#define real double

#ifdef WIN32
#define EXPORT _declspec(dllexport)
EXPORT real func_xtranslation(char*, int, real, int);
#else
real func_xtranslation(char*, int, real, int);
#endif

extern real usertemp1(int);


extern real userfs1(int);
extern real uservx1(int);
extern real uservy1(int);
extern real uservz1(int);
extern int nodNum (real,real,real,int,real* ,real* , real* );

/*
* translation vector of a domain : x - component
*/

1154
real func_xtranslation(
char prefix[], /* case name */
int dimension, /* 2 = 2D ; 3 = 3D */
real time, /* current time */
int numMat) /* number of the domain */
{
/* ------------- Do not change anything above this line ------------- *
* ------------- Program your function below this line ------------- */

/* ------------ Do not forget to remove the call to exit ------------ *


* ------------ hereafter before running the calculation ------------ */

printf("---> exit in C user function xtranslation <---\n");


exit(1);

return 0;
}
Imposed Velocity Vector Function
This function is called: vximposed.c
(same for vyimposed.c and vzimposed.c)
It is used to define the X-component of an imposed velocity BC.

#include <stdio.h>
#include <stdlib.h>

#define real double

#ifdef WIN32
#define EXPORT _declspec(dllexport)
EXPORT real func_vximposed(char*, int, real, real, real, real, real, real,
int);
#else
real func_vximposed(char*, int, real, real, real, real, real, real, int);
#endif

extern real usertemp1(int);


extern real userfs1(int);
extern real uservx1(int);
extern real uservy1(int);
extern real uservz1(int);
extern int nodNum (real,real,real,int,real* ,real* , real* );

1155
/*
* ambient temperature (applied on external surfaces)
*/

real func_vximposed(
char prefix[], /* case name */
int dimension, /* 2 = 2D ; 3 = 3D */
real temp, /* current temperature */
real fs, /* current fraction of solid */
real time, /* current time */
real x_coor, /* local coordinates: x */
real y_coor, /* local coordinates: y */
real z_coor, /* local coordinates: z */
int numBC) /* number of boundary condition */
{
/* ------------- Do not change anything above this line ------------- *
* ------------- Program your function below this line ------------- */

/* ------------ Do not forget to remove the call to exit ------------ *


* ------------ hereafter before running the calculation ------------ */

printf("---> exit in C user function vximposed <---\n");


exit(1);

return 0;
}
Solid Transport Velocity Vector Function
This function is called: vxsolidtransport.c
(same for vysolidtransport.c and vzsolidtransport.c)
It is used to define the X-component of transport velocity of a solid.

#include <stdio.h>
#include <stdlib.h>

#define real double

#ifdef WIN32
#define EXPORT _declspec(dllexport)
EXPORT real func_vxsolidtransport(char*, int, real, real, real, real,
real, real, int);
#else

1156
real func_vxsolidtransport(char*, int, real, real, real, real, real, real,
int);
#endif

extern real usertemp1(int);


extern real userfs1(int);
extern real uservx1(int);
extern real uservy1(int);
extern real uservz1(int);
extern int nodNum (real,real,real,int,real* ,real* , real* );

/*
* ambient temperature (applied on external surfaces)
*/

real func_vxsolidtransport(
char prefix[], /* case name */
int dimension, /* 2 = 2D ; 3 = 3D */
real temp, /* current temperature */
real fs, /* current fraction of solid */
real time, /* current time */
real x_coor, /* local coordinates: x */
real y_coor, /* local coordinates: y */
real z_coor, /* local coordinates: z */
int numBC) /* number of boundary condition */
{
/* ------------- Do not change anything above this line ------------- *
* ------------- Program your function below this line ------------- */

/* ------------ Do not forget to remove the call to exit ------------ *


* ------------ hereafter before running the calculation ------------ */

printf("---> exit in C user function vxsolidtransport <---\n");


exit(1);

return 0;
}
Displacement Function
This function is called: xdisplacement.c
(same for ydisplacement.c and zdisplacement.c)
It is used to define the X-component of transport velocity of a solid.

1157
#include <stdio.h>
#include <stdlib.h>

#include "common_dll.h"

#define real double

#ifdef WIN
#define EXPORT _declspec(dllexport)
EXPORT real func_xdisplacement(char*, real, real, real, real, real, real,
int);
#else
real func_xdisplacement(char*, real, real, real, real, real, real, int);
#endif

/*
* x-displacement
*/

real func_xdisplacement(
char prefix[], /* case name */
real temp, /* current temperature */
real fs, /* current fraction of solid */
real time, /* current time */
real x_coor, /* local coordinates: x */
real y_coor, /* local coordinates: y */
real z_coor, /* local coordinates: z */
int nnum ) /* global node number, 1 <= nnum <= nnod */

{
/* example
real value;
value = 0.;

if ( time < 3. )
value = 0.001 * time /3.0;
else if ( time < 10. )
value = 0.001 * ( 1. - ( time - 3. ) / 7. );

return value;
*/

/*************************************************************************
**/

1158
/* ------------- Do not change anything above this line ------------- *
* ------------- Program your function below this line ------------- */

/* ------------ Do not forget to remove the call to exit ------------ *


* ------------ hereafter before running the calculation ------------ */

printf("---> exit in C user function xdisplacement <---\n");


exit(1);

return 0;
}

External Function
This function is called: externalcompute.c
This function is called at the start of the calculation, at the start of each timestep, at the end of
each timestep and at the end of the calculation.
Many parameters are available in this function (see the "extern" declarations). These parameters
can also be used in the other user functions (e.g. interhtransfer.c), as shown at the end of this
section.
If the "externalcompute.c" function is to be used alone (i.e. with no other user functions), it will not
be called automatically (as it is designed to work in conjunction with other user functions). In such
situation, one should activate (in Visual-Cast) a "dummy" user function (like a Heat BC) and set a
constant value (like 0) and assign it to any location of the mesh. This "dummy" user function will
not have any effect on the calculation results, however, it will have the effect to activate the
"externalcompute.c" call.

#include <stdio.h>
#include <stdlib.h>

#define real double

#ifdef WIN
#define EXPORT _declspec(dllexport)
EXPORT void func_externalcompute(char*,int,int,real);
EXPORT int tnodecontrol;
EXPORT int vnodecontrol;

#else
void func_externalcompute(char*,int,int,real);
int tnodecontrol;
int vnodecontrol;
#endif

1159
#ifdef_MP
extern real usertemp1Global(int);
extern real userfs1Global(int);
extern real uservx1Global(int);
extern real uservy1Global(int);
extern real uservz1Global(int);
extern int nodNumGlobal (real,real,real,int,real* ,real* , real* );
#else
/* These functions return numbers and not indices */
extern int userget_nbnodes_casting (); /* number of
nodes in the CASTING domains */
extern int userget_nbnodes_castmold (); /* number of
nodes in the CASTING + MOLD domains */
extern int userget_nbelems_castmold (); /* number of
elements in the CASTING + MOLD domains */
extern int user_nb_ithnode_inelem (int,int); /* Connectivity
of the elements */
/* 1st argument
: number of the node in the element */
/* 2nd argument
: element number */
extern int user_getelemtype(int); /* element type
(eg : 2 for tetrahedra, */
/* 3 for wedge
and 1 for hexahedra) */
extern int user_getmaterialnb(int); /* Domain
number */
/* These functions take node numbers as arguments */
/* the index 1 corresponds to the beginning of the timestep */
/* the index 2 corresponds to the end of the timestep */
extern real usertemp1(int); /* Temperature */
extern real usertemp2(int);
extern real userfs1(int); /* Solid fraction */
extern real userfs2(int);
extern real uservx1(int); /* X-velocity component */
extern real uservy1(int); /* Y-velocity component */
extern real uservz1(int); /* Z-velocity component */
extern real uservx2(int);
extern real uservy2(int);
extern real uservz2(int);
extern real userx1(int); /* X-coordinate, including
deformations */
extern real usery1(int); /* Y-coordinate, including
deformations */
extern real userz1(int); /* Z-coordinate, including
deformations */

1160
extern real user_hottear(int); /* Hot tearing indicator */
extern real user_coldcrack(int); /* Crack indicator */
extern real uservf_s1(int); /* Microporosity */
extern real uservf_s2(int);
extern real userf_vol1(int); /* FVOL */
extern real userf_vol2(int);
extern real userjct1 (int); /* Junction */
extern real userjct2 (int);
extern real userfatigue1 (int); /* Fatigue indicator */
extern real userpnode1 (int); /* Liquid pressure */
extern real userpnode2 (int);
/* These functions take element numbers as arguments */
extern real user3dstress_xx(int); /* SigmaXX stress */
extern real user3dstress_yy(int); /* SigmaYY stress */
extern real user3dstress_zz(int); /* SigmaZZ stress */
extern real user3dstress_xy(int); /* SigmaXY stress */
extern real user3dstress_yz(int); /* SigmaYZ stress */
extern real user3dstress_xz(int); /* SigmaXZ stress */
extern real usereff_plstrain(int); /* Plastic strain */
extern real userel_vol(int); /* Volume of the FE element,
including deformation */

extern int nodNum (real,real,real,int,real* ,real* , real* );


#endif

/*
* function called at the beginning, the end of the calculation
* and at the beginning of each timestep
* loop = 0 : function is called at the start of the computation
* loop = 1 : function is called at the start of the current timestep
* loop = 2 : function is called at the end of the current timestep
* loop = 3 : function is called at the end of the computation
*
*/

void func_externalcompute(
char prefix[], /* case name */
int loop, /* loop value : 0/1/2/3 */
int timestep, /* current timestep */
real time) /* current time */

{
if ( loop == 0 )
{

1161
tnodecontrol = 0;
vnodecontrol = 0;
}
/* ------------- Do not change anything above this line ------------- *
* ------------- Program your function below this line ------------- */

return;
}

Example of external parameters used in interhtransfer.c (the same approach can be used
in any user function)
In this example, the interface heat transfer coefficient is taken as a function of the liquid pressure.
To do so, the "extern" declaration of the liquid pressure should be copied from the upper
"externalcompute.c" function (see red line below). Then, this value can be used in the user
function (see the blue lines).

#include <stdio.h>
#include <stdlib.h>
#include "common_dll.h"

#define real double

#ifdef WIN32
#define EXPORT _declspec(dllexport)
EXPORT real func_interhtransfer(char*, int, real, real, real, real, real,
real, int);
#else
real func_interhtransfer(char*, int, real, real, real, real, real, real,
int);
#endif

extern real usertemp1(int);


extern real userfs1(int);
extern real uservx1(int);
extern real uservy1(int);
extern real uservz1(int);
extern int nodNum (real,real,real,int,real*,real*,real* );

extern real userpnode1 (int); /* Liquid pressure */

/*
* interface heat transfer coefficient
*/

1162
real func_interhtransfer(
char prefix[], /* case name */
int dimension, /* 2 = 2D ; 3 = 3D */
real temp, /* current temperature */
real fs, /* current fraction of solid */
real time, /* current time */
real x_coor, /* local coordinates: x */
real y_coor, /* local coordinates: y */
real z_coor, /* local coordinates: z */
int numBC) /* boundary ID number */
{
/* ------------- Do not change anything above this line ------------- *
* ------------- Program your function below this line ------------- */

real hcoeff;
real local_pressure;
int local_node_number;

local_node_number = 100 ;
local_pressure =userpnode1(local_node_number) ;

hcoeff = local_pressure / 100. ;

return hcoeff;
}
Microstructural Entities
Micro-structural variables can be used in the user functions when calculating stresses which
depends upon micro-structural quantities (see the Stress Properties Depending Upon
Microstructure section for more details).
User Functions Language and Compiler
All the User Functions and External Functions should be written in C language, based upon the
provided User Functions Templates. In order to be able to use User Functions, a C compiler
and linker should be available on the machine. Specific compiler and linker are needed (only the
compiler/linker which has been used for the creation of the executables is guaranteed to work
with the software). There is no guarantee that the software will work with other compilers/linkers.

Windows (64 bit)


On Windows, the compiler and linker of the Microsoft Visual Studio C++ 2013 package has been
used to create the executables. C++ compilers can be obtained from Microsoft and then installed.
The recommended set of tools to run User Functions is Microsoft Windows SDK 7.1.
Once SDK is installed, in the bin directory of the ProCAST installation, the "procastRun_DMP.bat"
file should be manually modified to point to the right compiler. One has to remove the comments
on the line where the compiler is called. For SDK 7.1, the last line should be uncommented, as
shown below:

1163
REM To use Visual Studio Express 2005, uncomment the following
line
REM @call "C:\Program Files (x86)\Microsoft Visual Studio
8\VC\vcvarsall.bat" %2
REM To use Visual Studio Express 2008, uncomment the following
lines
REM @call "C:\Program Files (x86)\Microsoft Visual Studio
9.0\VC\vcvarsall.bat" %2
REM if /i %2 == x86 COPY "%ProCAST20180%\bin\msvcp100.dll"
REM if /i %2 == x86 COPY "%ProCAST20180%\bin\msvcr100.dll"
REM if /i %2 == x64 COPY "%ProCAST20180%\bin\x64\msvcp100.dll"
REM if /i %2 == x64 COPY "%ProCAST20180%\bin\x64\msvcr100.dll"
REM End of commented lines for Visual Studio Express 2008
REM The following line is active and corresponds to using Visual
Studio 2010 (full install)
REM @call "C:\Program Files (x86)\Microsoft Visual Studio
10.0\VC\vcvarsall.bat" %2
REM The following line is active and corresponds to using Visual
Studio 2010
@call "C:\Program Files\Microsoft
SDKs\Windows\v7.1\Bin\SetEnv.cmd" /Release /%2 /xp

Please note that the first two options related to Visual Studio versions older than 2010 are kept
for legacy, but not officially supported.

Linux
Intel C compiler (icc), version 11
Intel C compiler (gcc), version 4.
By default icc is set in procastDMP_run.sh script.
To change icc into gcc, this requires the modification of the script files "procastDMP_run.sh" as
follows:
Change CC=icc into CC=gcc in "procastDMP_run.sh"

"procastDMP_run.sh"
if [ $OS_NAME = "Linux" ]; then

OS_TYPE=`uname -m`

if [ $OS_TYPE = "i686" ]; then


CC=icc
CFLAGS="-c -O2 -axKWNP -ip -DUSE_FONTS -D_REENTRANT -DUNIX -
D_MP -DUSERF -DLINUX -DLM_INTERNAL -D_FILE_OFFSET_BITS=64 -
DCA_LINUX -fPIC"
if [ $DMPVER = "HPMPI" ]; then

1164
LIBFLAGS="-O -fPIC -shared *.o -Wl,-Bsymbolic -
L$MPI_ROOT/lib/linux_ia32 -lmpi -lhpmpi -o libprocast_DMP.so"
elif [ $DMPVER = "PCMPI" ];then
LIBFLAGS="-O -fPIC -shared *.o -Wl,-Bsymbolic -
L$MPI_ROOT/lib/linux_ia32 -lmpi -lpcmpi -o libprocast_DMP.so"
fi
elif [ $OS_TYPE = "x86_64" ]; then
CC=icc

User Functions Use and Units


Once the User Functions are defined (i.e. programmed), they should be placed in the current
working directory (i.e. next to the standard input files). Please note that the user functions should
be renamed :
prefix_userfunction.c (e.g. : prefix_convehtransfer.c). If it not renamed, it will not be compiled and
linked automatically by the launch script.
Then, when the "procast" executable is launched (either from the Manager, or "manually" in a
Command window), the User Functions are automatically compiled and linked. A local DLL is
created, as well as a local executable. Then, this executable is automatically launched and the
calculation starts. This DLL and local executables are automatically deleted at the end of the
execution (if the calculation is stopped manually or if it crashes, these files will remain in the local
directory).
If only the external user function "externalcompute.c" is used in a given calculation, without any
other user function, one should set manually in the p.dat file the Simulation Parameter "USER 1",
in order to make such that this function is well called by the solver (this is not necessary when
there are any other user function active in the case).

Units
ProCAST allows to define the inputs with almost any kind of units. In order to define which units
should be taken into account into the software, two possibilities are provided to the user.
1. Default units can be specified in an installation file (either the main central installation or in
the local user preference file (see the Customized Installation section for more details).
These units will be used in all the cases run by the user. This ASCII file is called
"UserFunctions_units.dat" and is located in the "dat/pref" directory.
2. Specific units can be used for a given case. These specific units should be specified in a
text file in the local execution directory. This ASCII file is called "prefix_units.dat".
In both cases, the same units should be used in all the User Functions of the same case.
The files "UserFunctions_units.dat" or "prefix_units.dat" have exactly the same format as follows:
time 1
length 1
temperature 2
velocity 1
heatflux 1
heattransfercoefficient 1
massflowrate 1
thermalconductivity 1

1165
Each type of variable available in user functions is mentioned in the above list. Then, a unit code
is following (as an integer value). The above values correspond to the default units (set at the
installation) used by the user routines of the ProCAST solver (SI Units and degree Celsius).
One can change these units, with a text editor, using the following nomenclature (corresponding
to the standard unit codes of ProCAST, used in the d.dat file):

temperature
1 = Kelvin
2 = Celsius
3 = Fahrenheit

length
1 = m
2 = cm
3 = mm
4 = ft
5 = in

velocity
1 = m/s
2 = cm/s
3 = mm/s
4 = ft/s
5 = in/s
6 = m/min
7 = cm/min
8 = ft/min
9 = in/min

time
1 = sec
2 = min

heatflux
1 = W/m2
2 = cal/cm2/sec
3 = cal/mm2/sec
4 = Btu/ft2/sec
5 = Btu/in2/sec
6 = cal/cm2/min
7 = Btu/ft2/min

1166
8 = Btu/in2/min

heattransfercoefficient
1 = W/m2/K
2 = cal/cm2/C/sec
3 = cal/mm2/C/sec
4 = Btu/ft2/F/sec
5 = Btu/in2/F/sec
6 = cal/cm2/C/min
7 = Btu/ft2/F/min
8 = Btu/in2/F/min

massflowrate
1 = Kg/sec
2 = g/sec
3 = lb/sec
4 = Kg/min
5 = g/min
6 = lb/min

thermalconductivity
1 = W/m/K
2 = cal/cm/C/sec
3 = cal/mm/C/sec
4 = Btu/ft/F/sec
5 = Btu/in/F/sec
6 = cal/cm/C/min
7 = Btu/ft/F/min
8 = Btu/in/F/min

In the absence of units definition file, the user functions should be defined always in
CGS units.
USF Export Through User Function
This document aims to describe how through user functions, ProCAST can export specific results
using an usf file. This file is automatically read into Visual without any additional development or
configuration.
It allows the user to create new results, advanced results and analyse them directly into Visual-
Viewer (Cast).
Usage & Known Limitations
How to use it?

1167
A user function prefix_writeusf.c must be added in the case repository. User must insure that the
case has at least another user function (for recompilation purpose) or add USER set to 1 into the
p.dat run parameters file (same as for external_compute.c).
In the template user_writeusf.c, an example is embedded for both capabilities: casting only
(func_value_to_writeusfcast), and the whole model (func_value_to_writeusf), and for scalar or
vector fields.
Number of field (nfield) must be the integer returned from the function.
Key points:
 Results are written every VFREQ for casting and every TFREQ for casting+mold.
 When Simulation Parameter STORAGETYPE > 1, then it is controlled by
STORAGETYPE.
 What can be used:
Basically any float arrays in common_dll.h can be chosen. All "0" refer to previous step,
and "1" refers to current step.
 For casting domain u1,v1,w2,p1, vf_s1 (porosity fraction of volume), jctn1 (junction),
f_vol1 (FVOL result)...
 For thermal variables on mold+casting t1, fs1,..
 For stress fatigue_life on mold+casting and mushy_strain on casting.
Limitation: Other stress variables are on Gauss points. If those are to be used, this
functionality needs to be enhanced. For future development, it is required to have
feedback on what can be useful to add.
 No limitations on number of result fields that can be exported.
 2 files can be created which will consolidate results from these two categories:
 Only casting results when func_value_to_writeusfcast() is used
 Casting + mold results when func_value_to_writeusf() is used
 How compute and export:
 User puts computed fields into the array values[][]. In the fieldname, "USER" part
should stay the same, as it defined the categories into Visual-Viewer (Cast), but
anything can be used for the rest.
Recommendations: User must use the same name for all components of the same
vector.
 Due to limitation into Visual-Viewer (Cast), field name is limited to 101 characters and the
unit string is limited to 21 characters
 ‘isvec’ allows to handle vector results by numbering each array. In the next example, two
vectors of three components are set (1,2,3):
isvec[0] = 0;
isvec[1] = 1;
isvec[2] = 2;
isvec[3] = 0;
isvec[4] = 3;
isvec[5] = 1;
isvec[6] = 2;
isvec[7] = 3;

strcpy( fieldname[0], "USER porosity 1" );

1168
strcpy( fieldname[1], "USER velocity" );
strcpy( fieldname[2], "USER velocity" );
strcpy( fieldname[3], "USER porosity 2" );
strcpy( fieldname[4], "USER velocity" );
strcpy( fieldname[5], "USER v2" );
strcpy( fieldname[6], "USER v2" );
strcpy( fieldname[7], "USER v2" );

strcpy( unit[0], "fraction" );


strcpy( unit[1], "m/s" );
strcpy( unit[2], "m/s" );
strcpy( unit[3], "fraction" );
strcpy( unit[4], "m/s" );
strcpy( unit[5], "m/s" );
strcpy( unit[6], "m/s" );
strcpy( unit[7], "m/s" );

Input-Output Files
This section is listing the different files which are created and used by the different modules of
ProCAST.

Visual-Mesh (Cast) Files


PREFIX.gmrst IO Binary Restart file for meshing
PREFIX.sm IO ASCII Surface mesh
PREFIX.stlsm O ASCII Surface mesh from STL file
PREFIX.igs I ASCII IGES file
PREFIX.iges I ASCII IGES file
PREFIX.stp I ASCII STEP file
PREFIX.step I ASCII STEP file
PREFIX.xmt_txt I ASCII Parasolid file
PREFIX.x_t I ASCII Parasolid file
PREFIXd.dat I ASCII ProCAST restart file
PREFIX_pre_sh.sm I ASCII Shell meshing recovery file
PREFIX.patran I ASCII Patran file (volume mesh)
PREFIX.out IO ASCII Patran file (surface mesh)
PREFIX.ideas I ASCII I-DEAS file (volume mesh)
PREFIX.unv I ASCII I-DEAS file (surface mesh)
PREFIX.nastran I ASCII Nastran file (volume mesh)
PREFIX.ansys I ASCII ANSYS file (volume mesh)
PREFIX.stl I ASCII STL ASCII file
PREFIX.bstl I ASCII STL Binary file
PREFIX.mesh IO ASCII Volume mesh
PREFIX_sub.sm O ASCII Surface mesh extracted from volume mesh
PREFIX_sub_act.sm O ASCII An active subset of original surface mesh

1169
PREFIX.elem O ASCII Ansys element file
PREFIX.node O ASCII Ansys nodal file
PREFIX.wrk O ASCII Temporary working file for surface mesh
merge
PREFIX.ceg O ASCII Temporary working file for surface mesh
merge
usr_cmnds IO ASCII User defined icons
*.gif GIF capture
mesh.print
PREFIX.psm

Visual-Mesh (Cast), Visual-Cast Files


PREFIX.vdb IO Binary Input/Output file for/from
Visual-Mesh (Cast) & Visual-Cast
bcdb.xml IO ASCII Process Condition Database
BCDB_EDITGUI_SCHEMA.xml IO ASCII Gui definition for Process
condition
matdb.xml IO ASCII Material Database
DB_EDITGUI_SCHEMA.xml IO ASCII Gui definition for Material
Database
intfdb.xml IO ASCII Interface Database
INTFDB_EDITGUI_SCHEMA.xml IO ASCII Gui definition for Interface
Database
RunParam.xml IO ASCII Simulation Parameters
database
RunParamStringDefSchema.xml IO ASCII Gui definition for
Runparameters

Visual-Cast Files
PREFIX.vdb IO Binary General model setup (including the
geometry), also used for Restarts

PREFIXd.dat IO ASCII General model setup (including the


geometry), also used for Restarts. Read-Only
PREFIXp.dat IO ASCII Simulation Parameters file, also used
for Restarts. Read-Only
PREFIX.enc IO Binary Element number correspondence file in
case of Add/Delete Material
PREFIX.nnc IO Binary Node number correspondence file in case
of Add/Delete Material
PREFIXg0.dat IO ASCII Cut-off values per domain for Semi-
Solid casting
PREFIX_poro.d IO ASCII APM inputs file
PREFIXmechprop1.c IO ASCII User function file which generates
mechanical properties in file mentioned in the .c file
PREFIXmechprop2.c IO ASCII User function file which generates
mechanical properties in file mentioned in the .c file
PREFIXmechprop3.c IO ASCII User function file which generates
mechanical properties in file mentioned in the .c file

1170
PREFIXmechprop4.c IO ASCII User function file which generates
mechanical properties in file mentioned in the .c file
PREFIXmechprop5.c IO ASCII User function file which generates
mechanical properties in file mentioned in the .c file
PREFIXMETALLURGYLINK.dat I ASCII Information for TTT diagram
calculation
METTALURGY.dat I ASCII TTT data for calculation
PREFIXTTTref.dat I ASCII Material reference for TTT calculation
PREFIXMLp.dat I ASCII Initial phase (optional)
bc.db I ASCII Boundary conditions database
gas.db I ASCII Gas properties database for APM
matl.db I ASCII Material properties database
stress.db I ASCII Stress properties database
intf.db I ASCII Interface heat transfer database
proc.db I ASCII Process database
CT_Al.db I ASCII Al Thermodynamic database
CT_Cu.db I ASCII Cu Thermodynamic database
CT_Fe.db I ASCII Fe Thermodynamic database
CT_Ni.db I ASCII Ni Thermodynamic database
CT_Mg.db I ASCII Mg Thermodynamic database
CT_Ti.db I ASCII Ti Thermodynamic database
PREFIXt.unf I Binary Temperature results for extracting
initial condition
PREFIX.rnm I Binary Node renumbering
PREFIXd.unf I Binary Time step information, used for IC
extraction
PREFIXid.dat IO ASCII Inverse data
PREFIX.out I ASCII PATRAN mesh neutral file
PREFIX.unv I ASCII IDEAS mesh universal file
PREFIX.mesh I ASCII Meshcast file
predefined_%d_p.dat ASCII Pre-defined p.dat files
default_p.dat ASCII Default values of the p.dat file

INPUT Files (for the ProCAST Solver - Generated by DataCAST)


These files are also Output files for Visual-Viewer (Cast)
PREFIXg.unf O Binary Model description (Mesh, Material Settings,
BC settings)
PREFIXt.unf O Binary Temperature results file, storing initial
values
PREFIXs.unf O Binary Solid node coordinates for moving elements
PREFIXo.unf O Binary Enclosure node coordinates
PREFIX.rnm O Binary Node renumbering information, used by
PreCAST for temperature extraction
PREFIXff.unf O Binary Free faces information (for faster post-
processing)
PREFIXd.out O ASCII DataCAST synopsis information file

1171
PREFIXftg.dat O ASCII Fatigue Model information

OUTPUT Files (for Visual-Viewer (Cast))


PREFIXAPM.erfh5 O Binary Mesh and APM results file
PREFIX.sqz O Binary Pin Squeeze results file
PREFIXa.unf O Binary Start and end time of solidification
PREFIXb.unf O Binary Gas porosity
PREFIXc.unf O Binary Shrinkage porosity file
PREFIXChvorinov.unf O Binary Thermal modulus
PREFIXci.unf O Binary Cracking indicator
PREFIXcv.unf O Binary Pore volume
PREFIXcpv.unf O Binary Contact pressure
PREFIXd.unf O Binary Time step - step
PREFIXe.unf O Binary Turbulent dissipation rate
PREFIXemg.unf O Binary Electric field
PREFIXes.unf O Binary VON MISES stresses
PREFIXf.unf O Binary Fluid fraction (FVOL)
PREFIXfl.unf O Binary Fatigue life
PREFIXfr.unf O Binary Freckle indicator
PREFIXfs.unf O Binary Solid fraction
PREFIXft.unf O Binary Filling (wetting) time
PREFIXgn.unf O Binary Strain values at the gauss points
PREFIXgs.unf O Binary Stress values at the gauss points
PREFIXht.unf O Binary Hot tearing indicator
PREFIXk.unf O Binary Turbulent kinetic energic file
PREFIXmg.unf O Binary Magnetic field
PREFIXn.unf O Binary Non Newtonian shear rate and viscosity
PREFIXo.unf O Binary Nodal coordinates offset for enclosure
PREFIXp.unf O Binary Pressure
PREFIXpa.unf O Binary Peak acceleration for core blowing
PREFIXpp.unf O Binary Peak pressure for core blowing
PREFIXpv.unf O Binary Peak velocity for core blowing
PREFIXprt.unf O Binary Particle traces
PREFIXq.unf O Binary Heat flux
PREFIXr.unf O Binary Compressible density
PREFIXs.unf O Binary Solid node coordinates for moving
elements
PREFIXtv.unf O Binary Turbulent viscosity
PREFIXx.unf O Binary X displacements
PREFIXy.unf O Binary Y displacements
PREFIXz.unf O Binary Z displacements
PREFIXu.unf O Binary X velocity
PREFIXv.unf O Binary Y velocity
PREFIXw.unf O Binary Z Velocity

1172
PREFIXjct.usf O Binary JUNCTION results file
PREFIX_microFbase.usf O Binary Microstructure basic constituents
PREFIX_Fmix.usf O Binary Microstructure mixture
PREFIX_microProp.usf O Binary Microstructure mechanical properties
PREFIX_microSupl.usf O Binary Microstructure restart file
PREFIX.vf O ASCII View factors after symmetrization
PREFIX.view O ASCII View factor groups
PREFIX.serr O ASCII View factor row sum errors
PREFIXp.out O ASCII ProCAST run information file
PREFIXjct.out O ASCII JUNCTION information file

Files Necessary for a RESTART


(Some of these files are needed for Visual-Viewer (Cast))
PREFIXAmtx.unf O Binary Magnetic potential used with boundary
integral method
PREFIXbs0.unf O Binary Back stress 0, used in kinematic hardening
PREFIXbs1.unf O Binary Back stress 1, used in kinematic hardening
PREFIXcr.unf O Binary Curing reaction for RTM
PREFIXcp.unf O Binary Contact force
PREFIX.ctoc O Binary Radiation view factor information
PREFIX.fic O Binary Virtual mold information
PREFIX.fom O Binary Lost foam information
PREFIXfv.unf O Binary Fraction of void, used in cracking indicator
PREFIX.glue O Binary Status of glue nodes in lost foam
PREFIXgp.unf O Binary Contact gap
PREFIXmdc.unf O Binary Stored mass and diffusion matrices
PREFIX.mcf O Binary Stored coefficients for momentum equation
PREFIX.mrv O Binary Lost foam information
PREFIXm1.unf O Binary Micromodel, Ductile Iron Eutectic
PREFIXm2.unf O Binary Micromodel, Primary Dendrite
PREFIXm4.unf O Binary Micromodel, Coupled Stable/Metastable
Eutectic Growth
PREFIXm16.unf O Binary Micromodel, Gray/White Iron Eutectic
PREFIXm32.unf O Binary Micromodel, Ductile Iron Eutectoid
PREFIXm64.unf O Binary Micromodel, Gray Iron Eutectoid
PREFIXm128.unf O Binary Micromodel, Peritectic Transformation
PREFIXm256.unf O Binary Micromodel, Delta/Gamma, Gamma/Alpha,
Gamma/Cementite
PREFIXm512.unf O Binary Micromodel
PREFIXpn.unf O Binary Average penetration, penalty number
PREFIX.pr O Binary Pressure relaxation info
PREFIX.rmp O Binary Radiation face remapping
PREFIX.sel O Binary Highest filled element (FREESURF=2)
PREFIX.shk O Binary Shrinkage data, obsolete
PREFIXsm.unf O Binary Slave-master data

1173
PREFIXsr.unf O Binary Load residual
PREFIXst.unf O Binary Thermal load
PREFIXsth.unf O Binary Last thermal load
PREFIX.t2q O Binary Tri-to-quad (Radiation)
PREFIXtb.unf O Binary Turbulence data, obsolete
PREFIXthx.unf O Binary Semi-Solidcasting viscosity
PREFIXl.prf O Binary Temperature gradient at the solidus
PREFIXlp.unf O Binary Filling BC shut-off times

OUTPUT Files from Thermodynamic Database


PREFIX_pc_fcc.dat O Binary Partition coefficient for fcc phase
(gamma phase for Ni)
PREFIX_mu.dat O Binary Liquid viscosity
PREFIX_pc_bcc.dat O Binary Partition coefficient for bcc phase
(none for Ni)
PREFIX_M.dat O Binary Young's modulus
PREFIX_pc_overall.dat O Binary Overall partition coefficient
PREFIX_rho.dat O Binary Density (overall density and liquid
density)
PREFIX_rhos.dat O Binary Solid density (T,Fs, rhos)
PREFIX_h.dat O Binary Enthalpy
PREFIX_k.dat O Binary Thermal conductivity
PREFIX_pc_hcp.dat O Binary Partition coefficient for hcp phase
(none for Ni)
PREFIX_V.dat O Binary Poisson's ratio
PREFIX_lslope.dat O Binary Liquidus slope
PREFIX_pc_gp.dat O Binary Partition coefficient for gamma prime
phase
PREFIX_exp.dat O Binary Thermal expansion coefficient
PREFIX_fs.dat O Binary Fraction of solid
PREFIX_ys.dat O Binary Yield strength
PREFIX_strength.dat O Binary Yield and tensile strength for iron
casting

Files Generated by Visual-Viewer (Cast)


PREFIXes.unf O Binary Effective stress results
PREFIXs1.unf O Binary Principal stress 1 results
PREFIXs2.unf O Binary Principal stress 2 results
PREFIXs3.unf O Binary Principal stress 3 results
PREFIXss.unf O Binary Maximum shear stress
PREFIXsp.unf O Binary Average normal stress
PREFIXsx.unf O Binary Normal stress in X direction
PREFIXsy.unf O Binary Normal stress in Y direction
PREFIXsz.unf O Binary Normal stress in Z direction
PREFIXsxy.unf O Binary Shear stress on X-Y plane

1174
PREFIXsyz.unf O Binary Shear stress on Y-Z plane
PREFIXszx.unf O Binary Shear stress on Z-X plane
PREFIXepn.unf O Binary Effective plastic strain
PREFIXac.unf O Binary Alpha case
PREFIXac.ntl O Binary Alpha case neutral file
PREFIXdas.unf O Binary Secondary dendrite arm spacing
PREFIXdas.log O ASCII SDAS log
PREFIXdas.ntl O ASCII SDAS neutral file
PREFIXm.unf O Binary Mapping factor (RGL)
PREFIXm.log O ASCII Mapping factor log
PREFIXm.ntl O ASCII Mapping factor neutral file
PREFIXi.unf O Binary Isochrons
PREFIXi.log O ASCII Isochrons log
PREFIXi.ntl O ASCII Isochrons neutral file
PREFIXl.unf O Binary Feeding length
PREFIXl.log O ASCII Feeding length log
PREFIXl.ntl O ASCII Feeding length neutral file
PREFIXr.ntl O ASCII Radiation face geometry
PREFIXg.ntl O ASCII Mesh neutral file
PREFIXf.ntl O ASCII Radiation face to group neutral file
PREFIXe.ntl O ASCII Radiation row sum error neutral file
PREFIXs.ntl O ASCII Stress results neutral file
PREFIXt.ntl O ASCII Temperature neutral file
PREFIXt.log O ASCII Temperature log file
PREFIXq.ntl O ASCII Heat flux neutral file
PREFIXq.log O ASCII Heat flux log file
PREFIXp.ntl O ASCII Pressure neutral file
PREFIXp.log O ASCII Pressure log file
PREFIXv.ntl O ASCII Velocity neutral file
PREFIXv.log O ASCII Velocity log file
PREFIXd.ntl O ASCII Displacement neutral file
PREFIXd.log O ASCII Displacement log file
PREFIX.tt O ASCII Temperature-time
PREFIX.lv O ASCII Last view
PREFIX.clip O ASCII Slice data
*.gif O ASCII GIF file

Miscellaneous
(Some files are created for internal purposes)
PREFIX.cm
PREFIX.mtx
bem.out
PREFIXc.out
debug.out

1175
dbg.out
mem_usage
poros.out
PREFIX.rhs
PREFIX.lhs
PREFIX.sol
PREFIXrf.out
PREFIX.rhs_v
sconv
PREFIXf.out
PREFIX.phs
PREFIX.phase
PREFIX_phase_data
PREFIX_rho.dat
PREFIX_stress.dat
PREFIX_tdd.dat
PREFIX.err
PREFIXt.out

Tips & Traps


This section consists of the following topics:
 Inlet Velocity
 HPDC Shot Recommendations
 LPDC Recommendations
 Convergence Problems
 Stress Calculations
 Gaps in Stress Models
 Stress Visualization
 Shell Preheating in Investment Casting
Inlet Velocity
When a velocity Boundary condition is set in order to define an inlet of liquid metal, the question
of the value of the velocity and the value of the inlet diameter of the liquid jet is important.
The following graph is showing the free fall velocity after a given distance of free fall (a value of
gravity of 10 m/s2 was used for this calculation).

1176
One can see on the above graph that after 0.5 mm, the falling velocity is already 10 cm/s. After
1.25 cm, it is 0.5 m/s and after a falling height of 10 cm, the falling velocity is 1.4 m/s. After 20 cm,
the falling velocity is 2 m/s.
In usual casting conditions, the ladle (or crucible) is very often at a minimum of 10 or 20 cm
above the top of the pouring cup. Thus, physically, it is advised to set an inlet velocity (at the limit
of the model) between 1 and 2 m/s and not smaller. As a consequence, the inlet diameter should
be set accordingly in order to have the right inflow of metal.
If a too small inlet velocity is defined (e.g. 10 cm/s), the inlet diameter should be too large and
due to the strong acceleration on the first centimeters, the diameter of the accelerating liquid jet
will decrease very much. This situation is quite difficult to be modeled and should be avoided.
Finally, one should always be careful that the mesh size below a falling liquid stream should be
fine enough in order to have 2-3 elements through the thickness of the liquid jet.
When an "inlet BC" is defined, one should always be careful to set the right inlet surface so that
the corresponding inlet velocity is not too small (i.e. not smaller than 1 m/s). To do so, the
resulting inlet velocity should be checked at step 0 of the simulation. If this velocity is too small,
one should reduce the inlet surface.
HPDC Shot Recommendations
 The size (thickness) of the piston should be a least 5 times the size of the element mesh of
the chamber.
 The diameter of the piston should be a bit greater that the diameter of the chamber.
 One should leave a small gap between the piston and the chamber and define a NCOINC
interface between those 2 volumes.
LPDC Recommendations
The design of the ingate in LPDC is especially important in order to have good filling results.
Although the real final casting has not anymore an ingate cylinder (see 1 hereafter), it is
necessary to model an ingate cylinder which is long enough (see 2 hereafter). If this is not done,

1177
the pressure solution is not stable and the results will not be good. There is not an absolute rule
about the length of this ingate cylinder, but it is advised to add between 6 to 10 cm.

Concerning the inlet boundary conditions, a pressure curve should be set at the bottom of the
ingate cylinder (see figure below).

Then, the pressure curve which should be applied must be a pressure ramp, starting with a zero
pressure (it is supposed that PREF is set to 0 bar) and going up to the metallostatic pressure
corresponding to the height h (see the figure above). Thus, the maximum pressure (see 1 in the
figure below) should be equal to the metallostatic pressure of the height h (Pressure = density * g
* h), at the time (see 2 in the figure below) corresponding to the filling time. The shape of the
curve does not need to be a straight line as shown in the graph below.

1178
However, to retrieve a smoother solution at the beginning of the calculation, it is advisable to
apply a short delay before considering the pressure in the inlet. It means, for a given value of
PREF equal to 0 bar, the following profile should be used:

Please note that if the bottom of the ingate cylinder does not correspond to the liquid surface in
the furnace, the pressure ramp which is measured in the real process should be shifted to
correspond to the one sketcher.
The figure below is illustrating the pressure BC used in LPDC.

1179
In LPDC, when the solidification is mostly completed, the pressure is released in order to drain
the liquid metal which is in the inlet tube. This can be taken into account with the Simulation
Parameters DRAINFS and DRAINTIME (see the Simulation Parameters section for more
details).
All the remaining liquid (up to the fraction of solid defined by DRAINFS) which is connected to the
inlet pressure boundary condition location will be removed at the time specified by the value of
DRAINTIME.
The following figure is showing the results of two different calculations with different values of
DRAINTIME. As you can see the temperature in the casting and in the mold (taken at the same
time) are different, as the "heating effect "of the liquid in the inlet tube is different in both cases.

1180
The following figures are showing two examples with different values of DRAINTIME. One can
well see the effect of the DRAINTIME value on the final shape of the wheel near the inlet tube. In
the 20 s. example, it is obvious that the draining was performed too early.

1181
In the draining algorithm, all the liquid which is between the injection point (where the inlet
pressure BC is applied) and the DRAINFS isoline will be removed at the time of DRAINTIME,
regardless of the geometry of the casting. In the following example, the draining being applied
very early in the solidification process, almost all the cavity is drained (see next figure).

1182
However, in a normal situation, the volume below the dashed line (see next figure) should remain
in the mold and should not be drained. This situation is not taken into account in the algorithm as
it is normally not intended in the reality to have such situation.

1183
The draining algorithm is also applicable in the case of cycling calculations. In the following
simple example, one can see very well that due to the heating up of the die during the first cycles,
the shape of the casting at the drained location is changing.

1184
Convergence Problems
If a calculation does not converge or has problem to converge (this can be seen in the p.out file -
please refer to the Troubleshooting section for more details), the following operations can be
tried:

1185
The Thermal model does not converge
 Check the thermal material properties (in particular if an enthalpy curve is defined, check
that the curve is strictly in an ascending order)
 Modify the solver parameters from TDMA to CGSQ (with the CGSQ Simulation Parameter)
 Increase the convergence thermal Simulation Parameter CONVT from 1 to 2 (maximum 5)
 Modify the mesh in order to have a better quality
The fluid flow model does not converge (velocities of pressures)
 Modify the solver parameters from TDMA to CGSQ (with the CGSQ Simulation Parameter)
 Increase the convergence flow Simulation Parameter CONVV from 0.05 to 0.1 (maximum
0.5)
 Modify the mesh in order to have a better quality
Stress Calculations
 Stress calculations might be rather long (in terms of CPU time), as the six components of
the stress tensor have to be computed, in addition to Temperature, Pressure and the three
components of the velocity.
 In order to reduce CPU time, it is recommended to use as much as possible the "Vacant"
and "Rigid" options, as well as the symmetries.
 The contact algorithm does not take into account friction.
 Contact algorithm does not support 10 node tetra element.
 Stress calculations are starting as soon as the fraction of solid is larger than a critical
fraction defined by the Simulation Parameter CRITFS. By default, CRITFS = 0.5.
 It is strongly advised to run separately filling calculations and stress calculations in order to
save CPU time and memory.
Gaps in Stress Models
During a thermo-mechanical calculation, gaps may form between the different domains (e.g.
between the casting and the mold). ProCAST automatically accounts for the modification of the
interface heat transfer coefficient when gaps are forming.
The model which is used assumes that radiation and heat conduction through an air gap is
progressively replacing the transfer due to the contact (see the model in the figure below). If
VACUUM is set to 1, the heat conduction part is deactivated. When there is a contact, the heat
transfer coefficient is increased as a function of the pressure.

With h : adjusted heat transfer coefficient (to account for the gap or the contact)
h0 : initial value of the heat transfer coefficient (set in PreCAST)
hrad : radiative "equivalent heat transfer coefficient". It is computed using the Stefan-
Boltzmann law based on the temperature values of the interface
gap : air gap width
k : conductivity of air ( = 0 if VACUUM = 1 )

1186
A : empirical constant to account for contact pressure. The value is embedded in the
code (not manually editable)

The figure below illustrates the change of the resulting interface heat transfer coefficient, as a
function of the air gap width. Please note that the air thermal conductivity corresponds to a
temperature of about 800°C.

User definition of the gap properties


By default, the gap is filled with air (with the above properties) or with Vacuum. However, in
special cases, the user has the possibility to define other properties for the gap (e.g. flux
continuous casting of steel, or water in a bottom block of DC casting of Al).
To do so, the "interhtransfer.c" user function should be used. When there is a gap (and the
interhtransfer.c function is activated), the value returned by the function does correspond to h 0 in
the above equation (thus, if there is no gap, h = h 0). Moreover, the values of k (the "gap
conductivity") and of the Stefan-Boltzmann constant (which is used to calculate the equivalent
radiative heat transfer coefficient hrad) can be changed within the interhtransfer.c user function. To
modify k, one should assign the desired value to the "gap_cond" variable and for the Stefan-
Boltzmann constant, one should assign the "stefan" variable (see function hereafter).
By this means, it is possible to specify in the user function a gap equivalent heat transfer
coefficient as a function of the location for instance. For instance, above a given height, there is
some flux, thus, the value of k can be set to a "high" value corresponding to the flux and the
Stefan-Boltzmann constant can be set to zero to cancel the radiation. Below a given height, we
can model the effect of the water by setting a very large value of h0 (the values of the conductivity
and Stefan-Boltzmann will be negligible with respect to water cooling heat transfer coefficient). In
between, air and radiation can be considered. The following interhtransfer.c routine is illustrating
this example.

#include <stdio.h>

1187
#include <stdlib.h>
#include "common_dll.h" /* please note that this line was added in
2009.0 */
/* version to handle these gap definitions */

#define real double

#ifdef WIN
#define EXPORT _declspec(dllexport)
EXPORT real func_interhtransfer(char*, int, real, real, real, real, real,
real, int);
#else
real func_interhtransfer(char*, int, real, real, real, real, real, real,
int);
#endif

extern real usertemp1(int);


extern real userfs1(int);
extern real uservx1(int);
extern real uservy1(int);
extern real uservz1(int);
extern int nodNum (real,real,real,int,real* ,real* , real* );

/*
* interface heat transfer coefficient
*/

real func_interhtransfer(
char prefix[], /* case name */
int dimension, /* 2 = 2D ; 3 = 3D */
real temp, /* current temperature */
real fs, /* current fraction of solid */
real time, /* current time */
real x_coor, /* local coordinates: x */
real y_coor, /* local coordinates: y */
real z_coor, /* local coordinates: z */
int numBC) /* number of boundary condition */
{
/* ------------- Do not change anything above this line ------------- *
* ------------- Program your function below this line ------------- */

real h0;
real hmax;
real hmin;

1188
if (z_coor > hmax) /* liquid flux above hmax */
{
h0 = 2000. ;
gap_cond = 20. ; /* conductivity of the flux in the gap */
stefan = 0. ; /* zero value of Stefan-Boltzmann to cancel the
radiation */
}

else if (z_coor < hmin) /* water cooling in the bottom block */


{
h0 = 50000. ;
gap_cond = 1.e9; /* to have h = h0, Rgap should be very close to
zero and */
/* this can be achieved with a very high value of k
(gap_cond) */
stefan = 0. ; /* zero value of Stefan-Boltzmann to cancel the
radiation */
}

else
{
h0 = 500. ; /* default value for h0 */
/* default values for air gap , nothing has to be specified */
/* default value : stefan = 1.3541845E-12 cal/s cm2K4(this value
should be always specified in these CGS units) */
/* default value (air) : gap_cond = 0.079 W/m2K (the units should
correspond to the "units.dat" ones) */
}

return h0;
/* only h0 is returned, however, the values of gap_cond and stefan
defined above are also returned */
/* and will be used for this location upon exit of the function and for
the next location, it will be */
/* changed at the next call of the function. */
}

Stress Visualization
Stresses are rather complex to view, as it corresponds to a tensor (with 6 components).
ProCAST offers different possibilities to visualize these results, in addition to each of the
components of the stress tensor.

Effective Stress
There are several ways to evaluate the local stress state with a single value. The formula below
shows how the Effective Stress in Visual-Viewer (Cast) is calculated (e.g. in one dimension, the
effective stress corresponds to the stress itself). To simplify, one could consider that it

1189
corresponds to some kind of "average" value of the stress. As shown in the equation below, the
Effective Stress is always positive and thus, it does not allow to determine whether the state of
stress is in compression or in tension. To determine that, the other viewing possibilities should be
used.

The stress components which are in the square root correspond to the principal stresses.

Average Normal Stress


The following figure is showing the stress state (or the stress tensor) of a unit volume oriented
according to the X-, Y- and Z-coordinates.

The Average Normal Stress corresponds to the average of the three normal components. This
value can be either negative (mainly compressive state) of positive (mainly tensile state).

Maximum Shear Stress


The shear stresses components are highlighted in red in the figure below. The "maximum shear
stress" is defined by the equation below (where the stress components correspond to the
maximum and the minimum normal stresses).

1190
Principal Stresses
Considering the stress state of a given unit volume, it is possible to find a unit cube with a
different orientation, where all the shear stresses are zero. Thus, only the normal stresses are
remaining and they are called principal stresses. The principal stress 1 is the larger value and the
principal stress 3 is the smaller value. Positive values show a tensile state, whereas negative
values show a compressive state.
Example

1191
Shell Preheating in Investment Casting
For the simulation of investment casting processes, it is sometimes desired to model the
preheating of the shell in the furnace before the liquid metal is poured.
This is easily achievable in ProCAST, since it is possible to define a Heat boundary condition on
an interface, in exactly the same way as it is done on an external surface.
The only point to carefully check is that for an interface, two distinct regions will be present in the
list. For example, if we have two volumes in contact, one named shell an one named alloy, we will
have:
INTF_shell_alloy
INTF_alloy_shell
It is important to select the interface where shell is the master, that is, the one where the name
"shell" is mentioned first in the name.
When such preheating is modelled, it is important to activate the new run parameter RADFILL, by
setting RADFILL 1. This new treatment will stop the heat transfer due to radiation when the
interface shell alloy becomes filled with metal.

1192

You might also like