GiD - The personal pre and post processor

Result

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"

ComponentNames "component_name_1" ... "component_name_n"
Unit "unit_string"


The lines of ComponentNames  and Unit  are optional. If ComponentNames is missing the string of each component (4 for a vector: x, y, z, modulus) are created automatically from the "result name", e.g. "result name"-x, etc.

If Unit header line is missing then empty unit "" is assumed. Component names and units are currently used to show some menu names and legends when drawing the result.


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 twelve 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 slashes 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 continuous.


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 points of the surface, if some control point doesn't has result it must have a NR value to represent 'no result'. This is typical of trimmed NURBS surfaces, some control points far of trimmed part are not relevant and doesn't have any value.
It the whole surface doesn't has OnNurbsSurface result, it is not necessary 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_value

3D: 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: there is a special real value ((float)-3.40282346638528860e+38) that mean NO_RESULT, must not be operated like the rest of real values (e.g. must be ignored to calculate an averaged value)

There is a Tcl proc  IsResultNotDefined to check if a value is 'NO_RESULT' , and other proc GetResultNotDefined that return this special value.


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.

COPYRIGHT © 2022 · GID · CIMNE