diff --git a/src/Mod/Fem/App/FemPostPipeline.cpp b/src/Mod/Fem/App/FemPostPipeline.cpp index 2e5ed2b584..b81d449c2e 100644 --- a/src/Mod/Fem/App/FemPostPipeline.cpp +++ b/src/Mod/Fem/App/FemPostPipeline.cpp @@ -375,7 +375,55 @@ void FemPostPipeline::load(FemResultObject* res) { const std::vector& vec = res->StressValues.getValues(); vtkSmartPointer data = vtkSmartPointer::New(); data->SetNumberOfValues(vec.size()); - data->SetName("Stress"); + data->SetName("Von Mises stress"); + + for(size_t i=0; iSetValue(i, vec[i]); + + grid->GetPointData()->AddArray(data); + } + + if(!res->StressValues.getValues().empty()) { + const std::vector& vec = res->MaxShear.getValues(); + vtkSmartPointer data = vtkSmartPointer::New(); + data->SetNumberOfValues(vec.size()); + data->SetName("Max shear stress (Tresca)"); + + for(size_t i=0; iSetValue(i, vec[i]); + + grid->GetPointData()->AddArray(data); + } + + if(!res->StressValues.getValues().empty()) { + const std::vector& vec = res->PrincipalMax.getValues(); + vtkSmartPointer data = vtkSmartPointer::New(); + data->SetNumberOfValues(vec.size()); + data->SetName("Maximum Principal stress"); + + for(size_t i=0; iSetValue(i, vec[i]); + + grid->GetPointData()->AddArray(data); + } + + if(!res->StressValues.getValues().empty()) { + const std::vector& vec = res->PrincipalMin.getValues(); + vtkSmartPointer data = vtkSmartPointer::New(); + data->SetNumberOfValues(vec.size()); + data->SetName("Minimum Principal stress"); + + for(size_t i=0; iSetValue(i, vec[i]); + + grid->GetPointData()->AddArray(data); + } + + if(!res->StressValues.getValues().empty()) { + const std::vector& vec = res->Temperature.getValues(); + vtkSmartPointer data = vtkSmartPointer::New(); + data->SetNumberOfValues(vec.size()); + data->SetName("Temperature"); for(size_t i=0; iSetValue(i, vec[i]);