ABAQUS Interface         

ABAQUS import filter



The Abaqus import filer reads ABAQUS keyword input files(ASCII), generally having the extensions .inp and generates the corresponding Icemcfd/AI*Env domain (.uns), parameter (.par) and the boundary conditions file(.fbc) files. This filter currently supports ABAQUS release 6.3 keyword files. These files then get uploaded in AI*Env thus importing the mesh data, element type data, material data, local coordinate system information, section information and number of boundary conditions.

The present version of the filter reads the nodes(*NODE, *NGEN and *NCOPY) and elements (*ELEMENT, *ELGEN and *ELCOPY) commands and writes the domain file. So the Abaqus mesh gets completely imported into IcemCfd/AI*Env. 14 different elements types are also parsed by the filter and these element types get associated with the respective families. Solid, Shell and Beam sections are also parsed by the interface and corresponding materials and element families get associated with the sections. Overall 15 different material types and subtypes are supported by the interface. Different element families are created by the filter depending upon ELSET command and Boundary conditions applied to nodes. Please refer below to the "Families created By The Filter" and "Applying Boundary conditions on Nodes "section for further details regarding how the families are being created by the interface.


ABAQUS keywords supported :
The following ABAQUS keywords are currently parsed by the filter

1) *NODE :- The filter presently supports *NODE command along with options SYSTEM. It can support Cartesian, cylindrical and spherical coordinate systems. It converts other form of coordinate systems into Cartesian coordinate system. Presently the filter reads NSET option of *NODE command but corresponding families are not created.
2) *NGEN :- The filter supports NGEN command with options but generating points along a line. It does not support the Parabola and Circle option. Any coordinate system can be used as filter converts other form of coordinate systems into Cartesian coordinate system.
3) *ELEMENT :- The filter supports *ELEMENT command. It also reads the ELSET command accompanying. In case any element is not assigned any family then the element is placed in a dummy family. The family creation process is explained later on. For Element type supported, please refer below.
4) *ELGEN :- The filter supports the creation of elements based upon the *ELGEN command. It also reads the ELSET command accompanying. In case any element is not assigned any family then the element is placed in a dummy family. The family creation process is explained later on.
5) *ELSET :- Families are now created by the filter as per the ELSET commands. The filter supports the ELSET keyword when it comes in combination with *ELEMENT command or *ELGEN command or *ELSET command with GENERATE option or just plain *ELSET. Refer to the "Families created By The Filter" section for further details.
6) *MATERIAL :- The *MATERIAL command is now being processed by filter and the data is being written in the .par file. The material is given name based upon the NAME keyword which comes along with * MATERIAL command. Refer below for the materials being supported by the filter.
7) *NCOPY :- The interface supports creation of nodes using NCOPY command. Creation of node using options POLE, REFLECT=LINE/MIRROR/POINT have been supported. It is necessary to give the compulsory parameters CHANGE NUMBER and OLD SET. If optional NEW SET is given, then the new nodes will be included in the new set else they will be included in the old set.
8) *ELCOPY :- The interface supports creation of new elements using ELCOPY command. The new elements will have same type as the elements present in the element set defined by option OLD SET. Parameters ELEMENTS SHIFT, OLD SET and SHIFT NODES are required parameters. The new elements will be created in a new set mentioned by the keyword NEW SET. If it is not present then the new elements will be put in set mentioned by OLD SET parameter.
9) *BEAM_GENERAL_SECTION :- The *BEAM_GENERAL_SECTION is now being supported. The ELSET, DENSITY, POISSON, SECTION=GENERAL and ZERO parameters are supported. DEPENDENCIES and SECTION apart from GENERAL SECTION are not supported in AI*Env.
10) *SOLID_SECTION :- The *SOLID_SECTION command supports the required parameters ELSET and MATERIAL. It also supports optional parameter ORIENTATION. The COMPOSITE parameter which is mutually exclusive with MATERIAL parameter, is not supported.
11) *SHELL_SECTION :- SHELL_SECTION is not supported by AI_Env*. So this command gets mapped to SHELL_GENERAL_SECTION and in it's place SHELL_GENERAL_SECTION gets associated with the respective family.
12) *SHELL_GENERAL_SECTION :- The filter supports the required parameter ELSET along with optional parameters ORIENTATION and MATERIAL. The COMPOSITE parameter which is mutually exclusive with MATERIAL parameter, is not supported. Also optional parameter POISSON is not supported, however if user wants to associate Poisson value to a section, then it can be done by defining a new material and associating this material to the section using MATERIAL option.
13) *ORIENTATION :- The interface supports all the option of *ORIENTATION command except "Z RECTANGULAR" coordinate system defined by option SYSTEM.
14) *TRANSFORM :- The interface supports *TRANSFORM command which is used to specify local coordinate systems for displacement and rotational DOF at a node. All options of TRANSFORM command are supported.
15) *SPRING :- The *SPRING command is used for defining DOF, spring stiffness and frequency of SPRING type of elements. If a element family is of type spring, then a corresponding *SPRING command for that element family is necessary, otherwise that family of elements will not get associated with SPRING type of elements.
16) *DASHPOT :- The *DASHPOT command is used for defining DOF, dashpot coefficient and frequency of DASHPOT type of elements. If a element family is of type dashpot, then a corresponding *DASHPOT command for that element family is necessary, otherwise that family of elements will not get associated with DASHPOT type of elements.
17) *MASS :- The *MASS command is used for defining Mass value of MASS type of elements. If a element family is of type mass, then a corresponding *MASS command for that element family is necessary, otherwise that family of elements will not get associated with MASS type of elements.
18) *ROTARY INERTIA :- The *ROTARY INERTIA command is used for defining Mass value of MASS type of elements. If a element family is of type rotary inertia, then a corresponding *ROTARY INERTIA command for that element family is necessary, otherwise that family of elements will not get associated with ROTARY INERTIA type of elements.
19) *BOUNDARY :- With help of BOUNDARY keyword, boundary conditions can be applied on Node sets or nodes. Please refer below to the "Applying Boundary conditions on Nodes" section for further details
20) *STEP :- The *STEP command is also supported by the filter.


