problemtype bug?

Moderator: GiD Team

Post Reply
Mark
Posts: 4
Joined: Thu Dec 04, 2014 4:50 pm

problemtype bug?

Post by Mark »

Hi GiD team,
I use GiD to produce meshes for use with Elmer, The problem type is attached.
Now when I use this to produce 3D meshes with surface or line conditions in GiD 11.1.9d then I get the following error message:

Condition 'LineConstraint' has flag 'on body elements' and maybe it needs flag 'on face elements' in the .cnd file in the problem type
2.5
Error when transfering condition 'LineConstraint' from geometry to mesh in line 166. It has not been transferred
Condition 'SurfaceConstraint' has flag 'on body elements' and maybe it needs flag 'on face elements' in the .cnd file in the problem type
2.5
Error when transfering condition 'SurfaceConstraint' from geometry to mesh in surface 69. It has not been transferred

I have the meshing options “Mesh always by default” both lines and surfaces ticked.

If I mesh the same geometry in GiD 11.0.6 then the conditions get passed onto the mesh as intended.

I have tried a smaller geometry problem in GiD 12.1.4d and this also shows the same problem. Can you advise what the probable cause is and what the fix might be please?

Best regards
Mark
Attachments
Elmer.gid.zip
zipped Elmer problemtype
(663.79 KiB) Downloaded 327 times
User avatar
escolano
Posts: 1922
Joined: Sun Sep 05, 1982 10:51 pm

Re: problemtype bug?

Post by escolano »

Condition 'LineConstraint' has flag 'on body elements' and maybe it needs flag 'on face elements' in the .cnd file in the problem type

A condition declared in the .cnd as ‘over lines’ and ‘over body elements’ is expected to be applied to ‘line elements’, not to ‘faces of triangles or quadrilaterals’ or ‘edges of volume elements’.
I the condition is applied to a geometric line, and the line doesn’t create ‘line-elements’ on the final mesh, then the warning/error is raised.
If the line belong to some surface that generate ‘surface-elements’ (triangles or quadrilaterals) then the condition is applied to some face of these elements. (like it was declared ‘over face elements’) but the warning is raised
If the line belong to volumes, and lines and surfaces are not meshed, then the condition is lost, because nowadays it doesn’t exists in GiD the condition ‘over edge element’ that mark some edge of a volume element. It only exists the conditions ‘over face elements’ that mark a face of the element.

It is possible to declare a condition as ‘over elements’ and this is an ambiguous definition that could be considered ‘over body elements’ or ‘over face elements’ automatically by GiD depending on the case when generating the mesh.

Then the solution is to think and declare better the destination category on the mesh between:
‘over body elements’ -> the ‘whole element’ is marked (expressed by the element global id)
‘over face elements’ -> a ‘face’ of the element is marked (expressed by the element global id plus a local id of the element’ face)
For triangles/quadrilateras its ‘edges’ are its faces.
For volumic element the face is more clear (and doesn’t exists any condition that mark its edges)
‘over element’ -> ambiguous definition, a priori is not known if we want to be applied to an elements or to a face of an element, it is decided lately by GiD

Sometimes to is necessary to split the definition of a condition into more than one definition to separate the wanted cases.
e.g. the ‘surface_load’ to be applied to the isolated surface of a shell, and must mark ‘body elements’ (triangles/quands)
and ‘surface_load’ to be applied to the surface boundary of a volume, and must mark ‘face elements’ of volumic elements (tetrahedral, hexahedra, prisms,…)
and the condition could be splitted into the different conditions:
surface_load_shell
surface_load_volume
User avatar
escolano
Posts: 1922
Joined: Sun Sep 05, 1982 10:51 pm

Re: problemtype bug?

Post by escolano »

After have a look to the Elmer.cnd and .bas files it is very simple, and Elmer.cnd only contain this:

Code: Select all

NUMBER:1 CONDITION: PointConstraint
CONDTYPE: over points
CONDMESHTYPE: over body elements
QUESTION: Index
VALUE:1
END CONDITION
NUMBER:2 CONDITION: LineConstraint
CONDTYPE: over lines
CONDMESHTYPE: over body elements
QUESTION: Index
VALUE:1
END CONDITION
NUMBER:3 CONDITION: SurfaceConstraint
CONDTYPE: over surfaces
CONDMESHTYPE: over body elements
QUESTION: Index
VALUE:1
END CONDITION
The problemtype was created to apply these conditions only to 'top entities', without 'higherentities'
(e.g. to lines that not belong to any surface or to surfaces that not belong to any volume)
Mark
Posts: 4
Joined: Thu Dec 04, 2014 4:50 pm

Re: problemtype bug?

Post by Mark »

Hi Enrique,
Thanks for your answer but this doesn't explain why the Elmer.cnd and the whole problem type works OK for GiD 11.0.6 and Gid 9.3.1b in that the line or surface constraint that are applied to the geometry are transferred over to the mesh i.e. Conditions>Draw>Colors highlights the line elements and surface elements as required, but this doesn't happen in GiD 11.1.9d and or 12.1.4d (for a small model) Can you show me how the .cnd file needs to be changed so that in the newer versions of GiD it produces the same result as the current .cnd file does with earlier versions?

Thanks in advance.
Best regards
Mark
Mark
Posts: 4
Joined: Thu Dec 04, 2014 4:50 pm

Re: problemtype bug?

Post by Mark »

Hi GiD team,
Attached is a minimal example which shows correct (as far as what I want) behaviour in GiD 11.0.6 and wrong behaviour in GiD 11.1.9d
Regards
Mark
Attachments
elmer_gid_test.gid.zip
minimal test model
(15.49 KiB) Downloaded 331 times
User avatar
escolano
Posts: 1922
Joined: Sun Sep 05, 1982 10:51 pm

Re: problemtype bug?

Post by escolano »

ok, with the example I am able to understand better this case.

The problemtype Elmer require that all entities generate mesh elements. not only the 'top level' entities.
The normal defaul behaviour of GiD is to generate in the final mesh only the elements of geometrical entities with higherentity=0
e.g., a volume will generate only volume elements (tetrahedra), but not also the triangles of its surfaces or the lines of its curves.

Elmer overwrite this default in Tcl with the command
GiD_Set ForceMeshEntities 6
(this is like set in the meshing preferences the options: Mesh always by default= lines and surfaces)

but unfortunatelly is seems that in this case there is a bug in GiD (at least with 12.1.4d) when tranferring these conditions to elements forced to be meshed by GiD the global variable ForceMeshEntities (we will study it to be fixed)

you can avoid the bug setting splicitly the entities forced to be meshed: all lines and al surfaces (instead of setting the previous global variable)
Mesh->Mesh criteria->Mesh->Lines (and select all)
Mesh->Mesh criteria->Mesh->Surfaces (and select all)

I attach your model with this modification.

Another comment about the Elmer problemtype: the contition 'PoinConstraint', applied over points can't be transferred to an element, must be declared as 'over nodes', but in any case now is not used (is not written by the .bas template in the Elmer calculation file)
Attachments
elmer_gid_test_mesh_criteria_mesh.zip
(15.2 KiB) Downloaded 325 times
Mark
Posts: 4
Joined: Thu Dec 04, 2014 4:50 pm

Re: problemtype bug?

Post by Mark »

Hi Enrique,
Thanks for the update and yes forcing all the lines and surfaces to be meshed seems to solve the problem both with the minimal model and a much larger one on GiD 11.1.9d, I haven't checked with version 12 as I don't have a valid license.
I assume the bug in GiD 11.1.9d will not be fixed since it isn't the current version?
Regards
Mark
Post Reply