Postprocess results format: ProjectName.post.res

Note : The new postprocess results format requires GiD version 6.1.4b or higher.

Note : Code developers can download the GiDpost tool from the GiD web page (http://www.gidhome.com/support_team/gidpost.html ); this is a C/C++/Fortran library for creating postprocess files for GiD in both ASCII and compressed binary format.

This is the ASCII format description:

The first line of the files with results written in this new postprocess format should be:

GiD Post Results File 1.0

Comment lines are allowed and should begin with a '#'. Blank lines are also allowed.

Results files can also be included with the keyword include , for instance:

include "My Other Results File"

This is useful, for instance, for sharing several GaussPoints definitions and ResultRangeTable among different analyses.

This 'include' should be outside the Blocks of information.

There are several types of Blocks of information, all of them identified by a keyword:

Gauss Points

If Gauss points are to be included, they must be defined before the Result which uses them. Each Gauss points block is defined between the lines GaussPoints and End GaussPoints.

The structure is as follows, and should:

GaussPoints "gauss_points_name" Elemtype my_type "mesh_name"

where

  • GaussPoints, elemtype: are not case-sensitive;
  • "gauss_points_name": is a name for the gauss points set, which will be used as reference by the results that are located on these gauss points;
  • my_type: decribes which element type these gauss points are for, i.e. Point, Linear, Triangle, Quadrilateral, Tetrahedra or Hexahedra ;
  • "mesh_name": is an optional field. If this field is missing, the gauss points are defined for all the elements of type my_type. If a mesh name is given, the gauss points are only defined for this mesh.

Number of Gauss Points: number_gauss_points_per_element

Nodes included

Nodes not included

Natural Coordinates: Internal

Natural Coordinates: Given

natural_coordinates_for_gauss_point_1 . . . natural_coordinates_for_gauss_point_n

where

  • 1, 3, 6 for Triangles;
  • 1, 4, 9 for Quadrilaterals;
  • 1, 4, 10 for Tetrahedra;
  • 1, 8, 27 for Hexahedra;
  • 1, 6 for Prisms;
  • 1, 5 for Pyramids; and
  • 1, ... n points equally spaced over lines.

For triangles and quadrilaterals the order of the gauss points with Internal natural coordinates will be this:

Internal coordinates:

( 0, 0)

Internal coordinates:

a=0.57735027

(-a,-a) ( a,-a)

( a, a) (-a, a)

Internal coordinates:

a=0.77459667

(-a,-a) ( a,-a) ( a, a)

(-a, a) ( 0,-a) ( a, 0)

( 0, a) (-a, 0) ( 0, 0)

Gauss Points positions of the quadrature of Gauss-Legendre Quadrilaterals

Internal coordinates:

a=1/3

( a, a)

Internal coordinates:

a=1/2

( a, 0) ( a, a) ( 0, a)

Internal coordinates:

a=0.09157621 b=0.81684757

c=0.44594849 d=0.10810301

( a, a) ( b, a) ( a, b)

( c, d) ( c, c) ( d, c)

Gauss Points positions of the quadrature of Gauss for Triangles

For tetrahedra the order of the Internal Gauss Points is this:

Internal coordinates:

a=(5+3*sqrt(5))/20=0.585410196624968

b=(5-sqrt(5))/20 =0.138196601125010

( b, b, b) ( a, b, b) ( b, a, b) ( b, b, a)

Internal coordinates:

a=0.108103018168070

b=0.445948490915965

c=0.816847572980459

( a, a, a) ( c, a, a) ( a, c, a) ( a, a, c)

( b, a, a) ( b, b, a) ( a, b, a)

( a, a, b) ( b, a, b) ( a, b, b)

For hexahedra the order of the Internal Gauss Points is this:

Internal coordinates:

a=0.577350269189626

(-a,-a,-a) ( a,-a,-a) ( a, a,-a) (-a, a,-a)

(-a,-a, a) ( a,-a, a) ( a, a, a) (-a, a, a)

Internal coordinates:

a = 0.774596669241483

(-a,-a,-a) ( a,-a,-a) ( a, a,-a) (-a, a,-a)

(-a,-a, a) ( a,-a, a) ( a, a, a) (-a, a, a)

( 0,-a,-a) ( a, 0,-a) ( 0, a,-a) (-a, 0,-a)

(-a,-a, 0) ( a,-a, 0) ( a, a, 0) (-a, a, 0)

( 0,-a, a) ( a, 0, a) ( 0, a, a) (-a, 0, a)

( 0, 0,-a)

( 0,-a, 0) ( a, 0, 0) ( 0, a, 0) (-a, 0, 0)

( 0, 0, a)

( 0, 0, 0)

For prisms the order of the Internal Gauss Points is this:

Internal coordinates:

a=1/6=0.166666666666666

b=4/6=0.666666666666666

c=1/2-1/(2sqrt(3)) =0.211324865405187

d=1/2+1/(2sqrt(3))=0.788675134594812

( a, a, c) ( b, a, c) ( a, b, c)

( a, a, d) ( b, a, d) ( a, b, d)

For pyramids the order of the Internal Gauss Points will be this:

Internal coordinates:

a=8.0*sqrt(2.0/15.0)/ 5.0 =0.584237394672177

b=-2/3 =-0.666666666666666

c=2/5 = 0.4

( -a, -a, b)

( a, -a, b)

( a, a, b)

( -a, a, b)

( 0.0, 0.0, c)

The given natural coordinates for Gauss Points should range:

  • between 0.0 and 1.0 for Triangles, Tetrahedra and Prisms, and
  • between -1.0 and 1.0 for Quadrilaterals, Hexahedra and Pyramids.

Note: If the natural coordinates used are the internal ones, almost all the Results visualization possibilities will have some limitations for tetrahedra and hexahedra with more than one gauss points. If the natural coordinates are given, these limitations are extended to those elements with number_gauss_points_per_element not included in the list written above.

Nodes included

Nodes not included

Note: By now, Natural Coordinates for linear elements cannot be "Given"

End GaussPoints

where End GaussPoints: is not case-sensitive.

Here is an example of results on Gauss Points:

GaussPoints "Board gauss internal" ElemType Triangle "board"

Number Of Gauss Points: 3

Natural Coordinates: internal

end gausspoints

Result Range Table

If a Result Range Table is to be included, it must be defined before the Result which uses it.

Each Result Range Table is defined between the lines ResultRangesTable and End ResultRangesTable.

The structure is as follows and should:

ResultRangesTable "ResultsRangeTableName"

where ResultRangesTable: is not case-sensitive; "ResultsRangeTableName": is a name for the Result Ranges Table, which will be used as a reference by the results that use this Result Ranges Table.

Min_Value - Max_Value: "Range Name"

where

  • Min_value : is the minimum value of the range, and may be void if the Max_value is given. If void, the minimum value of the result will be used;
  • Max_value : is the maximum value of the range, and may be void if the Min_value is given. If void, the maximum value of the result will be used;
  • "Range Name" : is the name of the range which will appear on legends and labels.

End ResultRangesTable

where

End ResultRangesTable: is not case-sensitive.

Here are several examples of results range tables:

ResultRangesTable "My table"

# all the ranges are min <= res < max except

# the last range is min <= res <= max

- 0.3: "Less"

0.3 - 0.7: "Normal"

0.7 - : "Too much"

End ResultRangesTable

ResultRangesTable "My table"

0.3 - 0.7: "Normal"

0.7 - 0.9: "Too much"

End ResultRangesTable

ResultRangesTable "My table"

0.3 - 0.7: "Normal"

0.7 - : "Too much"

End ResultRangesTable

Result block

Each Result block is identified by a Result header, followed by several optional properties: component names, ranges table, and the result values, defined by the lines Values and End Values.

The structure is as follows and should:

Result "result name" "analysis name" step_value my_result_type my_location "location name"

where

Note: Results can be grouped into 'folders' like in the following picture

Results grouped in folders

by just grouping of results using slahes in the result names:

Result “Mechanical//Pressures//Water pressure ” “Time analysis” 60 …

Result “Physical//Saturation ” “Time analysis” 60 Scalar OnNodes

and so on...

ResultRangesTable "Name of a result ranges table" ComponentNames "Name of Component 1", "Name of Component 2"

where

Values

node_or_elem_number component_1_value component_2_value

. . . node_or_elem_number component_1_value component_2_valu e

End Values

where

are the values of the result at the related 'node_or_elem_number'.

The number of results values are limited thus:

For results in gauss points, each element must have 'ngauss' lines of results.

For example, if the number of gauss points is 3, then for an element, 3 lines of gauss point result must appear.

Values

1 1.155

2.9

3.955

End Values

Holes are allowed in any result. The element nodes with no result defined will not be drawn, i.e. they will appear transparent.

The number of components for each Result Value are:

e1=euler angle 1

e2=euler angle 2

e3=euler angle 3

cosA=cos(e1)

sinA=sin(e1)

cosB=cos(e2)

sinB=sin(e2)

cosC=cos(e3)

sinC=sin(e3)

VectorX(x)=cosC*cosA-cosB*sinA*sinC

VectorX(y)=-sinC*cosA-cosB*sinA*cosC

VectorX(z)=sinB*sinA

VectorY(x)=cosC*sinA-cosB*cosA*sinC

VectorY(y)=-sinC*sinA-cosB*cosA*cosC

VectorY(z)=-sinB*cosA

VectorZ(x)=sinC*sinB

VectorZ(y)=cosC*sinB

VectorZ(z)=cosB

Look for LocalAxesDef(EulerAngles) atSpecific commands for a more detailed explanation.

Note: For Matrix and PlainDeformationMatrix results, the Si, Sii and Siii components are calculated by GiD, which represents the eigen values & vectors of the matrix results, and which are ordered according to the eigen value.

Result group

Results can be grouped into one block. These results belong to the same time step of the same analysis and are located in the same place. So all the results in the group are nodal results or are defined over the same gauss points set.

Each Result group is identified by a ResultGroup header, followed by the results descriptions and its optional properties - such as components names and ranges tables, and the results values - all between the lines Values and End values.

The structure is as follows and should:

ResultGroup "analysis name" step_value my_location "location name"

where

ResultDescription "result name" my_result_type[:components_number]

ResultRangesTable "Name of a result ranges table"

ComponentNames "Name of Component 1", "Name of Component 2"

where

  • One for a Scalar: the_scalar_value
  • Three for a Vector: X, Y and Z
  • Six for a Matrix: Sxx, Syy, Szz, Sxy, Syz and Sxz
  • Four for a PlainDeformationMatrix: Sxx_value, Syy, Sxy and Szz
  • Twelve for a MainMatrix: Si, Sii, Siii, ViX, ViY, ViZ, ViiX, ViiY, ViiZ, ViiiX, ViiiY and ViiiZ
  • Three for a LocalAxes: euler_ang_1, euler_ang_2 and euler_ang_3

Following the description of the type of the result, an optional modifier can be appended to specify the number of components separated by a colon. It only makes sense to indicate the number of components on vectors and matrices:

  • Vector:2: X and Y
  • Vector:3: X, Y and Z
  • Vector:4: X, Y, Z and |Vector| (module of the vector, with sign for some tricks)

The default (Vector) is 3 components per vector.

  • Matrix:3: Sxx, Syy and Sxy
  • Matrix:6: Sxx, Syy, Szz, Sxy, Syz and Sxz

The default (Matrix) is 6 components for matrices.

Here are some examples:

ResultDescription "Displacements" Vector:2

ResultDescription "2D matrix" Matrix:3

ResultDescription "LineDiagramVector" Vector:4

and where (optional properties)

Values

location_1 result_1_component_1_value result_1_component_2_value result_1_component_3_value result_2_component_2_value result_2_component_2_value result_2_component_3_value

. . .

location_n result_1_component_1_value result_1_component_2_value result_1_component_3_value result_2_component_2_value result_2_component_2_value result_2_component_3_value

End Values

where

are the values of the various results described with ResultDescription for each location. All the results values for the location 'i' should be written in the same line 'i'.

The number of results values are limited thus:

Holes are allowed. The element nodes with no result defined will not be drawn, i.e. they will appear transparent.

The number of components for each ResultDescription are:

Note: Vectors in a ResultGroup always have three components.

Note: Matrices in a ResultGroup always have six components.

Note: All the results of one node or gauss point should be written on the same line.

Note: For Matrix and PlainDeformationMatrix results, the Si, Sii and Siii components are calculated by GiD, which represents the eigen values & vectors of the matrix results, and which are ordered according to the eigen value.

Nodal ResultGroup example:

ResultGroup "Load Analysis" 1 OnNodes

ResultDescription "Ranges test" Scalar

ResultRangesTable "My table"

ResultDescription "Scalar test" Scalar

ResultRangesTable "Pressure"

ResultDescription "Displacements" Vector

ComponentNames "X-Displ", "Y-Displ" "Z-Displ"

ResultDescription "Nodal Stresses" Matrix

ComponentNames "Sx", "Sy", "Sz", "Sxy", "Syz", "Sxz"

Values

1 0.0 0.000E+00 0.000E+00 0.000E+00 0.0 0.550E+00 0.972E-01 -0.154E+00 0.0 0.0 0.0

2 6.4e-01 0.208E-04 0.208E-04 -0.191E-04 0.0 0.506E+00 0.338E-01 -0.105E+00 0.0 0.0 0.0

3 0.0 0.355E-04 0.355E-04 -0.376E-04 0.0 0.377E+00 0.441E-02 -0.547E-01 0.0 0.0 0.0

...

115 7.8e-01 0.427E-04 0.427E-04 -0.175E-03 0.0 0.156E-01 -0.158E-01 -0.300E-01 0.0 0.0 0.0

116 7.4e-01 0.243E-04 0.243E-04 -0.189E-03 0.0 0.216E-02 -0.968E-02 -0.231E-01 0.0 0.0 0.0

End Values

Gauss Points ResultGroup example:

GaussPoints "My Gauss" ElemType Triangle "2D Beam"

Number Of Gauss Points : 3

Natural Coordinates : Internal

End gausspoints

ResultGroup "Load Analysis" 1 OnGaussPoints "My Gauss"

ResultDescription "Gauss test" Scalar

ResultDescription "Vector Gauss" Vector

ResultDescription "Gauss Points Stresses" PlainDeformationMatrix

Values

1 1.05 1 0 0.0 -19.4607 -1.15932 -1.43171 -6.18601

2.1 0 1 0.0 -19.4607 -1.15932 -1.43171 -6.18601

3.15 1 1 0.0 -19.4607 -1.15932 -1.43171 -6.18601

2 1.2 0 0 0.0 -20.6207 0.596461 5.04752 -6.00727

2.25 0 0 0.0 -20.6207 0.596461 5.04752 -6.00727

3.3 2.0855e-05 -1.9174e-05 0.0 -20.6207 0.596461 5.04752 -6.00727

3 1.35 2.0855e-05 -1.9174e-05 0.0 -16.0982 -1.25991 2.15101 -5.20742

2.4 2.0855e-05 -1.9174e-05 0.0 -16.0982 -1.25991 2.15101 -5.20742

3.45 2.0855e-05 -1.9174e-05 0.0 -16.0982 -1.25991 2.15101 -5.20742

...

191 29.55 4.2781e-05 -0.00017594 0.0 -0.468376 12.1979 0.610867 3.51885

30.6 4.2781e-05 -0.00017594 0.0 -0.468376 12.1979 0.610867 3.51885

31.65 4.2781e-05 -0.00017594 0.0 -0.468376 12.1979 0.610867 3.51885

192 29.7 4.2781e-05 -0.00017594 0.0 0.747727 11.0624 1.13201 3.54303

30.75 4.2781e-05 -0.00017594 0.0 0.747727 11.0624 1.13201 3.54303

31.8 2.4357e-05 -0.00018974 0.0 0.747727 11.0624 1.13201 3.54303

End Values

Results example

Here is an example of results for the table in the previous example (see Mesh example ):

GiD Post Results File 1.0

GaussPoints "Board gauss internal" ElemType Triangle "board"

Number Of Gauss Points: 3

Natural Coordinates: internal

end gausspoints

GaussPoints "Board gauss given" ElemType Triangle "board"

Number Of Gauss Points: 3

Natural Coordinates: Given

0.2 0.2

0.6 0.2

0.2 0.6

End gausspoints

GaussPoints "Board elements" ElemType Triangle "board"

Number Of Gauss Points: 1

Natural Coordinates: internal

end gausspoints

GaussPoints "Legs gauss points" ElemType Linear

Number Of Gauss Points: 5

Nodes included

Natural Coordinates: Internal

End Gausspoints

ResultRangesTable "My table"

# el ultimo rango es min <= res <= max

- 0.3: "Less"

0.3 - 0.9: "Normal"

0.9 - 1.2: "Too much"

End ResultRangesTable

Result "Gauss element" "Load Analysis" 1 Scalar OnGaussPoints "Board elements"

Values

5 0.00000E+00

6 0.20855E-04

7 0.35517E-04

8 0.46098E-04

9 0.54377E-04

10 0.60728E-04

11 0.65328E-04

12 0.68332E-04

13 0.69931E-04

14 0.70425E-04

15 0.70452E-04

16 0.51224E-04

17 0.32917E-04

18 0.15190E-04

19 -0.32415E-05

20 -0.22903E-04

21 -0.22919E-04

22 -0.22283E-04

End Values

Result "Displacements" "Load Analysis" 1 Vector OnNodes

ResultRangesTable "My table"

ComponentNames "X-Displ", "Y-Displ", "Z-Displ"

Values

1 0.0 0.0 0.0

2 -0.1 0.1 0.5

3 0.0 0.0 0.8

4 -0.04 0.04 1.0

5 -0.05 0.05 0.7

6 0.0 0.0 0.0

7 -0.04 -0.04 1.0

8 0.0 0.0 1.2

9 -0.1 -0.1 0.5

10 0.05 0.05 0.7

11 -0.05 -0.05 0.7

12 0.04 0.04 1.0

13 0.04 -0.04 1.0

14 0.05 -0.05 0.7

15 0.0 0.0 0.0

16 0.1 0.1 0.5

17 0.0 0.0 0.8

18 0.0 0.0 0.0

19 0.1 -0.1 0.5

End Values

Result "Gauss displacements" "Load Analysis" 1 Vector OnGaussPoints "Board gauss given"

Values

5 0.1 -0.1 0.5

0.0 0.0 0.8

0.04 -0.04 1.0

6 0.0 0.0 0.8

-0.1 -0.1 0.5

-0.04 -0.04 1.0

7 -0.1 0.1 0.5

0.0 0.0 0.8

-0.04 0.04 1.0

8 0.0 0.0 0.8

0.1 0.1 0.5

0.04 0.04 1.0

9 0.04 0.04 1.0

0.1 0.1 0.5

0.05 0.05 0.7

10 0.04 0.04 1.0

0.05 0.05 0.7

-0.04 0.04 1.0

11 -0.04 -0.04 1.0

-0.1 -0.1 0.5

-0.05 -0.05 0.7

12 -0.04 -0.04 1.0

-0.05 -0.05 0.7

0.04 -0.04 1.0

13 -0.1 0.1 0.5

-0.04 0.04 1.0

-0.05 0.05 0.7

14 -0.05 0.05 0.7

-0.04 0.04 1.0

0.05 0.05 0.7

15 0.1 -0.1 0.5

0.04 -0.04 1.0

0.05 -0.05 0.7

16 0.05 -0.05 0.7

0.04 -0.04 1.0

-0.05 -0.05 0.7

17 0.0 0.0 0.8

-0.04 -0.04 1.0

-0.04 0.04 1.0

18 0.0 0.0 0.8

0.04 0.04 1.0

0.04 -0.04 1.0

19 0.04 -0.04 1.0

0.04 0.04 1.0

0.0 0.0 1.2

20 0.04 -0.04 1.0

0.0 0.0 1.2

-0.04 -0.04 1.0

21 -0.04 -0.04 1.0

0.0 0.0 1.2

-0.04 0.04 1.0

22 -0.04 0.04 1.0

0.0 0.0 1.2

0.04 0.04 1.0

End Values

Result "Legs gauss displacements" "Load Analysis" 1 Vector OnGaussPoints "Legs gauss points"

Values

1 -0.1 -0.1 0.5

-0.2 -0.2 0.375

-0.05 -0.05 0.25

0.2 0.2 0.125

0.0 0.0 0.0

2 0.1 -0.1 0.5

0.2 -0.2 0.375

0.05 -0.05 0.25

-0.2 0.2 0.125

0.0 0.0 0.0

3 0.1 0.1 0.5

0.2 0.2 0.375

0.05 0.05 0.25

-0.2 -0.2 0.125

0.0 0.0 0.0

4 -0.1 0.1 0.5

-0.2 0.2 0.375

-0.05 0.05 0.25

0.2 -0.2 0.125

0.0 0.0 0.0

End Values