Families Created By The Filter :

It is important to note that the filter, in general, writes out a lot more families in the domain file than the number of parts in the corresponding .inp(.f) file. This is because of the different ways boundary conditions are written in ABAQUS and in Icemcfd/AI*Env. In ABAQUS , BCs are generally applied by defining a set of elements(or nodes) using the *NSET or *ELSET command to which a unique name is assigned. The BCs are then applied to these defined sets through these names. Also elements might belong to more than one set. In IcemCfd/AI*Env, a element can occur in only single family and boundary conditions can be applied only to families. So the ABAQUS sets are not directly written to Icemcfd/AI*Env but are further broken down into more families to ensure that no repeated elements in different families.

For example if two sets overlap, it would result in the creation of three IcemCfd/AI*Env families. One family for each set containing unique elements which are present only in those sets and one family containing common elements present in both the sets. So instead of two families, three families will get created. Then BC's which are applied to first set will be applied two families, first the family containing unique elements of that set, and second the family containing common elements present in both the sets. The names of families containing the unique elements will have name of those sets, while the family containing common elements will have family as combination of names of both sets separated by a underscore (_). Eg:- Suppose the sets names are BODY and TOP, then families created will have names BODY, TOP and BODY_TOP.

For BCs which apply to nodes, corresponding node elements are defined in the domain file and their families generated. However presently the filter does not create any families or elements for nodes defined in NSET commands.

Further, is any element is not occurring in any family, then it is placed in an orphan family. The all orphaned elements are grouped together depending upon their occurrence in the .inp(.f) files. These families have family names beginning with FAM_ followed by a number.


Applying Boundary conditions on Nodes :

In AI*Env boundary conditions can be applied only on elements and element families. So in case of ABAQUS keywords where boundary conditions are applied on node sets or nodes, following steps are taken by the filter.
In the case of boundary conditions being applied either on node sets or nodes, new 0-D elements are created for the nodes.
If the boundary condition is being applied on a node set, a new family is created having naming format "NODE_BOUNDARY_FAMILY_*_NSET-NAME". For all the nodes present in the node sets, corresponding new 0-D node elements are created and boundary conditions are applied on them. In the case of boundary condition being applied on nodes, all the nodes having same degree of freedom and boundary condition values are grouped together in a single family, having naming format "NODE_BOUNDARY_FAMILY_*" and boundary condition is applied on that family. Even for these nodes, corresponding new 0-D elements are created.


ABAQUS Element Types Support :
The following ABAQUS Element Types are currently parsed by the filter

