Skip to content

Commit 53e4438

Browse files
author
Miguel Angel
committed
Failure is only printed by CDEM. Only the CDEM tree shows the field
1 parent d905c89 commit 53e4438

3 files changed

Lines changed: 17 additions & 134 deletions

File tree

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

Lines changed: 15 additions & 133 deletions
Original file line numberDiff line numberDiff line change
@@ -2,46 +2,8 @@
22
# Project Parameters
33

44
proc CDEM::write::getParametersDict { } {
5-
set project_parameters_dict [dict create]
5+
set project_parameters_dict [DEM::write::getParametersDict]
66

7-
if {$::Model::SpatialDimension eq "2D"} {set dimension [expr 2]
8-
} else {set dimension [expr 3]}
9-
dict set project_parameters_dict "Dimension" [expr $dimension]
10-
dict set project_parameters_dict "PeriodicDomainOption" [write::getValue Boundingbox PeriodicDomain]
11-
dict set project_parameters_dict "BoundingBoxOption" [write::getValue Boundingbox UseBB]
12-
dict set project_parameters_dict "AutomaticBoundingBoxOption" [write::getValue Boundingbox AutomaticBB]
13-
dict set project_parameters_dict "BoundingBoxEnlargementFactor" [write::getValue Boundingbox BBFactor]
14-
dict set project_parameters_dict "BoundingBoxStartTime" [write::getValue Boundingbox StartTime]
15-
dict set project_parameters_dict "BoundingBoxStopTime" [write::getValue Boundingbox StopTime]
16-
dict set project_parameters_dict "BoundingBoxMaxX" [write::getValue Boundingbox MaxX]
17-
dict set project_parameters_dict "BoundingBoxMaxY" [write::getValue Boundingbox MaxY]
18-
dict set project_parameters_dict "BoundingBoxMaxZ" [write::getValue Boundingbox MaxZ]
19-
dict set project_parameters_dict "BoundingBoxMinX" [write::getValue Boundingbox MinX]
20-
dict set project_parameters_dict "BoundingBoxMinY" [write::getValue Boundingbox MinY]
21-
dict set project_parameters_dict "BoundingBoxMinZ" [write::getValue Boundingbox MinZ]
22-
23-
# dem_inlet_option
24-
set numinlets [llength [DEM::write::GetInletGroups]]
25-
if {$numinlets == 0} {
26-
set dem_inlet_option "false"
27-
} else {
28-
set dem_inlet_option "true"
29-
}
30-
dict set project_parameters_dict "dem_inlet_option" $dem_inlet_option
31-
32-
# Gravity
33-
lassign [DEM::write::GetGravity] gx gy gz
34-
# Add data to the parameters_dict
35-
dict set project_parameters_dict "GravityX" $gx
36-
dict set project_parameters_dict "GravityY" $gy
37-
dict set project_parameters_dict "GravityZ" $gz
38-
39-
# Advanced option are disabled
40-
dict set project_parameters_dict "RotationOption" [write::getValue AdvOptions CalculateRotations]
41-
dict set project_parameters_dict "CleanIndentationsOption" [write::getValue AdvOptions CleanIndentations]
42-
set strategy_parameters_dict [dict create]
43-
44-
# set ElementType [::wkcf::GetElementType] # TODO: check old ::wkcf::GetElementType functionalities if required
457
set ElementType SphericContPartDEMElement3D
468
if {$ElementType eq "SphericPartDEMElement3D" || $ElementType eq "CylinderPartDEMElement2D"} {
479
set dem_strategy "sphere_strategy"
@@ -57,10 +19,7 @@ proc CDEM::write::getParametersDict { } {
5719
set dem_strategy "ice_continuum_sphere_strategy"
5820
}
5921

60-
61-
dict set strategy_parameters_dict "RemoveBallsInitiallyTouchingWalls" [write::getValue AdvOptions RemoveParticlesInWalls]
62-
dict set strategy_parameters_dict "strategy" $dem_strategy
63-
dict set project_parameters_dict "solver_settings" $strategy_parameters_dict
22+
dict set strategy_parameters_dict "strategy" $dem_strategy
6423

6524
dict set project_parameters_dict "DeltaOption" [write::getValue AdvOptions DeltaOption]
6625
dict set project_parameters_dict "SearchTolerance" [write::getValue AdvOptions TangencyToleranceValueAbsolute]
@@ -71,111 +30,34 @@ proc CDEM::write::getParametersDict { } {
7130
dict set project_parameters_dict "ComputeStressTensorOption" [write::getValue AdvOptions ComputeStressTensorOption]
7231
dict set project_parameters_dict "MaxAmplificationRatioOfSearchRadius" 1000
7332

74-
dict set project_parameters_dict "VirtualMassCoefficient" [write::getValue AdvOptions VirtualMassCoef]
75-
dict set project_parameters_dict "RollingFrictionOption" [write::getValue AdvOptions RollingFriction]
76-
dict set project_parameters_dict "GlobalDamping" [write::getValue AdvOptions GlobalDamping]
77-
dict set project_parameters_dict "ContactMeshOption" [write::getValue BondElem ContactMeshOption]
78-
dict set project_parameters_dict "OutputFileType" [write::getValue GiDOptions GiDPostMode]
79-
dict set project_parameters_dict "Multifile" [write::getValue GiDOptions GiDMultiFileFlag]
80-
dict set project_parameters_dict "ElementType" $ElementType
81-
82-
dict set project_parameters_dict "TranslationalIntegrationScheme" [write::getValue DEMTranslationalScheme]
83-
dict set project_parameters_dict "RotationalIntegrationScheme" [write::getValue DEMRotationalScheme]
84-
set time_params [DEM::write::GetTimeSettings]
85-
set MaxTimeStep [dict get $time_params DeltaTime]
86-
# TODO: MAXTIMESTEP is get from General and it should be getting its value from DEM block
87-
dict set project_parameters_dict "MaxTimeStep" $MaxTimeStep
88-
set FinalTime [dict get $time_params EndTime]
89-
dict set project_parameters_dict "FinalTime" $FinalTime
90-
# TODO: check for inconsistencies in DEMTIMEPARAMETERS UN
91-
# dict set project_parameters_dict "ControlTime" [write::getValue DEMTimeParameters ScreenInfoOutput]
92-
dict set project_parameters_dict "NeighbourSearchFrequency" [write::getValue DEMTimeParameters NeighbourSearchFrequency]
93-
dict set project_parameters_dict "GraphExportFreq" [write::getValue DGraphs GraphExportFreq]
94-
dict set project_parameters_dict "VelTrapGraphExportFreq" 1e-3
95-
9633
set material_test_parameters_dict [dict create]
9734
set material_analysis [write::getValue DEMTestMaterial Active]
9835
if {$material_analysis == "true"} {
99-
100-
dict set material_test_parameters_dict "TestType" [write::getValue DEMTestMaterial TestType]
101-
dict set material_test_parameters_dict "ConfinementPressure" [write::getValue DEMTestMaterial ConfinementPressure]
102-
dict set material_test_parameters_dict "LoadingVelocity" [write::getValue DEMTestMaterial LoadVelocity]
103-
dict set material_test_parameters_dict "MeshType" [write::getValue DEMTestMaterial Meshtype]
104-
dict set material_test_parameters_dict "SpecimenLength" [write::getValue DEMTestMaterial Specimenlength]
105-
dict set material_test_parameters_dict "SpecimenDiameter" [write::getValue DEMTestMaterial Specimendiameter]
106-
set SpecimenDiameter [write::getValue DEMTestMaterial Specimendiameter]
107-
set MeasuringSurface [expr ($SpecimenDiameter*$SpecimenDiameter*3.141592/4.0)]
108-
dict set material_test_parameters_dict "MeasuringSurface" $MeasuringSurface
109-
110-
dict set project_parameters_dict "material_test_settings" $material_test_parameters_dict
36+
dict set material_test_parameters_dict "TestType" [write::getValue DEMTestMaterial TestType]
37+
dict set material_test_parameters_dict "ConfinementPressure" [write::getValue DEMTestMaterial ConfinementPressure]
38+
dict set material_test_parameters_dict "LoadingVelocity" [write::getValue DEMTestMaterial LoadVelocity]
39+
dict set material_test_parameters_dict "MeshType" [write::getValue DEMTestMaterial Meshtype]
40+
dict set material_test_parameters_dict "SpecimenLength" [write::getValue DEMTestMaterial Specimenlength]
41+
dict set material_test_parameters_dict "SpecimenDiameter" [write::getValue DEMTestMaterial Specimendiameter]
42+
set SpecimenDiameter [write::getValue DEMTestMaterial Specimendiameter]
43+
set MeasuringSurface [expr ($SpecimenDiameter*$SpecimenDiameter*3.141592/4.0)]
44+
dict set material_test_parameters_dict "MeasuringSurface" $MeasuringSurface
45+
dict set project_parameters_dict "material_test_settings" $material_test_parameters_dict
11146
}
11247

113-
# Output timestep
114-
set output_criterion [write::getValue DEMResults DEM-OTimeStepType]
115-
if {$output_criterion eq "Detail_priority"} {
116-
set output_timestep [write::getValue DEMResults DEM-OTimeStepDetail]
117-
} elseif {$output_criterion eq "Storage_priority"} {
118-
set amount [write::getValue DEMResults DEM-OTimeStepStorage]
119-
set OTimeStepStorage [expr (double($FinalTime)/$amount)]
120-
set maxamount [expr ($FinalTime/$MaxTimeStep)]
121-
if {$amount < $maxamount} {
122-
set output_timestep $OTimeStepStorage
123-
} else {
124-
set output_timestep $MaxTimeStep
125-
}
126-
}
127-
dict set project_parameters_dict "OutputTimeStep" $output_timestep
128-
dict set project_parameters_dict "PostBoundingBox" [write::getValue Boundingbox PostBB]
129-
dict set project_parameters_dict "PostLocalContactForce" [write::getValue BondElem LocalContactForce]
13048
dict set project_parameters_dict "PostContactFailureId" [write::getValue BondElem TypeOfFailure]
131-
dict set project_parameters_dict "PostDisplacement" [write::getValue PostPrint Displacement]
132-
dict set project_parameters_dict "PostRadius" [write::getValue PostPrint Radius]
133-
dict set project_parameters_dict "PostVelocity" [write::getValue PostPrint PostVel]
134-
dict set project_parameters_dict "PostAngularVelocity" [write::getValue PostPrint AngularVelocity]
135-
dict set project_parameters_dict "PostElasticForces" [write::getValue PostPrint ElasForces]
136-
dict set project_parameters_dict "PostContactForces" [write::getValue PostPrint ContactForces]
137-
dict set project_parameters_dict "PostRigidElementForces" [write::getValue PostPrint RigidElementForces]
138-
dict set project_parameters_dict "PostStressStrainOption" [write::getValue PostPrint Stresses]
139-
dict set project_parameters_dict "PostTangentialElasticForces" [write::getValue PostPrint TangElasForces]
140-
dict set project_parameters_dict "PostTotalForces" [write::getValue PostPrint TotalForces]
141-
dict set project_parameters_dict "PostPressure" [write::getValue PostPrint Pressure]
142-
dict set project_parameters_dict "PostShearStress" [write::getValue PostPrint ShearStress]
143-
dict set project_parameters_dict "PostNonDimensionalVolumeWear" [write::getValue PostPrint Wear]
144-
dict set project_parameters_dict "PostParticleMoment" [write::getValue PostPrint ParticleMoment]
145-
dict set project_parameters_dict "PostEulerAngles" [write::getValue PostPrint EulerAngles]
146-
dict set project_parameters_dict "PostRollingResistanceMoment" [write::getValue PostPrint RollingResistanceMoment]
147-
#dict set project_parameters_dict "PostNodalArea" [write::getValue PostPrint NodalArea]
148-
#dict set project_parameters_dict "PostRHS" [write::getValue PostPrint Rhs]
149-
#dict set project_parameters_dict "PostDampForces" [write::getValue PostPrint DampForces]
150-
#dict set project_parameters_dict "PostAppliedForces" [write::getValue PostPrint AppliedForces]
151-
#dict set project_parameters_dict "PostGroupId" [write::getValue PostPrint GroupId]
152-
#dict set project_parameters_dict "PostExportId" [write::getValue PostPrint ExportId]
153-
dict set project_parameters_dict "problem_name" [Kratos::GetModelName]
15449

15550
return $project_parameters_dict
15651
}
15752

15853
proc CDEM::write::GetTimeSettings { } {
159-
set result [dict create]
160-
dict set result DeltaTime [write::getValue DEMTimeParameters DeltaTime]
161-
dict set result EndTime [write::getValue DEMTimeParameters EndTime]
162-
return $result
54+
return [DEM::write::GetTimeSettings]
16355
}
16456

16557
proc CDEM::write::GetGravity { } {
166-
set gravity_value [write::getValue DEMGravity GravityValue]
167-
set gravity_X [write::getValue DEMGravity Cx]
168-
set gravity_Y [write::getValue DEMGravity Cy]
169-
set gravity_Z [write::getValue DEMGravity Cz]
170-
# Normalize director vector
171-
lassign [MathUtils::VectorNormalized [list $gravity_X $gravity_Y $gravity_Z]] gravity_X gravity_Y gravity_Z
172-
# Get value by components
173-
lassign [MathUtils::ScalarByVectorProd $gravity_value [list $gravity_X $gravity_Y $gravity_Z] ] gx gy gz
174-
175-
return [list $gx $gy $gz]
58+
return [DEM::write::GetGravity]
17659
}
17760

17861
proc CDEM::write::writeParametersEvent { } {
179-
# write::SetParallelismConfiguration; # Node is being deleted at init
180-
write::WriteJSON [getParametersDict]
62+
DEM::write::writeParametersEvent
18163
}

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ proc CDEM::xml::CustomTree { args } {
3131
set result_node [$root selectNodes "[spdAux::getRoute DEMStratSection]/container\[@n = 'DEMGravity'\]"]
3232
if { $result_node ne "" } {$result_node delete}
3333

34+
gid_groups_conds::addF [spdAux::getRoute BondElem] value [list n TypeOfFailure pn "Type of failure" v No values {Yes,No} icon "black1" help "Displays different numbers for different types of failure. 2: tension. 4: shear or combination of stresses. 6: neighbour not found by search. 8: less bonds than minimum"]
35+
spdAux::SetValueOnTreeItem state {[getStateFromXPathValue {string(../value[@n='ContactMeshOption']/@v)} true]} BondElem TypeOfFailure
3436
}
3537

3638
proc CDEM::xml::ProcGetElements { domNode args } {

kratos.gid/apps/DEM/xml/Results.spd

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
<container n="BondElem" pn="On bond results" un="BondElem" help="Results on bond elements" open_window="1" icon="options">
4141
<value n="ContactMeshOption" type="bool" values="true,false" v="false" pn="Show bonds" icon="black1" help="Calculate and show the bonds between particles"/>
4242
<value n="LocalContactForce" type="bool" values="true,false" v="false" pn="Local contact force" icon="black1" state="[getStateFromXPathValue {string(../value[@n='ContactMeshOption']/@v)} true]" help="Displays the local contact forces between particles"/>
43-
<value n="TypeOfFailure" type="bool" values="true,false" v="false" pn="Type of failure" icon="black1" state="[getStateFromXPathValue {string(../value[@n='ContactMeshOption']/@v)} true]" help="Displays different numbers for different types of failure. 2: tension. 4: shear or combination of stresses. 6: neighbour not found by search. 8: less bonds than minimum"/>
4443
</container>
4544

4645
<container n="PrintGraphs" pn="Graphs on DEM-Wall" un="DGraphs" open="1" icon="options">

0 commit comments

Comments
 (0)