From de06604dc4bc7a2901c95eb925dde61a0ee8f5ea Mon Sep 17 00:00:00 2001 From: Laura Date: Thu, 21 May 2026 15:37:28 +0200 Subject: [PATCH 1/3] Acceleration, Velocity and Pressure added --- kratos.gid/apps/MPM/xml/NodalConditions.xml | 11 +++- kratos.gid/apps/MPM/xml/Procs.spd | 18 ++++++ kratos.gid/apps/MPM/xml/XmlController.tcl | 65 +++++++++++++++++++++ 3 files changed, 92 insertions(+), 2 deletions(-) diff --git a/kratos.gid/apps/MPM/xml/NodalConditions.xml b/kratos.gid/apps/MPM/xml/NodalConditions.xml index 63b5747fe..deef9a2e7 100644 --- a/kratos.gid/apps/MPM/xml/NodalConditions.xml +++ b/kratos.gid/apps/MPM/xml/NodalConditions.xml @@ -3,8 +3,15 @@ - + + - + + + + + + + diff --git a/kratos.gid/apps/MPM/xml/Procs.spd b/kratos.gid/apps/MPM/xml/Procs.spd index 962b02097..0d3d7f5bc 100644 --- a/kratos.gid/apps/MPM/xml/Procs.spd +++ b/kratos.gid/apps/MPM/xml/Procs.spd @@ -5,6 +5,12 @@ + + + + @@ -36,4 +42,16 @@ ]]> + + + + + + + + diff --git a/kratos.gid/apps/MPM/xml/XmlController.tcl b/kratos.gid/apps/MPM/xml/XmlController.tcl index 707ebc6f7..ad8879c65 100644 --- a/kratos.gid/apps/MPM/xml/XmlController.tcl +++ b/kratos.gid/apps/MPM/xml/XmlController.tcl @@ -58,11 +58,48 @@ proc MPM::xml::getUniqueName {name} { return MPM${name} } +proc ::MPM::xml::ProcCheckNodalConditionStateMPM {domNode args} { + return [MPM::xml::CheckNodalConditionStateById [$domNode @n] $domNode] +} + +proc MPM::xml::CheckNodalConditionStateById {conditionId domNode} { + set parts_un STParts + if {[spdAux::getRoute $parts_un] ne ""} { + set condition [Model::getNodalConditionbyId $conditionId] + set cnd_dim [$condition getAttribute WorkingSpaceDimension] + if {$cnd_dim ne "" && $cnd_dim ne $Model::SpatialDimension} { + return "hidden" + } + set elems [$domNode selectNodes "[spdAux::getRoute $parts_un]/condition/group/value\[@n='Element'\]"] + set elemnames [list] + foreach elem $elems { + lappend elemnames [$elem @v] + } + set elemnames [lsort -unique $elemnames] + + set solutionType [get_domnode_attribute [$domNode selectNodes [spdAux::getRoute STSoluType]] v] + set params [list analysis_type $solutionType] + if {[::Model::CheckElementsNodalCondition $conditionId $elemnames $params]} { + return "normal" + } + return "hidden" + } + return "normal" +} + proc MPM::xml::CustomTree { args } { # spdAux::SetValueOnTreeItem v "time" Results OutputControlType # spdAux::SetValueOnTreeItem values "time" Results OutputControlType spdAux::SetValueOnTreeItem v No NodalResults PARTITION_INDEX + spdAux::SetValueOnTreeItem v No NodalResults REACTION + spdAux::SetValueOnTreeItem state {[CheckNodalConditionOutputStateMPM DISPLACEMENT]} NodalResults REACTION + if {[MPM::xml::UsesMixedUPElements]} { + spdAux::SetValueOnTreeItem v Yes NodalResults PRESSURE + } else { + spdAux::SetValueOnTreeItem v No NodalResults PRESSURE + } + spdAux::SetValueOnTreeItem state {[CheckNodalConditionOutputStateMPM DISPLACEMENT]} NodalResults PRESSURE spdAux::SetValueOnTreeItem v "LinearSolversApplication.sparse_lu" MPMimplicitlinear_solver_settings Solver } @@ -94,3 +131,31 @@ proc MPM::xml::ProcCheckStabilizationState {domNode args} { } return $ret } + +proc MPM::xml::UsesMixedUPElements { } { + foreach elem [::MPM::write::GetUsedElements Name] { + if {$elem in [list MPMUpdatedLagrangianUP2D MPMUpdatedLagrangianUP3D]} { + return 1 + } + } + return 0 +} + +proc MPM::xml::ProcCheckNodalConditionOutputState {domNode args} { + set conditionId [lindex $args 0] + set outputId [$domNode @n] + + if {![::Model::CheckNodalConditionOutputState $conditionId $outputId]} { + return "hidden" + } + + if {$outputId eq "PRESSURE"} { + if {[MPM::xml::UsesMixedUPElements]} { + $domNode setAttribute v Yes + return "normal" + } + return "hidden" + } + + return [MPM::xml::CheckNodalConditionStateById $conditionId $domNode] +} From aac26a85ba175a2fb9736fb29d901dd16dbafe34 Mon Sep 17 00:00:00 2001 From: Laura Date: Thu, 21 May 2026 15:48:24 +0200 Subject: [PATCH 2/3] hidden pressure at least UP formulation was used --- kratos.gid/apps/MPM/xml/NodalConditions.xml | 10 ++++++---- kratos.gid/apps/MPM/xml/Procs.spd | 6 ++++++ kratos.gid/apps/MPM/xml/XmlController.tcl | 13 +++++++++++++ 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/kratos.gid/apps/MPM/xml/NodalConditions.xml b/kratos.gid/apps/MPM/xml/NodalConditions.xml index deef9a2e7..00579869b 100644 --- a/kratos.gid/apps/MPM/xml/NodalConditions.xml +++ b/kratos.gid/apps/MPM/xml/NodalConditions.xml @@ -1,5 +1,9 @@ + + + + @@ -8,10 +12,8 @@ - - - - + + diff --git a/kratos.gid/apps/MPM/xml/Procs.spd b/kratos.gid/apps/MPM/xml/Procs.spd index 0d3d7f5bc..ed10ed442 100644 --- a/kratos.gid/apps/MPM/xml/Procs.spd +++ b/kratos.gid/apps/MPM/xml/Procs.spd @@ -54,4 +54,10 @@ ]]> + + + + diff --git a/kratos.gid/apps/MPM/xml/XmlController.tcl b/kratos.gid/apps/MPM/xml/XmlController.tcl index ad8879c65..dbfc401e6 100644 --- a/kratos.gid/apps/MPM/xml/XmlController.tcl +++ b/kratos.gid/apps/MPM/xml/XmlController.tcl @@ -159,3 +159,16 @@ proc MPM::xml::ProcCheckNodalConditionOutputState {domNode args} { return [MPM::xml::CheckNodalConditionStateById $conditionId $domNode] } + +proc MPM::xml::ProcElementOutputState {domNode args} { + set outputId [$domNode @n] + if {$outputId eq "MP_PRESSURE"} { + if {[MPM::xml::UsesMixedUPElements]} { + $domNode setAttribute v Yes + return "normal" + } + return "hidden" + } + + return [spdAux::ProcElementOutputState $domNode $args] +} From 9b7a740a0c9abfebe7b9f9f3c82922abfa61284d Mon Sep 17 00:00:00 2001 From: Laura Date: Thu, 21 May 2026 16:28:53 +0200 Subject: [PATCH 3/3] cleaning spaces --- kratos.gid/apps/MPM/xml/NodalConditions.xml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/kratos.gid/apps/MPM/xml/NodalConditions.xml b/kratos.gid/apps/MPM/xml/NodalConditions.xml index 00579869b..0133decc0 100644 --- a/kratos.gid/apps/MPM/xml/NodalConditions.xml +++ b/kratos.gid/apps/MPM/xml/NodalConditions.xml @@ -11,9 +11,5 @@ - - - - - +