1) Solid Elements :- 1D, 2D and 3D solid elements.
2) Beam Elements
3) Shell Elements
4) Membrane
5) Trusses
6) Frame
7) Elbow
8) Connector Elements
9) Spring
10) Dashpot
11) Rigid Elements
12) Axis Symmetric Solid Elements
13) Point Mass Elements 14) Rotary Inertia Elements

Material Types Supported :
The following ABAQUS Material Types and Commands are currently parsed by the filter

1) *ELASTIC :- Linear elastic materials defined by *ELASTIC command are parsed by the filter. The following subtypes are supported.

a) Isotropic :- Isotropic elastic materials are supported with filter accepting values for Young's modulus, Poisson's ratio and Temperature. Temperature dependent variable values are also supported.
b) Engineering Constants :- The engineering constants option is supported where values of Young's modulus (E1, E2 and E3), Poisson's ratio (Nu12, Nu13 and Nu23), Shear modulus (G12, G13 and G23) and Temperature are filtered. Temperature dependent variable values are also supported.
c) Lamina :- The Lamina option is parsed by the filter. The values of Young's modulus (E1,E2), Poisson's ratio (Nu12), Shear modulus (G12, G13 and G23) and Temperature are accepted. Temperature dependent variable values are also supported.
d) Orthotropic :- Orhtotropic elastic materials are parsed by the filter accepting values of D1111, D1122, D2222, D1133, D2233, D3333, D1212, D1313, D2323 and temperature. Temperature dependent variable values are also supported.
e) Anisotropic :- Anisotropic elastic materials are parsed by the filter accepting values of D1111, D1122, D2222, D1133, D2233, D3333, D1112, D2212, D3312, D1212, D1113, D2213, D3313, D1213, D1313, D1123, D2223, D3323, D1223, D1323, D2323 and temperature. Temperature dependent variable values are also supported.

2) *PLASTIC :- Plastic materials with hardening options Isotropic, Kinematic and Combined are supported presently. Values Yield stress, Plastic strain and Temperature are accepted. Temperature dependent variable values are also supported.
3) *DENSITY :- In this option, value of density and temperature is accepted. Temperature dependent variable values are also supported.
4) *DAMPING :-
5) *EXPANSION :- Expansion properties can be defined using these commands which is parsed by the filter. Temperature dependent variable values are also supported. The following subtypes are supported.

a) Isotropic :-
b) Orthotropic :-
c) Anisotropic :-

6) *CONDUCTIVITY :- Conductivity properties can be defined using these commands which is parsed by the filter. Temperature dependent variable values are also supported. The following subtypes are supported.

a) Isotropic :-
b) Orthotropic :-
c) Anisotropic :-

7) *SPECIFIC :- Specific heat properties defined by *SPECIFIC command are read by the filter. Temperature dependent variable values are also supported.


Important Points :

1) Even though the filter supports keywords or family names occurring in lower case or combination of lower and upper case it is recommended that all keywords be written in upper case. In case the keywords/families are written in lower case, the filter converts them in upper case. So, if in input file there are sets with names BOTTOM and bottom, then the filter will consider these two set as a single set and group all the elements in these two sets in a single set and name the set as BOTTOM.
2) For the case where elements are being duplicated, for example, element gets generated in a *ELGEN command and further on it is again defined in the *ELEMENT, then the filter will consider only the elements generated in *ELEMENT commands and will ignore any duplicate elements being created by *ELGEN commands and display a warning message.
3) Try to avoid defining duplicate elements, for example elements are already defined in *ELEMENT command are again being defined in *ELGEN/*ELEMENT command. Even if the filter goes through reading the filter, data inconsistencies may occur resulting improper meshing or improper association of families and elements.
4) The filter does not support *INCLUDE, *PART and *INSTANCE commands.
5) Even though the filter processes *NSET command, BC's or further operations on these sets are not yet supported by the filter. So if there are any BC's applied to NSET's they will not appear in IcemCfd/AI*Env.
6) As per Abaqus manuals, for any data input line, maximum number of input values can be 16. Even though the filter can handle upto 27 inputs on a single line, try avoiding having more than 16 inputs on a single data line.
7) In *MATERIAL command, if the refered family name does not exist, i.e. it does not associate any section that material, however that material will be created in the material table.
8) In the case of Rigid body elements, the element families will get imported, however cross sectional information for these elements which is defined by *RIGID BODY command will not get parsed as the interface presently does not support *RIGID BODY command.