Skip to content

Commit 8892121

Browse files
Merge branch 'master' into use-gids-python
2 parents 84864c2 + 11ff6aa commit 8892121

7 files changed

Lines changed: 49 additions & 24 deletions

File tree

kratos.gid/apps/Fluid/write/writeProjectParameters.tcl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,10 @@ proc ::Fluid::write::process_special_conditions { list_of_processes } {
3939
foreach process $list_of_processes {
4040
# Wall law has nested parameters
4141
if {[dict get $process process_name] eq "ApplyWallLawProcess" } {
42-
if {[dict get $process Parameters wall_model] eq "navier_slip"} {
42+
if {[dict get $process Parameters wall_model_name] eq "navier_slip"} {
4343
dict set process Parameters wall_model_settings slip_length [dict get $process Parameters slip_length]
4444
}
45-
if {[dict get $process Parameters wall_model] eq "linear_log"} {
45+
if {[dict get $process Parameters wall_model_name] eq "linear_log"} {
4646
dict set process Parameters wall_model_settings y_wall [dict get $process Parameters y_wall]
4747
}
4848
dict unset process Parameters y_wall
@@ -293,4 +293,4 @@ proc ::Fluid::write::GetMonolithicElementTypeFromElementName {element_name} {
293293
if {![$element hasAttribute FormulationElementType]} {error "Your monolithic element $element_name need to define the FormulationElementType field"}
294294
set formulation_element_type [$element getAttribute FormulationElementType]
295295
return {*}$formulation_element_type
296-
}
296+
}

kratos.gid/apps/Fluid/xml/Processes.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131

3232
<Process n="ApplyWallLawProcess" pn="Assign wall law process" python_module="apply_wall_law_process" kratos_module="KratosMultiphysics.FluidDynamicsApplication" help="">
3333
<inputs>
34-
<parameter n="wall_model" pn="Wall model" type="combo" values="navier_slip,linear_log" pvalues="Navier-slip,Linear-log" v="navier_slip" help="">
34+
<parameter n="wall_model_name" pn="Wall model" type="combo" values="navier_slip,linear_log" pvalues="Navier-slip,Linear-log" v="navier_slip" help="">
3535
<parameter parent="navier_slip" n="slip_length" pn="Slip length" type="double" v="0.001" unit_magnitude="L" units="m" help=""/>
3636
<parameter parent="linear_log" n="y_wall" pn="Wall distance" type="double" v="0.001" unit_magnitude="L" units="m" help=""/>
3737
</parameter>

kratos.gid/apps/MPM/write/write.tcl

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,10 +90,9 @@ proc MPM::write::GetPartsGroups { part_type {what "name"} } {
9090
return $body_groups
9191
}
9292

93-
9493
proc ::MPM::write::GetUsedElements { {get "Objects"} } {
9594
set lista [list ]
96-
foreach gNode [write::getPartsGroupsId node] {
95+
foreach gNode [MPM::write::GetPartsGroups Body node] {
9796
set elem_name [write::getValueByNode [$gNode selectNodes ".//value\[@n='Element']"] ]
9897
set e [Model::getElement $elem_name]
9998
if {$get eq "Name"} { set e [$e getName] }
@@ -102,7 +101,6 @@ proc ::MPM::write::GetUsedElements { {get "Objects"} } {
102101
return $lista
103102
}
104103

105-
106104
proc MPM::write::writeBodyNodalCoordinates { } {
107105
write::writeNodalCoordinatesOnGroups [MPM::write::GetPartsGroups Body]
108106
}

kratos.gid/apps/MPM/xml/Elements.xml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<ElementList>
33
<!--updated lagrangian-->
4-
<ElementItem n="UpdatedLagrangian2D" pn="Updated lagrangian" ov="surface" ImplementedInFile="updated_lagrangian.cpp" ImplementedInApplication="ParticleMechanicsApplication" MinimumKratosVersion="9000" WorkingSpaceDimension="2D" LocalSpaceDimension="2" RequiresLocalAxes="No" LargeDeformation="Yes,No" ElementType="Material_domain" help="Updated Lagrangian 2D element for large deformation kinematics consist of a material point and connectivity nodes." AnalysisType="non_linear">
4+
<ElementItem n="UpdatedLagrangian2D" pn="Updated lagrangian" ov="surface" ImplementedInFile="updated_lagrangian.cpp" ImplementedInApplication="ParticleMechanicsApplication" MinimumKratosVersion="9000" WorkingSpaceDimension="2D" LocalSpaceDimension="2" RequiresLocalAxes="No" LargeDeformation="Yes,No" ElementType="Material_domain" help="Updated Lagrangian 2D element for large deformation kinematics consist of a material point and connectivity nodes." AnalysisType="non_linear">
55
<!--here we could add a list of all of the possible geometries-->
66
<TopologyFeatures>
77
<item GeometryType="Triangle" nodes="3" KratosName="UpdatedLagrangian2D3N"/>
88
<item GeometryType="Quadrilateral" nodes="4" KratosName="UpdatedLagrangian2D4N"/>
99
</TopologyFeatures>
10-
<!-- here we add the block of features which we require from the constitutive law-->
10+
<!-- here we add the block of features which we require from the constitutive law-->
1111
<ConstitutiveLaw_FilterFeatures>
1212
<filter field="App" value="MPM"/>
1313
<filter field="FormulationType" value="Irreducible"/>
@@ -19,8 +19,8 @@
1919
<NodalCondition n="ACCELERATION"/>
2020
</NodalConditions>
2121
<inputs>
22-
<parameter n="THICKNESS" pn="Thickness" v="1.0" unit_magnitude="L" units="m" />
23-
<parameter n="PARTICLES_PER_ELEMENT" pn="Particles per element" type="combo" v="1" values="1,3,4,6,9,12,16,33" pvalues="1 (for triangles or quads),3 (for triangles),4 (for quads),6 (for triangles),9 (for quads),12 (for triangles),16 (for triangles or quads),33 (for triangles)" help="Number of particle generated for each element. Available options are: Triangular: 1,3,6,12,16,33 and Quadrilateral: 1,4,9,16" />
22+
<parameter n="THICKNESS" pn="Thickness" v="1.0" unit_magnitude="L" units="m" />
23+
<parameter n="PARTICLES_PER_ELEMENT" pn="Particles per element" type="combo" v="1" values="1,3,4,6,9,12,16,33" pvalues="1 (for triangles or quads),3 (for triangles),4 (for quads),6 (for triangles),9 (for quads),12 (for triangles),16 (for triangles or quads),33 (for triangles)" help="Number of particle generated for each element. Available options are: Triangular: 1,3,6,12,16,33 and Quadrilateral: 1,4,9,16" />
2424
</inputs>
2525
<outputs>
2626
<parameter n="MP_VELOCITY" pn="Material point velocity" v="true" />
@@ -50,7 +50,7 @@
5050
<NodalCondition n="ACCELERATION"/>
5151
</NodalConditions>
5252
<inputs>
53-
<parameter n="THICKNESS" pn="Thickness" v="1.0" unit_magnitude="L" units="m" />
53+
<parameter n="THICKNESS" pn="Thickness" v="1.0" unit_magnitude="L" units="m" />
5454
<parameter n="PARTICLES_PER_ELEMENT" pn="Particle per element" type="integer" v="1" help="Number of particle generated for each element. Available options are: Triangular: 1,3,6,12,16,33 and Quadrilateral: 1,4,9,16" />
5555
</inputs>
5656
<outputs>
@@ -64,7 +64,7 @@
6464
</ElementItem>
6565
<ElementItem n="UpdatedLagrangian2DAxisymmetry" pn="Updated lagrangian" ov="surface" ImplementedInFile="updated_lagrangian_axisymmetry.cpp" ImplementedInApplication="ParticleMechanicsApplication" MinimumKratosVersion="9000" WorkingSpaceDimension="2Da" LocalSpaceDimension="2" RequiresLocalAxes="No" LargeDeformation="Yes,No" ElementType="Material_domain" help="Updated Lagrangian 2D axis-symmetric element for large deformation kinematics consist of a material point and connectivity nodes" AnalysisType="non_linear,linear">
6666

67-
<!--here we could add a list of all of the possible geometries-->
67+
<!--here we could add a list of all of the possible geometries-->
6868
<TopologyFeatures>
6969
<item GeometryType="Triangle" nodes="3" KratosName="UpdatedLagrangianAxisymmetry2D3N"/>
7070
<item GeometryType="Quadrilateral" nodes="4" KratosName="UpdatedLagrangianAxisymmetry2D4N"/>
@@ -81,7 +81,7 @@
8181
<NodalCondition n="ACCELERATION"/>
8282
</NodalConditions>
8383
<inputs>
84-
<parameter n="THICKNESS" pn="Thickness" v="1.0" unit_magnitude="L" units="m" />
84+
<parameter n="THICKNESS" pn="Thickness" v="1.0" unit_magnitude="L" units="m" />
8585
<parameter n="PARTICLES_PER_ELEMENT" pn="Particles per element" type="combo" v="1" values="1,3,4,6,9,12,16,33" pvalues="1 (for triangles or quads),3 (for triangles),4 (for quads),6 (for triangles),9 (for quads),12 (for triangles),16 (for triangles or quads),33 (for triangles)" help="Number of particle generated for each element. Available options are: Triangular: 1,3,6,12,16,33 and Quadrilateral: 1,4,9,16" />
8686
</inputs>
8787
<outputs>
@@ -94,7 +94,7 @@
9494
</outputs>
9595
</ElementItem>
9696

97-
<ElementItem n="UpdatedLagrangian3D" pn="Updated lagrangian" ov="volume" ImplementedInFile="updated_lagrangian.cpp" ImplementedInApplication="ParticleMechanicsApplication" MinimumKratosVersion="9000" WorkingSpaceDimension="3D" LocalSpaceDimension="3" RequiresLocalAxes="False" LargeDeformation="False" ElementType="Material_domain" help="Updated Lagrangian 3D element for large deformation kinematics consists of a material point and connectivity nodes." AnalysisType="non_linear">
97+
<ElementItem n="UpdatedLagrangian3D" pn="Updated lagrangian" ov="volume" ImplementedInFile="updated_lagrangian.cpp" ImplementedInApplication="ParticleMechanicsApplication" MinimumKratosVersion="9000" WorkingSpaceDimension="3D" LocalSpaceDimension="3" RequiresLocalAxes="False" LargeDeformation="False" ElementType="Material_domain" help="Updated Lagrangian 3D element for large deformation kinematics consists of a material point and connectivity nodes." AnalysisType="non_linear">
9898
<!--here we could add a list of all of the possible geometries-->
9999
<TopologyFeatures>
100100
<item GeometryType="Tetrahedra" nodes="4" KratosName="UpdatedLagrangian3D4N"/>
@@ -123,7 +123,7 @@
123123
<parameter n="MP_EQUIVALENT_PLASTIC_STRAIN" pn="Material point equivalent plastic strain" v="false" />
124124
</outputs>
125125
</ElementItem>
126-
<ElementItem n="UpdatedLagrangianUP3D" pn="Updated lagrangian mixed UP" ov="volume" ImplementedInFile="updated_lagrangian.cpp" ImplementedInApplication="ParticleMechanicsApplication" MinimumKratosVersion="9000" ProductionReady="ProductionReady" WorkingSpaceDimension="3D" LocalSpaceDimension="3" RequiresLocalAxes="No" LargeDeformation="No" ElementType="Material_domain" help="Updated Lagrangian 3D element for large deformation kinematics consists of a material point and connectivity nodes." AnalysisType="non_linear">
126+
<ElementItem n="UpdatedLagrangianUP3D" pn="Updated lagrangian mixed UP" ov="volume" ImplementedInFile="updated_lagrangian.cpp" ImplementedInApplication="ParticleMechanicsApplication" MinimumKratosVersion="9000" ProductionReady="ProductionReady" WorkingSpaceDimension="3D" LocalSpaceDimension="3" RequiresLocalAxes="No" LargeDeformation="No" ElementType="Material_domain" help="Updated Lagrangian 3D element for large deformation kinematics consists of a material point and connectivity nodes." AnalysisType="non_linear">
127127
<!--here we could add a list of all of the possible geometries-->
128128
<TopologyFeatures>
129129
<item GeometryType="Tetrahedra" nodes="4" KratosName="UpdatedLagrangian3D4N"/>
@@ -141,7 +141,7 @@
141141
<NodalCondition n="ACCELERATION"/>
142142
</NodalConditions>
143143
<inputs>
144-
<parameter n="PARTICLES_PER_ELEMENT" pn="Particles per element" type="combo" v="1" values="1,3,4,6,9,12,16,33" pvalues="1 (for triangles or quads),3 (for triangles),4 (for quads),6 (for triangles),9 (for quads),12 (for triangles),16 (for triangles or quads),33 (for triangles)" help="Number of particle generated for each element. Available options are: Tetrahedral: 1,3,6,12 and Hexahedral: 1,4,9,16" />
144+
<parameter n="PARTICLES_PER_ELEMENT" pn="Particles per element" type="combo" v="1" values="1,3,4,6,9,12,16,33" pvalues="1 (for triangles or quads),3 (for triangles),4 (for quads),6 (for triangles),9 (for quads),12 (for triangles),16 (for triangles or quads),33 (for triangles)" help="Number of particle generated for each element. Available options are: Tetrahedral: 1,3,6,12 and Hexahedral: 1,4,9,16" />
145145
</inputs>
146146
<outputs>
147147
<parameter n="MP_VELOCITY" pn="Material point velocity" v="true" />
@@ -192,7 +192,7 @@
192192
<inputs></inputs>
193193
<outputs></outputs>
194194
</ElementItem>
195-
<ElementItem n="GRID3D" pn="Background Grid" ov="volume" ImplementedInApplication="ParticleMechanicsApplication" WorkingSpaceDimension="3D" LocalSpaceDimension="3" RequiresLocalAxes="No" LargeDeformation="No" ElementType="Grid" help="3D Background element required for the computation of material point method." AnalysisType="non_linear">
195+
<ElementItem n="GRID3D" pn="Background Grid" ov="volume" ImplementedInApplication="ParticleMechanicsApplication" WorkingSpaceDimension="3D" LocalSpaceDimension="3" RequiresLocalAxes="No" LargeDeformation="No" ElementType="Grid" help="3D Background element required for the computation of material point method." AnalysisType="non_linear">
196196
<!--here we could add a list of all of the possible geometries-->
197197
<TopologyFeatures>
198198
<item GeometryType="Tetrahedra" nodes="4" KratosName="Element3D4N"/>

kratos.gid/apps/MPM/xml/Procs.spd

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,16 @@
2424
return [MPM::xml::ProcGetSolutionStrategiesMPM $domNode $args]
2525
]]>
2626
</proc>
27+
<proc n='CheckActivateStabilizationState' args='args'>
28+
<![CDATA[
29+
return [MPM::xml::ProcCheckActivateStabilizationState $domNode $args]
30+
]]>
31+
</proc>
2732

33+
<proc n='CheckStabilizationState' args='args'>
34+
<![CDATA[
35+
return [MPM::xml::ProcCheckStabilizationState $domNode $args]
36+
]]>
37+
</proc>
2838

2939
</container>

kratos.gid/apps/MPM/xml/SolutionStrategy.spd

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,11 @@
77
<value n="DeltaTime" pn="Delta time" v="0.01" help="User-defined time step" />
88
</container>
99
<container n="StratParams" pn="Strategy parameters" un="STStratParams" icon="groupsTreeNew.gif" open_window="0" state="[HideIfUniqueName STSoluType eigen_value]">
10-
<value n="ActivateStabilization" pn="Stabilization" type="combo" v="Off" values="Off,On" help="Stabilization" open_window="0" actualize_tree="1" state="normal">
11-
<dependencies value="Off" node="../value[@n='stabilization']" att1="state" v1="hidden"/>
12-
<dependencies value="On" node="../value[@n='stabilization']" att1="state" v1="normal"/>
13-
</value>
14-
<value n="stabilization" pn="Stabilization method" type="combo" v="ppp" values="ppp" pvalues="PPP" help="Stabilization method"/>
10+
<value n="ActivateStabilization" pn="Stabilization" type="combo" v="Off" values="Off,On" help="Stabilization" open_window="0" actualize_tree="1" state="[CheckActivateStabilizationState]" />
11+
<value n="stabilization" pn="Stabilization method" type="combo" v="ppp" values="ppp" pvalues="PPP" help="Stabilization method" state="[CheckStabilizationState]"/>
1512
<dynamicnode command="spdAux::injectSolStratParams" args="ImplementedInApplication StructuralMechanicsApplication"/>
1613
</container>
17-
<include n="Gravity" active="1" path="apps/MPM/xml/Gravity.spd"/>
14+
<include n="Gravity" active="1" path="apps/MPM/xml/Gravity.spd"/>
1815
<include n="Parallelism" active="1" path="apps/Common/xml/Parallelism.spd"/>
1916
<dynamicnode command="spdAux::injectSolvers" args=""/>
2017
</container>

kratos.gid/apps/MPM/xml/XmlController.tcl

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,3 +74,23 @@ proc MPM::xml::ProcCheckGeometry {domNode args} {
7474
}
7575
return $ret
7676
}
77+
78+
proc MPM::xml::ProcCheckActivateStabilizationState {domNode args} {
79+
set ret "hidden"
80+
set up_mixed UpdatedLagrangianUP$::Model::SpatialDimension
81+
set used_elements [::MPM::write::GetUsedElements Name]
82+
if {$up_mixed in $used_elements} {
83+
set ret "normal"
84+
}
85+
return $ret
86+
}
87+
88+
proc MPM::xml::ProcCheckStabilizationState {domNode args} {
89+
set ret "hidden"
90+
set first_check [MPM::xml::ProcCheckActivateStabilizationState domNode args]
91+
if {$first_check eq "normal"} {
92+
set second_check [write::getValueByNode [$domNode selectNodes "..//value\[@n='ActivateStabilization']"] ]
93+
if {$second_check eq "On"} {set ret "normal"}
94+
}
95+
return $ret
96+
}

0 commit comments

Comments
 (0)