GiD - The personal pre and post processor

Extra functions

The main procedures available to be used in the TCL files, are listed below. All the usages and examples can be found on the 'cmas2d_customlib' problemtype.

  • customlib::InitWriteFile filename

Open the file for writing

  • customlib::EndWriteFile


  • customlib::InitMaterials list_of_condition_names

The list_of_condition_names is the list of these conditions were we can find a material, so we can consider it as 'used', assigning it a MID (Material Identifier) for further queries.

  • customlib::WriteString str

Writes the content of str in the opened file

  • customlib::WriteConnectivities list_of_condition_names parameters

Utility to print elements and connectivities.
In the spd file, we can define condition tags to assign properties to a GiD group. The list_of_condition_names is the list of these conditions whose groups' elements must be printed.
parameters is a list of lists of 3 words, and defines the format and the information that we want to print. The first word is always a format. The second word can be "element", "material", "property" or "string". "element" is set to write element information. "material" is set to print any material property. "string" is set to print a string. The third word depends on the second one. If it's "element", the third can be: "id" or "connectivities". If it's "material", the third one can be "MID", "Density" or any material property according to GetMaterials function. Obviously, to use 'material' data, a material must be defined in the condition.


Valid examples:

  • {"%10d" "element" "id"}
  • {"%10d" "element" "connectivities"}
  • {"%10d" "node" "id"}
  • {"%10d" "material" "MD"}
  • {"%10d" "material" "Density"}
  • {"%10d" "property" "Weight"}
  • {"%10d" "string" "str..."}
  • ...


Example:

set list_of_condition_names [list "Shells"]
set parameters [list {"%10d" "element" "id"} {"%10d" "element" "connectivities"} {"%10d" "material" "MID"} ]
customlib::WriteConnectivities $list_of_condition_names $parameters 
These instructions print the following text
1 54 52 43 1 2 59 61 51 1 3 68 70 67 1 4 53 57 47 1 ...
  • customlib::WriteNodes list_of_condition_names parameters ?flags?

Utility to print the nodes of the groups of the conditions specified at list_of_condition_names, and the information assigned to them.


Example:

set list_of_condition_names [list "Point_Weight"]
set parameters [list {"%1d" "element" "id"} {"%13.5e" "property" "Weight"}]
customlib::WriteNodes $list_of_condition_names $parameters

Output

1 7.80000e+000
83 9.60000e+000
108 7.80000e+000
  • customlib::GetNumberOfNodes list_of_condition_names

Utility to get the number of nodes of the groups of the conditions specified at list_of_condition_names.

  • customlib::WriteCoordinates formats

Writes the coordinates of the nodes of the model.

2D example:

customlib::WriteCoordinates "%5d %14.5e %14.5e%.0s\n"
Output:
1 6.89301E-002 8.61382E-003
2 7.49755E-002 1.26044E-002
3 7.44487E-002 3.68638E-003


3D example:

customlib::WriteCoordinates "%5d %14.5e %14.5e %14.5e\n"

Output:
1 6.89301E-002 8.61382E-003 8.61382E-003
2 7.49755E-002 1.26044E-002 1.26044E-002
3 7.44487E-002 3.68638E-003 3.68638E-003


  • customlib::GetMaterials ?state?

This procedure returns a nested dict, where the first key is the name of a material, the second key is the name of the property.
state can be 'used', to return only the used materials, or 'all' to return all the materials.


Example:

set mat_dict [customlib::GetMaterials used]
set aluminium [dict get $mat_dict "Aluminium"]
set density [dict get $aluminium "Density"]


  • customlib::GetMaterials ?state?

This procedure returns a nested dict, where the first key is the name of a material, the second key is the name of the property.
state can be 'used', to return only the used materials, or 'all' to return all the materials.


Example:

set mat_dict [customlib::GetMaterials used]
set aluminium [dict get $mat_dict "Aluminium"]
set density [dict get $aluminium "Density"]


  • customlib::GetNumberOfMaterials ?state?

state can be 'all' or 'used'.
Returns the number of materials in the database. If state is used, it returns the number of materials used in the model.


  • customlib::WriteMaterials parameters ?state?

state can be 'all' or 'used'.
Utility to print the list of materials, and their properties defined in parameters.


Example:

set parameters [list {"%4d" "material" "MID"} {"%13.5e" "material" "Density"}]
customlib::WriteMaterials $parameters used

Output:

1 7.85000e+003
2 2.65000e+003

COPYRIGHT © 2022 · GID · CIMNE