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:
- Begin with a result header that follows this model:
Result "result name" "analysis name" step_value result_type result_location "location name"
where
-
- Result: is not case-sensitive;
- "result name": is a name for the Result, which will be used for menus; if the result name contains spaces it should be written between "" or between {}.
- "analysis name": is the name of the analysis of this Result, which will be used for menus; if the analysis name contains spaces it should be written between "" or between {}.
- step_value: is the value of the step inside the analysis "analysis name";
- result_type: describes the type of the Result. It should be one of the following:
- Scalar: one component per result
- Vector: two, three or four components for result: x, y, z and ( signed) modulus
- Matrix: three components for 2D matrices, six components for 3D matrices
- PlainDeformationMatrix: four components: Sxx, Syy, Sxy, Szz
- MainMatrix: the three main unitary eigen vectors (three components each) and three eigen values of the matrix
- LocalAxes: three euler angles to specify the local axis
- ComplexScalar: two components to specify a + b · i
- ComplexVector: four components for 2D complex vectors, six or nine components for 3D vectors: rX iX rY iY rZ iZ |r| |i| |vector| --> to specify the vector ( rX + iX, rY + iY, rZ + iZ)
- ComplexMatrix: six components for 2D matrices ( Sxx_real, Syy_real, Sxy_real, Sxx_imag, Syy_imag, Sxy_imag), and twelwe components for 3D matrices (Sxx_real, Syy_real, Szz_real, Sxy_real, Syz_real, Sxz_real, Sxx_imag, Syy_imag, Szz_imag, Sxy_imag, Syz_imag, Sxz_imag)
- result_location: is where the Result is located. It should be one of the following:
- OnNodes
- OnGaussPoints
- OnNurbsSurface
If the Result is OnGaussPoints, a "location name" should be entered;
-
- "location name": is the name of the Gauss Points on which the Result is defined.
Note: Results can be visually grouped into 'folders' like in the following picture
Results grouped into folders
by just grouping of results using double slahes in the result names:
Result “Mechanical//Pressures//Water pressure” “Time analysis” 60
Result “Physical//Saturation” “Time analysis” 60 Scalar OnNodes
and so on...
- Be followed (optionally) by result properties:
ResultRangesTable "Name of a result ranges table"
ComponentNames "Name of Component 1", "Name of Component 2"
Unit "result unit"
where
-
- ResultRangesTable "Name of a result ranges table": (optional) is not case-sensitive, followed by the name of the previously defined Result Ranges Table, which will be used if the Contour Ranges result visualization is chosen (see Result Range Table);
- ComponentNames "Name of Component 1", "Name of Component 2": (optional) is not case-sensitive, followed by the names of the components of the results which will be used in GiD. Missing components names will be automatically generated. The number of Component Names are:
- One for a Scalar Result
- Three for a Vector Result
- Six for a Matrix Result
- Four for a PlainDeformationMatrix Result
- Six for a MainMatrix Result
- Three for a LocalAxes Result
- Two for a ComplexScalar Result
- Six or nine for ComplexScalar
- Unit: the unit of the result.
- End with the result values:
Values
node_or_elem_number component_1_value ... component_n_value
...
node_or_elem_number component_1_value ... component_n_value
End Values
where
-
- Values: is not case-sensitive, and indicates the beginning of the results values section;
- The lines
- node_or_elem_number component_1_value component_2_value
- . . .
- node_or_elem_number component_1_value component_2_value
are the values of the result at the related 'node_or_elem_number'.
The number of results values are limited thus:
-
-
- If the Result is located OnNodes, they are limited to the number of nodes defined in ProjectName.post.msh.
- If the Result is located OnGaussPoints "My GP", and if the Gauss Points "My GP" are defined for the mesh "My mesh", the limit is the number of gauss points in "My GP" multiplied by the number of elements of the mesh "My mesh".
-
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 scalar 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.
Result location:
OnNodes: results are defined on the nodes of the mesh. If nodes are shared between elements, as usual, then the result field is continous.
OnGaussPoints: results are defined in some locations of the mesh elements. Usually solvers calculate values in some special locations named 'gauss points' for its numerical integration, then is natural to write the results on these locations. The results field is discontinuous between elements, then some options like calculate streamlines are not allowed for this kind of result. Sometimes results are extrapolated and averaged on nodes providing a continuous and smoothed result.
OnNurbsSurface: results are defined on the 'control points' of the NURBS surfaces.
These surfaces by default are the ones of preprocess, but could be overriden by an optional file <modelname.post.geo> with the same format as the .geo preprocess file.Geometry format: Modelname.geo. In this case the .post.geo file must contain only surfaces of NURBS type, and any volume.
Note: in case of have some result OnNurbsSurface the file header must be declared with version greater of equal to 1.2
GiD Post Results File 1.2
The values block of a result OnNurbsSurface must have for each surface with results something like this:
surface_number
value(1)_component_1 ...value(1)_component_n
...
value(num_control_points_u)_component_1 ... value(num_control_points_u)_component_n
...
value(num_control_points_u_x_num_control_points_v)_component_1... value(num_control_points_u_x_num_control_points_v)_component_n
where:
surface_number is the id of the surface (the same integer number that identify the surface in preprocess)
value is the real number of the result. It is compulsory to write the values for all control pointsof the surface, if some control point doesn't has result it must have a NR value to represent 'no result'. This is tipical of trimmed NURBS surfaces, some control points far of trimmed part are not relevant and doest'n have any value.
It the whole surface doesn't has OnNurbsSurface result, it is not necesary to be written.
There is a model with isogeometric results OnNurbsSurface at: Examples\IGA_shell.gid\IGA_shell.post.res
The number of components for each Result Value are:
-
-
- for Scalar results: one component result_number_i scalar_value
- for Vector results: three components, with an optional fourth component for signed modules result_number_i x_value y_value z_value result_number_i x_value y_value z_value signed_module_value
- for Matrix results: three components (2D models) or six components (3D models)2D: result_number_i Sxx_value Syy_value Sxy_value3D: result_number_i Sxx_value Syy_value Szz_value Sxy_value Syz_value Sxz_value
- for PlainDeformationMatrix results: four components result_number_i Sxx_value Syy_value Sxy_value Szz_value
- for MainMatrix results: twelve components result_number_i Si_value Sii_value Siii_value Vix_value Viy_value Viz_value Viix_value Viiy_value Viiz_value Viiix_value Viiiy_value Viiiz_value
- for LocalAxes results: three components describing the Euler angles result_number_i euler_ang_1_value euler_ang_2_value euler_ang_3_value.
-
Look for LocalAxesDef(EulerAngles) at Multiple values return commands for a more detailed explanation to calculate axis from euler angles and vice-versa.
-
-
- for ComplexScalar results: two components to specify a + b · i
- for ComplexVector results: four components for 2D complex vectors, six or nine components for 3D vectors: rX iX rY iY rZ iZ |r| |i| |vector| --> to specify the vector ( rX + iX, rY + iY, rZ + iZ)
-
-
- End Values: is not case-sensitive, and indicates the end of the results values section.
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.
Results format: ModelName.post.res>Result>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 Line
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