|
[Sponsors] |
April 16, 2014, 06:10 |
Strange color mapping for stress
|
#1 |
New Member
Jon Vegard Venås
Join Date: Apr 2014
Posts: 16
Rep Power: 12 |
My model simply contains four elements (each with 8 nodes with information about displacement and stress for each corner of the block) i get the following result
My modell contains discontinuity at the stresses. In the following image, the magnitude of the stress (von Mises?) is plotted Between the first and second element it should be discontinuity in the stress. The stresses throughout the first element is supposed to be zero. Is it because the color mapping does not accept discontinuous derivatives? How can it be fixed? Last edited by Zetison; April 16, 2014 at 11:10. |
|
April 16, 2014, 16:37 |
|
#2 |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 128 |
Greetings Zetison and welcome to the forum!
If I understand you correctly and if I remember finite elements correctly, the problem is that:
In ParaView 3.12.0, the 3 images in attachment tell the story:
If this is not what you're looking for, then it can get really tricky, since it really depends on the representation you're looking for. And example would be helpful. Best regards, Bruno |
|
April 17, 2014, 03:32 |
|
#3 |
New Member
Jon Vegard Venås
Join Date: Apr 2014
Posts: 16
Rep Power: 12 |
Thank you for your reply.
The problem is that since I have discontinuous stresses, each node containing this discontinuity should have 2 set of values describing the stress. The first should describe the limit of the stress as one approches the point from the first element, while the other the limit point of the stress as one approches the point from the second element. But of course, Paraview only stores one value. So to solve the problem, I have to remake the vts file. One idea that comes to mind was to use several "pieces", but for some reason this gave the exact same problem. I have created a much more simpler example in which two cubes are connected (as "pieces"). The stress in the first cube should be zero througout the domain, while it is non zero in the other: But as you can see, even with this idea, the problem still remains. The vts file I used is given as follows: Code:
<?xml version="1.0"?> <VTKFile type="StructuredGrid" version="0.1" byte_order="BigEndian" > <StructuredGrid WholeExtent="0 2 0 1 0 1"> <Piece Extent="0 1 0 1 0 1"> <PointData Vectors="Disp" > <DataArray type="Float64" Name="Stress" NumberOfComponents="6" format="ascii"> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 </DataArray> <DataArray type="Float32" Name="Displacement" NumberOfComponents="3" format="ascii"> 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 </DataArray> </PointData> <Celldata> </Celldata> <Points> <DataArray type="Float32" Name="Array" NumberOfComponents="3" format="ascii"> 0 0 0 1 0 0 0 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 1 1 </DataArray> </Points> </Piece> <Piece Extent="1 2 0 1 0 1"> <PointData Vectors="Disp" > <DataArray type="Float64" Name="Stress" NumberOfComponents="6" format="ascii"> 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 1 1 0 0 0 1 1 1 0 0 0 </DataArray> <DataArray type="Float32" Name="Displacement" NumberOfComponents="3" format="ascii"> 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 </DataArray> </PointData> <Celldata> </Celldata> <Points> <DataArray type="Float32" Name="Array" NumberOfComponents="3" format="ascii"> 1 0 0 2 0 0 1 1 0 2 1 0 1 0 1 2 0 1 1 1 1 2 1 1 </DataArray> </Points> </Piece> </StructuredGrid> </VTKFile> Are you using Paraview 4.1.0? I guess it could be smart to have the same version |
|
April 19, 2014, 09:24 |
|
#4 |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 128 |
Hi Zetison,
Since you didn't specify which ParaView version you were using, I went with the one easiest for me to use. Either way, as I mentioned before, you're trying to represent node data, therefore using the surface representation will not give you the results you want to see. Attached are 2 ideas:
Bruno |
|
April 23, 2014, 11:19 |
|
#5 |
New Member
Jon Vegard Venås
Join Date: Apr 2014
Posts: 16
Rep Power: 12 |
I see. But the surface representation is actually the only thing I am interested in. It gives a better view of how the stress is distributed over a surface of a domain.
If I make each element in a seperate VTS file, and view these files together in the same worksheet, I get the following result Visually, the above picture represent exactly the represenation I want. However, my modell contains several thousan elements, and it is absurd to make so many vts files to visualize one object. Is it really no way to have this in one file? |
|
April 25, 2014, 14:21 |
|
#6 |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 128 |
Hi Zetison,
OK, I've finally figured out, at least part of the issue.
I actually went ahead with the creation of a proof-of-concept of the unstructured grid, by using:
Code:
<VTKFile type="UnstructuredGrid" version="0.1" byte_order="LittleEndian"> <UnstructuredGrid> <Piece NumberOfPoints="16" NumberOfCells="2"> <PointData> <DataArray type="Float64" Name="Stress" NumberOfComponents="6" format="ascii" RangeMin="0" RangeMax="1.7320508076"> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 1 1 1 0 0 0 0 1 1 0 0 0 </DataArray> <DataArray type="Float32" Name="Displacement" NumberOfComponents="3" format="ascii" RangeMin="1.7320508076" RangeMax="1.7320508076"> 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 </DataArray> </PointData> <CellData> </CellData> <Points> <DataArray type="Float32" Name="Points" NumberOfComponents="3" format="ascii" RangeMin="8.6602538191e-05" RangeMax="2.4494081284"> 0.0 0.0 0.0 1.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 1.0 1.0 1.0 1.0 0.0 1.0 1.0 1.0 0.0 0.0 2.0 0.0 0.0 2.0 1.0 0.0 1.0 1.0 0.0 1.0 0.0 1.0 2.0 0.0 1.0 2.0 1.0 1.0 1.0 1.0 1.0 </DataArray> </Points> <Cells> <DataArray type="Int64" Name="connectivity" format="ascii" RangeMin="0" RangeMax="15"> 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 </DataArray> <DataArray type="Int64" Name="offsets" format="ascii" RangeMin="8" RangeMax="16"> 8 16 </DataArray> <DataArray type="UInt8" Name="types" format="ascii" RangeMin="12" RangeMax="12"> 12 12 </DataArray> </Cells> </Piece> </UnstructuredGrid> </VTKFile> Best regards, Bruno Last edited by wyldckat; April 25, 2014 at 15:11. Reason: changed the descrition in the proof-of-concept and added the "edit:" comment |
|
April 26, 2014, 09:45 |
|
#7 |
New Member
Jon Vegard Venås
Join Date: Apr 2014
Posts: 16
Rep Power: 12 |
It works perfectly! Thank you!
Is it any reason for choosing the somewhat random numbers 1.7320508076 and so on for the ranges? |
|
April 26, 2014, 10:02 |
|
#8 |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 128 |
The field being represented in the image is the magnitude of the "Stress" field. For the point that has the "Stress" vector (1 1 1 0 0 0), means that the magnitude is:
Code:
sqrt(1^2 + 1^2 + 1^2 + 0^2 + 0^2 + 0^2) = 1.732050808 |
|
April 26, 2014, 10:11 |
|
#9 |
New Member
Jon Vegard Venås
Join Date: Apr 2014
Posts: 16
Rep Power: 12 |
Isn't the magnitude of the stress given as von Mises Stress in paraView?
|
|
April 26, 2014, 10:21 |
|
#10 | |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 128 |
Quote:
Either way, the usual calculation of magnitude automatically made in ParaView for tensors and vectors is the square root of the sum of the square values of each component, as implied in my previous post. |
||
April 26, 2014, 10:45 |
|
#11 |
New Member
Jon Vegard Venås
Join Date: Apr 2014
Posts: 16
Rep Power: 12 |
It was only my theory since if I add 6 components and call the input "Stress", the components are automatically labeled XX, YY, ZZ, XY, YZ, XZ (which refer to sigma_XX and so on). When I added a 7th component with von Mises stress, the labels went from 1 to 7, and the plot of von Mises stress was (as far as I could see) identical to the plot of the magnitude of the stress...
|
|
April 26, 2014, 10:58 |
|
#12 | |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 128 |
Quote:
This is because ParaView is a general purpose 3D data representation application, therefore it cannot do by default such calculations without further interaction by the user. |
||
April 26, 2014, 14:46 |
|
#13 |
New Member
Jon Vegard Venås
Join Date: Apr 2014
Posts: 16
Rep Power: 12 |
Ok. Thanks for the information! You have been very helpfull.
One finale question if you have time: Since I want to also add the von Mises stress such that I have 7 components, is it possible to name each component with XX, YY, ZZ, YZ, XZ, XY and von Mises, and skip the magnitude label? |
|
April 28, 2014, 16:53 |
|
#14 | |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 128 |
Quote:
The best that can be done is to have one field with the 6 components of "Stress" and another field just for the "von Mises" result. |
||
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Strange Nut behaviour with K-OmegaSST | nicolarre | OpenFOAM Running, Solving & CFD | 12 | March 19, 2019 21:35 |
[mesh manipulation] Strange results after using refineMesh on radial 2D-Mesh | Zarchias | OpenFOAM Meshing & Mesh Conversion | 1 | October 30, 2018 11:57 |
Strange STL when using cuttingPlane | C-L | OpenFOAM Post-Processing | 2 | September 26, 2017 06:44 |
[blockMesh] Strange non-hexahedral cells? | maka15 | OpenFOAM Meshing & Mesh Conversion | 3 | May 19, 2016 09:56 |
Strange residuals behaviour | xxxx | Main CFD Forum | 1 | July 13, 2013 15:40 |