From 425e8f4d548e3932fba2b4e6884fc75ccee47d92 Mon Sep 17 00:00:00 2001 From: Javi Garate Date: Tue, 8 Dec 2020 20:00:52 +0100 Subject: [PATCH] Clean --- kratos.gid/apps/CDEM/xml/ElementsC.xml | 1 - kratos.gid/apps/DEM/xml/Elements.xml | 1 - .../apps/Solid/examples/CircularTank.tcl | 297 ------ .../CircularTank2Da.gid/CircularTank2Da.geo | Bin 4523 -> 0 bytes .../CircularTank2Da.gid/CircularTank2Da.prj | 25 - .../CircularTank2Da.gid/CircularTank2Da.vv | 37 - .../CircularTank3D.gid/CircularTank3D.geo | Bin 11208 -> 0 bytes .../CircularTank3D.gid/CircularTank3D.prj | 26 - .../CircularTank3D.gid/CircularTank3D.vv | 37 - .../apps/Solid/examples/DynamicBeam.tcl | 141 --- .../DynamicBeam3D.gid/DynamicBeam3D.geo | Bin 572 -> 0 bytes .../DynamicBeam3D.gid/DynamicBeam3D.prj | 24 - .../DynamicBeam3D.gid/DynamicBeam3D.vv | 37 - kratos.gid/apps/Solid/examples/DynamicRod.tcl | 206 ---- .../DynamicRod2D.gid/DynamicRod2D.geo | Bin 10244 -> 0 bytes .../DynamicRod2D.gid/DynamicRod2D.prj | 24 - .../examples/DynamicRod2D.gid/DynamicRod2D.vv | 37 - .../DynamicRod3D.gid/DynamicRod3D.geo | Bin 35516 -> 0 bytes .../DynamicRod3D.gid/DynamicRod3D.prj | 29 - .../examples/DynamicRod3D.gid/DynamicRod3D.vv | 37 - .../apps/Solid/examples/EccentricColumn.tcl | 181 ---- .../EccentricColumn3D.geo | Bin 24732 -> 0 bytes .../EccentricColumn3D.prj | 31 - .../EccentricColumn3D.vv | 37 - .../apps/Solid/examples/NotchedBeam.tcl | 164 --- .../NotchedBeam2D.gid/NotchedBeam2D.geo | Bin 3788 -> 0 bytes .../NotchedBeam2D.gid/NotchedBeam2D.prj | 25 - .../NotchedBeam2D.gid/NotchedBeam2D.vv | 37 - .../StaticBeamLattice.geo | Bin 6202 -> 0 bytes .../StaticBeamLattice.prj | 28 - .../StaticBeamLattice.vv | 37 - .../apps/Solid/examples/StaticBeamLattice.tcl | 204 ---- kratos.gid/apps/Solid/examples/examples.tcl | 41 - kratos.gid/apps/Solid/images/2D.png | Bin 4975 -> 0 bytes kratos.gid/apps/Solid/images/2Da.png | Bin 6018 -> 0 bytes kratos.gid/apps/Solid/images/3D.png | Bin 4907 -> 0 bytes .../apps/Solid/images/Black/analysis_type.png | Bin 523 -> 0 bytes .../apps/Solid/images/Black/beam_example.png | Bin 857 -> 0 bytes kratos.gid/apps/Solid/images/Black/bodies.png | Bin 318 -> 0 bytes .../Solid/images/Black/boundaryConditions.png | Bin 327 -> 0 bytes .../apps/Solid/images/Black/cancelProcess.png | Bin 1526 -> 0 bytes .../Solid/images/Black/column_example.png | Bin 746 -> 0 bytes .../Solid/images/Black/contactStrategy.png | Bin 262 -> 0 bytes kratos.gid/apps/Solid/images/Black/data.png | Bin 251 -> 0 bytes .../apps/Solid/images/Black/doRestart.png | Bin 281 -> 0 bytes kratos.gid/apps/Solid/images/Black/folder.png | Bin 277 -> 0 bytes .../apps/Solid/images/Black/groupCreated.png | Bin 456 -> 0 bytes .../apps/Solid/images/Black/linear_solver.png | Bin 355 -> 0 bytes .../Solid/images/Black/meshingStrategies.png | Bin 303 -> 0 bytes .../Solid/images/Black/modelProperties.png | Bin 1765 -> 0 bytes .../Solid/images/Black/notched_example.png | Bin 760 -> 0 bytes .../apps/Solid/images/Black/parallel_type.png | Bin 291 -> 0 bytes .../apps/Solid/images/Black/rod_example.png | Bin 1161 -> 0 bytes .../apps/Solid/images/Black/runSimulation.png | Bin 1552 -> 0 bytes .../apps/Solid/images/Black/seeResults.png | Bin 306 -> 0 bytes kratos.gid/apps/Solid/images/Black/select.png | Bin 327 -> 0 bytes .../apps/Solid/images/Black/setLoad.png | Bin 277 -> 0 bytes .../apps/Solid/images/Black/setUnits.png | Bin 294 -> 0 bytes kratos.gid/apps/Solid/images/Black/sheets.png | Bin 293 -> 0 bytes kratos.gid/apps/Solid/images/Black/solid.png | Bin 567 -> 0 bytes .../apps/Solid/images/Black/solvers.png | Bin 384 -> 0 bytes .../apps/Solid/images/Black/tank_example.png | Bin 1092 -> 0 bytes .../apps/Solid/images/Black/timeIntervals.png | Bin 372 -> 0 bytes .../Solid/images/Black/timeParameters.png | Bin 364 -> 0 bytes kratos.gid/apps/Solid/images/Black/tree.png | Bin 510 -> 0 bytes kratos.gid/apps/Solid/images/Black/view.png | Bin 1661 -> 0 bytes .../apps/Solid/images/CircularTank2Da.png | Bin 3232 -> 0 bytes .../apps/Solid/images/CircularTank3D.png | Bin 4886 -> 0 bytes kratos.gid/apps/Solid/images/DynamicBeam.png | Bin 1439 -> 0 bytes kratos.gid/apps/Solid/images/DynamicRod2D.png | Bin 6963 -> 0 bytes kratos.gid/apps/Solid/images/DynamicRod3D.png | Bin 6273 -> 0 bytes .../apps/Solid/images/EccentricColumn.png | Bin 2880 -> 0 bytes kratos.gid/apps/Solid/images/NotchedBeam.png | Bin 7737 -> 0 bytes .../apps/Solid/images/analysis_type.png | Bin 811 -> 0 bytes kratos.gid/apps/Solid/images/beam_example.png | Bin 863 -> 0 bytes kratos.gid/apps/Solid/images/bodies.png | Bin 287 -> 0 bytes .../apps/Solid/images/boundaryConditions.png | Bin 274 -> 0 bytes .../apps/Solid/images/cancelProcess.png | Bin 1863 -> 0 bytes .../apps/Solid/images/column_example.png | Bin 850 -> 0 bytes .../apps/Solid/images/conditions/arrow.msh | 53 - .../Solid/images/conditions/displacement.png | Bin 279 -> 0 bytes .../Solid/images/conditions/selfweight.msh | 38 - .../apps/Solid/images/conditions/spring.msh | 430 -------- .../apps/Solid/images/contactStrategy.png | Bin 291 -> 0 bytes kratos.gid/apps/Solid/images/data.png | Bin 203 -> 0 bytes kratos.gid/apps/Solid/images/doRestart.png | Bin 258 -> 0 bytes kratos.gid/apps/Solid/images/folder.png | Bin 262 -> 0 bytes kratos.gid/apps/Solid/images/groupCreated.png | Bin 422 -> 0 bytes .../apps/Solid/images/lattice_example.png | Bin 1387 -> 0 bytes .../apps/Solid/images/linear_solver.png | Bin 294 -> 0 bytes kratos.gid/apps/Solid/images/logo.png | Bin 15360 -> 0 bytes kratos.gid/apps/Solid/images/logo_beam.png | Bin 14958 -> 0 bytes .../apps/Solid/images/meshingStrategies.png | Bin 246 -> 0 bytes .../apps/Solid/images/modelProperties.png | Bin 1938 -> 0 bytes .../apps/Solid/images/notched_example.png | Bin 792 -> 0 bytes .../apps/Solid/images/parallel_type.png | Bin 335 -> 0 bytes kratos.gid/apps/Solid/images/rod_example.png | Bin 1078 -> 0 bytes .../apps/Solid/images/runSimulation.png | Bin 1887 -> 0 bytes kratos.gid/apps/Solid/images/seeResults.png | Bin 265 -> 0 bytes kratos.gid/apps/Solid/images/select.png | Bin 289 -> 0 bytes kratos.gid/apps/Solid/images/setLoad.png | Bin 283 -> 0 bytes kratos.gid/apps/Solid/images/setUnits.png | Bin 237 -> 0 bytes kratos.gid/apps/Solid/images/sheets.png | Bin 280 -> 0 bytes kratos.gid/apps/Solid/images/solid.png | Bin 801 -> 0 bytes kratos.gid/apps/Solid/images/solvers.png | Bin 294 -> 0 bytes kratos.gid/apps/Solid/images/tank_example.png | Bin 918 -> 0 bytes .../apps/Solid/images/timeIntervals.png | Bin 287 -> 0 bytes .../apps/Solid/images/timeParameters.png | Bin 273 -> 0 bytes kratos.gid/apps/Solid/images/tree.png | Bin 814 -> 0 bytes kratos.gid/apps/Solid/images/view.png | Bin 1950 -> 0 bytes kratos.gid/apps/Solid/python/RunSolid.py | 8 - kratos.gid/apps/Solid/start.tcl | 84 -- kratos.gid/apps/Solid/symbols/symbols.tcl | 393 ------- kratos.gid/apps/Solid/write/validation.tcl | 137 --- kratos.gid/apps/Solid/write/write.tcl | 377 ------- .../Solid/write/writeProjectParameters.tcl | 177 ---- .../apps/Solid/xml/BoundaryConditions.spd | 4 - kratos.gid/apps/Solid/xml/Conditions.xml | 378 ------- .../apps/Solid/xml/ConstitutiveLaws.xml | 694 ------------- .../apps/Solid/xml/DeprecatedProcesses.xml | 59 -- kratos.gid/apps/Solid/xml/Elements.xml | 958 ------------------ kratos.gid/apps/Solid/xml/Fields.spd | 8 - kratos.gid/apps/Solid/xml/Functions.spd | 18 - kratos.gid/apps/Solid/xml/Loads.spd | 4 - kratos.gid/apps/Solid/xml/Main.spd | 13 - kratos.gid/apps/Solid/xml/Materials.spd | 4 - kratos.gid/apps/Solid/xml/Materials.xml | 38 - kratos.gid/apps/Solid/xml/NodalConditions.xml | 87 -- kratos.gid/apps/Solid/xml/Parts.spd | 20 - kratos.gid/apps/Solid/xml/Processes.xml | 78 -- kratos.gid/apps/Solid/xml/Procs.spd | 23 - kratos.gid/apps/Solid/xml/Results.spd | 33 - .../apps/Solid/xml/SolutionStrategy.spd | 8 - kratos.gid/apps/Solid/xml/StageInfo.spd | 15 - kratos.gid/apps/Solid/xml/Strategies.xml | 261 ----- kratos.gid/apps/Solid/xml/XmlController.tcl | 152 --- kratos.gid/kratos.xml | 46 - kratos.gid/kratos_default.spd | 1 - 138 files changed, 6343 deletions(-) delete mode 100644 kratos.gid/apps/Solid/examples/CircularTank.tcl delete mode 100644 kratos.gid/apps/Solid/examples/CircularTank2Da.gid/CircularTank2Da.geo delete mode 100644 kratos.gid/apps/Solid/examples/CircularTank2Da.gid/CircularTank2Da.prj delete mode 100644 kratos.gid/apps/Solid/examples/CircularTank2Da.gid/CircularTank2Da.vv delete mode 100644 kratos.gid/apps/Solid/examples/CircularTank3D.gid/CircularTank3D.geo delete mode 100644 kratos.gid/apps/Solid/examples/CircularTank3D.gid/CircularTank3D.prj delete mode 100644 kratos.gid/apps/Solid/examples/CircularTank3D.gid/CircularTank3D.vv delete mode 100644 kratos.gid/apps/Solid/examples/DynamicBeam.tcl delete mode 100644 kratos.gid/apps/Solid/examples/DynamicBeam3D.gid/DynamicBeam3D.geo delete mode 100644 kratos.gid/apps/Solid/examples/DynamicBeam3D.gid/DynamicBeam3D.prj delete mode 100644 kratos.gid/apps/Solid/examples/DynamicBeam3D.gid/DynamicBeam3D.vv delete mode 100644 kratos.gid/apps/Solid/examples/DynamicRod.tcl delete mode 100644 kratos.gid/apps/Solid/examples/DynamicRod2D.gid/DynamicRod2D.geo delete mode 100644 kratos.gid/apps/Solid/examples/DynamicRod2D.gid/DynamicRod2D.prj delete mode 100644 kratos.gid/apps/Solid/examples/DynamicRod2D.gid/DynamicRod2D.vv delete mode 100644 kratos.gid/apps/Solid/examples/DynamicRod3D.gid/DynamicRod3D.geo delete mode 100644 kratos.gid/apps/Solid/examples/DynamicRod3D.gid/DynamicRod3D.prj delete mode 100644 kratos.gid/apps/Solid/examples/DynamicRod3D.gid/DynamicRod3D.vv delete mode 100644 kratos.gid/apps/Solid/examples/EccentricColumn.tcl delete mode 100644 kratos.gid/apps/Solid/examples/EccentricColumn3D.gid/EccentricColumn3D.geo delete mode 100644 kratos.gid/apps/Solid/examples/EccentricColumn3D.gid/EccentricColumn3D.prj delete mode 100644 kratos.gid/apps/Solid/examples/EccentricColumn3D.gid/EccentricColumn3D.vv delete mode 100644 kratos.gid/apps/Solid/examples/NotchedBeam.tcl delete mode 100644 kratos.gid/apps/Solid/examples/NotchedBeam2D.gid/NotchedBeam2D.geo delete mode 100644 kratos.gid/apps/Solid/examples/NotchedBeam2D.gid/NotchedBeam2D.prj delete mode 100644 kratos.gid/apps/Solid/examples/NotchedBeam2D.gid/NotchedBeam2D.vv delete mode 100644 kratos.gid/apps/Solid/examples/StaticBeamLattice.gid/StaticBeamLattice.geo delete mode 100644 kratos.gid/apps/Solid/examples/StaticBeamLattice.gid/StaticBeamLattice.prj delete mode 100644 kratos.gid/apps/Solid/examples/StaticBeamLattice.gid/StaticBeamLattice.vv delete mode 100644 kratos.gid/apps/Solid/examples/StaticBeamLattice.tcl delete mode 100644 kratos.gid/apps/Solid/examples/examples.tcl delete mode 100644 kratos.gid/apps/Solid/images/2D.png delete mode 100644 kratos.gid/apps/Solid/images/2Da.png delete mode 100644 kratos.gid/apps/Solid/images/3D.png delete mode 100644 kratos.gid/apps/Solid/images/Black/analysis_type.png delete mode 100644 kratos.gid/apps/Solid/images/Black/beam_example.png delete mode 100644 kratos.gid/apps/Solid/images/Black/bodies.png delete mode 100644 kratos.gid/apps/Solid/images/Black/boundaryConditions.png delete mode 100644 kratos.gid/apps/Solid/images/Black/cancelProcess.png delete mode 100644 kratos.gid/apps/Solid/images/Black/column_example.png delete mode 100644 kratos.gid/apps/Solid/images/Black/contactStrategy.png delete mode 100644 kratos.gid/apps/Solid/images/Black/data.png delete mode 100644 kratos.gid/apps/Solid/images/Black/doRestart.png delete mode 100644 kratos.gid/apps/Solid/images/Black/folder.png delete mode 100644 kratos.gid/apps/Solid/images/Black/groupCreated.png delete mode 100644 kratos.gid/apps/Solid/images/Black/linear_solver.png delete mode 100644 kratos.gid/apps/Solid/images/Black/meshingStrategies.png delete mode 100644 kratos.gid/apps/Solid/images/Black/modelProperties.png delete mode 100644 kratos.gid/apps/Solid/images/Black/notched_example.png delete mode 100644 kratos.gid/apps/Solid/images/Black/parallel_type.png delete mode 100644 kratos.gid/apps/Solid/images/Black/rod_example.png delete mode 100644 kratos.gid/apps/Solid/images/Black/runSimulation.png delete mode 100644 kratos.gid/apps/Solid/images/Black/seeResults.png delete mode 100644 kratos.gid/apps/Solid/images/Black/select.png delete mode 100644 kratos.gid/apps/Solid/images/Black/setLoad.png delete mode 100644 kratos.gid/apps/Solid/images/Black/setUnits.png delete mode 100644 kratos.gid/apps/Solid/images/Black/sheets.png delete mode 100644 kratos.gid/apps/Solid/images/Black/solid.png delete mode 100644 kratos.gid/apps/Solid/images/Black/solvers.png delete mode 100644 kratos.gid/apps/Solid/images/Black/tank_example.png delete mode 100644 kratos.gid/apps/Solid/images/Black/timeIntervals.png delete mode 100644 kratos.gid/apps/Solid/images/Black/timeParameters.png delete mode 100644 kratos.gid/apps/Solid/images/Black/tree.png delete mode 100644 kratos.gid/apps/Solid/images/Black/view.png delete mode 100644 kratos.gid/apps/Solid/images/CircularTank2Da.png delete mode 100644 kratos.gid/apps/Solid/images/CircularTank3D.png delete mode 100644 kratos.gid/apps/Solid/images/DynamicBeam.png delete mode 100644 kratos.gid/apps/Solid/images/DynamicRod2D.png delete mode 100644 kratos.gid/apps/Solid/images/DynamicRod3D.png delete mode 100644 kratos.gid/apps/Solid/images/EccentricColumn.png delete mode 100644 kratos.gid/apps/Solid/images/NotchedBeam.png delete mode 100644 kratos.gid/apps/Solid/images/analysis_type.png delete mode 100644 kratos.gid/apps/Solid/images/beam_example.png delete mode 100644 kratos.gid/apps/Solid/images/bodies.png delete mode 100644 kratos.gid/apps/Solid/images/boundaryConditions.png delete mode 100644 kratos.gid/apps/Solid/images/cancelProcess.png delete mode 100644 kratos.gid/apps/Solid/images/column_example.png delete mode 100644 kratos.gid/apps/Solid/images/conditions/arrow.msh delete mode 100644 kratos.gid/apps/Solid/images/conditions/displacement.png delete mode 100644 kratos.gid/apps/Solid/images/conditions/selfweight.msh delete mode 100644 kratos.gid/apps/Solid/images/conditions/spring.msh delete mode 100644 kratos.gid/apps/Solid/images/contactStrategy.png delete mode 100644 kratos.gid/apps/Solid/images/data.png delete mode 100644 kratos.gid/apps/Solid/images/doRestart.png delete mode 100644 kratos.gid/apps/Solid/images/folder.png delete mode 100644 kratos.gid/apps/Solid/images/groupCreated.png delete mode 100644 kratos.gid/apps/Solid/images/lattice_example.png delete mode 100644 kratos.gid/apps/Solid/images/linear_solver.png delete mode 100644 kratos.gid/apps/Solid/images/logo.png delete mode 100644 kratos.gid/apps/Solid/images/logo_beam.png delete mode 100644 kratos.gid/apps/Solid/images/meshingStrategies.png delete mode 100644 kratos.gid/apps/Solid/images/modelProperties.png delete mode 100644 kratos.gid/apps/Solid/images/notched_example.png delete mode 100644 kratos.gid/apps/Solid/images/parallel_type.png delete mode 100644 kratos.gid/apps/Solid/images/rod_example.png delete mode 100644 kratos.gid/apps/Solid/images/runSimulation.png delete mode 100644 kratos.gid/apps/Solid/images/seeResults.png delete mode 100644 kratos.gid/apps/Solid/images/select.png delete mode 100644 kratos.gid/apps/Solid/images/setLoad.png delete mode 100644 kratos.gid/apps/Solid/images/setUnits.png delete mode 100644 kratos.gid/apps/Solid/images/sheets.png delete mode 100644 kratos.gid/apps/Solid/images/solid.png delete mode 100644 kratos.gid/apps/Solid/images/solvers.png delete mode 100644 kratos.gid/apps/Solid/images/tank_example.png delete mode 100644 kratos.gid/apps/Solid/images/timeIntervals.png delete mode 100644 kratos.gid/apps/Solid/images/timeParameters.png delete mode 100644 kratos.gid/apps/Solid/images/tree.png delete mode 100644 kratos.gid/apps/Solid/images/view.png delete mode 100644 kratos.gid/apps/Solid/python/RunSolid.py delete mode 100644 kratos.gid/apps/Solid/start.tcl delete mode 100644 kratos.gid/apps/Solid/symbols/symbols.tcl delete mode 100644 kratos.gid/apps/Solid/write/validation.tcl delete mode 100644 kratos.gid/apps/Solid/write/write.tcl delete mode 100644 kratos.gid/apps/Solid/write/writeProjectParameters.tcl delete mode 100644 kratos.gid/apps/Solid/xml/BoundaryConditions.spd delete mode 100644 kratos.gid/apps/Solid/xml/Conditions.xml delete mode 100644 kratos.gid/apps/Solid/xml/ConstitutiveLaws.xml delete mode 100644 kratos.gid/apps/Solid/xml/DeprecatedProcesses.xml delete mode 100644 kratos.gid/apps/Solid/xml/Elements.xml delete mode 100644 kratos.gid/apps/Solid/xml/Fields.spd delete mode 100644 kratos.gid/apps/Solid/xml/Functions.spd delete mode 100644 kratos.gid/apps/Solid/xml/Loads.spd delete mode 100644 kratos.gid/apps/Solid/xml/Main.spd delete mode 100644 kratos.gid/apps/Solid/xml/Materials.spd delete mode 100644 kratos.gid/apps/Solid/xml/Materials.xml delete mode 100644 kratos.gid/apps/Solid/xml/NodalConditions.xml delete mode 100644 kratos.gid/apps/Solid/xml/Parts.spd delete mode 100644 kratos.gid/apps/Solid/xml/Processes.xml delete mode 100644 kratos.gid/apps/Solid/xml/Procs.spd delete mode 100644 kratos.gid/apps/Solid/xml/Results.spd delete mode 100644 kratos.gid/apps/Solid/xml/SolutionStrategy.spd delete mode 100644 kratos.gid/apps/Solid/xml/StageInfo.spd delete mode 100644 kratos.gid/apps/Solid/xml/Strategies.xml delete mode 100644 kratos.gid/apps/Solid/xml/XmlController.tcl diff --git a/kratos.gid/apps/CDEM/xml/ElementsC.xml b/kratos.gid/apps/CDEM/xml/ElementsC.xml index 7e022da47..22eadcaac 100644 --- a/kratos.gid/apps/CDEM/xml/ElementsC.xml +++ b/kratos.gid/apps/CDEM/xml/ElementsC.xml @@ -1,6 +1,5 @@ - diff --git a/kratos.gid/apps/DEM/xml/Elements.xml b/kratos.gid/apps/DEM/xml/Elements.xml index 9b72019c4..f63924250 100644 --- a/kratos.gid/apps/DEM/xml/Elements.xml +++ b/kratos.gid/apps/DEM/xml/Elements.xml @@ -1,6 +1,5 @@ - diff --git a/kratos.gid/apps/Solid/examples/CircularTank.tcl b/kratos.gid/apps/Solid/examples/CircularTank.tcl deleted file mode 100644 index a1be5e5e9..000000000 --- a/kratos.gid/apps/Solid/examples/CircularTank.tcl +++ /dev/null @@ -1,297 +0,0 @@ - -proc ::Solid::examples::CircularTank {args} { - if {![Kratos::IsModelEmpty]} { - set txt "We are going to draw the example geometry.\nDo you want to lose your previous work?" - set retval [tk_messageBox -default ok -icon question -message $txt -type okcancel] - if { $retval == "cancel" } { return } - } - DrawCircularTankGeometry$::Model::SpatialDimension - TreeAssignationCircularTank$::Model::SpatialDimension - - GiD_Process 'Redraw - GidUtils::UpdateWindow GROUPS - GidUtils::UpdateWindow LAYER - GiD_Process 'Zoom Frame -} - - -# Draw Geometry -proc Solid::examples::DrawCircularTankGeometry3D {args} { - Kratos::ResetModel - set dir [apps::getMyDir "Solid"] - set problemfile [file join $dir examples CircularTank3D.gid] - GiD_Process Mescape Files InsertGeom $problemfile -} -proc Solid::examples::DrawCircularTankGeometry2Da {args} { - Kratos::ResetModel - set dir [apps::getMyDir "Solid"] - set problemfile [file join $dir examples CircularTank2Da.gid] - GiD_Process Mescape Files InsertGeom $problemfile -} -proc Solid::examples::DrawCircularTankGeometry2D {args} { - Kratos::ResetModel -} -# Mesh sizes - - -# Tree assign -proc Solid::examples::TreeAssignationCircularTank3D {args} { - set nd $::Model::SpatialDimension - set root [customlib::GetBaseRoot] - - set condtype line - if {$nd eq "3D"} { set condtype surface } - - # Static solution strategy set - spdAux::SetValueOnTreeItem v "Static" SLSoluType - - # Time parameters - set time_parameters [list EndTime 1.0 DeltaTime 1.0] - set time_params_path [spdAux::getRoute SLTimeParameters] - foreach {name value} $time_parameters { - set node [$root selectNodes "$time_params_path/value\[@n = '$name'\]"] - if {$node ne ""} { - $node setAttribute v $value - } else { - W "Couldn't find $name - Check example script" - } - } - - # Solid Parts - set solidParts [spdAux::getRoute "SLParts"] - set solidPartsNode [customlib::AddConditionGroupOnXPath $solidParts Solid] - $solidPartsNode setAttribute ov volume - set props [list Element SmallDisplacementElement$nd ConstitutiveLaw SmallStrain3DLaw.LinearElasticModel] - foreach {prop val} $props { - set propnode [$solidPartsNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - set solidConditions [spdAux::getRoute "SLNodalConditions"] - - # Solid Constraint - GiD_Groups clone ConstraintX Total - GiD_Groups edit parent Total ConstraintX - spdAux::AddIntervalGroup ConstraintX "ConstraintX//Total" - GiD_Groups edit state "ConstraintX//Total" hidden - set solidConstraintX {container[@n='Solid']/container[@n='Boundary Conditions']/condition[@n='DISPLACEMENT']} - set solidConstraintXNode [customlib::AddConditionGroupOnXPath $solidConstraintX "ConstraintX//Total"] - $solidConstraintXNode setAttribute ov surface - set props [list selector_component_X ByValue value_component_X 0.0 selector_component_Y Not selector_component_Z Not Interval Total] - foreach {prop val} $props { - set propnode [$solidConstraintXNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - GiD_Groups clone ConstraintZ Total - GiD_Groups edit parent Total ConstraintZ - spdAux::AddIntervalGroup ConstraintZ "ConstraintZ//Total" - GiD_Groups edit state "ConstraintZ//Total" hidden - set solidConstraintZ {container[@n='Solid']/container[@n='Boundary Conditions']/condition[@n='DISPLACEMENT']} - set solidConstraintZNode [customlib::AddConditionGroupOnXPath $solidConstraintZ "ConstraintZ//Total"] - $solidConstraintZNode setAttribute ov surface - set props [list selector_component_X Not selector_component_Y Not selector_component_Z ByValue value_component_Z 0.0 Interval Total] - foreach {prop val} $props { - set propnode [$solidConstraintZNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - # Solid Loads - GiD_Groups clone SelfWeight Total - GiD_Groups edit parent Total SelfWeight - spdAux::AddIntervalGroup SelfWeight "SelfWeight//Total" - GiD_Groups edit state "SelfWeight//Total" hidden - set solidLoad "container\[@n='Solid'\]/container\[@n='Loads'\]/condition\[@n='SelfWeight$nd'\]" - set solidLoadNode [customlib::AddConditionGroupOnXPath $solidLoad "SelfWeight//Total"] - $solidLoadNode setAttribute ov volume - set props [list ByFunction No modulus 9.81 direction 0.0,-1.0,0.0 Interval Total] - foreach {prop val} $props { - set propnode [$solidLoadNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - GiD_Groups clone Pressure Total - GiD_Groups edit parent Total Pressure - spdAux::AddIntervalGroup Pressure "Pressure//Total" - GiD_Groups edit state "Pressure//Total" hidden - set solidPressure "container\[@n='Solid'\]/container\[@n='Loads'\]/condition\[@n='Pressure$nd'\]" - set solidPressureNode [customlib::AddConditionGroupOnXPath $solidPressure "Pressure//Total"] - $solidPressureNode setAttribute ov surface - set props [list ByFunction Yes function_value "9.81*1000*(2.5-y)" Interval Total] - foreach {prop val} $props { - set propnode [$solidPressureNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - GiD_Groups clone Ballast Total - GiD_Groups edit parent Total Ballast - spdAux::AddIntervalGroup Ballast "Ballast//Total" - GiD_Groups edit state "Ballast//Total" hidden - set solidBallast "container\[@n='Solid'\]/container\[@n='Loads'\]/condition\[@n='Ballast$nd'\]" - set solidBallastNode [customlib::AddConditionGroupOnXPath $solidBallast "Ballast//Total"] - $solidBallastNode setAttribute ov surface - set props [list ByFunction No value 50e6 Interval Total] - foreach {prop val} $props { - set propnode [$solidBallastNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - # Parallelism - set time_parameters [list ParallelSolutionType OpenMP OpenMPNumberOfThreads 4] - set time_params_path [spdAux::getRoute "Parallelization"] - foreach {n v} $time_parameters { - [$root selectNodes "$time_params_path/value\[@n = '$n'\]"] setAttribute v $v - } - - # Solver - set solver_parameters [list Solver amgcl max_iteration 2000 tolerance 1e-6 krylov_type cg] - set solver_params_path [spdAux::getRoute "SLStaticlinear_solver_settings"] - foreach {n v} $solver_parameters { - [$root selectNodes "$solver_params_path/value\[@n = '$n'\]"] setAttribute v $v - } - - spdAux::RequestRefresh -} -proc Solid::examples::TreeAssignationCircularTank2Da {args} { - set nd $::Model::SpatialDimension - set root [customlib::GetBaseRoot] - - set condtype line - if {$nd eq "3D"} { set condtype surface } - - # Static solution strategy set - spdAux::SetValueOnTreeItem v "Static" SLSoluType - - # Time parameters - set time_parameters [list EndTime 1.0 DeltaTime 1.0] - set time_params_path [spdAux::getRoute SLTimeParameters] - foreach {name value} $time_parameters { - set node [$root selectNodes "$time_params_path/value\[@n = '$name'\]"] - if {$node ne ""} { - $node setAttribute v $value - } else { - W "Couldn't find $name - Check example script" - } - - } - # Solid Parts - set solidParts [spdAux::getRoute "SLParts"] - set solidPartsNode [customlib::AddConditionGroupOnXPath $solidParts Solid] - $solidPartsNode setAttribute ov surface - set props [list Element SmallDisplacementElement$nd ConstitutiveLaw SmallStrainAxisymmetric2DLaw.LinearElasticModel] - foreach {prop val} $props { - set propnode [$solidPartsNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - set solidConditions [spdAux::getRoute "SLNodalConditions"] - - # Solid Constraint - GiD_Groups clone Constraint Total - GiD_Groups edit parent Total Constraint - spdAux::AddIntervalGroup Constraint "Constraint//Total" - GiD_Groups edit state "Constraint//Total" hidden - set solidConstraint {container[@n='Solid']/container[@n='Boundary Conditions']/condition[@n='DISPLACEMENT']} - set solidConstraintNode [customlib::AddConditionGroupOnXPath $solidConstraint "Constraint//Total"] - $solidConstraintNode setAttribute ov line - set props [list selector_component_X ByValue value_component_X 0.0 selector_component_Y Not selector_component_Z Not Interval Total] - foreach {prop val} $props { - set propnode [$solidConstraintNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - # Solid Loads - GiD_Groups clone SelfWeight Total - GiD_Groups edit parent Total SelfWeight - spdAux::AddIntervalGroup SelfWeight "SelfWeight//Total" - GiD_Groups edit state "SelfWeight//Total" hidden - set solidLoad "container\[@n='Solid'\]/container\[@n='Loads'\]/condition\[@n='SelfWeight$nd'\]" - set solidLoadNode [customlib::AddConditionGroupOnXPath $solidLoad "SelfWeight//Total"] - $solidLoadNode setAttribute ov surface - set props [list ByFunction No modulus 9.81 direction 0.0,-1.0,0.0 Interval Total] - foreach {prop val} $props { - set propnode [$solidLoadNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - GiD_Groups clone Pressure Total - GiD_Groups edit parent Total Pressure - spdAux::AddIntervalGroup Pressure "Pressure//Total" - GiD_Groups edit state "Pressure//Total" hidden - set solidPressure "container\[@n='Solid'\]/container\[@n='Loads'\]/condition\[@n='Pressure$nd'\]" - set solidPressureNode [customlib::AddConditionGroupOnXPath $solidPressure "Pressure//Total"] - $solidPressureNode setAttribute ov line - set props [list ByFunction Yes function_value "9.81*1000*(2.5-y)" Interval Total] - foreach {prop val} $props { - set propnode [$solidPressureNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - GiD_Groups clone Ballast Total - GiD_Groups edit parent Total Ballast - spdAux::AddIntervalGroup Ballast "Ballast//Total" - GiD_Groups edit state "Ballast//Total" hidden - set solidBallast "container\[@n='Solid'\]/container\[@n='Loads'\]/condition\[@n='Ballast$nd'\]" - set solidBallastNode [customlib::AddConditionGroupOnXPath $solidBallast "Ballast//Total"] - $solidBallastNode setAttribute ov line - set props [list ByFunction No value 50e6 Interval Total] - foreach {prop val} $props { - set propnode [$solidBallastNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - # Parallelism - set time_parameters [list ParallelSolutionType OpenMP OpenMPNumberOfThreads 4] - set time_params_path [spdAux::getRoute "Parallelization"] - foreach {n v} $time_parameters { - [$root selectNodes "$time_params_path/value\[@n = '$n'\]"] setAttribute v $v - } - spdAux::RequestRefresh -} -proc Solid::examples::TreeAssignationCircularTank2D {args} { - Kratos::ResetModel -} diff --git a/kratos.gid/apps/Solid/examples/CircularTank2Da.gid/CircularTank2Da.geo b/kratos.gid/apps/Solid/examples/CircularTank2Da.gid/CircularTank2Da.geo deleted file mode 100644 index 2ae4c7227a67cddbc4adf1dbbed01c25bc7dfdf6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4523 zcmds)J5Lo+5XV;@3Id9kN3_zy7J{OoA-PL;P1HgY6HB6o7z^=&C_Z_kkuQLSU%^5X zON?4-LQrFCVqs%}hEDW4zdbw4>|vLyB~Ehg?3w?6&SQ4YoV%?-5S$q}b#~x%*U;sQ zU1NRSeZelVT`3QaULBDKCp$!8J~=pksoWFUFfE#f@mHl%85Rvz6E{(bfM1i|R(QDz z&Z4&RAFYC4uY!-oxTt6k%%#HmZ%9XN?D2qtqJIm1)8IgG@f$aG-w*tjhqp^#g>i37 zN9V;}FAcvt#?H9D-(7>tW8!zu*zsdL73RAyovisLjNSKRJ(C{p$7jmm@)*=gW4>w6 z&U&!VYHA3%U}6! zE9xZQd{3c_Zn8D499o(51C#T`s-1gTn8{_0K zT${^2SL;7H3)kkZ&!wh=lcR8LzWLm_7$>jb+Whjl^D#~y!L>O-Uj;wvKRh^KHV1qz zH6JeT0Bnym6`#v}1W)&7^TS{7M9kAQv`Sya=W;K>BUa40PnwFq2JTw+qwk`iMA81Z z+`st4N4H5+@wwco@H7q`N)+vLxj%>*`)AxvX(~QG@Dg=}Tj%6Di-fE1uS?Mb}rIMuR}@P7^PC-YuJb@E??TkvDM3 z1PI??|2c5EFm8JCnsKEg}-|@2dnT-K4;hT+kQE!PC^_JRb&!Ti){9YE~ z{921^0!Wr@@AJr=k|o51Z&>0*BTn2o)H@q5o{v-KM+)J(d>2(J^`V%yknI~UHpPD3 zH^zr3FF2n^j&=8Rl`kB1i33XnqF$!X;ainNirnPqe5g-Ba5%KVcJ?e=kodTdm-j_C d=Xz25s@G(|&U0U%Jgr^n=O8>@M7}3$`vVzP!e#&f diff --git a/kratos.gid/apps/Solid/examples/CircularTank2Da.gid/CircularTank2Da.prj b/kratos.gid/apps/Solid/examples/CircularTank2Da.gid/CircularTank2Da.prj deleted file mode 100644 index 5ee745466..000000000 --- a/kratos.gid/apps/Solid/examples/CircularTank2Da.gid/CircularTank2Da.prj +++ /dev/null @@ -1,25 +0,0 @@ - - -
-    
-    
-      
-      
-      
-      
-      
-    
-    
-      
-        1 3 6 7 15 16 18 19
-        1x8
-        5 2 1x4 2 2
-      
-      
-        2 5 7 9:11
-        2x6
-        4 3 4 3 4 3 4 3 4 3 4 3
-      
-    
-  
-
diff --git a/kratos.gid/apps/Solid/examples/CircularTank2Da.gid/CircularTank2Da.vv b/kratos.gid/apps/Solid/examples/CircularTank2Da.gid/CircularTank2Da.vv deleted file mode 100644 index fe66fee6e..000000000 --- a/kratos.gid/apps/Solid/examples/CircularTank2Da.gid/CircularTank2Da.vv +++ /dev/null @@ -1,37 +0,0 @@ -BeginZE /home/cpuigbo/Desktop/CircularTank2Da.gid/CircularTank2Da.vv - x -2.27358531951904297 7.77358531951904297 - y 4.63604164123535156 -2.13604164123535156 - z -4.54599666595458984 4.54599666595458984 - e 3.38604164123535156 - v 0 0 0 - r 1 - m 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 - c 3.74545454978942871 0.654545426368713379 0 - pd 0 - pno 0 - pfo 0 - pf 4 - pv 0 - NowUse 0 - DrawingType 1 - LightVector 90 90 150 0 - OGLShadow(UseShadows) 0 - OGLShadow(RenderMode) RenderNice - OGLShadow(ShadowBias) -0.002 - OGLShadow(AmbientShadows) 1 - OGLShadow(UseFBO) 0 - OGLShadow(FBOSize) 2048 - OGLShadow(DimmedLightFactor) 0.02 - OGLStereo(UseStereo) 0 - OGLStereo(RelativeEyeDistance) 1 - OGLStereo(FlipEyes) 0 - OGLStereo(StereoMode) AnaglyphColors - OGLStereo(EyeDistance) 0.075 - OGLStereo(LeftEyeDistance) 1 0 0 1 - OGLStereo(RightEyeDistance) 0 1 1 1 -EndZE /home/cpuigbo/Desktop/CircularTank2Da.gid/CircularTank2Da.vv - -BeginMirror - Mirror 0 Angle 0.0 AngleFake -15.0 SizeFactor 2.0 HeightOffset 0.25 Color #d9e5f24d Backlight Off EdgeStyle No Type Scene DrawMode Mirror -EndMirror - diff --git a/kratos.gid/apps/Solid/examples/CircularTank3D.gid/CircularTank3D.geo b/kratos.gid/apps/Solid/examples/CircularTank3D.gid/CircularTank3D.geo deleted file mode 100644 index 4581818297ace19264f65c3f4061b2e37022eb7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11208 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 C)Ieqc diff --git a/kratos.gid/apps/Solid/examples/CircularTank3D.gid/CircularTank3D.prj b/kratos.gid/apps/Solid/examples/CircularTank3D.gid/CircularTank3D.prj deleted file mode 100644 index 372744322..000000000 --- a/kratos.gid/apps/Solid/examples/CircularTank3D.gid/CircularTank3D.prj +++ /dev/null @@ -1,26 +0,0 @@ - - -
-    
-    
-      
-      
-      
-      
-      
-      
-    
-    
-      
-        1:3 6:8 12
-        1x7
-        3 6 6 5x3 2
-      
-      
-        1
-        2
-        1 4
-      
-    
-  
-
diff --git a/kratos.gid/apps/Solid/examples/CircularTank3D.gid/CircularTank3D.vv b/kratos.gid/apps/Solid/examples/CircularTank3D.gid/CircularTank3D.vv deleted file mode 100644 index 6a5d81bac..000000000 --- a/kratos.gid/apps/Solid/examples/CircularTank3D.gid/CircularTank3D.vv +++ /dev/null @@ -1,37 +0,0 @@ -BeginZE /home/cpuigbo/Desktop/CircularTank3D.gid/CircularTank3D.vv - x -4.36261892318725586 9.74696636199951172 - y 5.52431821823120117 -3.00504279136657715 - z -2.05847859382629395 7.42126178741455078 - e 4.26468038558959961 - v -0.150687560439109802 -0.215787529945373535 -0.0511590689420700073 - r 0.963385581970214844 - m 0.901636958122253418 0.163604810833930969 -0.400355130434036255 0 -0.0335388220846652985 0.949352025985717773 0.31241944432258606 0 0.43119126558303833 -0.268261492252349854 0.861458003520965576 0 0 0 0 1 - c 2.68139147758483887 0.784821450710296631 -2.68139147758483887 - pd 0 - pno 0 - pfo 0 - pf 4 - pv 0 - NowUse 0 - DrawingType 1 - LightVector 90 90 150 0 - OGLShadow(UseShadows) 0 - OGLShadow(RenderMode) RenderNice - OGLShadow(ShadowBias) -0.002 - OGLShadow(AmbientShadows) 1 - OGLShadow(UseFBO) 0 - OGLShadow(FBOSize) 2048 - OGLShadow(DimmedLightFactor) 0.02 - OGLStereo(UseStereo) 0 - OGLStereo(RelativeEyeDistance) 1 - OGLStereo(FlipEyes) 0 - OGLStereo(StereoMode) AnaglyphColors - OGLStereo(EyeDistance) 0.075 - OGLStereo(LeftEyeDistance) 1 0 0 1 - OGLStereo(RightEyeDistance) 0 1 1 1 -EndZE /home/cpuigbo/Desktop/CircularTank3D.gid/CircularTank3D.vv - -BeginMirror - Mirror 0 Angle 0.0 AngleFake -15.0 SizeFactor 2.0 HeightOffset 0.25 Color #d9e5f24d Backlight Off EdgeStyle No Type Scene DrawMode Mirror -EndMirror - diff --git a/kratos.gid/apps/Solid/examples/DynamicBeam.tcl b/kratos.gid/apps/Solid/examples/DynamicBeam.tcl deleted file mode 100644 index 61becb49e..000000000 --- a/kratos.gid/apps/Solid/examples/DynamicBeam.tcl +++ /dev/null @@ -1,141 +0,0 @@ - -proc ::Solid::examples::DynamicBeam {args} { - if {![Kratos::IsModelEmpty]} { - set txt "We are going to draw the example geometry.\nDo you want to lose your previous work?" - set retval [tk_messageBox -default ok -icon question -message $txt -type okcancel] - if { $retval == "cancel" } { return } - } - DrawDynamicBeamGeometry$::Model::SpatialDimension - TreeAssignationDynamicBeam$::Model::SpatialDimension - - GiD_Process 'Redraw - GidUtils::UpdateWindow GROUPS - GidUtils::UpdateWindow LAYER - GiD_Process 'Zoom Frame -} - - -# Draw Geometry -proc Solid::examples::DrawDynamicBeamGeometry3D {args} { - Kratos::ResetModel - set dir [apps::getMyDir "Solid"] - set problemfile [file join $dir examples DynamicBeam3D.gid] - GiD_Process Mescape Files InsertGeom $problemfile -} -proc Solid::examples::DrawDynamicBeamGeometry2Da {args} { - Kratos::ResetModel -} -proc Solid::examples::DrawDynamicBeamGeometry2D {args} { - Kratos::ResetModel -} -# Mesh sizes - - -# Tree assign -proc Solid::examples::TreeAssignationDynamicBeam3D {args} { - set nd $::Model::SpatialDimension - set root [customlib::GetBaseRoot] - - set condtype point - - # Static solution strategy set - spdAux::SetValueOnTreeItem v "Dynamic" SLSoluType - spdAux::SetValueOnTreeItem v "SimoStep" SLScheme - - # Time parameters - set time_parameters [list EndTime 5.0 DeltaTime 0.05] - set time_params_path [spdAux::getRoute SLTimeParameters] - foreach {name value} $time_parameters { - set node [$root selectNodes "$time_params_path/value\[@n = '$name'\]"] - if {$node ne ""} { - $node setAttribute v $value - } else { - W "Couldn't find $name - Check example script" - } - } - - # Solid Parts - set solidParts [spdAux::getRoute "SLParts"] - set solidPartsNode [customlib::AddConditionGroupOnXPath $solidParts Solid] - $solidPartsNode setAttribute ov line - set props [list Element LargeDisplacementBeamElement3D ConstitutiveLaw CircularSection3D DIAMETER 0.05 YOUNG_MODULUS 206.9e8] - foreach {prop val} $props { - set propnode [$solidPartsNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - spdAux::RequestRefresh - set solidConditions [spdAux::getRoute "SLNodalConditions"] - - # Solid Constraint - GiD_Groups clone Constraint Total - GiD_Groups edit parent Total Constraint - spdAux::AddIntervalGroup Constraint "Constraint//Total" - GiD_Groups edit state "Constraint//Total" hidden - set solidConstraint {container[@n='Solid']/container[@n='Boundary Conditions']/condition[@n='DISPLACEMENT']} - set solidConstraintNode [customlib::AddConditionGroupOnXPath $solidConstraint "Constraint//Total"] - $solidConstraintNode setAttribute ov point - set props [list selector_component_X ByValue value_component_X 0.0 selector_component_Y ByValue value_component_Y 0.0 selector_component_Z ByValue value_component_Z 0.0 Interval Total] - foreach {prop val} $props { - set propnode [$solidConstraintNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - GiD_Groups clone AngularConstraint Total - GiD_Groups edit parent Total AngularConstraint - spdAux::AddIntervalGroup AngularConstraint "AngularConstraint//Total" - GiD_Groups edit state "AngularConstraint//Total" hidden - set solidAngularConstraint {container[@n='Solid']/container[@n='Boundary Conditions']/condition[@n='ANGULAR_VELOCITY']} - set solidAngularConstraintNode [customlib::AddConditionGroupOnXPath $solidAngularConstraint "AngularConstraint//Total"] - $solidAngularConstraintNode setAttribute ov point - set props [list selector_component_X ByValue value_component_X 2.0 selector_component_Y ByValue value_component_Y 0.0 selector_component_Z ByValue value_component_Z 0.0 Interval Total] - foreach {prop val} $props { - set propnode [$solidAngularConstraintNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - # Solid Loads - GiD_Groups clone SelfWeight Total - GiD_Groups edit parent Total SelfWeight - spdAux::AddIntervalGroup SelfWeight "SelfWeight//Total" - GiD_Groups edit state "SelfWeight//Total" hidden - set solidLoad "container\[@n='Solid'\]/container\[@n='Loads'\]/condition\[@n='SelfWeight$nd'\]" - set solidLoadNode [customlib::AddConditionGroupOnXPath $solidLoad "SelfWeight//Total"] - $solidLoadNode setAttribute ov line - set props [list ByFunction No modulus 9.81 direction 0.0,-1.0,0.0 Interval Total] - foreach {prop val} $props { - set propnode [$solidLoadNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - # Parallelism - set time_parameters [list ParallelSolutionType OpenMP OpenMPNumberOfThreads 4] - set time_params_path [spdAux::getRoute "Parallelization"] - foreach {n v} $time_parameters { - [$root selectNodes "$time_params_path/value\[@n = '$n'\]"] setAttribute v $v - } - - spdAux::RequestRefresh -} -proc Solid::examples::TreeAssignationDynamicBeam2Da {args} { - Kratos::ResetModel -} -proc Solid::examples::TreeAssignationDynamicBeam2D {args} { - Kratos::ResetModel -} diff --git a/kratos.gid/apps/Solid/examples/DynamicBeam3D.gid/DynamicBeam3D.geo b/kratos.gid/apps/Solid/examples/DynamicBeam3D.gid/DynamicBeam3D.geo deleted file mode 100644 index c8f5c092f7e9c04d7370cddf74cafdf7b7c1f788..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 572 zcmWe&U|vP*Jb;&XF%YOJ&X^dzW@yr3wu6qJ@X|Skf&zN1c8rmw*deo C)GEaQ diff --git a/kratos.gid/apps/Solid/examples/DynamicBeam3D.gid/DynamicBeam3D.prj b/kratos.gid/apps/Solid/examples/DynamicBeam3D.gid/DynamicBeam3D.prj deleted file mode 100644 index 17cf51e35..000000000 --- a/kratos.gid/apps/Solid/examples/DynamicBeam3D.gid/DynamicBeam3D.prj +++ /dev/null @@ -1,24 +0,0 @@ - - -
-    
-    
-      
-      
-      
-      
-    
-    
-      
-        1
-        3
-        3 1 4
-      
-      
-        1 2
-        2 2
-        1 2 1 2
-      
-    
-  
-
diff --git a/kratos.gid/apps/Solid/examples/DynamicBeam3D.gid/DynamicBeam3D.vv b/kratos.gid/apps/Solid/examples/DynamicBeam3D.gid/DynamicBeam3D.vv deleted file mode 100644 index d30c49831..000000000 --- a/kratos.gid/apps/Solid/examples/DynamicBeam3D.gid/DynamicBeam3D.vv +++ /dev/null @@ -1,37 +0,0 @@ -BeginZE /home/cpuigbo/GiDInterface/kratos.gid/apps/Solid/examples/DynamicBeam3D.gid/DynamicBeam3D.vv - x 0.582600831985473633 3.13705992698669434 - y 0.753371059894561768 -1.3496021032333374 - z -1.89401459693908691 1.89401459693908691 - e 1.65831243991851807 - v 0.0429526552950176832 0.875547797747364354 0.149245509813539512 - r -0.457489782468801232 - m -0.577716350555419922 0.211770802736282349 -0.788287341594696045 0 -0.0613423846662044525 0.951761722564697266 0.300643950700759888 0 0.813929319381713867 0.222042351961135864 -0.536857724189758301 0 0 0 0 1 - c 1.66666662693023682 -0.333333343267440796 0 - pd 0 - pno 0 - pfo 0 - pf 4 - pv 0 - NowUse 0 - DrawingType 0 - LightVector 90 90 150 0 - OGLShadow(UseShadows) 0 - OGLShadow(RenderMode) RenderNice - OGLShadow(ShadowBias) -0.002 - OGLShadow(AmbientShadows) 1 - OGLShadow(UseFBO) 0 - OGLShadow(FBOSize) 2048 - OGLShadow(DimmedLightFactor) 0.02 - OGLStereo(UseStereo) 0 - OGLStereo(RelativeEyeDistance) 1 - OGLStereo(FlipEyes) 0 - OGLStereo(StereoMode) AnaglyphColors - OGLStereo(EyeDistance) 0.075 - OGLStereo(LeftEyeDistance) 1 0 0 1 - OGLStereo(RightEyeDistance) 0 1 1 1 -EndZE /home/cpuigbo/GiDInterface/kratos.gid/apps/Solid/examples/DynamicBeam3D.gid/DynamicBeam3D.vv - -BeginMirror - Mirror 0 Angle 0.0 AngleFake -15.0 SizeFactor 2.0 HeightOffset 0.25 Color #d9e5f24d Backlight Off EdgeStyle No Type Scene DrawMode Mirror -EndMirror - diff --git a/kratos.gid/apps/Solid/examples/DynamicRod.tcl b/kratos.gid/apps/Solid/examples/DynamicRod.tcl deleted file mode 100644 index 90de1106f..000000000 --- a/kratos.gid/apps/Solid/examples/DynamicRod.tcl +++ /dev/null @@ -1,206 +0,0 @@ - -proc ::Solid::examples::DynamicRod {args} { - if {![Kratos::IsModelEmpty]} { - set txt "We are going to draw the example geometry.\nDo you want to lose your previous work?" - set retval [tk_messageBox -default ok -icon question -message $txt -type okcancel] - if { $retval == "cancel" } { return } - } - DrawDynamicRodGeometry$::Model::SpatialDimension - TreeAssignationDynamicRod$::Model::SpatialDimension - - GiD_Process 'Redraw - GidUtils::UpdateWindow GROUPS - GidUtils::UpdateWindow LAYER - GiD_Process 'Zoom Frame -} - - -# Draw Geometry -proc Solid::examples::DrawDynamicRodGeometry3D {args} { - Kratos::ResetModel - set dir [apps::getMyDir "Solid"] - set problemfile [file join $dir examples DynamicRod3D.gid] - GiD_Process Mescape Files InsertGeom $problemfile -} -proc Solid::examples::DrawDynamicRodGeometry2D {args} { - Kratos::ResetModel - set dir [apps::getMyDir "Solid"] - set problemfile [file join $dir examples DynamicRod2D.gid] - GiD_Process Mescape Files InsertGeom $problemfile -} -proc Solid::examples::DrawDynamicRodGeometry2Da {args} { - Kratos::ResetModel -} -# Mesh sizes - - -# Tree assign -proc Solid::examples::TreeAssignationDynamicRod3D {args} { - set nd $::Model::SpatialDimension - set root [customlib::GetBaseRoot] - - set condtype line - if {$nd eq "3D"} { set condtype surface } - - # Dynamic solution strategy set - spdAux::SetValueOnTreeItem v "Dynamic" SLSoluType - - # Time parameters - set time_parameters [list EndTime 1.06 DeltaTime 0.01] - set time_params_path [spdAux::getRoute SLTimeParameters] - foreach {name value} $time_parameters { - set node [$root selectNodes "$time_params_path/value\[@n = '$name'\]"] - if {$node ne ""} { - $node setAttribute v $value - } else { - W "Couldn't find $name - Check example script" - } - - } - - # Solid Parts - set solidParts [spdAux::getRoute "SLParts"] - set solidPartsNode [customlib::AddConditionGroupOnXPath $solidParts Solid] - $solidPartsNode setAttribute ov volume - set props [list Element TotalLagrangianElement$nd ConstitutiveLaw LargeStrain3DLaw.SaintVenantKirchhoffModel] - foreach {prop val} $props { - set propnode [$solidPartsNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - set solidConditions [spdAux::getRoute "SLNodalConditions"] - - # Solid Constraint - GiD_Groups clone Constraint Total - GiD_Groups edit parent Total Constraint - spdAux::AddIntervalGroup Constraint "Constraint//Total" - GiD_Groups edit state "Constraint//Total" hidden - set solidConstraint {container[@n='Solid']/container[@n='Boundary Conditions']/condition[@n='DISPLACEMENT']} - set solidConstraintNode [customlib::AddConditionGroupOnXPath $solidConstraint "Constraint//Total"] - $solidConstraintNode setAttribute ov line - set props [list selector_component_X ByValue value_component_X 0.0 selector_component_Y ByValue value_component_Y 0.0 selector_component_Z ByValue value_component_Z 0.0 Interval Total] - foreach {prop val} $props { - set propnode [$solidConstraintNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - # Solid Loads - GiD_Groups clone SelfWeight Total - GiD_Groups edit parent Total SelfWeight - spdAux::AddIntervalGroup SelfWeight "SelfWeight//Total" - GiD_Groups edit state "SelfWeight//Total" hidden - set solidLoad "container\[@n='Solid'\]/container\[@n='Loads'\]/condition\[@n='SelfWeight$nd'\]" - set solidLoadNode [customlib::AddConditionGroupOnXPath $solidLoad "SelfWeight//Total"] - $solidLoadNode setAttribute ov volume - set props [list ByFunction No modulus 9.81 direction 0.0,-1.0,0.0 Interval Total] - foreach {prop val} $props { - set propnode [$solidLoadNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - # Parallelism - set time_parameters [list ParallelSolutionType OpenMP OpenMPNumberOfThreads 4] - set time_params_path [spdAux::getRoute "Parallelization"] - foreach {n v} $time_parameters { - [$root selectNodes "$time_params_path/value\[@n = '$n'\]"] setAttribute v $v - } - - - spdAux::RequestRefresh -} -proc Solid::examples::TreeAssignationDynamicRod2D {args} { - set nd $::Model::SpatialDimension - set root [customlib::GetBaseRoot] - - set condtype line - if {$nd eq "3D"} { set condtype surface } - - # Dynamic solution strategy set - spdAux::SetValueOnTreeItem v "Dynamic" SLSoluType - - # Time parameters - set time_parameters [list EndTime 1.06 DeltaTime 0.01] - set time_params_path [spdAux::getRoute SLTimeParameters] - foreach {name value} $time_parameters { - set node [$root selectNodes "$time_params_path/value\[@n = '$name'\]"] - if {$node ne ""} { - $node setAttribute v $value - } else { - W "Couldn't find $name - Check example script" - } - } - - # Solid Parts - set solidParts [spdAux::getRoute "SLParts"] - set solidPartsNode [customlib::AddConditionGroupOnXPath $solidParts Solid] - $solidPartsNode setAttribute ov surface - set props [list Element TotalLagrangianElement$nd ConstitutiveLaw LargeStrain3DLaw.SaintVenantKirchhoffModel] - foreach {prop val} $props { - set propnode [$solidPartsNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - set solidConditions [spdAux::getRoute "SLNodalConditions"] - - # Solid Constraint - GiD_Groups clone Constraint Total - GiD_Groups edit parent Total Constraint - spdAux::AddIntervalGroup Constraint "Constraint//Total" - GiD_Groups edit state "Constraint//Total" hidden - set solidConstraint {container[@n='Solid']/container[@n='Boundary Conditions']/condition[@n='DISPLACEMENT']} - set solidConstraintNode [customlib::AddConditionGroupOnXPath $solidConstraint "Constraint//Total"] - $solidConstraintNode setAttribute ov point - set props [list selector_component_X ByValue value_component_X 0.0 selector_component_Y ByValue value_component_Y 0.0 selector_component_Z ByValue value_component_Z 0.0 Interval Total] - foreach {prop val} $props { - set propnode [$solidConstraintNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - # Solid Loads - GiD_Groups clone SelfWeight Total - GiD_Groups edit parent Total SelfWeight - spdAux::AddIntervalGroup SelfWeight "SelfWeight//Total" - GiD_Groups edit state "SelfWeight//Total" hidden - set solidLoad "container\[@n='Solid'\]/container\[@n='Loads'\]/condition\[@n='SelfWeight$nd'\]" - set solidLoadNode [customlib::AddConditionGroupOnXPath $solidLoad "SelfWeight//Total"] - $solidLoadNode setAttribute ov surface - set props [list ByFunction No modulus 9.81 direction 0.0,-1.0,0.0 Interval Total] - foreach {prop val} $props { - set propnode [$solidLoadNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - # Parallelism - set time_parameters [list ParallelSolutionType OpenMP OpenMPNumberOfThreads 4] - set time_params_path [spdAux::getRoute "Parallelization"] - foreach {n v} $time_parameters { - [$root selectNodes "$time_params_path/value\[@n = '$n'\]"] setAttribute v $v - } -} -proc Solid::examples::TreeAssignationDynamicRod2Da {args} { - Kratos::ResetModel -} diff --git a/kratos.gid/apps/Solid/examples/DynamicRod2D.gid/DynamicRod2D.geo b/kratos.gid/apps/Solid/examples/DynamicRod2D.gid/DynamicRod2D.geo deleted file mode 100644 index 27f7e44aaa86dd93ab9d2d548ac4b7d46ed56bdb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10244 zcmbVS2Ut|c7G8T7pHXA5z_VZrJpv-^te^n}Ttq@KhAb+vB^Ja6imRxo5iDpBh_ZG- z1uUpRy}ODXMIwqN3aBVn#DW#sch0?B_U_%iyIu(^< z+CZ8uq?v%{J8X*`2-&tYJ4Wgp7eCt$m36w)y~w46w9E9s5VB5fPredk`cPI8 zLcO|HTDnS+NM2*@*^@%uVMcVzdK6IAeJ_zNow42xP_I0!v4tnC`@Ip}dCE)`>UL#x zp;>20JPScb=~bb7|b(r5)1FlD%I~2|M)Z575o73jW8J*7Y@_n;p@9e6~{xc}o`B{5SP? z(3Ka51vCA5lo8#$9-S9sz3&`{O@n%sB9Sb)N17X5ub&a!wW(1`tan*ivKQ0~x}tfG zGaYE%(MELlfMrGRAoM4aH#JDdq2(vEXk+cU=;?3#3Y|ey}|8{RwDugC{+i zG5CWK-MVBsFQn(303*7R4(yo6jD zPV0^_q8p#!q(t5KrHfXAF4}kF&FPj@D~Md;=(2MZiZG7rS`+Zt&xPim`{}i9Zfq|k z550EuW9B4TUen{lsG6d&%~AeQUD`Y-)&cs3tY^cuBdAWbxeZa?BJE@hh=$^eR$vGdfk-QK5xz%#2XWe+ zjrIwU-Q0-s3iYCqdkRg#F6N(``?>#X`y_j8Uv3N!V!^o*@f0#p=wCh_+=H_HO{jen zX4}zoYF_D)Fs8qm`{Eu!sDE;*(-YP0Z|i(2V)=NsP15dfhz0u`;`y6XDjyGbei2%) zC84|h{f0F7UlkEg5MI& zIbji=6FAlBiR$7pduJREVsQtLc&>9w<>SF~CX2^F`;O-B>Oi?@+U?EVn7lzD=IL;XgyD zNa_7E^EaF!ByVKzKx+Z+Xb?P2%7LVM`dBxL*WxmjeDWZYQ)1#%n@ z*7ltwR6EthttcFL}uKH{J+FlQV*+qcC0@R<5BteqU<7`qa-VS`Y53?oS!y2xb--xmVTFU zT(KPa+&B6MCrXHaPV=;)fv?@|4*JCqHe?cY`3Z77Uy=DDM~j~dkHZn6H81P=;p^h~ zLXME1J4_<|Ylt5q`<@T{hQ^y|E#3`yp-xG9;BI&7ejPv63_l>3`@bbaDbu;?naJmO z>&&_{q{!@PmCwJPe`4)dJLepDN!XBqq07(Xr(xxMe)xIcx{}#kzOe7G^Uqx-GyTiw zXCO$~@zwuSlf8IPl<{(bN!>ls{O#ZQQJcn__9|1HCjp1Q&zPTv_eW*rW>$XG(`F04 zPfR*b+R8G14U9m!tj(4_e$<=lUmc&HK1X)83pWW`k_d8zbm!zzl+gUfX`WW}B^hVk zD`_iXLncv|pN*-nJ=4yt)9OF-x}{T7)SCX&A+~CQnNuaS1zi>Kf?u2yvHz5SXC0p( z2S~u{aGaxs=Dmz*L#zG*yvNM@xJ#BKDj{o1vuEB^_qdip{=iSj=dzvi!tu^dG_y8% zDCL^&cy%_&2X6S>bkZzZ-hF4#P%7u2uEUYf4~u3j13n?Y%FiosC>8awQ6J?0U25(r z;2+C5*tqpjYQab6EVS2~tb{(youFz((__Ntquh4;zLnjpBy8w$P;q|Qqe{YtP%b!K zeji!>XC9y5UvDP0I>_O(%f0imoIcc^|C*wu%sRzwwH z`D3cTUEM#NzDNCP0rYp(pZ6bNdp;#M^jbuZ5AzM?Fg}FF6F}4J8hGVC>$!6YVZ-<8 zR~?fY#}GCQt=+O>Sk6nrhD;&4_BtLOf6C-|w$^w!bnNKyGaUPLzH0ZGYp>}!Ilgv8 zb06c`lhgZk9T-Sb~sizUG>p$&Z#NOI_{it$zP zI4+Ld_O=tx@JT5lBNK>NZBb$K8s+j;-;A^q_YL|faiMntk*$#y)V`tRo};C9Vp+}W zt|pxmV0}DLaIPP|2gp|!&$1Ky=1qNzchEAaRnsi`oj`soXSp5p2mQ{nD0WU7 zdZyjko8VeW*wDw`I?CU>lCU9Dimv_4Mb~Oaja;l{KmPpg^geiU>#mylt@u{o<6L{D z#jRS?fn#snZ{fQL+V37yG5yQ8pA$&g`A%@(dFRo(c`Xyk=~;#Qj+)VTs6p5Aohiku z6$Skf5c$wLkRy(K%~Mq0S+9k=yP$mLyLfaHmq3E zJY4QpN!XCdtjqt7JN*Os{3o@X)oD?wX8mwXbcO474gVXf=Tx-deB)jl-#C!(`%Fdj zFMqys25B4cC>O-%+oyN{@G)7sLK?^L(KH+Q@cpQKWa;mdH>S& z02gY;k84h$e1X-jl4xK0{vs>**&u4u{zvcz_9xkO?r{4Ju}g8hT)wl&k@6Hz3U-C^ zEAElEK~L%Nl@qnwMtr_OjbbH?yU<00TLe9)Jew ze%MCbx%cw&#xNd#F&WUYh#rrk;bS)2{_F7=x;aH9|8^x|!<)7x@nr5w!iLpj!ym$I zM%eJ7TSSjO$u9{TN+x9|CU1U8*bv$WPPe~!kPizZx^LGSuT5GfMtX7jgV$rfPu%_@ zpJ-(|<@7VK0aK>)Mu#U8Ip62L4lLm2@6k8Ub2O(s>|5-3e!vt$|MJH(p1;}q1flyk zkIKTcS%>24-}o$|FH{`-tC!fZ?wvG^_fE>GPES;qAJd7eHxD#{b*(;k71{Ic!;2wb zG~)^H;#fRjlzOMp(Y@~%dLxYT>=;ku8MB}_+&>b(V{N9g^f^`QbWV@|1t@CdzGPxrmG74eK6y>2wV zSCN`_oeRFWQbO-roa*#Mb@5!>-S!M0PusDTv$%M0KZ9>fZNYOfa4SIhci@|Y$2U5( zV<~vVk8cF{?oj|<-}@Bma=m}Y#Y*pm`N-$mj34j1ZgXh-rNNH+wV& z`~wM$bJWE(0X)&^g>`U_Kq-x*#{Cqi7rN{C4)G4=X+Yy2jv?R8TgNsLr#;CyYjU1Y@iik>y*5=) z@lKn@4nC`-Zo#fei0>J_-5a~)#E^_Nn*x4ZrBFtmn}6NxMKm=*J#F8(P8aLt?>-l& z7AgWM#a1^u|NYq8Z}v`8kWJ$TH1E~aRov%2lb@CEqMBCvT#ppkM{4tlc(k2%I`WP4 zyFQ0J;D4X6|Nadg*9qhs=U2Rg#(Q;qE714;fx2AptbChuQ5lPTT8s~?I^lbxu$^6O z)rqmgw;hPd-7HQy*7W3~QLDtIaHsun*Mc z3);_f`qQK6|0hg9y!3g-*51n2%GP#*R_8;4*v@WGy9cxauLeDz!4i$ImxLwSuuN31 m!_-woE?+`dL)dRNd - -
-    
-    
-      
-      
-      
-      
-    
-    
-      
-        85
-        1
-        4
-      
-      
-        1:3
-        2x3
-        2 3 2 3 2 3
-      
-    
-  
-
diff --git a/kratos.gid/apps/Solid/examples/DynamicRod2D.gid/DynamicRod2D.vv b/kratos.gid/apps/Solid/examples/DynamicRod2D.gid/DynamicRod2D.vv deleted file mode 100644 index bb19ca5af..000000000 --- a/kratos.gid/apps/Solid/examples/DynamicRod2D.gid/DynamicRod2D.vv +++ /dev/null @@ -1,37 +0,0 @@ -BeginZE /home/jmaria/Tests/DynamicRod2D.gid/DynamicRod2D.vv - x -0.0860478430986404419 0.338547825813293457 - y 0.147866189479827881 -0.147866189479827881 - z -0.443598568439483643 0.443598568439483643 - e 0.147866189479827881 - v 0 0 0 - r 1 - m 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 - c 0.126249998807907104 0 -6.32091712304827524e-09 - pd 0 - pno 0 - pfo 0 - pf 4 - pv 0 - NowUse 0 - DrawingType 1 - LightVector 90 90 150 0 - OGLShadow(UseShadows) 0 - OGLShadow(RenderMode) RenderNice - OGLShadow(ShadowBias) -0.002 - OGLShadow(AmbientShadows) 1 - OGLShadow(UseFBO) 1 - OGLShadow(FBOSize) 2048 - OGLShadow(DimmedLightFactor) 0.02 - OGLStereo(UseStereo) 0 - OGLStereo(RelativeEyeDistance) 1 - OGLStereo(FlipEyes) 0 - OGLStereo(StereoMode) AnaglyphColors - OGLStereo(EyeDistance) 0.075 - OGLStereo(LeftEyeDistance) 1 0 0 1 - OGLStereo(RightEyeDistance) 0 1 1 1 -EndZE /home/jmaria/Tests/DynamicRod2D.gid/DynamicRod2D.vv - -BeginMirror - Mirror 0 Angle 0.0 AngleFake -15.0 SizeFactor 2.0 HeightOffset 0.25 Color #d9e5f24d Backlight Off EdgeStyle No Type Scene DrawMode Mirror -EndMirror - diff --git a/kratos.gid/apps/Solid/examples/DynamicRod3D.gid/DynamicRod3D.geo b/kratos.gid/apps/Solid/examples/DynamicRod3D.gid/DynamicRod3D.geo deleted file mode 100644 index bf48e089e57367b2dd0923b3f5489b772a8d18d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35516 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 - -
-    
-    
-      
-      
-      
-      
-    
-    
-      
-        116
-        1
-        2
-      
-      
-        8:19 31:33 40 53:56
-        1x20
-        1x20
-      
-      
-        1
-        2
-        3 4
-      
-    
-  
-
diff --git a/kratos.gid/apps/Solid/examples/DynamicRod3D.gid/DynamicRod3D.vv b/kratos.gid/apps/Solid/examples/DynamicRod3D.gid/DynamicRod3D.vv deleted file mode 100644 index dacde8124..000000000 --- a/kratos.gid/apps/Solid/examples/DynamicRod3D.gid/DynamicRod3D.vv +++ /dev/null @@ -1,37 +0,0 @@ -BeginZE /home/jmaria/Tests/DynamicRod3D.gid/DynamicRod3D.vv - x -0.0906996056437492371 0.33330225944519043 - y 0.143511354923248291 -0.152221024036407471 - z -0.418598592281341553 0.468598544597625732 - e 0.147866189479827881 - v -0.155974417924880981 0.326733916997909546 0.115599974989891052 - r 0.924961388111114502 - m 0.759763181209564209 -0.315775305032730103 0.568371236324310303 0 0.111926771700382233 0.924617230892181396 0.364081501960754395 0 -0.640493810176849365 -0.21299976110458374 0.737833857536315918 0 0 0 0 1 - c 0.110273361206054688 6.73620590418977372e-08 -0.0249999910593032837 - pd 0 - pno 0 - pfo 0 - pf 4 - pv 0 - NowUse 0 - DrawingType 1 - LightVector 90 90 150 0 - OGLShadow(UseShadows) 0 - OGLShadow(RenderMode) RenderNice - OGLShadow(ShadowBias) -0.002 - OGLShadow(AmbientShadows) 1 - OGLShadow(UseFBO) 1 - OGLShadow(FBOSize) 2048 - OGLShadow(DimmedLightFactor) 0.02 - OGLStereo(UseStereo) 0 - OGLStereo(RelativeEyeDistance) 1 - OGLStereo(FlipEyes) 0 - OGLStereo(StereoMode) AnaglyphColors - OGLStereo(EyeDistance) 0.075 - OGLStereo(LeftEyeDistance) 1 0 0 1 - OGLStereo(RightEyeDistance) 0 1 1 1 -EndZE /home/jmaria/Tests/DynamicRod3D.gid/DynamicRod3D.vv - -BeginMirror - Mirror 0 Angle 0.0 AngleFake -15.0 SizeFactor 2.0 HeightOffset 0.25 Color #d9e5f24d Backlight Off EdgeStyle No Type Scene DrawMode Mirror -EndMirror - diff --git a/kratos.gid/apps/Solid/examples/EccentricColumn.tcl b/kratos.gid/apps/Solid/examples/EccentricColumn.tcl deleted file mode 100644 index f6301d3f2..000000000 --- a/kratos.gid/apps/Solid/examples/EccentricColumn.tcl +++ /dev/null @@ -1,181 +0,0 @@ - -proc ::Solid::examples::EccentricColumn {args} { - if {![Kratos::IsModelEmpty]} { - set txt "We are going to draw the example geometry.\nDo you want to lose your previous work?" - set retval [tk_messageBox -default ok -icon question -message $txt -type okcancel] - if { $retval == "cancel" } { return } - } - DrawEccentricColumnGeometry$::Model::SpatialDimension - TreeAssignationEccentricColumn$::Model::SpatialDimension - - GiD_Process 'Redraw - GidUtils::UpdateWindow GROUPS - GidUtils::UpdateWindow LAYER - GiD_Process 'Zoom Frame -} - - -# Draw Geometry -proc Solid::examples::DrawEccentricColumnGeometry3D {args} { - Kratos::ResetModel - set dir [apps::getMyDir "Solid"] - set problemfile [file join $dir examples EccentricColumn3D.gid] - GiD_Process Mescape Files InsertGeom $problemfile -} -proc Solid::examples::DrawEccentricColumnGeometry2Da {args} { - Kratos::ResetModel -} -proc Solid::examples::DrawEccentricColumnGeometry2D {args} { - Kratos::ResetModel -} -# Mesh sizes - - -# Tree assign -proc Solid::examples::TreeAssignationEccentricColumn3D {args} { - set nd $::Model::SpatialDimension - set root [customlib::GetBaseRoot] - - set condtype line - if {$nd eq "3D"} { set condtype surface } - - # Static solution strategy set - spdAux::SetValueOnTreeItem v "Static" SLSoluType - - # Time parameters - set time_parameters [list EndTime 1.0 DeltaTime 1.0] - set time_params_path [spdAux::getRoute SLTimeParameters] - foreach {name value} $time_parameters { - set node [$root selectNodes "$time_params_path/value\[@n = '$name'\]"] - if {$node ne ""} { - $node setAttribute v $value - } else { - W "Couldn't find $name - Check example script" - } - } - - # Solid Parts - set solidParts [spdAux::getRoute "SLParts"] - set solidPartsNode [customlib::AddConditionGroupOnXPath $solidParts Solid] - $solidPartsNode setAttribute ov volume - set props [list Element SmallDisplacementElement$nd ConstitutiveLaw SmallStrain3DLaw.LinearElasticModel] - foreach {prop val} $props { - set propnode [$solidPartsNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - set solidConditions [spdAux::getRoute "SLNodalConditions"] - - # Solid Constraint - GiD_Groups clone ConstraintX Total - GiD_Groups edit parent Total ConstraintX - spdAux::AddIntervalGroup ConstraintX "ConstraintX//Total" - GiD_Groups edit state "ConstraintX//Total" hidden - set solidConstraintX {container[@n='Solid']/container[@n='Boundary Conditions']/condition[@n='DISPLACEMENT']} - set solidConstraintXNode [customlib::AddConditionGroupOnXPath $solidConstraintX "ConstraintX//Total"] - $solidConstraintXNode setAttribute ov line - set props [list selector_component_X ByValue value_component_X 0.0 selector_component_Y Not selector_component_Z Not Interval Total] - foreach {prop val} $props { - set propnode [$solidConstraintXNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - GiD_Groups clone ConstraintZ Total - GiD_Groups edit parent Total ConstraintZ - spdAux::AddIntervalGroup ConstraintZ "ConstraintZ//Total" - GiD_Groups edit state "ConstraintZ//Total" hidden - set solidConstraintZ {container[@n='Solid']/container[@n='Boundary Conditions']/condition[@n='DISPLACEMENT']} - set solidConstraintZNode [customlib::AddConditionGroupOnXPath $solidConstraintZ "ConstraintZ//Total"] - $solidConstraintZNode setAttribute ov line - set props [list selector_component_X Not selector_component_Y Not selector_component_Z ByValue value_component_Z 0.0 Interval Total] - foreach {prop val} $props { - set propnode [$solidConstraintZNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - # Solid Loads - GiD_Groups clone SelfWeight Total - GiD_Groups edit parent Total SelfWeight - spdAux::AddIntervalGroup SelfWeight "SelfWeight//Total" - GiD_Groups edit state "SelfWeight//Total" hidden - set solidLoad "container\[@n='Solid'\]/container\[@n='Loads'\]/condition\[@n='SelfWeight$nd'\]" - set solidLoadNode [customlib::AddConditionGroupOnXPath $solidLoad "SelfWeight//Total"] - $solidLoadNode setAttribute ov volume - set props [list ByFunction No modulus 9.81 direction 0.0,-1.0,0.0 Interval Total] - foreach {prop val} $props { - set propnode [$solidLoadNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - GiD_Groups clone Load Total - GiD_Groups edit parent Total Load - spdAux::AddIntervalGroup Load "Load//Total" - GiD_Groups edit state "Load//Total" hidden - set solidLoad "container\[@n='Solid'\]/container\[@n='Loads'\]/condition\[@n='Load$nd'\]" - set solidLoadNode [customlib::AddConditionGroupOnXPath $solidLoad "Load//Total"] - $solidLoadNode setAttribute ov surface - set props [list ByFunction No modulus 4.44e6 direction 0.0,-1.0,0.0 Interval Total] - foreach {prop val} $props { - set propnode [$solidLoadNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - GiD_Groups clone Spring Total - GiD_Groups edit parent Total Spring - spdAux::AddIntervalGroup Spring "Spring//Total" - GiD_Groups edit state "Spring//Total" hidden - set solidSpring "container\[@n='Solid'\]/container\[@n='Loads'\]/condition\[@n='Spring$nd'\]" - set solidSpringNode [customlib::AddConditionGroupOnXPath $solidSpring "Spring//Total"] - $solidSpringNode setAttribute ov surface - set props [list ByFunction No modulus 50e6 direction 0.0,1.0,0.0 Interval Total] - foreach {prop val} $props { - set propnode [$solidSpringNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - # Parallelism - set time_parameters [list ParallelSolutionType OpenMP OpenMPNumberOfThreads 4] - set time_params_path [spdAux::getRoute "Parallelization"] - foreach {n v} $time_parameters { - [$root selectNodes "$time_params_path/value\[@n = '$n'\]"] setAttribute v $v - } - - # Solver - set solver_parameters [list Solver amgcl max_iteration 2000 tolerance 1e-6 krylov_type cg] - set solver_params_path [spdAux::getRoute "SLStaticlinear_solver_settings"] - foreach {n v} $solver_parameters { - [$root selectNodes "$solver_params_path/value\[@n = '$n'\]"] setAttribute v $v - } - - spdAux::RequestRefresh -} -proc Solid::examples::TreeAssignationEccentricColumn2Da {args} { - Kratos::ResetModel -} -proc Solid::examples::TreeAssignationEccentricColumn2D {args} { - Kratos::ResetModel -} diff --git a/kratos.gid/apps/Solid/examples/EccentricColumn3D.gid/EccentricColumn3D.geo b/kratos.gid/apps/Solid/examples/EccentricColumn3D.gid/EccentricColumn3D.geo deleted file mode 100644 index 59e6badc1349d59b2197c353e30fa6eea37f2b35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24732 zcmdsqSgYt@`aewQS10s;oY4PiLjUZ9{<#VL z^Aq|PCiE{(=wF)9|9L|HmkIsL6Z%&s^sg?^zZ2`*Uq^i;18s?4XWkQ2#$nu6F;~kss;E|7CLZ_unR0{r@q!?El-5zismO zMjrp)>Bx_EBvtox%zuzM}CsYBRll>wArI`a2+Fh^15!<%N{w1o_>q^Wo4l>l`XL->ruNO9_Vn>=Mz;`q-8z5vSVF? z&pgVATJ1`wv@Cn7gpsz&y3fg<)Zf!4%8s`4{+8{YK2f$%$K~q04(dFkQ1-`2<6D0$SMl5`du~y75zZ=G;{5)iY^zCaGSca|+O{Hd`g^`Ikxq|MUG@V-*_O}3Dw%CtDf|1uqHL?(LLHZN*$WC~zrRP8 zg_X?d?}wC$bUkHDpLeXYY%;5{TH0XQvfZ5%WrcIy-?VP*nkXxEtL$zmBW+=&c9WU< zo7&woQMORWWiHD-p`1J3F8gfm?TlsJeh5Z#`ItW_eVx8G-Wy)ix;NyBXZ*mQ^8V=l zu)mi-b-i={4!#@y;Dh{O-y|ycIbgzbMb96V@pLoz&=x*{&nZQP?hns1Q~o$UMRkqK z_ITkBV}?KFp2Yp(IZFO4ZddpJh6|O*{dsd9KeU5CAI|UO&p1A7@ClQk?9Z5Ar#}fF{Lpxn`#m2o&L8EE$4@=K zvOl#vd6$1Zp7VGKpY7Rr&7O+$l(s*4&tChP_qIi~#ijdmc)*)EMI7T(xi9s-7Uwwf zr>Hb8bGz?`KRidspK`D3-p1eSAK46 zea08=TliBxJGeib8}|H(qCtND%Fmri@4r4?X@21g>oWe7&m-;+=auru<0n)>!olN5 z^1-P1aeq?$;0tFH__OF4hxZWjryTEczPmh%1Z~V8=DP6NF_cd~jt}Ry@+Vn14u1d2 z>rzo|aq0M^@nUXq-vXbdV3GU7dl&gLj?Z}i@^;}ca^>h4M`DnM!y;hn#>}S|R z;MWzwBKK#h@JBZCNA0?wlFPnMJyw%H>>uRM-lBkG$vYe2BQyDJ{u7MA zXJ1j!{b8V{{84fFx!$>4uG#nlMznRMDjf655;I4Gna9{;yFXY&UW6_0xtK%r6Wvw8 zBDdvTG;@eCLU(nr$ZdH)%^bpC@cVGE$noQy8s+gvJq zBXxgxmnVM;v$)LXmG0+e{9(T%f37VWax8g=*z-rl+#ku?X*=H8FM|>ITvrrye|XnF zdGAWB(@$(a8Z7d4k8dN0b;bzW zkI67nub1y7h;{r0zZ-%@?l13nkwr4n+B5B>$nwp^7yDQCjQDe7s&M#qe|Wd-{v`7} z|59FikvtEIYKzNue6e3#3Z|`_f<^8R-+*G@di-&>@N)a&KD7vgCtm~pu^Smd_6t49{e zoOJ(4g8a-jFfA3si z%lAvHCHTwUc}rm%syT7}%V6~EakU?1J#@PV26|;aMXnwem3t0`DRf}?ooP%`dHMuX zS6N@O^!7wf?bEJUT>T>mN6EwbG+_P z`2Anv1r{R5>)ud+7yCr;BDQ#r5l(SAkjK}(|HpVOdRO=BKtuEK;<)CXbJ2iM`VnsR zp6$^1o>KF19_t5+qQhJ)=VM(*wsiTJw|6``v-AD6pNZsp)0KQvx>(PAT=XvSzR+tv zf){IV`HWuUrTHkldhgMaZ&T}68<#mAn(N^alyRx?&GKaDzrsoBVm)}Vj*EOg-X99^ z0#o8j_n){NsE3#I?R0&3schYUNj>eyms{3(;iR1qz5ndE+WV4flz=Km~!vs zIiWQlAFS?=hvw^km^Uc3?eVo37r)=l<7{jz7ns`#KzXIx{iLX{ruR&W&Q6)+ARvll!6y$og$B~he82fV9NO> zd%V{A72<*pEsyawt}$wJcAzj?v)-3FuG_fC%J)+}T!f?Bs~-8LRC1+~rxd(kk>mAn zD8P$-*QLSibIWsK#aEh3dA$#_pd$x=@?+>eJ<=W+#N(Ra^D*iC*Pm0gxAp#KTa_OtqF|Yy)k>hnJ6yU}FYfmuGuiz#UUhVZuc>Vb2vQKFmE61zur{kjaNHsZ* zj*ILwjw)HFb^O#ia)dyLD1cLZ~v6bY}C*O+SmwRXKP=cmV4 zU58qj$JzXzJI3L-HmXgwJIJ*`(UWY>gUOWRaAD4o`P1M7y zv)<1VUTJ%oiI5&3+4EEM3y zb0awI3~tRwU%$pVF~&d?swny3c=`HO*P;IB`(|zL_ea^gymBNmH6E^YJ$QkID2;K- zas8WM@Z!0Vz3Pr&Fmt>5d3$yF*w1tF{EFs+a{p7_e`T+A%IzihavR4BEJTjOZ$klI zI60Z_g`|QvKKCHFS+cMZX7S3p+&xaJrN4cM{wnNNcJUW*A4-e z<7OV^_Km*YZuNsZ9@FzJ99&SUedFUd%=Cx+1vz7NN%Lp7HO6 zgx9g07v}wxK7Qo+tA7dMXs)#hOK2@omkO!J-~s(znyp zwy$5cZ9l$hyV*>*NbYz^-cD;g*4os1@Z#Pla=e}n1$Z%MiK~6VExbZJQ1X4t_>IHb z=ONjVt{1Pe4D+$x$F9Xo_QKKarB7*%N3A1Q>%ohCg2?ZW&x8WJShtvq;HB@k6k8#h z>Ha7m(-;e{*#T^F+l%jys>9cNmutP3+}C@TCm;N`#>2JQ=VS+7I|?Jm>kpw5ULTEX zzK!}wVK2-y2U5EAnAUssQ_ZMu$;Z6CAKJF!_9?&q?>|(&PHQ~DYpF1ByjDX8Uc?r7 z@$J^ff<-l6_l)n+gxBWQ`yMVXmk%k;xCmdD*Y?WQcu1PlS`S`3vvSxUC<_*U39$wP7)8s>M{Sq!JtNy!O`jqzLtG4r8jfZPn^Kn;UME^xx|0x)}Sht9) z>w;T&g?OOUx2?yt-uG~kyuE&ByyQzt*Z+N8T~4_gPvXnZ|6~bX&jy1R>lSknyofPK zvBkC4d#>}hlbc)bRfn(lF4uZ5xv%#wPkH~X@o;S`zV;MG9$(Le4!pQOt_0r@yc{eN zW;*{;45T=l<29PUR_(EUKKACF%g6j!SN_gWKBY9vYx~;D@o=r{i7$WOqcULee6Zr{ zmbkt#_~u}dQEcPOY*w^I*0K2nB}#-YE`=N`11GFstGJ!2nH|KdT_ca zcu{;M-?pxV*#b&&w$b=X6|TiaF&0O3VlP2_eLQ$2Smf~~ zye7tUm`hW5sg5xnhe@%ky-IK1WxQ06e6G`t$YIxOjP4_cs?KN_^S62D(mspizCTXxjerl_c)SV_9=b$&hMFP zBFF2MP=FVEd*bT$;MRN$@j%JftrlPF!%KCj|6{+$eU`KtFG*yd@{Wt{r!H6NI({V0 zX{{%|bUuTP9T@*kV3{nW&Dh{Jfp?i+%L?Qk~v^#f!^jpVEwr>|I{lD_7$o zX-;eXDWSmc7J&u-^YFw-!R+MV(}MZlf_LKno>y3tK5X9`>isS49Ut7HvOU_wmTzGg z(=&p%2SeDYE#=4h$34fP<+1&P)Pe6UD%(3L4ERoo_UIemNN@&UlG-JG$of~dcS2dH zxGviR%kzTqkF)DjgHI2}Mx^%0d;dy2!Ky`Nd$hrsFYg{WALdM5=bo)L)!to0kZxHi z+XJf>mF-dYj^L%>UBNqpcLzg@+SB?}wg*-%D%+#2J;4_TUl@E*@Fl?zcHX9*M_cVN zCM_!4TMC0qgSnSo7R(yWy5sFAFFe&=dB4Ku2X{k18{(JtuexU6{=MJ)^3`i9)MQN+ zJv#<`lvqe#T*>M^D>Nv_lDs9G&C8^=4v!yo{&&3T>gIcR`K_pI`xjpP;ZKi$^hPFk K>dfnN-~I=g$l?V6 diff --git a/kratos.gid/apps/Solid/examples/EccentricColumn3D.gid/EccentricColumn3D.prj b/kratos.gid/apps/Solid/examples/EccentricColumn3D.gid/EccentricColumn3D.prj deleted file mode 100644 index 29a1ac92a..000000000 --- a/kratos.gid/apps/Solid/examples/EccentricColumn3D.gid/EccentricColumn3D.prj +++ /dev/null @@ -1,31 +0,0 @@ - - -
-    
-    
-      
-      
-      
-      
-      
-      
-    
-    
-      
-        10 12
-        1 1
-        6 5
-      
-      
-        4 6 7 25 35
-        1x5
-        4x4 2
-      
-      
-        2:9
-        2x8
-        1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3
-      
-    
-  
-
diff --git a/kratos.gid/apps/Solid/examples/EccentricColumn3D.gid/EccentricColumn3D.vv b/kratos.gid/apps/Solid/examples/EccentricColumn3D.gid/EccentricColumn3D.vv deleted file mode 100644 index 97c55a377..000000000 --- a/kratos.gid/apps/Solid/examples/EccentricColumn3D.gid/EccentricColumn3D.vv +++ /dev/null @@ -1,37 +0,0 @@ -BeginZE /home/cpuigbo/GiDInterface/kratos.gid/apps/Solid/examples/EccentricColumn3D.gid/EccentricColumn3D.vv - x -3.94726991653442383 5.74480867385864258 - y 6.39163064956665039 -1.58742785453796387 - z -2.95716428756713867 3.97514200210571289 - e 2.76385402679443359 - v -0.0793274012290671182 0.899682501223218134 0.174501511325530018 - r 0.392208881101695939 - m -0.679758787155151367 -0.279621034860610962 0.678041458129882812 0 -0.00585686462000012398 0.926512777805328369 0.37621772289276123 0 -0.733412444591522217 0.251766085624694824 -0.631442904472351074 0 0 0 0 1 - c 0.508988738059997559 1.8859550952911377 -0.508988738059997559 - pd 0 - pno 0 - pfo 0 - pf 4 - pv 0 - NowUse 0 - DrawingType 1 - LightVector 90 90 150 0 - OGLShadow(UseShadows) 0 - OGLShadow(RenderMode) RenderNice - OGLShadow(ShadowBias) -0.002 - OGLShadow(AmbientShadows) 1 - OGLShadow(UseFBO) 0 - OGLShadow(FBOSize) 2048 - OGLShadow(DimmedLightFactor) 0.02 - OGLStereo(UseStereo) 0 - OGLStereo(RelativeEyeDistance) 1 - OGLStereo(FlipEyes) 0 - OGLStereo(StereoMode) AnaglyphColors - OGLStereo(EyeDistance) 0.075 - OGLStereo(LeftEyeDistance) 1 0 0 1 - OGLStereo(RightEyeDistance) 0 1 1 1 -EndZE /home/cpuigbo/GiDInterface/kratos.gid/apps/Solid/examples/EccentricColumn3D.gid/EccentricColumn3D.vv - -BeginMirror - Mirror 0 Angle 0.0 AngleFake -15.0 SizeFactor 2.0 HeightOffset 0.25 Color #d9e5f24d Backlight Off EdgeStyle No Type Scene DrawMode Mirror -EndMirror - diff --git a/kratos.gid/apps/Solid/examples/NotchedBeam.tcl b/kratos.gid/apps/Solid/examples/NotchedBeam.tcl deleted file mode 100644 index acd3a3688..000000000 --- a/kratos.gid/apps/Solid/examples/NotchedBeam.tcl +++ /dev/null @@ -1,164 +0,0 @@ - -proc ::Solid::examples::NotchedBeam {args} { - if {![Kratos::IsModelEmpty]} { - set txt "We are going to draw the example geometry.\nDo you want to lose your previous work?" - set retval [tk_messageBox -default ok -icon question -message $txt -type okcancel] - if { $retval == "cancel" } { return } - } - DrawNotchedBeamGeometry$::Model::SpatialDimension - TreeAssignationNotchedBeam$::Model::SpatialDimension - - GiD_Process 'Redraw - GidUtils::UpdateWindow GROUPS - GidUtils::UpdateWindow LAYER - GiD_Process 'Zoom Frame -} - - -# Draw Geometry -proc Solid::examples::DrawNotchedBeamGeometry3D {args} { - Kratos::ResetModel -} -proc Solid::examples::DrawNotchedBeamGeometry2D {args} { - Kratos::ResetModel - set dir [apps::getMyDir "Solid"] - set problemfile [file join $dir examples NotchedBeam2D.gid] - GiD_Process Mescape Files InsertGeom $problemfile -} -proc Solid::examples::DrawNotchedBeamGeometry2Da {args} { - Kratos::ResetModel -} -# Mesh sizes - - -# Tree assign -proc Solid::examples::TreeAssignationNotchedBeam3D {args} { - Kratos::ResetModel -} -proc Solid::examples::TreeAssignationNotchedBeam2D {args} { - set nd $::Model::SpatialDimension - set root [customlib::GetBaseRoot] - - set condtype line - if {$nd eq "3D"} { set condtype surface } - - # Quasi-static solution strategy set - spdAux::SetValueOnTreeItem v "Quasi-static" SLSoluType - spdAux::SetValueOnTreeItem v "Non-linear" SLAnalysisType - - # Time parameters - set time_parameters [list EndTime 200 DeltaTime 1] - set time_params_path [spdAux::getRoute SLTimeParameters] - foreach {name value} $time_parameters { - set node [$root selectNodes "$time_params_path/value\[@n = '$name'\]"] - if {$node ne ""} { - $node setAttribute v $value - } else { - W "Couldn't find $name - Check example script" - } - } - - # Solid Parts - set solidParts [spdAux::getRoute "SLParts"] - set solidPartsNode [customlib::AddConditionGroupOnXPath $solidParts Solid] - $solidPartsNode setAttribute ov surface - set props [list Element SmallDisplacementElement$nd ConstitutiveLaw SmallStrainPlaneStress2DLaw.SimoJuExponentialDamageModel DENSITY 2500 YOUNG_MODULUS 2.8e10 POISSON_RATIO 0.1 THICKNESS 0.1 DAMAGE_THRESHOLD 19.1237 STRENGTH_RATIO 10.9375 FRACTURE_ENERGY 140] - foreach {prop val} $props { - set propnode [$solidPartsNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - set solidConditions [spdAux::getRoute "SLNodalConditions"] - - # Solid Constraint - GiD_Groups clone ConstraintXY Total - GiD_Groups edit parent Total ConstraintXY - spdAux::AddIntervalGroup ConstraintXY "ConstraintXY//Total" - GiD_Groups edit state "ConstraintXY//Total" hidden - set solidConstraintXY {container[@n='Solid']/container[@n='Boundary Conditions']/condition[@n='DISPLACEMENT']} - set solidConstraintXYNode [customlib::AddConditionGroupOnXPath $solidConstraintXY "ConstraintXY//Total"] - $solidConstraintXYNode setAttribute ov line - set props [list selector_component_X ByValue value_component_X 0.0 selector_component_Y ByValue value_component_Y 0.0 selector_component_Z Not Interval Total] - foreach {prop val} $props { - set propnode [$solidConstraintXYNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - # Solid Constraint - GiD_Groups clone ConstraintY Total - GiD_Groups edit parent Total ConstraintY - spdAux::AddIntervalGroup ConstraintY "ConstraintY//Total" - GiD_Groups edit state "ConstraintY//Total" hidden - set solidConstraintY {container[@n='Solid']/container[@n='Boundary Conditions']/condition[@n='DISPLACEMENT']} - set solidConstraintYNode [customlib::AddConditionGroupOnXPath $solidConstraintY "ConstraintY//Total"] - $solidConstraintYNode setAttribute ov line - set props [list selector_component_X Not selector_component_Y Not selector_component_Z ByValue value_component_Z 0.0 Interval Total] - foreach {prop val} $props { - set propnode [$solidConstraintYNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - # Solid Loads - GiD_Groups clone LoadY Total - GiD_Groups edit parent Total LoadY - spdAux::AddIntervalGroup LoadY "LoadY//Total" - GiD_Groups edit state "LoadY//Total" hidden - set solidLoadY "container\[@n='Solid'\]/container\[@n='Loads'\]/condition\[@n='Load$nd'\]" - set solidLoadYNode [customlib::AddConditionGroupOnXPath $solidLoadY "LoadY//Total"] - $solidLoadYNode setAttribute ov line - set props [list ByFunction Yes function_modulus "3000*t" direction 0.0,-1.0,0.0 Interval Total] - foreach {prop val} $props { - set propnode [$solidLoadYNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - GiD_Groups clone LoadYY Total - GiD_Groups edit parent Total LoadYY - spdAux::AddIntervalGroup LoadYY "LoadYY//Total" - GiD_Groups edit state "LoadYY//Total" hidden - set solidLoadYY "container\[@n='Solid'\]/container\[@n='Loads'\]/condition\[@n='Load$nd'\]" - set solidLoadYYNode [customlib::AddConditionGroupOnXPath $solidLoadYY "LoadYY//Total"] - $solidLoadYYNode setAttribute ov line - set props [list ByFunction Yes function_modulus "30000*t" direction 0.0,-1.0,0.0 Interval Total] - foreach {prop val} $props { - set propnode [$solidLoadYYNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - # Parallelism - set time_parameters [list ParallelSolutionType OpenMP OpenMPNumberOfThreads 4] - set time_params_path [spdAux::getRoute "Parallelization"] - foreach {n v} $time_parameters { - [$root selectNodes "$time_params_path/value\[@n = '$n'\]"] setAttribute v $v - } - # Output - set output_parameters [list DAMAGE_VARIABLE Yes] - set output_params_path [spdAux::getRoute "ElementResults"] - foreach {n v} $output_parameters { - [$root selectNodes "$output_params_path/value\[@n = '$n'\]"] setAttribute v $v - } - spdAux::RequestRefresh -} -proc Solid::examples::TreeAssignationNotchedBeam2Da {args} { - Kratos::ResetModel -} diff --git a/kratos.gid/apps/Solid/examples/NotchedBeam2D.gid/NotchedBeam2D.geo b/kratos.gid/apps/Solid/examples/NotchedBeam2D.gid/NotchedBeam2D.geo deleted file mode 100644 index 4ee2b07ddfc5325303c9fe3ed62a49f8ca6f6298..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3788 zcma)IzLZQ%( zb=%6;#a0|VRKDV9aimyjQZh`g5kq`I-~6V@Pt?HSp|#V%^KHq=DK?$%l6d0G5Xz?BiD)l z1J^%(<5T1m<~Vm%acOTX6Sq4jZlCeYJvnkyr*meUxmV+w?x^+8mm^1SbsGKl1#pKy zy}WSgcBdO7@sHnrjcdB2)waAf`W?uTYl`#N0Pa9(bK#l(UZdZ^04^07zHZLvZvot& zDkJZWbQt|60=P~-n{#6*fa}EQwDFF<2XKj0X>)^-`!j(1 zYGHBhI+h+nFJRxP7?L7;v6MOWM;(Ekmc;3HeGX3EZMudvy&FA&o`Nk;!-`*hUvQiQ z?92cx`^vk81F*!4T4mo^K3IN>!BLxFXZv6=fg>lt&I!QsZuA5{n!O;uA7W!bRMR3$U*diY+CUE2g z`KZ^iMzeFBZzF1#xN;BN8yxaY(QOR5DUX`k^Bc=MZ}z^3TX{2(yBU27TuKrae9p}y zdo8{;@8RN-_ty4;o~Bc=b1j08P1#a?rF}3%FZj>)Z_qQ>r{L4|vY&TMBzZD=ttx{& zc49#tm_*(~zCFn|@`(JP$LYOGEnR`vw()i1*qYX4{BFAM;(|OAbNu!eF02Vv+-*5# zH~gj+p$r{fvSDRyhn21ue9Vq_o9k2X>3Z4EJ9^{ewXyQri61p=65>GY=&$q^dJ(;g z*ikpsLy>yegI-C`1`CIrmiWu4R9QtZACuphCtu##aJ8n@je(hHj{BC$=X)wIw_Aw= zwa1t4s&V69S-hy=?1B#&dcnsR&9|bPQ+X@+bbYq7IC_b1I!g31I`PrJU&zPk>PR#a zjh5TNlPw62i1W|JYdbL65?`>P(C(7dd`XD}* - -
-    
-    
-      
-      
-      
-      
-      
-    
-    
-      
-        21 24 27 30
-        1x4
-        3 2 4 5
-      
-      
-        3:5
-        1x3
-        1x3
-      
-    
-  
-
diff --git a/kratos.gid/apps/Solid/examples/NotchedBeam2D.gid/NotchedBeam2D.vv b/kratos.gid/apps/Solid/examples/NotchedBeam2D.gid/NotchedBeam2D.vv deleted file mode 100644 index b1e32bd49..000000000 --- a/kratos.gid/apps/Solid/examples/NotchedBeam2D.gid/NotchedBeam2D.vv +++ /dev/null @@ -1,37 +0,0 @@ -BeginZE /home/josep_maria/Desktop/damage/NotchedBeam2D.gid/NotchedBeam2D.vv - x -0.387526094913482666 1.22752606868743896 - y 0.564327478408813477 -0.364327490329742432 - z -1.39298248291015625 1.39298248291015625 - e 0.464327484369277954 - v -0 -0 -8.74227765734758577e-08 - r -1 - m 1 -1.74845553146951715e-07 0 0 1.74845553146951715e-07 1 0 0 0 0 1 0 0 0 0 1 - c 0.419999986886978149 0.118095241487026215 0 - pd 0 - pno 0 - pfo 0 - pf 4 - pv 0 - NowUse 0 - DrawingType 1 - LightVector 90 90 150 0 - OGLShadow(UseShadows) 0 - OGLShadow(RenderMode) RenderNice - OGLShadow(ShadowBias) -0.002 - OGLShadow(AmbientShadows) 1 - OGLShadow(UseFBO) 0 - OGLShadow(FBOSize) 2048 - OGLShadow(DimmedLightFactor) 0.02 - OGLStereo(UseStereo) 0 - OGLStereo(RelativeEyeDistance) 1 - OGLStereo(FlipEyes) 0 - OGLStereo(StereoMode) AnaglyphColors - OGLStereo(EyeDistance) 0.075 - OGLStereo(LeftEyeDistance) 1 0 0 1 - OGLStereo(RightEyeDistance) 0 1 1 1 -EndZE /home/josep_maria/Desktop/damage/NotchedBeam2D.gid/NotchedBeam2D.vv - -BeginMirror - Mirror 0 Angle 0.0 AngleFake -15.0 SizeFactor 2.0 HeightOffset 0.25 Color #d9e5f24d Backlight Off EdgeStyle No Type Scene DrawMode Mirror -EndMirror - diff --git a/kratos.gid/apps/Solid/examples/StaticBeamLattice.gid/StaticBeamLattice.geo b/kratos.gid/apps/Solid/examples/StaticBeamLattice.gid/StaticBeamLattice.geo deleted file mode 100644 index 5f3a05b9f37afaf1bfe4955967124d25bc40fc0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6202 zcmb7{OKeqD6o#)->=jY)QSfaO>4bz!5fW@dat};Y1k@@BW7}vGjWeQgfI2Y7p)(nf z_*Q)2`xTQmVd6js>dY{6K;lRflU@^`?(eMg@2-2oKMIi&J|#XMP%~#5GK>3zu)!xE$_z zoUpVw50^V>l(<^!f3_Fku68d=+~%7X1iPx9^y+hMZY!6=U9@km@7vaf=~=q_J=+sg<4Eo2s{?LL-9B20Yw(l1xG&MCQ9AeDfpa@{ZtbgUL`=^T zchb1?I(O1>*9P1jHFtDDT!Wwfk#D{>;8p|YZg#%9F5qg}&K;}Fws>Br#q=!QSMe;a z#el{0`XRYKo|T_$Q94&!>s+%fo^R0N3S7mrxIUh59Fptfc`V>6o}WAZ%VgHwV0kIZht&aR6d^X7?SJb`Obi=<$-UmYtCI-OwUVvb5l1aDj(0|LvnpQ zfA9*G$3`g!>r%e7T%YATSRV#l+qIqR^P1OA?3;St;`wC2wO-fDec_n()Y?}c1>BzX zpIo0`a@>ytuASS?_4(DaNB{fl4~yqd03{IV5+paqIhj9dH%T zsyRNMzX`Z@-*&FgKAyh~xQb_;>*M*mfU9^G*T?hs0ax)Xu8-#*0iQlO- zSfh@h`F@D*We4VH>JPQ(7xyx ze1YwCr{@TZZowDWUT2oD=oEYb*6Yd=7F~ibzsFu7RVCn7ng75WOESY(*#+~Tp z@`cx48JH%*(!22mw%1xEEWH|Efc4s{grzs*3$R{Gm9S_Yd;!*LrxKRF4IZr5N+m3P z8oz<{+Ngx3FXK0`UJI45^kMu4)@z>3_?dKvkiyNo;bDYw_Vhz<8Ltj$=~)r^-g5Y diff --git a/kratos.gid/apps/Solid/examples/StaticBeamLattice.gid/StaticBeamLattice.prj b/kratos.gid/apps/Solid/examples/StaticBeamLattice.gid/StaticBeamLattice.prj deleted file mode 100644 index d92ec5512..000000000 --- a/kratos.gid/apps/Solid/examples/StaticBeamLattice.gid/StaticBeamLattice.prj +++ /dev/null @@ -1,28 +0,0 @@ - - -
-    
-    
-      
-      
-      
-      
-      
-      
-      
-      
-    
-    
-      
-        1:6 18 27:32 100018
-        1x14
-        19 20 19 19 16 19 17 15x4 18 15 17
-      
-      
-        1:24 100001:100024 1000007:1000018 1000020:1000025
-        1x66
-        1x48 14x18
-      
-    
-  
-
diff --git a/kratos.gid/apps/Solid/examples/StaticBeamLattice.gid/StaticBeamLattice.vv b/kratos.gid/apps/Solid/examples/StaticBeamLattice.gid/StaticBeamLattice.vv deleted file mode 100644 index f545aaa7e..000000000 --- a/kratos.gid/apps/Solid/examples/StaticBeamLattice.gid/StaticBeamLattice.vv +++ /dev/null @@ -1,37 +0,0 @@ -BeginZE /home/jmaria/Desktop/StaticBeamLattice.gid/StaticBeamLattice.vv - x -6.89991378784179688 6.89991378784179688 - y 15.3079414367675781 -4.42514467239379883 - z -20.6997413635253906 20.6997413635253906 - e 6.89991378784179688 - v 0.257072094239774285 -0.00642424184424369993 0.00395524515450007726 - r -0.966362780489641304 - m 0.999886155128479004 0.00434141699224710464 0.0144498627632856369 0 -0.0109473904594779015 0.867796599864959717 0.496798992156982422 0 -0.0103827305138111115 -0.496900618076324463 0.867745339870452881 0 0 0 0 1 - c 0 5.44139814376831055 0 - pd 0 - pno 0 - pfo 0 - pf 4 - pv 0 - NowUse 0 - DrawingType 0 - LightVector 90 90 150 0 - OGLShadow(UseShadows) 0 - OGLShadow(RenderMode) RenderNice - OGLShadow(ShadowBias) -0.002 - OGLShadow(AmbientShadows) 1 - OGLShadow(UseFBO) 0 - OGLShadow(FBOSize) 2048 - OGLShadow(DimmedLightFactor) 0.02 - OGLStereo(UseStereo) 0 - OGLStereo(RelativeEyeDistance) 1 - OGLStereo(FlipEyes) 0 - OGLStereo(StereoMode) AnaglyphColors - OGLStereo(EyeDistance) 0.075 - OGLStereo(LeftEyeDistance) 1 0 0 1 - OGLStereo(RightEyeDistance) 0 1 1 1 -EndZE /home/jmaria/Desktop/StaticBeamLattice.gid/StaticBeamLattice.vv - -BeginMirror - Mirror 0 Angle 0.0 AngleFake -15.0 SizeFactor 2.0 HeightOffset 0.25 Color #d9e5f24d Backlight Off EdgeStyle No Type Scene DrawMode Mirror -EndMirror - diff --git a/kratos.gid/apps/Solid/examples/StaticBeamLattice.tcl b/kratos.gid/apps/Solid/examples/StaticBeamLattice.tcl deleted file mode 100644 index bffb42d84..000000000 --- a/kratos.gid/apps/Solid/examples/StaticBeamLattice.tcl +++ /dev/null @@ -1,204 +0,0 @@ - -proc ::Solid::examples::StaticBeamLattice {args} { - if {![Kratos::IsModelEmpty]} { - set txt "We are going to draw the example geometry.\nDo you want to lose your previous work?" - set retval [tk_messageBox -default ok -icon question -message $txt -type okcancel] - if { $retval == "cancel" } { return } - } - DrawStaticBeamLatticeGeometry$::Model::SpatialDimension - TreeAssignationStaticBeamLattice$::Model::SpatialDimension - - GiD_Process 'Redraw - GidUtils::UpdateWindow GROUPS - GidUtils::UpdateWindow LAYER - GiD_Process 'Zoom Frame -} - - -# Draw Geometry -proc Solid::examples::DrawStaticBeamLatticeGeometry3D {args} { - Kratos::ResetModel - set dir [apps::getMyDir "Solid"] - set problemfile [file join $dir examples StaticBeamLattice.gid] - GiD_Process Mescape Files InsertGeom $problemfile -} -proc Solid::examples::DrawStaticBeamLatticeGeometry2Da {args} { - Kratos::ResetModel -} -proc Solid::examples::DrawStaticBeamLatticeGeometry2D {args} { - Kratos::ResetModel -} -# Mesh sizes - - -# Tree assign -proc Solid::examples::TreeAssignationStaticBeamLattice3D {args} { - set nd $::Model::SpatialDimension - set root [customlib::GetBaseRoot] - - set condtype point - - # Static solution strategy set - spdAux::SetValueOnTreeItem v "Quasi-static" SLSoluType - spdAux::SetValueOnTreeItem v "StaticStep" SLScheme - - # Time parameters - set time_parameters [list EndTime 1.6e2 DeltaTime 5.0] - set time_params_path [spdAux::getRoute SLTimeParameters] - foreach {name value} $time_parameters { - set node [$root selectNodes "$time_params_path/value\[@n = '$name'\]"] - if {$node ne ""} { - $node setAttribute v $value - } else { - W "Couldn't find $name - Check example script" - } - } - - # Solid Parts - set solidParts [spdAux::getRoute "SLParts"] - set solidPartsNode [customlib::AddConditionGroupOnXPath $solidParts Wires] - $solidPartsNode setAttribute ov line - set props [list Element LargeDisplacementBeamElement3D ConstitutiveLaw UserDefined3D DENSITY 2650 CROSS_SECTION_AREA 7.85e-4 YOUNG_MODULUS 83.0e15 INERTIA_X 4.9E-6 INERTIA_Y 4.9E-6] - foreach {prop val} $props { - set propnode [$solidPartsNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - set solidPartsNode [customlib::AddConditionGroupOnXPath $solidParts Connectors] - $solidPartsNode setAttribute ov line - set props [list Element LargeDisplacementBeamElement3D ConstitutiveLaw UserDefined3D DENSITY 2650 CROSS_SECTION_AREA 7.85e-4 YOUNG_MODULUS 83.0e15 INERTIA_X 1.0E-6 INERTIA_Y 1.0E-6] - foreach {prop val} $props { - set propnode [$solidPartsNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - spdAux::RequestRefresh - set solidConditions [spdAux::getRoute "SLNodalConditions"] - - # Solid Constraint - GiD_Groups clone Displacement1 Total - GiD_Groups edit parent Total Displacement1 - spdAux::AddIntervalGroup Displacement1 "Displacement1//Total" - GiD_Groups edit state "Displacement1//Total" hidden - set solidConstraint {container[@n='Solid']/container[@n='Boundary Conditions']/condition[@n='DISPLACEMENT']} - set solidConstraintNode [customlib::AddConditionGroupOnXPath $solidConstraint "Displacement1//Total"] - $solidConstraintNode setAttribute ov point - set props [list selector_component_X ByValue value_component_X 0.0 selector_component_Y ByValue value_component_Y 0.0 selector_component_Z ByValue value_component_Z 0.0 Interval Total] - foreach {prop val} $props { - set propnode [$solidConstraintNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - GiD_Groups clone Displacement2 Total - GiD_Groups edit parent Total Displacement2 - spdAux::AddIntervalGroup Displacement2 "Displacement2//Total" - GiD_Groups edit state "Displacement2//Total" hidden - set solidConstraint {container[@n='Solid']/container[@n='Boundary Conditions']/condition[@n='DISPLACEMENT']} - set solidConstraintNode [customlib::AddConditionGroupOnXPath $solidConstraint "Displacement2//Total"] - $solidConstraintNode setAttribute ov point - set props [list selector_component_X Not selector_component_Y ByFunction function_component_Y "1.0e-2*t" selector_component_Z Not Interval Total] - foreach {prop val} $props { - set propnode [$solidConstraintNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - GiD_Groups clone Displacement3 Total - GiD_Groups edit parent Total Displacement3 - spdAux::AddIntervalGroup Displacement3 "Displacement3//Total" - GiD_Groups edit state "Displacement3//Total" hidden - set solidConstraint {container[@n='Solid']/container[@n='Boundary Conditions']/condition[@n='DISPLACEMENT']} - set solidConstraintNode [customlib::AddConditionGroupOnXPath $solidConstraint "Displacement3//Total"] - $solidConstraintNode setAttribute ov point - set props [list selector_component_X ByValue value_component_X 0.0 selector_component_Y ByValue value_component_Y 0.0 selector_component_Z ByValue value_component_Z 0.0 Interval Total] - foreach {prop val} $props { - set propnode [$solidConstraintNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - GiD_Groups clone Displacement4 Total - GiD_Groups edit parent Total Displacement4 - spdAux::AddIntervalGroup Displacement4 "Displacement4//Total" - GiD_Groups edit state "Displacement4//Total" hidden - set solidConstraint {container[@n='Solid']/container[@n='Boundary Conditions']/condition[@n='DISPLACEMENT']} - set solidConstraintNode [customlib::AddConditionGroupOnXPath $solidConstraint "Displacement4//Total"] - $solidConstraintNode setAttribute ov point - set props [list selector_component_X ByValue value_component_X 0.0 selector_component_Y ByFunction function_component_Y "1.0e-2*t" selector_component_Z ByValue value_component_Z 0.0 Interval Total] - foreach {prop val} $props { - set propnode [$solidConstraintNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - GiD_Groups clone Displacement5 Total - GiD_Groups edit parent Total Displacement5 - spdAux::AddIntervalGroup Displacement5 "Displacement5//Total" - GiD_Groups edit state "Displacement5//Total" hidden - set solidConstraint {container[@n='Solid']/container[@n='Boundary Conditions']/condition[@n='DISPLACEMENT']} - set solidConstraintNode [customlib::AddConditionGroupOnXPath $solidConstraint "Displacement5//Total"] - $solidConstraintNode setAttribute ov point - set props [list selector_component_X Not value_component_X 0.0 selector_component_Y ByValue value_component_Y 0.0 selector_component_Z Not Interval Total] - foreach {prop val} $props { - set propnode [$solidConstraintNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - GiD_Groups clone Displacement6 Total - GiD_Groups edit parent Total Displacement6 - spdAux::AddIntervalGroup Displacement6 "Displacement6//Total" - GiD_Groups edit state "Displacement6//Total" hidden - set solidConstraint {container[@n='Solid']/container[@n='Boundary Conditions']/condition[@n='DISPLACEMENT']} - set solidConstraintNode [customlib::AddConditionGroupOnXPath $solidConstraint "Displacement6//Total"] - $solidConstraintNode setAttribute ov point - set props [list selector_component_X Not selector_component_Y ByValue value_component_Y 0.0 selector_component_Z ByValue value_component_Z 0.0 Interval Total] - foreach {prop val} $props { - set propnode [$solidConstraintNode selectNodes "./value\[@n = '$prop'\]"] - if {$propnode ne "" } { - $propnode setAttribute v $val - } else { - W "Warning - Couldn't find property Solid $prop" - } - } - - # Parallelism - set time_parameters [list ParallelSolutionType OpenMP OpenMPNumberOfThreads 4] - set time_params_path [spdAux::getRoute "Parallelization"] - foreach {n v} $time_parameters { - [$root selectNodes "$time_params_path/value\[@n = '$n'\]"] setAttribute v $v - } - - - spdAux::RequestRefresh -} -proc Solid::examples::TreeAssignationStaticBeamLattice2Da {args} { - Kratos::ResetModel -} -proc Solid::examples::TreeAssignationStaticBeamLattice2D {args} { - Kratos::ResetModel -} diff --git a/kratos.gid/apps/Solid/examples/examples.tcl b/kratos.gid/apps/Solid/examples/examples.tcl deleted file mode 100644 index 046f1c732..000000000 --- a/kratos.gid/apps/Solid/examples/examples.tcl +++ /dev/null @@ -1,41 +0,0 @@ -namespace eval Solid::examples { - -} - -proc Solid::examples::Init { } { - uplevel #0 [list source [file join $::Solid::dir examples DynamicBeam.tcl]] - uplevel #0 [list source [file join $::Solid::dir examples CircularTank.tcl]] - uplevel #0 [list source [file join $::Solid::dir examples EccentricColumn.tcl]] - uplevel #0 [list source [file join $::Solid::dir examples DynamicRod.tcl]] - uplevel #0 [list source [file join $::Solid::dir examples NotchedBeam.tcl]] - uplevel #0 [list source [file join $::Solid::dir examples StaticBeamLattice.tcl]] -} - -proc Solid::examples::UpdateMenus3D { } { - set menu_id 7 - GiDMenu::InsertOption "Kratos" [list "DynamicBeam" ] [incr menu_id] PRE [list ::Solid::examples::DynamicBeam] "" "" insertbefore = - GiDMenu::InsertOption "Kratos" [list "CircularTank" ] [incr menu_id] PRE [list ::Solid::examples::CircularTank] "" "" insertbefore = - GiDMenu::InsertOption "Kratos" [list "EccentricColumn" ] [incr menu_id] PRE [list ::Solid::examples::EccentricColumn] "" "" insertbefore = - GiDMenu::InsertOption "Kratos" [list "DynamicRod" ] [incr menu_id] PRE [list ::Solid::examples::DynamicRod] "" "" insertbefore = - GiDMenu::InsertOption "Kratos" [list "StaticBeamLattice" ] [incr menu_id] PRE [list ::Solid::examples::StaticBeamLattice] "" "" insertbefore = - GiDMenu::InsertOption "Kratos" [list "---"] [incr menu_id] PRE "" "" "" insertbefore = - GiDMenu::UpdateMenus -} - -proc Solid::examples::UpdateMenus2D { } { - set menu_id 7 - GiDMenu::InsertOption "Kratos" [list "NotchedBeam" ] [incr menu_id] PRE [list ::Solid::examples::NotchedBeam] "" "" insertbefore = - GiDMenu::InsertOption "Kratos" [list "DynamicRod" ] [incr menu_id] PRE [list ::Solid::examples::DynamicRod] "" "" insertbefore = - GiDMenu::InsertOption "Kratos" [list "---"] [incr menu_id] PRE "" "" "" insertbefore = - GiDMenu::UpdateMenus -} - -proc Solid::examples::UpdateMenus2Da { } { - set menu_id 7 - GiDMenu::InsertOption "Kratos" [list "CircularTank" ] [incr menu_id] PRE [list ::Solid::examples::CircularTank] "" "" insertbefore = - GiDMenu::InsertOption "Kratos" [list "---"] [incr menu_id] PRE "" "" "" insertbefore = - GiDMenu::UpdateMenus -} - - -Solid::examples::Init diff --git a/kratos.gid/apps/Solid/images/2D.png b/kratos.gid/apps/Solid/images/2D.png deleted file mode 100644 index b7ea880e06699fac5268602666d82352aceae74b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4975 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 diff --git a/kratos.gid/apps/Solid/images/2Da.png b/kratos.gid/apps/Solid/images/2Da.png deleted file mode 100644 index 177ed86fc7ff3f99c095bd9ae369293743b67bf8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6018 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 diff --git a/kratos.gid/apps/Solid/images/3D.png b/kratos.gid/apps/Solid/images/3D.png deleted file mode 100644 index 6b418ad8e99895147b932d4420491f9af67a8c1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4907 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 N002ovPDHLkV1gB`(YXKs diff --git a/kratos.gid/apps/Solid/images/Black/beam_example.png b/kratos.gid/apps/Solid/images/Black/beam_example.png deleted file mode 100644 index a63274eab7d605a0a82d0edfc22d19d236166bea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 857 zcmV-f1E&0mP)=0Zjnh1$x(qO=GyqzhC;7owL4ilQjGJ_m(e zA1X@7A|jN^ibA1_R>Ue5YhJ>2bM3Oq=3ZuJriZNwQDZHuhxWic%=evhe)FA~|2ZS< zJyoLfk4)qrS_~e8$Kc%^g~-*PCP(9>YC02B$1-Y2JTDvEc)jg}lrWn9hv8vWqpaj2 zSK3@mS-pc*Gt!uzl8D>u$Kwm|vGqOeegy!jkEIcQ)?UqV5;sfBcyjG*m-R`x1=yFZ zWqw8ygAyzRf(k9(PMVrs_=5_fC`R=ly~1TlZ8K@x>}kZUZv6b z+SpG{PG)@mM&{48lan@*p;ik{x0k22bp%4;9;?wKJi%h3=+I6h`J~(emakYzP*D*D z5CnmCzk(+y@UHe5FRm8h^ZAVUaT%FRSh|H(b26Eeo`|RFCcr_1~$#JG1ZpJ6UQ4$ zA33_iB~hTIBgENn@Q8 zfH7${W=>B3rADG^I%+74Nfue0w}>VAd3^p7q}KTsN3$2t=MH2^jKD-G2cowj^(N7a$D;Kb?2i11Zh|kH}&M z25w;xW@MN(M*=9wUgGKN%KnI1Muv|vffe)L+@3!7X5)Sx zPifDU?VhWBZd=S@T5QDMu>0sm#$T$%JWUCI)fkJE-#0FGy~Mn2Uzw9<=aNU#&p4k= zn&dw-jCnF+@_G9dhc}b%G^}&~lr&4laKmShqz6x4ZJ!`gnU<8Ua#nS&YOc)mY@gDb zYR|sJo@Ud@5_*vIM6zJ3N85o_XWEx7cbnvNUPtNvp1N@UbBCH`nf6>f3G^0&r>mdK II;Vst0D_Qn(EtDd diff --git a/kratos.gid/apps/Solid/images/Black/boundaryConditions.png b/kratos.gid/apps/Solid/images/Black/boundaryConditions.png deleted file mode 100644 index 7a53439e5dfc77a9560a44fc40a5f60bc7332481..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 327 zcmeAS@N?(olHy`uVBq!ia0vp^f*{Pn1|+R>-G2cowj^(N7a$D;Kb?2i11Zh|kH}&M z25w;xW@MN(M*=9wUgGKN%KnI1Mu@}G$@BXGpwJah7sn8b(`P5|aY)0&9vbHfR1N~^xMPI~R5GPlV|DBr_R zwIS|p6{CoU)$7|X3=QlJyF2ETCX2tH+mOf5XDPZkP~gn1!K!_l4vllZSMW6<3dUA1-1BAx{o?H~0l+U0U_2E(lUs+YwLtbdpMzJI7lw>X|5 R>@3iK44$rjF6*2UngE@MdpH09 diff --git a/kratos.gid/apps/Solid/images/Black/cancelProcess.png b/kratos.gid/apps/Solid/images/Black/cancelProcess.png deleted file mode 100644 index 6f0580957a8bd6528433de84344e100de1f42522..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1526 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 diff --git a/kratos.gid/apps/Solid/images/Black/doRestart.png b/kratos.gid/apps/Solid/images/Black/doRestart.png deleted file mode 100644 index 4f5a443ac692102bac2aaa2ac8cd8a1df8d539bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^f*{Pn1|+R>-G2cowj^(N7a$D;Kb?2i11Zh|kH}&M z25w;xW@MN(M*=9wUgGKN%KnI1Mu?M#_aW0FpwKc;7sn8b(`P4bZ(O2!yDIb&bhjq?RUn>u32+mc2xb}Xr5DZ WZ~d3Om4ARPX7F_Nb6Mw<&;$ShbY&s{ diff --git a/kratos.gid/apps/Solid/images/Black/folder.png b/kratos.gid/apps/Solid/images/Black/folder.png deleted file mode 100644 index 9b967fc382f65f6848cad5df68f8749ba232a7d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^f*{Pn1|+R>-G2cowj^(N7a$D;Kb?2i11Zh|kH}&M z25w;xW@MN(M*=9wUgGKN%KnI1Mu<~D@u7sn8b(|e~Jpftp zS*Fyunz{PYo2~{uhbdWNW}oX_l}=vrl{wgU(@$wZ{I*x+mm0-^Vh8{L diff --git a/kratos.gid/apps/Solid/images/Black/groupCreated.png b/kratos.gid/apps/Solid/images/Black/groupCreated.png deleted file mode 100644 index f174a291e789088edc659ffd0e1c1e4bd421cb72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 456 zcmV;(0XP1MP)g0aZyv zK~y-)rIfErL{Sihzp)BiM5|?!R*M+?k!*s+X0g}|wrv)(e}L7Z25rIyQCQ3yL|DuV zDkuoTy5+OnC)dmK8N6_LbMKj%ch1bbhsu9f{069tz-o5&1e`_0d+9q-6Wmruz%?+F zL2JN^+Ha(#Zm6H?MuX2$@@du5&p~xt-EMkWot$f6B_iI{H{cnVRtH(|BtS%50=Mc( z$zqf-SkJIybyn>q`>n#&ah{~3c9OlW?q^sPoF^Wn=TL1|a<-BjBH{|zR4>#Xa05J~ zU9MALd7^fBB9?$X;02firhu-xpk4sy$#uGvb5wL-kfcp!_I@F2sJ6=i`|d)LQk@s_ zI%W5t-z|=aN8nZ6N#~CrRACpmFB0^DgEDJN9aqzu=nv99EPPMY;a_9lX&C#iI;tJ} yf>A#u>sCciMI4t6X#5pa%z*jovxtbhI=?R&?_EG4ml`bq0000K8=f4h63`&GyEKk=s{c)6Y8%brlA4mzZb^>@TE5sb0~g!8G}^>Fdp`tPxkv zbt!3Yn*D2f-fvIq3qC=TCjM*(^O^-uJe%Km)6{~$Xi@0HCl$3;ZSqQ+zBVcqeKHAq zDpeZwmbZ6Lar`!~zgv#TdZh99J2Rbo@HngTe~DWM4fGF6Gl diff --git a/kratos.gid/apps/Solid/images/Black/meshingStrategies.png b/kratos.gid/apps/Solid/images/Black/meshingStrategies.png deleted file mode 100644 index 194b2797684b2f2e35fd396043a865b047606944..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 303 zcmeAS@N?(olHy`uVBq!ia0vp^f*{Pn1|+R>-G2cowj^(N7a$D;Kb?2i11Zh|kH}&M z25w;xW@MN(M*=9wUgGKN%KnI1Mu<~JAWY~OP-u^*i(`nz>9dm+`Irm^Tp2PhYZZ`OVC;7UBvbRmlrjnLeE86Mh`P&|~@3u%7?uqk+5)p>pfQb|#KkBR$ spP$`hsQF_5nqBhB)(7}Mf8WpWV(Q#tS@s9%Kz}fJy85}Sb4q9e0DKZ@Y5)KL diff --git a/kratos.gid/apps/Solid/images/Black/modelProperties.png b/kratos.gid/apps/Solid/images/Black/modelProperties.png deleted file mode 100644 index 5bd3d0c2c04e9b91113d4abecc502115b1d646aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1765 zcmV-O*)!`~^UXJFuMsn2A($N-8m6+mN^LO=G<(;y0n9A64NPO*EIt@uieZEx2m#gD zw{z$HJlWeVGFDl$pZx3{mdk6=ph&c=iW(r%uv!GGeJfxg#I`DCMo_~vU>d*_RRvAa zpct{g|Al9fUmyF}20j?5U#VGiAOo+qbHK3PAJjGgt7<)XngU7)0Z=rgBuldk_)R_s ztOdt=T(HQlDnT4#h7(5!h8c(xLa>_o3b^WyUX7aOa|4oS~AC_{8Tcu6pfq(CCa>oM2|? znj#n~LRZ&jmKIl7Tv}z@1HF9zmFIFh2j4ox!1+-Mg+|h#ESHyXq^K&QLV~#H%`JP3 zBUh$! zOKQA*^aS5{WIToG%1l~+9;$!ADQ5f|2n}tM~?H?!E5Up5Mg3ufxn)2q#LU#gT)dqaad|xEsk)hr<t)@NK=i0 zNDZ7rR7n!&@ZNKJdX60(n`!fo``cSN)3gbz#3Zhvv4P#)F+?t_aeQCYEVjJlUOjO zre=9>b(Ii|naNoIu6$bhYyi{Gc0>fM-kBt5AkAp49tA~7E6Q^DCLs+mWz7==s{_1a zJrkYfIaOphX=-T5GJLQQK}ln7TzemiccNPyuzKUSUJB}*kZ8YpMRNP^?xCf%KnMX1 zDVi!F%PKY1EZfu^sCrq;9jM-?YO~U;Vrd2>^$fiF`T_n2Ef)TUs_Y9`00000NkvXX Hu0mjfrEy25 diff --git a/kratos.gid/apps/Solid/images/Black/notched_example.png b/kratos.gid/apps/Solid/images/Black/notched_example.png deleted file mode 100644 index f1237083bb1b4a07b89d10e01d917f7cdb0699df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 760 zcmVlO^hB0UeF5%JsM-YnfON- z6Ac^;7Yqr}5KnrL7)Us13_<0Gl@?murO?uL7uxR5j)ygiP*lQ?ll`71vpb*fdvD&% zpodQfVBf^Rekw=L(RWL4t1H_>I<`jlIxpqt=L0~)dGP!FV-quzva(A$GSBMUzQ@Ux z<)ZRqg%!0Ax;s1`kM&159R41hdovNn z$jd&1=znZm78^v@(rcVuKn!cfK`AwtU>kp+u(ZkBdgq2u6h%c*L{WUyGq~RGlv1K= zl+rEf<~(N?%rw^X!5oV@YLK`*KluEK*XzA@^R~m`U>IgYzaKx-l3G>bQgAgMO(mn) z##@wa^#($mUEu7(rucr*OOKQR08~{2z~`~|N^Fs68YLRhH2^?adHls@>$7U<#JNUu z5Rqh6Nvg{~Ruj>L96}7jHl9I|gW!U_%O?XxI14-? ziy0WWg+Z8+Vb&Z8pdfpRr>`sfBW4*PNnQgLg;b!>22U5q5R21SCvD_Curyl?0I&HC{DnX9g? zx;68<-r|j$3wU*O_^wVrE63r$9pioM+eMbM_3^=J~67 iCYCSWI)9Bpdj7Xpd1Y%Zgxm(Yox#)9&t;ucLK6U}*lkDv diff --git a/kratos.gid/apps/Solid/images/Black/rod_example.png b/kratos.gid/apps/Solid/images/Black/rod_example.png deleted file mode 100644 index aba87579fb1ae94abfac20ef05b06fa0d35c5c97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1161 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 S^8ui189ZJ6T-G@yGywo>?qvi3 diff --git a/kratos.gid/apps/Solid/images/Black/setUnits.png b/kratos.gid/apps/Solid/images/Black/setUnits.png deleted file mode 100644 index f9d1915052b4ff4a2d89939e57ad3838e2265810..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 294 zcmeAS@N?(olHy`uVBq!ia0vp^f*{Pn1|+R>-G2cowj^(N7a$D;Kb?2i11Zh|kH}&M z25w;xW@MN(M*=9wUgGKN%KnI1Mu<~?eOvJbpwMPd7sn8b(?=(7C=coIPEN^}(a(b*EO$YD#e{fAD7KW2wal|3A&H*^#9yXD}OMo+VuGO{?nJv0-ev`>FVdQ&MBb@0MS=%82|tP diff --git a/kratos.gid/apps/Solid/images/Black/sheets.png b/kratos.gid/apps/Solid/images/Black/sheets.png deleted file mode 100644 index d1d70413c8877e177e24e57789649cb6c5be2a48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 293 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRt!3HF+tk*dLq}YQL70(Y)*K0-AbW|YuPgf_W*H$)%jlqEjXe zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00Ey#L_t(I%Z-vTNL6tZ#(&@I zYN8e>5hetJgNq^lat`)s|5#3Lw*6AU(h)&;r_$?p=b|Uh6VSkL`x-&$icd$N3LPpY4yfx3iE+O4vJ+ zo|Zv?cfd7Z1h@c7Y}bK@z?kj+0?u7v9vA@rhBgznYrrHhDcc5Cfp*DM4}jZ119&g# zb!stlz)%7l0gLg&v7|q#ai*fdAaE7<(1C{k?Bz?EN0sH_CW1L^W zPf5*aG6TGbMz6AhUbp=%{CXyLE9F12y%i@=%iB!D_FnjJG6&f49|zz9q>?JA13SP; zgw8i8=_G1uz-)wlI|B3oC0oBLZ?FWePI9q002ovPDHLk FV1kGi=C}X= diff --git a/kratos.gid/apps/Solid/images/Black/solvers.png b/kratos.gid/apps/Solid/images/Black/solvers.png deleted file mode 100644 index 72773b5db5c6fc90648ff7ed7a583943b4071c5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 384 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkEUAkcb$ibPmq zqwXg`t@#UdwDh$;u%0UFl2Hsd&|O*6ed0dgVonl%6M{8|!y1*yv#-alvxO*V~nAV&&wwM@{|m@V%x| bTvp-!HqFZFZyv1AKmqCL>gTe~DWM4fCX$=^ diff --git a/kratos.gid/apps/Solid/images/Black/tank_example.png b/kratos.gid/apps/Solid/images/Black/tank_example.png deleted file mode 100644 index ae08e734a537fdf737bf94d28a4510b048a98477..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1092 zcmV-K1iSl*P){1TvBX*L9s;Z(W z3I+*uZhXHxj;JwHD#X;r~fNT{AIcdELBf>BwNfNrRR=jN!)h zYh3yK6V_L{oZmP`QB?E5L7;HXO*T7t4%Z$fJVMNqa@J0)sj3QVEpZ%^Bne6>oOe8T zY7N&k^Q{&_P}a=^2pFpuV{V5ErQlHYBg&<0yWzd3EK7tCIOo_K7&h0}aL&&w_TJOX zFlslORwtNOyli+5sw_)ZS9^E9$BP3*YeiYrkDTB6%>@2G zftG=nW=N;gVYXSa1(L*3csMXlPPbez4?6Z(&IHUX0asV8VzDGL?Tp8>Di-Ty6QrI1phl$tzJ z1}z!dbKE$O^MH4_#^Rf1Y3KkH*#LlZCs!9o=1<>#!SxF-v)+ptn1zD-oVubo%J)k_x=a0#NiZh zpd?aCbRZ@~0tHG4#MtXdx8$NIq1WqDmL=QU+thVUo|oi##%EW4Xcb3s$oZGf^ZfP; zm@FqvGrsxiOMd+RJMuiIX&SODV>B}4dBz|sNKMWC%rMMLdP&6DjV`A*`)qD*((m`@ zyw+NywMGa}uh(f6FB%GK8>+I#dx!VFjXWU`<6&gHoG~IV=Dy|mpzS#T0000< KMNUMnLSTaDTJwqk diff --git a/kratos.gid/apps/Solid/images/Black/timeIntervals.png b/kratos.gid/apps/Solid/images/Black/timeIntervals.png deleted file mode 100644 index 5555fa5d7a2dc92475bb3e0405afd0c90652e641..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 372 zcmeAS@N?(olHy`uVBq!ia0vp^f*{Pn1|+R>-G2cowj^(N7a$D;Kb?2i11Zh|kH}&M z25w;xW@MN(M*=9wUgGKN%KnI1Mu>}jqg=;J1_nk(PZ!4!i_=@DEc9b`6lmM8n9&py z-Kw!{)xkz9$DotaCJ#dcA|@?c>8N1X5gZ#W!{mEzV#2KIMtNiLZ+hEjD_NaP%P&{E z|7O2&b%D?1EfYj0Z#;1{ic#qAW;QJbdz!tv{p`VH53U2}ru%okzW03R%-ZRj z*ge-SNj+Bo^j|=eiDkp@c-z3>Rc^ryTjYdQYL{HK@_aOpz5D_*L-vEa+v6H$8*&_2 zo?cUuX~<}!QYbj1wEHq+%B`;~8(8Zab~7?O5c;82nqiUf#p;IJmhi=q|8khFq?JwE zJ^9q_nxKX&olkN!cei!veN>uwtIzhxCFU5W?FTG3u-`kAQ@Z8;G5y-zFL<;jF_eJ< N&(qb-G2cowj^(N7a$D;Kb?2i11Zh|kH}&M z25w;xW@MN(M*=9wUgGKN%KnI1Mu>|??Mz@INV%trV~EA+ty6UUSR4gf_aEn+P~B|F zBI*5rAKyV3=tJ(t(7`W0Hb zcU4<**W0CU%_L9HS<9u6t7CpZv|&m2f45EF0$eW;$4#6sP^R8IoC3gj@*|ycT&YpU4 zhyLj=ElliMc>H4J)F}rPChuC%@53bysPYPZU4x9aNSS;FV#mHfq}r_>FVdQ&MBb@ E0NKNjt*v5{GByzl1?xb%bb<&r z3N|9aDpjh)B8XyRC0Gc$38aXEQBRsXFids@5B%KMocrH7b4N6Q?HQmN;g+P;de1#* zKz<8!OPZ221$0O5KPW@00>wy;OZpwPBCr$rGhk8DVfw~*wm;c!inwCCY`Y~+*>+#p z0o&UNHy3sicq8d1;&Wgq{D-MYn}Hfo$~MRY9k%lk7l9YRXGy0qRT&rt_JAL@-%I+a zC@x0v8}JKg3+2CO#2o-$0$+hO;B_uF+FxKdM4AIGZFglvzXV2sKfp8KRnlMrSdDjm z4m<@0fs0Io0#E^FflW#4Ioqv3JJ1td6I6kp;Xev;(qKck1?-8#1e1| z)Fh4At_69%-uA87zRsNE)b~HIy~16vyHTw(vuP3+H18PLd}70CB$0!A8^f6951J07*qoM6N<$g2lJV ARR910 diff --git a/kratos.gid/apps/Solid/images/Black/view.png b/kratos.gid/apps/Solid/images/Black/view.png deleted file mode 100644 index 84569e82d3cefb2d7fe1534d686e120de25649db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1661 zcmV-@27>vCP)>Oc7}`HbDs0$$rUTD&e=J; z=RY(5nb}=&ch;i&rRz7@y#Ih^a~v!`8)E=>Ph$tS^zNQI4!Ges76A;iB-_7#f}@WQ zi_CAf{6{}|i;ay0>LTgSX1GZDnK|YOtoby+V@zW++?{BSTf{Ab8)gPpV$pDt{9CUc zM}B^3%0KzwlTJ(BlLBTnP^E-9SZvFqc^9ymb%K{AV8j@c^|7Q_UtJ^ggc`63P6%l9 z*MDqq=ZE(Rc3Y0WQ%#ok{=|i8Nnd{>C zspt1|`h{os;EN?LoPD4B>syJ}io@vad3qP$`|dYc+}PyJpPpfDqlHDQd9Hdi$IDiZ zg9uil8kC~w?Au4S^ZMbha(RB4_ujcks}<2g2_exEihvf%?A0%L^VjDX{Zb#tUVjk< zG$pV<+9a?A{r0`mq4MCEUsElZw~`1+*!Jl+~bXEB`ICZr7MVL|9g+2okQ7` zmaAAQNUEB+6^N<`PEonKYQv8Y1F*WZN+?1q4lymZXvvK+fi=Nh1O!4ZuNo8=$J}a{ zn}cYIaup4P5NZyWZ!ISUb`96A3Pq@0+;nv<3yMMwAR;Ny1VU)=ElK7GDpjBaP2j5B zZbkM!xvTxt>U$ADyTSVhdYK#=WNmeg`hSvqQYlm^RdL-F)u9MXFD!FtY$v__{q1PZ zX;OhB?NoX88_%+4&W(T0w5`qaMdXoItE!?!f#g)uqTsWuHv#z0vBOz=?EtSVmJoRQ zg#(<}x0iq4UFX4rGRxZ_(nzgl*Q8M(WUf_}7$d)*nr6Jemp5K{k)g329pDw$&mVt| zQ_oETFgY~H(U*@Pcx`nJ?v4tO`F8|)dwRx~Z>_X9dcb2Ud5`UUjAPI2W4yPAxvdu0 z7H{M34EFUgIXuLG3J|y_*iQ45=)2bR(+*KS9(k39G;igBVPvawh`NKs%y}RD^Y4nNF zE}1@jx~%uW|FgY)<~%nxwmM{64~+rTEvHPh)GZYdqSeKuQp_KU-j1=S`J4A2@XopS z`DpPD*Vi{WH#5uM&i}pJLGRu8kFTuW%a@0oyD?&|TxF{Kjaj*}?8xOR&#f%eI2%${ z>zmap=W~paqHo)_e8SJA5`!|`dz$y5bSJV7>uZY4IxhkbH8%&z-pfI%hsQ@480^m$ zl~~p+Sz-C!WHnG#PHP3K`&7PPH7W4Y>yt@Miy5cCe}ex3g!j6BVzO*P00000NkvXX Hu0mjf&J-bp diff --git a/kratos.gid/apps/Solid/images/CircularTank2Da.png b/kratos.gid/apps/Solid/images/CircularTank2Da.png deleted file mode 100644 index ea5b4f190a6a32eb6d804001c72643cc662d8322..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3232 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 U_)ZB2{whFNBMZ!5=sPk02UnE$0ssI2 diff --git a/kratos.gid/apps/Solid/images/CircularTank3D.png b/kratos.gid/apps/Solid/images/CircularTank3D.png deleted file mode 100644 index 6e90a4f8aff082942a128bedc0678e300e5f7a47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4886 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 U&5f0?DAg+kU@-)Aom&X)Z)`2ClmGw# diff --git a/kratos.gid/apps/Solid/images/DynamicRod2D.png b/kratos.gid/apps/Solid/images/DynamicRod2D.png deleted file mode 100644 index e8959dabd06ee4e88fdf246feaf777df835057c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6963 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 F{{z1Y{`LR> diff --git a/kratos.gid/apps/Solid/images/EccentricColumn.png b/kratos.gid/apps/Solid/images/EccentricColumn.png deleted file mode 100644 index 2b03fdbe667a9892ba6e0d7aaea9e9fc23046364..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2880 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 pzP)o{( zJaZG%Q-e|yQz{EjrrH1%83*`;xc>kDUs*mfD!lo`@oOJHeqFoz;QYDUnj07Scvf7y z`k<_MdPZvR#Qrsgy2(!-zuL9)G*JDfYnK#&+67C3{DOg86u_Xmc4iV#GS${( zJaZG%Q-e|yQz{EjrrH1%83*`;xc>kD|KrE6KAsiVu0AL$p1yYVK||f-T{};oIDSo8 zKC-!SQB-*IlgF>@t@9@KubDr0TSjWHQ^l0sK<%ZTE{-7;w|Xvk^ED{&uv|DN!qT<> z_xv!eLx+yIm>pRBa!JRZ=&DDSGr!3$iCUY;E90MFS-j22ak|U?Bdp9!pL~6UGYW2f zkIrgVcoyp4Yq3S7K)UwY;e}hDnr(VgaN&w@^;Bma&NIamZYk_bt8RAKU;jubfuW+7 WDe)uMZgUgULs45r&UR_gCdatg&aezLAYG~^1 zr}ququdJ#@*4D$|$ZBL=L1A%ccOSG8PN8*!ib`th8W1(8S`@mWu?5|PAyd1WT5ug? z+WjFmq@qe9Q#3YX2k$fM(ap53-m>xvIHGoYdmG=@Ay=p?VF)6L3ahTEsjY9p;;EfI z?H!cTG6=S{Ex!Q7;R#XojrSnXIux40cR+6#sYcZH4>A-gO&gIs#Nx6z z{MosAtE?_N-Q$L*SCKrR9|=(+p#Xm6e^hYPG7=+OhFTkw~o74=a^wl}a-_I%b?Q zNu)9!U)a^tXR$0oDk{Zd$@=;_pD*O_1WY#9Xf$!S0=ZmiGMP;?W?)usPv3w*Ae^0h zR8(AwClI%`w;cxsLJ2S{=ix)MLZO;`FlD#f1wzrwmmBRw(&*R(iA*z_=Y&GBL@Jlb z6;xUm7K>LXRYI|p*41M)PDy1747Rng2{SS}ArMJsXXm&)fz56oqz|DRTa44D-u^+Q zO1rbOo0Xlrx%ryGWXlvPJfU5!)hm=53azWNyLWJq&SY`8JRylpO-s+@@%Y&}`5LWm zZEbCJ)vDI$usA%AFM4R6G(7{z=I}HcU20ke2GdGsFee@u zhnVak7RR!3<5Ji!z@6{K*6Hj^%6J z?z*ch3}%be9wc4zak?X9Odda-_3_bE2`3Pnn~)Sd>i&Mr48}FYlNjRC@WbS%3BIM& zN0`NVx9?Mu&zQ|6rIKEMm)`1c5Fi8Y^Uhax|5IMS&;eBpMngOa;Tc{9zgXkt7Z`hS zbmes#atnz>wzt2!wjMJ+5EqMJA1Fk6lBgBb`Y*zcy_j=C#`T3X|N2Cu&bu0Oyz%GA zX=EY%Fnqqz>-@VnPhydw*}mcF$pELXJ>$MQkfE`j2ocU-T=##QdeIHrfJPfSywvLJ ziRaHk&OrbcYv_{E^jq2F5@8{;SQ+&5hHX;G+|)yI>C| zVA_l5n>Uy87gz2+mpBt3#y{NAeK=?QH3Je8VY)oqLd`h!V=?M;);U>f+oNc-7xKt_ z?FWZ}S8h^9qw=1%W8F<1l_TD-2Gc{^;VBfOf zhB6=sn(qI?o07$hjT7O_~B0m$gcjQvZcNAtM$ap+Xq6E{SMW)kS>HK0uN2E;N3PYmcRa; zQojG=9ldU(E2#g^N}prpb+@q20kD? zJlKhh?>?MB^o6?pK1&)xICapx5fyZ>iFl}UV0`M>Ny=THgv@|by1)-Nz?W48Wg#&* yiFF_Caq;T&{l1?+^~?0by5egfcJPhW!tpD0!;@ diff --git a/kratos.gid/apps/Solid/images/column_example.png b/kratos.gid/apps/Solid/images/column_example.png deleted file mode 100644 index 7be554b56e6f01fbef17b662eef12a81fd9c74c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 850 zcmV-Y1FigtP)-bO@0EyQ4@ zh}cRx{}f_yvn1I~?tN8)j|aN0zC7NvJ8+<&Y#`g9$xm=E7vB=rk8KqK*nVA{d?e_P<9mkIYJw1)*d7Pe}vazv2DwX2k z;DAgf!@|M>uIrM^<*3za_`V;h^&fJswPs*ofR&XME-o$rP)d=>WB_=2dcwAC#>U2& zn3%x#eQLE@WX_!^3J=2&DJ1|>N|aJv)k`U9x7!3k@MYCo#0+B$-wi7+u+|!_b#K9i z5C|dAT4Pxjwr%&e@(!<3N~DyrJMjN<9@WYIO4}XB=`H6%h^~EhIFCy~tje|4v|25+ z*5Bejw&32+d7NDy8~mTP{k`BE$N4v-)^mI9@ck1Hu;TD-+cw4+q?9BQiQaNCz3 z1S~Etvb(#>{QUfHxk{;@<6KI~=;$a)DZ()9Ua8mD*HkK%KeTasdrPy~j5Gz#XF^j- zvAn!Yu~_8!`I&OL%+=Ku)oQg1aC39R<>e)fMgyf3#+XRUMttQj^}WgXzK?C&D5VI3 cAl6aw3z;@p4KEIlB>(^b07*qoM6N<$f^L?WK>z>% diff --git a/kratos.gid/apps/Solid/images/conditions/arrow.msh b/kratos.gid/apps/Solid/images/conditions/arrow.msh deleted file mode 100644 index 1b1accda0..000000000 --- a/kratos.gid/apps/Solid/images/conditions/arrow.msh +++ /dev/null @@ -1,53 +0,0 @@ -MESH dimension 3 ElemType Triangle Nnode 3 -Coordinates - 1 1 0 0 - 2 0.625 -0.0999999958 3.47613295e-08 - 3 0.625 0.0999999958 3.47613296e-08 - 4 0.625 0.07071064 0.0707107146 - 5 0.625 -0.07071064 0.0707107146 - 6 0.625 -0.0707106906 -0.0707106655 - 7 0.625 0.0707106906 -0.0707106655 - 8 0.625 0 0.1 - 9 0.625 2.32452946e-16 -0.1 - 10 0.625 -0.2 2.34324128e-10 - 11 0.625 0.141421356 -0.141421356 - 12 0.625 0.141421357 0.141421356 - 13 0.625 -0.141421356 -0.141421356 - 14 0.625 -0.141421356 0.141421356 - 15 0.625 0 -0.2 - 16 0.625 0 0.2 - 17 0.625 0.2 -2.31773376e-10 - 18 0 0.0707106781 -0.0707106782 - 19 0 -0.0707106781 0.0707106782 - 20 0 -0.1 1.1713931e-10 - 21 0 -0.0707106781 -0.0707106782 - 22 0 4.38538095e-14 -0.1 - 23 0 0.0707106783 0.070710678 - 24 0 0.1 -1.15863951e-10 - 25 0 0 0.1 -End Coordinates - -Elements -1 1 15 13 -2 1 13 10 -3 1 10 14 -4 1 14 16 -5 1 16 12 -6 1 12 17 -7 1 17 11 -8 1 11 15 -End Elements -MESH dimension 3 ElemType Quadrilateral Nnode 4 -Coordinates -End Coordinates - -Elements -9 8 4 23 25 -10 4 3 24 23 -11 3 7 18 24 -12 7 9 22 18 -13 25 19 5 8 -14 19 20 2 5 -15 20 21 6 2 -16 21 22 9 6 -End Elements diff --git a/kratos.gid/apps/Solid/images/conditions/displacement.png b/kratos.gid/apps/Solid/images/conditions/displacement.png deleted file mode 100644 index 0760c9778d4869f0dcb4757df9eecfb4f6182887..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^f*{Pn3?z9rZ$AN~j01c^T>t<7|MBBjAJ2+wS09uW zPhY$GprLN^uAQe(9KWV4AKBcvC@Q@9$>Ue{)_D{A*UX>0EhDwpsbb1*pmxpzkH}&M z25w;xW@MN(M*=9wUgGKN%KnH;o?lMYvHS58pisG|i(`ny<u-H)-R&tW#gr}`7IS$L6naAC+yRTqH5aDGUnuf@^Orm8+{NFrG8YUPnBF<`luT${ zzOC2h48t^;!;gk8JwCQ(|+VEa`)~Y(cnDdkNzqfzM Y+O~vgO1FoPHqZ$Sp00i_>zopr09%}K0{{R3 diff --git a/kratos.gid/apps/Solid/images/conditions/selfweight.msh b/kratos.gid/apps/Solid/images/conditions/selfweight.msh deleted file mode 100644 index 7d29f3f3a..000000000 --- a/kratos.gid/apps/Solid/images/conditions/selfweight.msh +++ /dev/null @@ -1,38 +0,0 @@ -MESH dimension 3 ElemType Quadrilateral Nnode 4 -Coordinates - 1 1 -1 0 - 2 0.7 -0.7 1.8 - 3 1 1 0 - 4 -1 -1 0 - 5 0.0866025404 -0.05 1.8 - 6 -0 -0.1 1.8 - 7 0.0866025404 0.05 1.8 - 8 -0.0866025404 -0.05 1.8 - 9 0 0.1 1.8 - 10 -0.0866025404 0.05 1.8 - 11 0.0866025404 -0.05 2 - 12 -0 -0.1 2 - 13 0.0866025404 0.05 2 - 14 -0.0866025404 -0.05 2 - 15 0 0.1 2 - 16 -0.7 -0.7 1.8 - 17 0.7 0.7 1.8 - 18 -0.0866025404 0.05 2 - 19 -1 1 0 - 20 -0.7 0.7 1.8 -End Coordinates - -Elements -1 1 3 19 4 -2 2 17 20 16 -3 19 20 16 4 -4 3 17 20 19 -5 1 2 17 3 -6 4 16 2 1 -7 15 18 10 9 -8 18 14 8 10 -9 14 12 6 8 -10 12 11 5 6 -11 11 13 7 5 -12 13 15 9 7 -End Elements diff --git a/kratos.gid/apps/Solid/images/conditions/spring.msh b/kratos.gid/apps/Solid/images/conditions/spring.msh deleted file mode 100644 index c975aff16..000000000 --- a/kratos.gid/apps/Solid/images/conditions/spring.msh +++ /dev/null @@ -1,430 +0,0 @@ -MESH dimension 3 ElemType Quadrilateral Nnode 4 -Coordinates - 1 -0.473042225 0.0999999574 -0.000170817993 - 2 -0.451464987 0.0600173227 0.0355144756 - 3 -0.494619463 0.0599264309 -0.0357540131 - 4 -0.446077782 5.68310897e-05 0.044487789 - 5 -0.500006668 -5.67536713e-05 -0.0445743572 - 6 -0.451464987 -0.0599263528 0.0356674452 - 7 -0.494619463 -0.0600172453 -0.0356010438 - 8 -0.473042225 -0.09999988 8.42504496e-05 - 9 -0.412394709 -0.00113413693 -0.213688722 - 10 -0.409445417 -0.0592214763 -0.188921007 - 11 -0.433604215 0.0418324251 -0.252658609 - 12 -0.417370829 -0.116691352 -0.181507101 - 13 -0.455434501 -1.26195103e-05 -0.286058594 - 14 -0.463340162 -0.0573199773 -0.278729349 - 15 -0.460063768 -0.116378948 -0.255930246 - 16 -0.439268564 -0.158903572 -0.214478378 - 17 -0.0215911123 0.059917595 -0.0356329607 - 18 -0.0269718282 -5.67573843e-05 -0.0444817637 - 19 -7.38465577e-06 0.0999999537 -7.82245153e-05 - 20 -0.0606358858 -0.000948653155 0.213547484 - 21 -0.0636006475 -0.0591854703 0.189004673 - 22 -0.0215773059 -0.0600122514 -0.0355658013 - 23 -0.37337435 -0.171656331 -0.403069876 - 24 -0.373149861 -0.225228592 -0.363051339 - 25 0.021562222 0.0600288617 0.0356385962 - 26 -0.0556585388 -0.116653213 0.181606496 - 27 -0.039444155 0.0420875477 0.252545177 - 28 -0.393620517 -0.121087381 -0.453968101 - 29 0.0269570586 5.68273767e-05 0.0445803825 - 30 -0.3842853 -0.272577396 -0.340851864 - 31 7.38465577e-06 -0.0999999537 7.82245153e-05 - 32 0.0215771528 -0.0599314731 0.0357027744 - 33 -0.0176140688 0.000343668135 0.286029257 - 34 -0.0337644928 -0.15886067 0.214681884 - 35 -0.415740216 -0.164604661 -0.483835788 - 36 -0.42643651 -0.213064782 -0.462972731 - 37 -0.406366932 -0.317525081 -0.370950942 - 38 -0.00970907278 -0.0570286489 0.278847491 - 39 -0.425367901 -0.270085052 -0.426806687 - 40 -0.0129562193 -0.116110437 0.255986295 - 41 0.0394310248 0.0418312677 -0.252568382 - 42 0.0176001717 -1.30127824e-05 -0.285965809 - 43 0.0096946778 -0.057319981 -0.278636756 - 44 0.0606386744 -0.00112840734 -0.21359164 - 45 0.0129747094 -0.116385161 -0.255876988 - 46 0.0635894223 -0.0592214756 -0.188828406 - 47 0.0570944384 -0.119110851 -0.18777369 - 48 0.0337814184 -0.158905961 -0.214486298 - 49 -0.0996725106 -0.171754298 0.402851357 - 50 -0.0998904615 -0.22542601 0.362957017 - 51 -0.0887478591 -0.272799308 0.340840483 - 52 -0.0794294675 -0.121067189 0.453710987 - 53 -0.0573211882 -0.164489981 0.483741677 - 54 -0.0666616739 -0.317669264 0.371015636 - 55 -0.0466153205 -0.212990249 0.462968146 - 56 -0.047681739 -0.270135826 0.426891665 - 57 -0.338488232 -0.457382298 -0.42603612 - 58 -0.334977314 -0.411203146 -0.481037789 - 59 -0.353427848 -0.487914552 -0.400412032 - 60 -0.352511307 -0.357214916 -0.559383112 - 61 0.0794150955 -0.121092142 -0.453878125 - 62 0.0996575196 -0.171638636 -0.402972733 - 63 0.0998849765 -0.22522858 -0.362958736 - 64 0.0465983302 -0.213064786 -0.462880138 - 65 0.0572948107 -0.164604909 -0.483743612 - 66 0.0476651991 -0.270064767 -0.42675719 - 67 0.0938215271 -0.281554921 -0.351420516 - 68 -0.374968338 -0.532141031 -0.433146924 - 69 0.0666831242 -0.317534634 -0.370954973 - 70 -0.138061265 -0.411292895 0.480774053 - 71 -0.374688258 -0.39880045 -0.589090912 - 72 -0.134541177 -0.457593352 0.425854272 - 73 -0.388592327 -0.432869969 -0.562490944 - 74 -0.390088361 -0.486209383 -0.513177315 - 75 -0.119595378 -0.488150825 0.400318117 - 76 -0.120542192 -0.357198975 0.559113819 - 77 -0.0980587022 -0.532299625 0.43316728 - 78 -0.0983814859 -0.398696685 0.589014167 - 79 -0.0844658746 -0.432802896 0.562494008 - 80 -0.0829618617 -0.486255616 0.513226926 - 81 -0.299887102 -0.650760846 -0.421597649 - 82 -0.308932953 -0.688635726 -0.35691224 - 83 -0.326572534 -0.709502552 -0.348795823 - 84 -0.31002423 -0.614104467 -0.537520165 - 85 -0.173174882 -0.651128332 0.421096386 - 86 0.412396525 -0.000949502319 0.213676024 - 87 0.409434193 -0.059185474 0.189097266 - 88 -0.164071947 -0.688820081 0.35665983 - 89 0.446063012 -5.67610974e-05 -0.0443891702 - 90 0.451441779 0.0599315362 -0.0355039438 - 91 0.134546605 -0.457382274 -0.425943527 - 92 0.138053521 -0.411171996 -0.480954632 - 93 0.417376267 -0.116652992 0.181699004 - 94 0.120524351 -0.357225216 -0.559286613 - 95 0.451457534 -0.0600122552 -0.0354732078 - 96 -0.146442431 -0.709764408 0.348643443 - 97 0.128630875 -0.498887238 -0.404784827 - 98 0.433575511 0.0420855371 0.252738563 - 99 -0.163030166 -0.614081539 0.537199725 - 100 0.473012668 0.10000001 0.000113108598 - 101 -0.344560295 -0.753486953 -0.397872419 - 102 0.0844425131 -0.432869973 -0.562398351 - 103 0.0980810985 -0.532156977 -0.433138183 - 104 0.0829462731 -0.486192169 -0.513126121 - 105 0.0983480298 -0.398802175 -0.588999427 - 106 -0.330985601 -0.653639058 -0.579177229 - 107 -0.348317953 -0.673801888 -0.561076895 - 108 0.473042225 -0.0999999574 0.000170817993 - 109 0.494596229 0.0600123027 0.0357646773 - 110 -0.352868828 -0.720611868 -0.5016491 - 111 0.439269952 -0.158862031 0.214776764 - 112 -0.274900805 -0.820446363 -0.248531483 - 113 0.373363863 -0.171734839 0.402989248 - 114 0.373144379 -0.225426014 0.36304961 - 115 0.455395836 0.000355312578 0.286191626 - 116 0.499991881 5.68139203e-05 0.0446730962 - 117 0.494611984 -0.0599314881 0.0357954135 - 118 0.463325751 -0.0570287037 0.278940183 - 119 0.459481525 -0.117946413 0.259850196 - 120 -0.19817499 -0.821240456 0.247007149 - 121 0.384286575 -0.272799195 0.340933614 - 122 -0.28870327 -0.865818588 -0.189273912 - 123 -0.128472371 -0.753644554 0.397883775 - 124 0.393589959 -0.121076401 0.453901555 - 125 -0.142097664 -0.653552425 0.579086719 - 126 -0.268756751 -0.81693285 -0.379841954 - 127 -0.124752422 -0.673742894 0.56108214 - 128 -0.120153443 -0.720430402 0.501746642 - 129 -0.184280607 -0.866033948 0.189059171 - 130 -0.204276682 -0.816838585 0.379430693 - 131 -0.241621748 -0.895542188 -0.132166509 - 132 -0.231335348 -0.89542053 0.131725534 - 133 -0.302836178 -0.899902838 -0.210551459 - 134 0.406372461 -0.317674347 0.371110275 - 135 -0.262206008 -0.920097307 -0.0263224918 - 136 0.415690374 -0.164499826 0.483877335 - 137 -0.210821413 -0.920697436 0.0250368073 - 138 0.426419504 -0.212990334 0.463060801 - 139 0.424443109 -0.275353464 0.429527343 - 140 -0.170196318 -0.900247296 0.210355413 - 141 0.334972742 -0.411280534 0.480912204 - 142 0.338493663 -0.457593356 0.425946866 - 143 0.164101884 -0.688635698 -0.356819666 - 144 0.17314504 -0.650727979 -0.42154059 - 145 -0.283417205 -0.8680931 -0.449027016 - 146 0.353438022 -0.488152288 0.400411104 - 147 0.138673136 -0.729419174 -0.357349791 - 148 -0.311192642 -0.946607623 -0.284209629 - 149 0.163010619 -0.614116175 -0.537409528 - 150 0.35247749 -0.357216518 0.559291629 - 151 -0.302840309 -0.889384979 -0.456454205 - 152 -0.189667257 -0.867892778 0.448916899 - 153 -0.266906185 -0.990705034 0.0208958101 - 154 -0.236140511 -0.964443951 0.222073821 - 155 -0.236924796 -0.964723405 -0.222342918 - 156 -0.31021076 -0.930036797 -0.396189325 - 157 0.128487815 -0.753503113 -0.397846833 - 158 -0.206131501 -0.991011297 -0.021034935 - 159 0.124716888 -0.673801891 -0.560984302 - 160 -0.161866047 -0.946765629 0.284229888 - 161 0.120167395 -0.72059883 -0.501590978 - 162 -0.170251488 -0.889310267 0.456419446 - 163 0.142052542 -0.653643493 -0.579082364 - 164 0.37497559 -0.532309247 0.433255289 - 165 -0.162722433 -0.92948335 0.396684989 - 166 0.374629196 -0.398730009 0.589125558 - 167 0.299856433 -0.651121872 0.421226097 - 168 -0.269557034 -1.04009122 -0.0177181561 - 169 0.388568951 -0.432802991 0.562586621 - 170 0.389355802 -0.492391604 0.509606991 - 171 0.198136704 -0.820421257 -0.248493613 - 172 0.308962894 -0.688820085 0.356752424 - 173 -0.25039504 -1.01710589 -0.257607059 - 174 -0.203426714 -1.04012434 0.0181121216 - 175 -0.222705459 -1.01690784 0.257489987 - 176 0.184331567 -0.865818563 -0.189181356 - 177 0.309990774 -0.614100004 0.537356532 - 178 0.326589871 -0.709767156 0.348732078 - 179 -0.257065464 -1.0609955 -0.207917643 - 180 0.204275823 -0.816938024 -0.379717709 - 181 -0.265516969 -1.07904774 -0.107450925 - 182 -0.215798893 -1.06064012 0.20881164 - 183 0.274855286 -0.821231407 0.247127018 - 184 -0.207593148 -1.07913758 0.10743992 - 185 0.167191199 -0.915681151 -0.221671401 - 186 0.231407908 -0.895542307 -0.132037047 - 187 0.210831929 -0.920062444 -0.0262869274 - 188 0.241692108 -0.895421096 0.131857788 - 189 0.268747136 -0.816847195 0.379569335 - 190 0.288754234 -0.866033951 0.189151765 - 191 0.330916882 -0.653572052 0.579166873 - 192 0.344562759 -0.753655117 0.397960279 - 193 0.189622237 -0.868095684 -0.448922696 - 194 0.161853775 -0.946618482 -0.284169106 - 195 0.262211399 -0.920681391 0.0251523726 - 196 0.348282404 -0.673742979 0.561174716 - 197 0.170194531 -0.889384982 -0.456361612 - 198 0.353466204 -0.722983512 0.490511355 - 199 0.16282617 -0.930025323 -0.396125314 - 200 0.302835637 -0.900246128 0.210435879 - 201 0.206128648 -0.990705017 0.020988352 - 202 0.236113216 -0.964714087 -0.222229423 - 203 0.236885241 -0.964411558 0.222105725 - 204 0.283349894 -0.867897879 0.44896634 - 205 0.266903339 -0.991011301 -0.0209423415 - 206 0.203083676 -1.04701111 -0.0298928952 - 207 0.302783337 -0.889310327 0.456511992 - 208 0.311170489 -0.946772698 0.284294692 - 209 0.2226398 -1.01710589 -0.257514466 - 210 0.314417853 -0.926780626 0.381055841 - 211 0.250329367 -1.01690785 0.257582518 - 212 0.269606095 -1.04012325 0.0181882818 - 213 0.207526808 -1.07905034 -0.107399913 - 214 0.215971109 -1.06098421 -0.207847507 - 215 0.271839979 -1.06232372 0.194937089 - 216 0.265446036 -1.07913868 0.107495949 -End Coordinates - -Elements -1 6 12 16 8 -2 4 10 12 6 -3 12 30 37 16 -4 10 24 30 12 -5 30 59 68 37 -6 24 57 59 30 -7 59 83 101 68 -8 57 82 83 59 -9 83 133 148 101 -10 82 122 133 83 -11 133 168 181 148 -12 122 153 168 133 -13 168 182 184 181 -14 153 175 182 168 -15 182 165 160 184 -16 175 162 165 182 -17 165 128 123 160 -18 162 127 128 165 -19 128 80 77 123 -20 127 79 80 128 -21 80 56 54 77 -22 79 55 56 80 -23 56 40 34 54 -24 55 38 40 56 -25 40 32 31 34 -26 38 29 32 40 -27 2 9 10 4 -28 1 11 9 2 -29 9 23 24 10 -30 11 28 23 9 -31 23 58 57 24 -32 28 60 58 23 -33 58 81 82 57 -34 60 84 81 58 -35 81 112 122 82 -36 84 126 112 81 -37 112 135 153 122 -38 126 131 135 112 -39 135 154 175 153 -40 131 132 154 135 -41 154 152 162 175 -42 132 130 152 154 -43 152 125 127 162 -44 130 99 125 152 -45 125 78 79 127 -46 99 76 78 125 -47 78 53 55 79 -48 76 52 53 78 -49 53 33 38 55 -50 52 27 33 53 -51 33 25 29 38 -52 27 19 25 33 -53 7 15 14 5 -54 8 16 15 7 -55 15 39 36 14 -56 16 37 39 15 -57 39 74 73 36 -58 37 68 74 39 -59 74 110 107 73 -60 68 101 110 74 -61 110 156 151 107 -62 101 148 156 110 -63 156 179 173 151 -64 148 181 179 156 -65 179 174 158 173 -66 181 184 174 179 -67 174 140 129 158 -68 184 160 140 174 -69 140 96 88 129 -70 160 123 96 140 -71 96 75 72 88 -72 123 77 75 96 -73 75 51 50 72 -74 77 54 51 75 -75 51 26 21 50 -76 54 34 26 51 -77 26 22 18 21 -78 34 31 22 26 -79 3 13 11 1 -80 5 14 13 3 -81 13 35 28 11 -82 14 36 35 13 -83 35 71 60 28 -84 36 73 71 35 -85 71 106 84 60 -86 73 107 106 71 -87 106 145 126 84 -88 107 151 145 106 -89 145 155 131 126 -90 151 173 155 145 -91 155 137 132 131 -92 173 158 137 155 -93 137 120 130 132 -94 158 129 120 137 -95 120 85 99 130 -96 129 88 85 120 -97 85 70 76 99 -98 88 72 70 85 -99 70 49 52 76 -100 72 50 49 70 -101 49 20 27 52 -102 50 21 20 49 -103 20 17 19 27 -104 21 18 17 20 -105 32 47 48 31 -106 29 46 47 32 -107 47 67 69 48 -108 46 63 67 47 -109 67 97 103 69 -110 63 91 97 67 -111 97 147 157 103 -112 91 143 147 97 -113 147 185 194 157 -114 143 176 185 147 -115 185 206 213 194 -116 176 201 206 185 -117 206 215 216 213 -118 201 211 215 206 -119 215 210 208 216 -120 211 207 210 215 -121 210 198 192 208 -122 207 196 198 210 -123 198 170 164 192 -124 196 169 170 198 -125 170 139 134 164 -126 169 138 139 170 -127 139 119 111 134 -128 138 118 119 139 -129 119 117 108 111 -130 118 116 117 119 -131 25 44 46 29 -132 19 41 44 25 -133 44 62 63 46 -134 41 61 62 44 -135 62 92 91 63 -136 61 94 92 62 -137 92 144 143 91 -138 94 149 144 92 -139 144 171 176 143 -140 149 180 171 144 -141 171 187 201 176 -142 180 186 187 171 -143 187 203 211 201 -144 186 188 203 187 -145 203 204 207 211 -146 188 189 204 203 -147 204 191 196 207 -148 189 177 191 204 -149 191 166 169 196 -150 177 150 166 191 -151 166 136 138 169 -152 150 124 136 166 -153 136 115 118 138 -154 124 98 115 136 -155 115 109 116 118 -156 98 100 109 115 -157 22 45 43 18 -158 31 48 45 22 -159 45 66 64 43 -160 48 69 66 45 -161 66 104 102 64 -162 69 103 104 66 -163 104 161 159 102 -164 103 157 161 104 -165 161 199 197 159 -166 157 194 199 161 -167 199 214 209 197 -168 194 213 214 199 -169 214 212 205 209 -170 213 216 212 214 -171 212 200 190 205 -172 216 208 200 212 -173 200 178 172 190 -174 208 192 178 200 -175 178 146 142 172 -176 192 164 146 178 -177 146 121 114 142 -178 164 134 121 146 -179 121 93 87 114 -180 134 111 93 121 -181 93 95 89 87 -182 111 108 95 93 -183 17 42 41 19 -184 18 43 42 17 -185 42 65 61 41 -186 43 64 65 42 -187 65 105 94 61 -188 64 102 105 65 -189 105 163 149 94 -190 102 159 163 105 -191 163 193 180 149 -192 159 197 193 163 -193 193 202 186 180 -194 197 209 202 193 -195 202 195 188 186 -196 209 205 195 202 -197 195 183 189 188 -198 205 190 183 195 -199 183 167 177 189 -200 190 172 167 183 -201 167 141 150 177 -202 172 142 141 167 -203 141 113 124 150 -204 142 114 113 141 -205 113 86 98 124 -206 114 87 86 113 -207 86 90 100 98 -208 87 89 90 86 -End Elements diff --git a/kratos.gid/apps/Solid/images/contactStrategy.png b/kratos.gid/apps/Solid/images/contactStrategy.png deleted file mode 100644 index 458ad983791c49707b347d788758d04b3a5a8ea7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 291 zcmeAS@N?(olHy`uVBq!ia0vp^f*{Pn3?z9rZ$AN~BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrH1%nFaWSxc>kD|HVv58 zW*^UriT!Ju8yBrzeelHbYrA%yo4Qej%W2s;7%% zNX4y`eowvw3Ovl4H#`6Se_rfsfWleDAh(UFhk5_MyvyjLc1n(|Gwvpf?JCZO-~UcF z^-fxP*5JjLM+>?|Ru#M7?z9r(GCdFzrgBK}iVS)*Z=?jpE!PPV*i?`@aB&nzdm{V%HBHf+SLbT#nb28 z`+|&g^K@|xskqhC@5#lWz;k5R&OiT;Hmwa>CU?d#Wr6CigFh1VB8~>~DNZ~kYPU({ yn-XW1K_=58k;NiyM~^V^y?#|vSF?*nf+6h!!{x8SH`#$EGI+ZBxvX{( zJaZG%Q-e|yQz{EjrrH1%83g!*xc>kD|HScYhPugR#nYALBcD8e6&2px+_-4|+-)B} ze)aLJxOVkHMr!ZG{xxe?AKbO`^p7iMAPX`)T^vIyZuLxX=R07)!Lm|s$CLm2d+&5i znf#qeN|&4IL6~JLSK3CI3!T-B!k&BuQ=Yh_&MbDmc+>TpP2c90t4ZzGIfgYVAs>J7uV-LpaFAep#QQ|j0%#|Lr>mdKI;Vst E09Ht8kN^Mx diff --git a/kratos.gid/apps/Solid/images/folder.png b/kratos.gid/apps/Solid/images/folder.png deleted file mode 100644 index 86b16d281bfa4759d2dde7f2243d6fe82046f03f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^f*{Pn3?z9rZ$AN~BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrH1%=?3_Oxc>kDUs*o#MXw)e+yrXO_jGX#skl`#!Bgmf0tbua0ao8n|DPXYU0ZP? zX2WeQE`?v*?Wfe2YaC)vf3$Ya;mx6w_N?)14e2s{H{( zJaZG%Q-e|yQz{EjrrH1%B?S0{xc>kDe`5cd_3MuX1-2OKCV%|+b=S_**RDQTyZT^r z<05kEJ2i$||!Ufq7? z#h*FP-`z`HX<7VkRZ_yM4Q(ogGej@smG0Kw-_gObis@C@!ekTW0I9}}?^g3B+<2I_ z;pmOeg4HaEC%6u0C53jz?vk2Yv$E0o%!ATj_c|t6cWjObNcyz2A?aNzkMFl73$j0~ s{@r@kd+(%NvDtfH);gx-{Si%IP+ZF{Ec#l>80dBePgg&ebxsLQ0A_pEa{vGU diff --git a/kratos.gid/apps/Solid/images/lattice_example.png b/kratos.gid/apps/Solid/images/lattice_example.png deleted file mode 100644 index 3ef6589e85eb956001b93ed1df2d179bb042b433..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1387 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
s&tRBA>91Pv9x!p(Ci z8{ZU>Blcf18AAZV@#e%|5=ow;ggG*NlTqJ_57Ieqp;k`?QLFq#;8f9U>Ns2n5TM0V zKpm7Thnj$j!GKrNwFQCK?8`*sONT^ADCK=5#|B{L`W>seI8ZOfSk#O%60FfdH{-Bh znBHB+t!-^nJ4$5sB~_Qcj#$x!KgTR5P1#FHBfryMpLuryCaE@W%1(tL^)7dK3gx^R z%iP3$NA7;_VKEz@D;8102CQx=ed!@=Gp$A!)EFqpWV(o!nzbiL4io#a)w`%c~Y*uef ztyU*eV{Lv+9*b38yKItiNj#4Je?aI0c{b>&Y13s`H7!era)PX!va%allvSzf&O2*i zff{#!4LyB-b$@xdy4$uV{g~O_a!8%Y-5*vJrtGKXE$*r${`5;zdYD9bY9jc$Z0#n$ z3uBKEhvv(v9}sUGfnbQ==s4Nm{~0w~kr9Z+UcxL!w_er`_M+6}$EF1+eTfX{X~ z`U_i9?G80t;`rS@olQH-%|Xm-3MZ2S@)RWB9RNi|?;@~ar-Jh&SxxE0g)hEi;wOIKn}OHT5T{Q+%}(G%e3d9!V|?vEt17R-Dyd)yVSa#v!cnoj1x8*UbrF z!nfX^4`KYZ;VmHtNngxH&(3O#tbgq`H0Zg}s^eW|Jhz$45F{FScbu4cr09j0!O0wf z69PSRAhI}OMdlXBU!5_(y?uel;y*u+a(j0-H4se)BpH9v!vV5BnZ2TiFm{92(i%uI0t;6!Az(zKQO=K`*Rjj2>w3ZYC$mJXs0QbyVL zTk`Ud1&i~}FjyR3#sto~wjSjoSgxo}4Wyf%rVtqt1@ZI?wJA#s7*q8+dtyJV zYPLLy))t6-P0@CmTX^&I=26RzIt)J7#MjGDNnpun<;olR1S)Z>2E8Op)WyYIF)^4! z;GaR~$Y5FZ{@*$vrOdg4D}fi2%y(_9m$l7HX%r9m?LAW7hG8wc8lvlO8NLw3c4@F} zcH|D5>mS;7Qv`1nH1T^)W8!M1TP+u@iBp|gH&y z@L%HFEBpAqVZ7Ys85&JBEekW^TGV)NB1@0t&7>c0V{dKUxmVniRFNG?S*BGcTom zZ!9)S+Y_Rgwn+SJf~Wj07PPI@yLYMg_p3aBEh$rQ^4h*Ie-=Q2m-;9l$wvJ1xU(Go z+hGT4r-8*^vf5+!y-{2ModeNgeckviX&8{MPF}Lh^k==pmp_+bEak7zLHRCqTPC51OcDy;Ajef?HPHftUJi!wR zkZdA44)+@yJKqb%k-jwS%m*q^*ejxsmF%YbP@b@$JB}RvWU>u4_x4Z zNbB+hfwm;kyb05Y9(p#ZQUoLA8<)zJfFv@*ii0ANRCtqbFUx85U=vYAAxNL)W6B5s z_-!+}l~mYh12fVjGAGKGld7t|so3bX4y#HX#;pQ)vYOAKL^ydTb^bh}LTL_v)ooet ze777Huyhag0D+fk3!xD(maWLdhrp+Bx;wJOn3LRM)_=qn4_+G zFt=?!ZeuE?h-FU@wSSK2LX1he6B4n@#E%f28D}Eqa-*{<;II37zcw z0iwrKEBEFwS~cA;4}Bf_!gQ;#Kv6!rnG(6g#o-@QEBKwDNB}IRXbUXV9?zb7U5fOw zy;xRC7>BKdQL(qUnRyHwSU1u2gowDk(4TDiCv+&KAxgky99~=|-ub>3WUl$iO>&RP z3yq~mD1$i~P-V6M<;5{TmDV?|d*@6E?*Y9ND@^C=bg3dS=Z}md#IVq-kiq+gV## z7uS`HSDVHwb4!a+CHyHzAYHoIST#eKZe^a%WMSTVMFyn)j*S3aH9xz!xDEG8)q5cI zC|;Hh$6I`r?fi8s=@pjA!JvbVr@ejumPKTH$hrXhb(Bfv^8!m&lm^y*;Pl{!?u>$f zg&&t9IpMzJ?mb%>-K*`l+t3SgNML>g+K3xQ7qeFex}-i0-Vspmz|8nK_eGU~`=SZ! zVf@|#btS`!SfUxf3`CkqGv_JD^J+3jwm?l@t3@B7auY;3;`X(^h;?8|np99?M6V)x zXO`QFn{1IZlkkM{m9+iw{mDO73jsPSEZ^Vf{WU&V_s?QiuoH5RMyd+;KzE)!ipA1> z(eYyqo$N3&SM~9?j#?R4?-QR$Ubc8#_LmlAhTI(Oubny)@wZkkI%`Y?&Lf*;`rYs} z)9Hfiq7Gq0mlWFCJhcN{p5bcSVaH{i;Fxb(SR#-TQt$ZV6ki@944|kY%fdh$V3ChpO0xZ9I*Xk zC9#*=$j_K>qi3`}E1f4(Pp`jO{v58uwpBPARv~;s{M7#=I49vf*=!>!3a*)yp(!hy z5}LRSdCY_K9yk{xE$^{V`1%G3s%&NL>(vk_>DZWCVad* zQl@GX$@tfi8Li(yH5aP^<2R$ci=iD4M+xfea~C-Q9ST4Lna}n8=e|HkJhs7-oTL|rNzX{ zq@$Fc)HnZPYb673DTMX;ylL4HBW%@?ck<9fwmWp0JVfcX66zWggeDBmG=1E9Ah@du zeAz1y3cQbu-e5PY->q-#%pE$=;;|`F(s0t;wm5vV&Rh%X_=f_kBrP0A1U29|g2;4xArPj~S;h*7I`Hq>en~g}oM<;2;*0}~XHH$Pnl zVL7BRHtcA~KM(xGekBGS`;aQiV-+7^0_bPvD=KXg2=)I1FPCTk1ZZ4(h>5#;sdz9> z5{S_*n}Y}glf{`Z+ETsj#4t0!LB_vE^+Xe&uIKQbx71u0b%lHyb69R^EV$pW(ja63 z0Kc4eS&Ai7e+*w@!m(ddoU;R-h7XNJg925SAXz6!%B%%J zWdizBF~6l(inT!3V#tt<8lk%;Zd&1{2LQ1 zej3VIim_gzP6G$l^n2Vt^-M&ad%{M#6ghb;xV^yxq71A#0Y9SCr}f@cdjGC^+mR?& zaKG5dtuyJH6}_5)bVf0uLioo}kxwpH>;Z$$l1Q3c_rw z(|EN``BBwDbr_Yni$?i*$h(D`SH8Sw2;QyY6&zDx)WKfkVARL^z`dTY?=G{Q+Xl|> z^n3{(t1NpBnr5?k)V4~r2{|bt#5losP4#S|k`JvPah@kcjGoJ&7YCFtj1(cmgDNBQ zZ$+fdKGb#sMdhl}AvH$6=zLh%qtxCPbU)iw-YRv@Sovz5jhnBxUYuD}-K7#Zh1H$i z4#E`ZbuRZDe^do^o78ePFM|qdPMw|(xYr-=&goyHHY)<23NGXDg~2pOorNM%*dLLf zP6^$eKS^sj|1#Z6jUZQDMMP$@HaVycC5lUdBP!I$EcC&B!G0F1W-_~8JeGHEkFpWl zb%51S1|jO2TqQj=Y!_>#nc(0KDM+%SR;D4Wtm~Rf9Ikvt{z^S?ar+nqpzdQz$5Ju8 z_MlC^Bc)O<9&Oz0RE^g_1$`YY%qspafu?m&TC(h2f7 z%!RTCkUlQtxG4#5g{(PVXZ^{Z9J`cKd&WhtGly){&m&G~K-tg;RS2u8ODWd-**1Rk zV4sPq{2M8t=?eIT9XxjpOV8{{3!YPFUSYE-mNI%~e}~czBgJ zZ>}+3_n$qRMACGN;D7UeeXFNUeJ;AO9exKI^2ZF0*t`Kh29=u(rKIU=Hy|vECt&~U zBkBKX{`8x?ytEK3yz%I}v6|FD3!=Muc1qfEt1rZo^b5HM|b(f)_!#a-{cWeg@4X;9`K7A=@Q@b_ldMU9J`a zmhmtic4QhBCP`B@!(Y{whbwh7u&jc<$GUUNmrUp`xZw4ET=#N!^K$JGQ#}bnKU>7h z#nvC_;sOb!^h3F$pVf6chmT|%m27Qo#qzq1?o%UP0+`$MFvbbytWt^1EgEwNY(gUHnimrEfXK@)jYPTeEQFsaG(-tEVC|BC(<#`cdF z9fGk2Lfi6=u97vC$ixP*;WkG$$Qw{}lqaHPP|+5zTIx zjeRS_VtrFd9w_5{P1yF#(cAqhE6VYN(E(Of#3YICUumm%hMokoZw-%_O#6szBY*ok zQu>4Ohmec)dFCfbLt=0k?I2zdM;f9n@)};6JIqvc=PvP(i#VjEPNYQTG9SUSVgOXrrO{fB9ggXqTU6!aZ`ZNIgTTPM%EWtE|P2 z;~?^x?}uK^CmKGCGn$i(JyN~B!mG~cLay(eN9F8_5^_nKhZjrfkT&vVbJyKBs|AWn zBKqcZTQXa#TmDno3VbvV9o z_W87;_CC^mXZ}FXYw+b1$-5p?nj`$HuX+>glX-U6lNQKN6Yxwb|8d&)zAW>~ruV^~;_@OY>m7^M z#{l(Jyt3O;lo^cso{wZBAO-U<&w#!#SN&NQW;pSe=Mzi;n?co8xqKxYjEfHpFJE6v zdkci1P&%`8OkB(5$c|z;hc1?w-o}gK@Qhln zcAY=ht$pnSC0Z+lzi0A$Lu?(9qOuPJ;~606VXCu)z+R=ezh3wp|k_ghv3 z(`yW|!b`e(9!nrz$~YdV6=Q1pp!WgCxch_MkZmC&>A9x286;x&-m_j`8!^C^hK$L- zMf>|3Es?cJ2H!Q!%U)Q7C0}sHp3kOoGNZ{w{HKxg=e5LHJFNVq5Sv4!Q^ZUurspuH zA~~SII7?3)N=3@DsYIv6tN0I|P;{*S2CM5YYz+>M)aZXMfSdO0I|_t1A#G1CKPz4h z9>Tw!!V4;T7<_KErxow_))%{^*wU|G2)94&%X{;{iynl$#K7&BCh>-sfJCJVP1V!% zfsWdcwqWASeM$A5kr4g0*+JhW+G1GU7D zO7Q|l{DY_sdeZVuR)rn_FC$?Im61( zR!8-bV}pOdbDD;%((n9BcL_u$;=i-bi&|A1Q*AaMY&owABX|%h_^ASCaM=Oa>3ALsumvL&S-kcbv>f!p_pjoGnq~G$&@X!?v zEDCf`yp>b;Mp?w^*7>3u{g_MH|JQqL{6HJ1fCHZ+%)|;-$J!rq(bE} zDI#wtj1}rmY!GxCN8GCIsw|c^zDg4^kgD*o85XjBs26m0u5h+-s6^?381fX*+qYQn zU}~?9Uw$e7J-EoHc`*v_)8~FpQK<*|vipCpH`Fw4Z&0v}2AuSC`zK}8FIvMt(RFeU zL-3W9<}}d^p+5{Yq?TtRm6!?)fvRv#NOz&9N7FqTO7<{Y_Hbs1W=(HFx4uo22qL0F z`b?8-^-cEfUyxZxac9p!_Im%zylmdm#Xkqi38CO)9wYxt-0)W!0%nOob|Ny3qt(_a zOHP3_hEefmbU*o+PGbqDJ1aE)q+C_J;cEkV!_L`1p5M+O_YVu1xSu?+$uZM0S6j{J zg)GR4?u*GV9H>)3xo_4h_;zL8QGZzcyM?!zEbF>2^&j zA*-O+6Y{>DH!8Y)*K;-=>Ca`R>s{OZ>4k5#J}} zD*;g=iUmh2L z;(sJ}#M7+dwCZ;DNeiM*oDJMc^s%}$M^|H}qnig^4S8P&$w`Po@5=_I7!tP_KL*lM5(OnBItJyQ zjh74RtFMbt32)cOW~SwKnS{dEaB2xktwXJHZB1aikX@UQoq%bSEJ(5^s=r_WZUn!R z?t^q{U@fAUGy-pw4zD3M{55P1WjcaYM^Qc6dgYq&YG*+9Ddz8*8=0U))VqZsy@=vQ z9wkH(?Z=RjIl$ClIh|y^KG-&08FnPl+4dh_Ru;;#iZ_LToM5@_a_YnV-HAycYOmWh z*RrQ$Y&YgvJBV^bdJyY*6Q0X2x&8Cy@V4{oJeK*r^F;$t^n!PRMNvmS5ealq=EfbMyj=N>>aoXx`%hR-eGd|r3gu=(GaQ8oi zM5kj+D68a>Bibz9bFEbkwbEvosGd(#?^mW6?cZTn`3*~X2RvmG_D0)?o{|9UkN?X; zPEN#3Mu9!@&i3znUGS;Qd7NyS^Ci+E;o}i;5hYA{rH-(PojrIPY|-?lsBw6D+pAfo z*c=xX0$vJ_J4>@v(hb4dVTh#YI-)1P$W>qN!UiB<{w89QxT-e|B-mxFY!pVn3{4*B z^Mg+3{+g23+%vkUcHErS!$1Zw(4tEF?bklGzA^ddud4VO)fu*4i}57H!UumRd}rTL zI+fq&P7#k4rD$&6!cIe({*5ia7|rusaoIrR@MTMYe*Wdb)lWb_5iYnDOxbO-3+yAI z8X1gw#z_(LuC2t99Ulz8<@smE3DR zp&D6PtkR7~ak}%vu;0fRhdCdj=i1r!OT3S@5xynV+edxJ-&^zhAYp#0%(1Uiy408$t~mNam;Be>V|(o86?9qMcX-? z=|?|FX<}s<7eo(__%3SSxzKejmE??Qg?jyf{5``@D<3ExayF~V#%QR+4 zX6!kB7YKT=+DLz;7(RqYx$3+e&M#~&2s>Ni@hcN(QXu4 z8rD904r^#%yN!U`G2hb~KT2xVTe%B*THJp-fQJ4rebO-4MznzReaw?`-bGE8YQ@3% z!~!07wXQ=hz5aSNbke#B-Qgka9hK1Ie96c1yAE=KRZX;sf$}hj5RQ$lQVXvXPlpe= z*m&bkRUBnMCNkyLx%1=s+UzqGglx(erW?ZC>p$q_S`pFNAnn33Pb>62u1*%&Z%VBS zPkUWun?fzEQ-RehZ}8Y(W608B0_EQdw|v+1Z*Li=h9)WniBIq`bP4j9@>Ss}dgCmg zh{@^dW+J=Q@pF2{!7Ez;=|ZYfd_$(MJKy?ZlXkGG%-2@zj) z5r+xg0ZIqI*2a4Z-SEbGjl{r5Ym*z;In_5UBQv{~miljGF#fvx@w%P(yC;!{a(n`k z?pn1=oSSHe-zI2GgN$UkKxM7A&pTVIDU7M)ou}WVRU(ga&E%Ihr&Uj9%qS_Y8i~li zNS2M=;Jp}~x=x#mgO(k(<$ue~(ne#{r#-;=Gf+zZ0@ZXII;R(ixFz#WD zlgyXwN8+KkbfTOzybuo)pHqm$iN;>6{dS>E_G}{rtvO1;3+m;1f*{7+u$aA!7yErc zzh5&J`?8bS1nC{6s;0|$4B8oSQLY2EukaFfQRk{$dLDhSRtusIo!o#Eh4+aPhGqKL zY^xW&Z`?5+by%}7K=n$EfM&nREH09h4sU5{8uS&WKgqZ2O*OOA2+!1Li-wEnW}Qg+ zs=WmwIFN`9$K%Qz?okIsHA@H>KB{6OxN|BGR!qh_~2 zGlhLfafEmB#nQOwwvW}+3fdjS;N&V4Ti5fKHE?lrC-HSBbNdV<@V89FU&`T?Zj!@V z!M^s)N(fv-f_pNyY9wBL*V( z`afWT)IaAf+2-YGThB(_{?ecu(^9`Fw2|5wv}MnFf+=S`eYa#gP9AsW0r zl&91}@8y$lcqqUGU0Pk`a+>1g^qGUBv^z_S2U_>_q}e7wJDa^jQAA`wfLs0{%&cx6 zW$*H6ti*Th?C$#PV{eH!^m@_8#7Y1+(C?U1oMkyGuH zJNh;Mr{(%uwKhh<2dqZ1XCl9?V$T?QBqn^uOzgxBJj|){$fJn${tb>+;qCzp z4ZLX7bE9VRC{o9PDQ>N(&b3C5F(_qRKfpY;qdzXGKR&6EEQc?nWu;KYlUHbQ#y)mE z2?r-(#(ATK^fA|_{!GQG70TjvqY96DozI8|Mrd2-Qsf0BD`G?vxh zJ4DP~m$<57252e?XMS@4tM0jIe&R_;=@|C3dVSJ4Q}jf2tgQ+de$M$v>p*)R&0#%CDKu zoMVyjYtWmwG{@0Mi>Qo3>1O-6;45rxV>6=Mzq+wu9TL(@VYg&d1Y%PkJ-?3Yas@Y&dClQokL1wQXyH~%Q;Cw#fgOPlUs9TJrr zO`PGkWwJNcEyAZW8PtAn)69rA>cLiEG;J92*N52O%P^Oi^33o4vx_@MOu#9<2J!8t zvnn}vi_@R9_x<6`Sqjg_NE@U7PK6=FiGSgYb-WfB9FY7J&&x3KaS0iSf9kCOooQP4 zeUe3REWo}C0~rA{b0Mw<8-6m1DuLINYm>pp*FQnI)jV;BRorVI8nue$9UEiuDyTvG z4$neNkoMw`uRbsTa{TVk_N}#2)lLBBen&p_C4zp;nyh(Ldo?gXv0@rhq#z8TwcUyQ zTAm*99zChOu*LeF)1-C?JXPtr23vKti*7U#7P2*2Ehzpf8$Qe7>=@p(jtZe8Sbj~b zYlzVrb}aUf^yj^gi8R65rkl3jQre-XwKbC=D-!2Wk(2&+mi;P=#I28?t_c#H&+F|? z+qkWWzns;3hcdjaaS02#moVn#NyC*vHsqtwcR{z2`Nw3l7B*sr|tv9@x}>otnb-eZ^R?k*}m5~ zOvYRcX;q||nk0gbok+$@-e!NkRxX`(+5F0nB%i?R4mq1!wwPA7y(*wp@NbdXV9^c4z zVf+Vd>aHg_LL+1SmkV@9nAutB??wib- zx2vn^+0X0`2YOZIhr{q?28@fdJ%sH+%Z+=2@E~DmSpfCm{eEUy(gz=PRBHM#v&%pF z8OijFna(0#pdp*b9hXBYPlNH4`{hDn6JviEtuN=lt97c5wsY;wD%I|BWQrs(n7Hv6 znurtz^A;o@64!qEL4PGY;zgG6gHD}{cq~DlKjLSqVZna0oysw1D2d6hsh@1P&dqhW zE^Su|#z5u{^od+gxPtzUYb@!gM139EmD=@;8r&{wY)ebpryA{45YFHT%|lmbQ$%74 z1j_K`Gsem)&Z_k}`XDR)9e>P-E4FL6oL#fC56r93zk! zPnO~n((iQMrte8YfJf$0MF?3YV13gVwEqPcBEXhcFGa=>sWD2*6N&IVz|JLH7j4$g-pLMyB#v z{*<*1eK~L0${$a~>~f5UDYXOP5oe?}1&U^XR*fV*!SCInZiuFBI5mp<$BU3t!{ji` z`2jzTT52o>#F5TtN3A;hO|wFkiv+WhY0AE%*bzr=jYaE`fKNc(J-Y0UxX^-l=yDdm4y3C+M zxayxL?!qFa2SE%P1QPI-Mtsm79s`_$dF+*DFGKYuf`Kt7l*T^mVmk}godJZHv40Mz zLqOR{c_K%(B9aO}4f)$0^{yMD{+NGr!0IZscwfxV0`%g|Ri8MAnq{D~{NaRu3fYsK zYqkZLi1LIFrzi!}aWu71+8mA60=VE^ZRyymV#76p&V0 zyc7PN_&d(&N~5$QtJ$RQE!Kj0?tkYQ9Ve_8q9f@xP!Or5AYT|W0;X9fIHCJ3EluN% zMBG`uS_eadvL)*4O%*IZ6Ko9P$Vbco*t3@L&QlP7Y5+|>>BZemL?gvnlW2z~0*ON_ z(4q0Wyu@lr`Vh&FD$cP=mR6jo#^n^y_|&rbpHsUnU{FI~#)*#_F@xqq{o7Te9%kWQ z46b(=qFKs%H9FS68+MoU7I7m7lZhLbfBoUvQTNO?6o~ljB?85G%ABLSLF(dR;&rem zc8{>{I@U2yx7;{oHXE*qCas!ig;9^o?1>C)#LBeA`2ph-o(u(Di#94*%Ji}+OwI-= z$LJ(AZm@l^$^Fbhk-Mkbjs@j;lJJ?N;9j|{f(|Unq{(E!0vB0Meu!Ia=gx9d$GkIw z$S}r%SBUrxb$7_P_)K;Z=Xt)Ur1yar!MjLSzLNm?$}c79v&JfpRk2>Qo@MVQgNmkV zp5Ou)8?tu1+CwC6TCJBo)Hh~n{woO>l8`M)zGQKq(hQjQ?cF>i_F4BWl6Zc$eZDC_ zqKzx$vD8;w+|Oq!PqS>j#_Lu^%xFjg~- zBv};giNgB})$1*!=T6ZosB#zVhb=idP*l#Sa9QhIP2Ft=*!LPI*n~>Kxc#j-$yXZ@ z^Z2UDf2n41K%{Kq;<0A4@@TFP#|1twtw$e3U!Y9X5XGUm6Wl2hJQQ~gZo!JXyBBvT?yki>xND(>0tJe@m*P;0!^`^-a?W=W z&Sv)R%)PUBV%1gUvCzrT;o#t~zzQ;&uy@P~t6u=&lddli~O1n5YSvh;cNxNH_d0JW0_}F>c(#V5V z)OAC#N#NjU;J`AH+PDwPiSC*a5a} zd*S)>R(HFOff6<`e ze5?}9Sl>hCB>`?+`@Hr0UhU4>rdJ%7%6?8|_zsPasj0DVGcW^WTCE&=c5gW6Rw!k0 zsH9p31qHdgYdRD#fGg+UjktoyRMgat{5CJ{Dl03;_uO(T>UG!>E!Nt}6XZJ9*yBp) zkGJKOGJ&zB%$OrIXiy-p$~+XPLINp5H-R=}^rU%Ku4dXuS zb|#e7&-4;1fC6#0eBpaen@N^{3UM*8f2X3Q7(0_#$~@z-btia)>ygUfS17$Hg*FLw zT+7tVv^o|@bXv30KlF13$YokVAb2TuxeX_e{Y6JzR{9Mm-3_0Yu8!KB2vW=d`8UAH z;zJ0;ZTf23N`iy_vd%Y^vWL23jWp-TirjSQVIr3{_>%0fRyJ#K5yf!HVU zyZ4^@7gxQE=0T(uQ`Yk!m3ffhkzMYGyeTfs7NA3$K}$=^3C`=ExpJjgo!-u-80HyR zB(6oM6Xfze#@$jG+$f@B`>%0!mr;^RZ+&gr2N;M%&Q zWny8(Q&Caj%bPNorOBm1+ZBjHa$1XWVTmgRP6{N})`am%>?zM?h5=1+`4-i zGNp;I{g4MvO}C0Y3D?*YaXkg6j=JSnRHySyLP099C|l{@6By>5bjxb|n4Wf@7CgGY zDP^7mMXDV5i3tmTzO!pHD4Rul)XO|DC)pYd4o5-xy& zZDglu)>c_r`Nz~$PQ~$4kdtlx4HWpfG^AQO_kNoTb9}GaE>~7#5a9L|oEkrFk?lb- zu0dFCXF$#5Of-ZonK(ZUicgaLJY7HJF;44|ByA2>VEV z$BVD233Ix83e5gt3z9+_^!jDYl4!wFZkG$&BfL`PFpnW|TI5M+?i5qHxw$#Q)uh*k z$P8@nV4;3LakCDZk}HER8+jSo+%QUFj{B01R&1sJ*e_0j9c%0Ej-U9>JG@u}l3|sj zsYoFb|E{Er8C{^X550E5erQjTMRZ2G^W6xp<_z=)7v>BszW7oS==~RaErDAkQb>}x zNbrVK#t{&M%*annbTc<$G!mFYMOjwIe#V(rzG~S3DJnzbR0dZG^>PMqTV zq~J6qEF2_&Ax|(-i!k!y=_iXGTR@r_pc6~Lkr^#ascbf6hK>#{QDnw}US+;@>0~Dg z@7QTg?x!P&ObX3b2t@d;Z0Tg^CBy37Jfd7^$8e=yCeip63>r2eNIM@tmnLgIhHg2w z8`Lv#(4&P3k)hKLGlMV@xl3kkPa%3EJGje8!I-3b?=U4D5|qYIU=Qd<0ufr^;A!CQ zo?e0mILqTpzkyVKvpl;|j5qy;0`V;2!y<59b7iy%kyVjtaSRRxRB@5OsmtvNT0`tC z<(MNOi#-i_RylhD333)(zxl}$s;gN#rFv20Z8(#p78Dj@hlRvEzKA6g_6l$y7D}QYKZzOk<01r6x_o|rDN}evtC(9s z8^Ih`ItCIT0@wkf{0jF1|9o1nZG!DY?4_cFv_v>K)wi%iID2qI2U6Zvn423mB%FvS zj(*P?VGAO2m4kB|H1A{!z?EX<;tI2)7;oE=$dyu{jlf0t#tg=niw7{;m4bQ4aJ{ic zLY&6jFllPqUit!JsZv+^2`7%=T+9u;T;HMdJv`De2YEl*CHGA6|D{Q%wcz;9rCHwE zZ7HU@wuTw;NhovN<4gY{89#kF41o{`ttmXb6eyniH_0G-GWIlL`;QjKe5;UA1=G(^ z&=*gN$`!{Cc`ATYSk0e+YS);@zoW$(`2ofJqeUoaLBYyd4va%!R(2?`@zc-jGv>5K zs?jzh>~3h`M8%P@S@Xt4>c6P8Lx&9Sj5rLAPCz5fhV4&{aK_!X+cPxL5~a|dnb8m! z)(TWn!BKX(<(gq0`)=({{CO%!(AD{lwX<24P|CVz{B(7`<0k^awTn86s z8MApjeAelDR|{~`yQjX53L6z8sF=Bw`2!|mEViegy*;|1_%H_ELtzp{?TX_$L{CCA zEiJ9WZrE?FJ>i5{iU!0r28WUI6SjAEI3$R92q6(kGV#$lgN#Ez{rimdiDC7L*>SwO zPnl5G!^1W=rQ3c*FtXq>g}Y{2Ni za*%Q-S^X~T^Spq#(`PT9RaFxcYb}c<7tgAzF3(G6eKjW6^E~QHf&F?L$7ZtOOVldE zl2MUk26$5ZV%ADPK+u1IcuRK{0S@ye!$j3on7P^Zghz-gb!^W?bAm%vx7bE3Pq!nJ z07#)3LFTwzNAxpk@!-{w23cUJ^bw%Y$=EfN(NG>u4q_{>QDlQ4;O@L&jSPB)_5Hbf zx@h0@Si7bsH^??1m5Hx{6WP^!xx zvtNqf)FI1!5EsXhp9G|7lFjYsOGZ1`;Lz9C)U2IJReZ}#*W9~W=3%FmCH&fO0tW#^ z;mNvXmJjaAMEp*vsNNIc0*6#EfFrl{Gr=tOiZh^uhX)uXszFkQ`+%@?<8ad^e|IwoxzK#ra%&fDeWj_Zz>W9^!-qJl!;{gHQZ^6e7GELp?Zyu9S+>IT>+XhtkZR?g;3wSo|TH1Be!HyH5 z3Oi3BO4kG~iSl&n`@}tg28)jvNPayVh5100`P8WWjmQ=^BOiZ%GCM68=^`Gn-vzze z-;s+P%E$Lwq2kQR5ZK84$Z(vE`W|hrs9Hs5)=}7sdUqSJlys=M<{rWFL8SlcZ&o25 z5_~#Y?;tFIhiGcJQ6Hx=?XnAxNTW1bit+FmAeG2mn&WQ7oW_{`RcmLvnZ@$@nW0Kj z>2>rd=~j|Aq-<@|E%`AD1Xaiq&s>;k43QIvqv47=ibFOFzuH;ZpmCBeC*RpU>>rAC zGeq7`>n~*V72SJ~PYzif+wR*ZUG;#{lp9Tt%@oVKZqpaYr<8_x>(dxgq&SRweUsvr zFe2JaZKL2B5XRpzs-=F>R#f~h;6s7hi>^T3OP?xfs$uCA-yAd`PL_lvEoT;SN0|@> zDVMCLWnuz{eVV?ec&7e^6rkU-a*Fd9{#wjoPs59PjN%$`&r5+lFLFQ-p6ByA-;64* zDrv0qix5aj+Ja-S=FH{oNR<lW@%Q54#J#xb=dzon zmk-@S>ztcOX{OpN7Uw>TS{*S{IA7?wtqBatooB5GSt?lhw7;gaBpFNjTi(s_s3Zk` zXPqWS2blpDy;}O_CN5Xno#=1iyiqIoF%f~b8icMt3_C#LTq37z{-v$*#31DbFMjf+48A|Nx8`CstQTOBP1k5sNrR*` zcveIXt+=a*93^S@?%EXiRy245qR{ARca=6DCWbsjI1Z>=Ppin1Cja;%NXP%?L{e5u~uY2;STM2b4pHJPPbX#STTS30zUKf;qx}3nkxVcJ0tp>0gyE(p^rkM^y zo2jN#(t5P@j|xSX)1tuVl~8IzSq%@p&Mnv>W=7dJ1Vq(n_Wy%%Zjxahn6w3qH(ME) z5e{o@!;ivs)N3PORHc()q7-|Qa2n@Z=>sB*F?R?uGzSOOaYwjBwpx@YZ+d|w=+Ng@(Mc->Ze{E%vqQ6~XZaS|b-+>IW+mx@q zT^FROj#=-Vk4c)y+Jqu?(UI-x@{<@QT!=QyB$NRR1KU4VV6wNwpL~xsXt|kf{jJo) zk|)KuTfQbyrzkCw0^c?dp{xY0K!X+`GX0^ybJ^^2vju7$09o5qVXZxID?0Q5zHVn)j{9aq6%DW&goR6;PsjYqm3C!P zzga5R3~eVPsy!}0i96<)iybGRjJ!YmP~`b7mZb23i8(zTUl|e594ISIhz671QW0j^ zR@Hl*XqN^K)1>*x6oN+-qLkauaEn7nxBjBNJQUa(Uqh9Ldgz`yfJ%z7Lb688vAf@z zDXZ9PYVlI?qIfNM>sj+lRF zXXO;uc!H5rhO)s7dW8l4_iO_%DK5aAWlk_Y*PYi627?ur%pd4a<48z{EQ6gUi`7HF zodK9f7m@*!kY;qXa9IfPh^#~scmdURxrHY~fE^^*v4+XN0wRI_27wT~zk$?9X;!)Q z-sBnpT8i?D%EAEOrsLGiP2AR+QaYm)dNAW6zl;5|r&j)z;I)2ro)K+FmdCr}i4V^s zMqLZjN9EQiDVF+v6GJuuPcJ6!okm&mc$VswRZo(pQN`>Df$AU_CvdHmiWxEuaje*I z9+_Mmi?4ZiPipB((}jC$xFpMl@rT>1+hXnC{{FtJfDATL7V4C|6zWl=xFll~AY~%R zmJyjc1feXK4y>+VRQK!G2|H!in_b?{xh~+$M#E|zZ@EB!m(!gG9v4xRe zIfb}U_zG*O{~|bkxY=nf(~4KFN@>A~K!VrQEw*ab7H<5E(uP~Es?dPx9JQ&xLEf(Z zWV5WB4Pi0DL^=bAStgLEP8v?S3oTx|RQb&-L8+`@_fdyX7Oh%?5DO(d)8($nAW!^0 zrQAG9S(6^0n3Q-+tlhbHrt4&9*`*?ZMeuM_6`yy3W{!2flun7Ty<_+1-$B{0KSs2P zyr&oQZ`)mZ-&zz|%4;{2LS1`&OVfvgOW->X10U*onYRmjBj=16%Hbsk9|xNglO@PlRnwg0^2ku3E)5F0e8}@N_U!TKzi{KIsX-5*R@YIqyPQxh-1IvM zcDTDJu&+twZ2(ySDYC`4c3*#Y92l-Us9r0tiXMtI&cQQQSL9>PVRI_`tPDM?xTJT8 zr~a)z_#k#&G4OiA|4fR{L&1xV0pp8b755QgeLZF6!Qi2`Bsu!OXQzBAa(q9aXCN4y zT|l`ZgnWY0PpD78h$g4nni}ht6upnC$1Q=RL;Yn?;Xln3noxGvr4a1+NSDhjfAW8{X_d=2$;S zsT!Rl+=JtbtI^U;uOiEspfS=PZk2hr4V_vDAu=-q-2_xbHI+fda0c05LYd_=emO58 zPiWya-Gz5gyTzpTn44jG{?Lz=~y_ zcs6>M*1B~sYgxgW)KJzjnRjloA2h*-KHUPu8A018 z@tq7BNV4BEFyt6{25Q z9ad~JMnCZg;iE&3MTf=&?6Q+-pM_)Bi@oZ2AJLCcZ_fC{i@B|=y}eRqm58Ye(`-|< z{#b}HOF9n@aUzU23;ZTW{Nv!Ol9?Ok-}r0RbmABdwAnN7Q1a-Wa}&j5e=3_gnA${( zE0u7=w27GyKcb_9WJ)R0`TyDMCy9;I zSE(Iro0*!T4cPJ8ue7BNDUxJf%d%EcR{quJ%$zmMws32|9&BTdKuuq+t>L$JBiRavl)HQodyRZB5kGJ{GTD5Y z<}V5)&dq{fl=xSsR@@)?X#Ud|DlGK%!W0G0rdQtlo=&Vb6Xg1#%GtMPRkV!jwrpxC zxcVvbDQ|#1S)D~Cmzj3+AmDRh|47hy>Rp}S4yVwW_lNU@qM(5D`646e&a13S`Q3X+ zYNjQ#`H#*r+dzkp+^pTk;hhX-?Gtv~(k=AmPq|Stv>IS+jWlK&%IwI4z8ie6Rr|-2 z;6F|)+)fWB&piYFFLt%CUNdpoJW}MVC@ZKnuSrw`lzyj92 zQ`rFHANkEXewdvIldES){8;auDlZ=RCyF!c?b3Bme@RPLW+Y5cGCgg&dgA+JRYpo; z^)g2i)khaY(5$az(Djg~f8{Pq4!3?7W}0QR_y&3d`FE4ZvO$hc`5(0BAgzwyEuD?F z5+J%b1?_!2zL?xEj!LTC!T(gfe}_JZKYM_9#RgrBZ<_}K5B?Cm@zM*Rg~5u9AxD_k z25YFENi_1a*y?@|XX!>HvVNGmO7J>EmFz20W)-QwhDYqq!3qn3gfX>5_pikSf416ovR`egToJCmiY zKVYn1=)g%uShdg+xbSB{=%O`9z=OY>I3HeZ$*FHY6ZNNy`JE-~{7C&cvqxX{Rq!~~ zy);x(T8=|QHXZkCz5-r3A$J^u#`o;+9XY2R)y4;?oF9+Xvb)jKa=OfwYX97nxKz{7 zT!WEYH%v)M+ouotZb``8j$S?*Glow*sPf`0tw^%&E?>;GZ2s-Iix|XL>9Qc>PV?$E( zlpFlC+(Wq(`Kcf~dzq4WL278FOux0E>%Kopky4J7##RJA3*)Lp{gPTm4`5w@SjxT8 ze&$tn5y*cp^HYII$vwN!>Wd%?ojIsl0e=cFC!Z;xMhdL9=FhvNma<&(S)ei%$xTJb z;s86^pVRHV!6MY=z%rAJ?mPP*rBxjb=7@cB36UCQES#^a+Ff$i%farUZmTQDtJFvQ zZ+aw$PaOVdHsZd5dZtZ6$=ZOZ-?=hnpg8&|>y~qNn;xoSX&StJr$O^i5>29iOgZNO zbYH4U!jHOS{*M0E-AbWm&l^dh3!eq03{{zeMid~Ud~Kk2MJO5D1J}KuYr{cQEtQq(~y23D~WN88?5?dXzi#o;P+L9V`Vh z`u~2ngx>J*tLN?SZR7e#-(qIidoF5`P>e>>NTES9Yb2paH?njzjeud7McLcHjNzXo zunSka9GSlvQ*XX^bEvxZ6>L+aRx&s7=B0jg6<{=X!w=mpx4$|jXV(SFpgb|$sXcv- zO!zYK3V7UfY0UKIM0T2pnXeU^^8r#-4`J@n@2&l`$+{e~+bgrQ-w!BZJ{~8S#8UgU z^DaDGEs6C%MnL$?nx5dLO-!TOC>gxf_I!%Qjf!f8TiXx4Ly8zAra{)tB1BK&T8 zT16=TWg8TbYv9N}QAyYafW(9Bz?Kg7cIIJHv>k>Us{tcbgvfga1m!&unn|@EW%AK3 z@(74zNK@#tx{iBbeu4G>y#P9?KSyJ}ZOf&hZa_JGyJV=fa|ph^tDWBtaM-&T8+g+1 zZu@kq!PfBBF;HadkM?GzU-}h0ABTs%-V3V`o}SAuEK`>&;4N6bY_>G)+ogG{dto>b z^;ft3EALfkPDTsfl9+`Q0k@_M9zCP2ot5Z=)!X;As0mm_kh3H>kYP;Oyj5#Ic{s;k z7d>XJR<2z?s#lL*TUOOgs8u1l5MMZZ*G@0=@};ctbypsHJs1xc_Yr;j7wooqV~{@L zx2F)F*s$r57!v$rk9FY5qJ9K2oHE?6K6@P_Ja>x9rL!X5AUo)mM`DHI&o8Fzax$X= z8nUIS!ULotZdz3Z6fWOdhGSb7yrTr7yYO{pbD!5y#ZI5aia(0rbd zZ#ksd`7w84eEoh(EjQ|Upr}~>%}LMZbA$JcBpREK)KmWAgFz+^20D^Hk<}L)(vPKJ1CiJAx1L7p zjI`m=?bJ&-F}(L57JvO@=rrTW(IW)wSQFNYlquRl@M?`a1Ed{{pvylPF^o25)VfF{fo z7s(AjOSY>K#qftr3DIk)W15!jSC)NC2YeYbS;TOrqqFz@gBDZ}6iLx5;xGk#!T2z# zkBU^kVA6bY`q}Qp=j8qQ?O5rmKI9|$IkupxT-?9?*q9V+!O2I*o+Z`Wr`JQ3w_BGj z=+A;HDa#n&jwez2wMIcTPoq=X^bI2{3Grq4v1L;(2^S1K^fA3yXPkM~&+aA`1HWBT zG=)DDKV(m!5UX*tXU3IcGSJ^vlt8DG>hZ1Vr z(yBy z|D4$PUxMO0yrdt)!QIu?+Cy<90^6lRrmJsDK8D_hlWOZ-9+ggOu*Sx==C+S|9{LC_ zGM+YE$`%~sAd@--rA9)a#fdys3MD+WdZXnxvSu>3sYX+^8~%}gf8$Dl|MD_dJdgx3 zM5;B)vI}ar6>{@_ErPaQrxG)i$Lfy8WHY7N^#@z5=yDERFTC%|kGb}Jmh>oQdQC4y z1+{3tR?$ATGlLIvGK8ByCd%iYwI{GvmL-1lzMf1R4OlwQA)CgD(|RgceWKf2+2|@J zhTJW_{m~up-ws9nnLHwh>J=^|xJgW=?c)7zPGB!3`bH^W|rt<_rOO_bX|Qb72Jnh z%V{dc4>QOqDZ0W~SJ}+LjfMh{jB4{c%m!kt$F$^^7c-gFaPn_Z%;V^E_r0+Mlh^Ak zqb1SHLByR~ZnAjG9#x0rJ3`rJ@3YltD*vjD^L)=aFb&>6BCJ>ibg;}gKwcz!-Gz%b z!koBT@BG;>16{UT4&3^aK`u4pG`?)c_lSH`N@g}$?DC?|fkf?uG&y8q|8o~dh+szkl-`(=R z$cp_PYja^j9sIbuyEU=3Vo4$s7K@!HA}buGC;Q{qshbmyWwgR_7eds*D4_9|r^Tx2 z*m(n)bIB$alEqM{g=2;DUx_7Gqbuw9jljE&CF4(LHIUkd&Rukx>mApa36;J@<~S+O zg(JV9m)oVrj~(anywkp?SL2u?F~dz;7ZCRR1YXBSZdXe_>e4 zKT9Q~AAZKwsu6O0%fOj=^V~RmyNU1_a?WPBAhBhs5vczB9ePCt$9v-~=4*F#eg z%cA4Np75Y)N0+BSK=cLqsF#;J^xCOl{8zlDldabt3IhKw{Uy>mv2Ex70N8q5>_`;) zQ^nTMiNK8M@yWNAOlZ_C%++lKi+|nksG#xF%SlxD&id*4LIeK8r44T1yh_iST~@KECy~9O+$YFm&6fxT)`X@#$^9 zj#K20_r+FDx_%^%QKkJ_#>slrU0;zDQcaeYER$bV%If2IQDr3`E;Z;)MvLT+4r@P0 zu{0&3s=_QdB??rsX8NnXjB#}Jw-qXRL6_mw6hZepM+H7q>l8u;S4h=->614iW5379 zU3y>I*Hpz{{<>0Z!hQwpBb!&_)JcUkqQrF9;z%ybTIz&f->W?W80GYv?3ukx*f_jz z#s`i}F{Kq#47zqp&XcO**#s-JCWOVicG3Unfs{bM{N-h5+OkDrPazE0RqY1Kf};!? zvX<)Q#9e8qoPO_I;Xe4I^>0s`#aHnae`1NF8}wu;PnWCKHUbC!sjlq5>${-z+fT_d z33`ATzPQic6;gc>WF0akoCCdV-o4)4E}6VR)6~xIo*b4MM33@4{$KxU_uWBDa#)#K z4{%asQr!Qiyg2V0PL8AIKpkl9YuhuGaf%MZ9H?%Yf|M}wQssj7>nlLjLS%pTmBAS_jH5P)Y zXEtcW6SAQJVTrWT!x6jR&d@dPGXEMk$vM!wV1Mi12a`IpJli1xiFin}X||&A8^F)M~o#%J)O*;1~35asIA{ z_woe|b|qTbcx=~UYXPvUTW<-2(qK~DO6%&M90gV@V+rH~ueXiVoxr@wYCOcq^8xLu->EHIOfq@gB!u5al z=xpsdf{)eD(RYOHL#=b^xR7}0!4#v5-$R~_jZNs+&!rN=?@-u&wqTw~BvJe_IVIEO zRrVN(!qPSJT7X(jF4pOXmlAe=38$&593j;xJlLrF$a-6r=hA;N-7_t6^Mg6=y#MLk z17?tGomV~a?tytMXu6ut>~V^25zMA$X6PT#!{A)ySiHW^@tbrU8$ixdUNSK-dzct` z8wxB>l6x!-7?jBrSs6&f3i0=$E4oy-CBD#?=Zb~%cAJE@q6-pHXvQLG3X@Kg!0Wun zR_|Nti~LAQ4ePiYfL@t3L|0M(F$AtHj7oRuMqMuG`D(ne=e#?EP1o4}xctofqXRku zHTweKFnlHq4LE7g;k>ch=Ab5ckbdPGFt5UI-@MpK4GBui&unXYn4xrjOn`(0WqLu#wE`b3rV>9^^T zdZLTI$0*Ljf!B`yRT*ztAzE`8#*Cfo*l@9{%p{sny=-YM^gt^we(qF(b#|M4wPXR9FrDnto9oj4Q)a}I=E7XihFJ)k0m3YdXs_Ix|V58#f_k+v#JAS zRaJ8U%x78Z+6RNS#qGLrWSemJok$k9s?6t?V}8z0Hw8m8ahuu3rg8qX8H>Q(<^|iP z26B{UCj$PebV3XsAbMwzyJIELy88c?_h@9OSo@&D#QAY9s~?7E)B>MZa;}aXrsDvY{tah(Tk{L5 zsFk?V&WFQ1m%iIY-Wd^IaB2cMfB$X0%SOA?+7$m5g)H7Rtz)go!+u(Gsh!F2@FF#h z?>z>sOy?0!tJ$SE$59> z>=u0|?wV>wfx{Snn)U&4#ca&`Lf-|e0D_*_WvZ8t@a&>pR~ZMX#8ngTU=R7`rVo}tWZYmky;Blprff(Z=?@cSGyO;3O$fXFOWYT1RjO;y z6VxG5n;b2I{NBDMI)289(e}w&-zj(Fm_I5k3oeyC=oYw6S8lz=GJp-o>p$g1;KuV- zkSLA=lI1E9@TD2T6VH|tVX5OF%cS4&0jdbGEgMs#rBD9$d*>$bZS&JbWV`cv=M@YU z27UgwqIc_MZ9xmQ#$FRFl?-60-_4;*@Y5RLlr0WlvCrqXsc^S}UL!9zH@rkr{M)Xs zVZbf>Rsie9W3+HTDI|Hy^MN3w}6C z6(CKFiq}hJ2p@uD&+HVf`&Q5IR!V4)S#Ggra8mazxu`Swsyvx82oxulvm+*-gSgd+wQn>9jDtnd>073_;fjhdeOO;Se7Vc5A%CZSrepK znh0PVn`M?uDL8IQ9rseD%P?{ss_*!MD43m`v85rf% za@vHG!jl76Lyde>#msS$XDk(VE5w6@hBh0$pOGcJo?OaSkWwYS^c?0o{FFTq_@CUm z!O9<%>mWSyXQ$2H2Uti0VatO83Bp{q`bX|wZf3-T7iu6Ui}fR=OjUmnaYS6F_?CeB zP)pcC^Y~qyJJ#R~-SSUsbDTt|$fJ&*Fc6Jk>z{A|jG2nurwxdDz0cbk!Dq~fH!gN% zCe#@v1k-)~Mt|+fRrf;|DQzj>H(NANKT*FM#>P%5mGqkeiRL76Wz@&H{4*;OPlj({ zu9kZea{lS*A8;{K)6>qYt+6p;_a!(gokNF~hc#rLk8WSTH|>Q(Q}xYB{o= z`ro=b-fo2Z1N5CwNQSjIY?E?m+POr!X@IKQ@22$&Dcda%aKx_{zNTsIamhf#YJ@_V zzg76B(QE2seo2rkgZ+Y+a&Ri472f#OPBdlv*6vrp-p4NY1MYE(n`5=$$LXS%)BC-o z0ayuMt6yB({P*E<(wBhcK!tw;X_^erVmy&@>tWi5EMW|`FU>(Ok7Y?>k7q8y!oQok zw>~x2A(Bwcmupb0WfDc1QH)n5jk^U59Ur+A1;3_ky+n^HDgfG=K-|~>$-2it6?OcT zQB2KvJcsJ*-ucbHvo~AcA$(LxuxdwA>|OoGy4b%B+{Zx_IH+JNNq`z^;!-f8&~nn< zDGH*2`Jn$&QoHS^pi(q};>;a`yPwW`CZQs4&o`vp<6ed{fu}x6MuE2r6?RksmqT|O zK3lW$)PY0DE`ystKq``FXQE_LJEj6MI1Uy=jebID#_1U?@xoK@$w zFUB|#_3nd`zf>=hEl5xMZ9g>}MVk3evUi9){w^D*@QBAP1uBkk)hN;vP+-gd&o*FJ z`Y>`S&d<+JmK3Fi2`e!6^|vYVR1cp`o_9kKu?6ndJz9XUu?yQHL@3Pts#va`F)9xG z7R=9jWH14hA-X8#3d_UcJKHNZg;wzepU%6o$-F3RoSn~~w%+=2cYkTAZNSnq zJZxvIr^tXga1)czA0SK@>d&8WwYbc}rh>n{pJju8OFi<-v_@5>xLoN7{Fg$R^!l8F zl_d7^b9z%*{J3Op58QFqif!osTVpcOZzXPz>BnIE*=w;0VV9Zy7cULMsPwWcW>xcF zP<6fWVWQLBu@rli9%4jD;vR#Y5X{7(R!vg9H?h=U)Z@I-J+CGncyl<_f6NTj zV0;D>b%i=H{QTM)O-0g*l5~SjJ@4IML0Yz!N*|GW-}2a)2phpnt|`rS;WME>Wt*St zH(>KD?NA`1(t>?k(;*#NST|l76;~Uuhj~ns?94mwF%Xiem8RuJm{k)&n`PAnJ5XLH zi+$G_jR9v4CQlDD!JF+)b_x>7ijcJq7jYO6!f61QDC%J+4L#0B(*-a-^!i;bXt(>E zeCvL!l-c`q8QyCQyW`>E!Qaum5!+ZX_Is88J*jcU`4hqs#x)7zu$4YXk>Q6nTRgHd z+^;_sPk+}Fj4@lT_IAMBV5VNNIFjUFD!;K_BFxeUB;bZ&=@U<=o+I5rsf`Gd${xhl|S-3=A@o%dH`80o#+ z3J%V+g6R=E5E*RZ$JSap#R(>7JKmkazezSq_q`(jMbndTJo0h0ad$`GsD&AYoJvTL z)o>@(vq!>E0X&23nTCr!J$T+jqzje`8!wt9TFonH;M?J*pvtU!;wYXUS(d`*lRzLkNi9YYU+ca+Mu%60&x!a=7{n#6QMpdqX^<8gB3BxuO&cY{-_G|N|p5vW9m~oxvzT}5>R&_tK zcvn$I6ryt$3j1{&bMpM9jw7>sh@jSfP@PLZL=t} z^-n~^t!3@lr)BJ)HJ1@E@@DTMr4dOIT}XE^dd`rJKIcvmqs*V=+yN(JviFvK&jk|A z$d=(FEJpuMHefZ;&G7t{;?TA#t=f!2h^jSKf38*wM0eDrq-dt1BFAp-JXov)|={BVQx%G#c_=N|yMMFmJ_!6N34?UTjl}Ck7WFJ0o)REiqg%5VrBcJ1i z+QEj6LRO2vm;AXb)6c8`+h?O#h$Pa7gfoCk73lUN!x5Dr!FCvlsOyuyB4gWgrd)9S zBVwGu-x3F;xyVkkwLgFSh(GeXojdZE#x-ayPP#0)M<)O}!NS-?>$p|BREs3(I@XeO zx;C^`b1S&L>55~ZRcPavX+|l2T8eWNbDLpHTh9{4=Ct{0q%gjUk z7fwj>NqrawY?v4=PC7xxEN-7QT|D;06>4^`ech!Wm52KVBlYmXAvcm<=mG?Iq+)~^ z!aIeg4z2~;l+CHw#b*EV`Oh+D9`}5z&YnImEK?6)UW>oo@7{( zJaZG%Q-e|yQz{EjrrH1%X$AO%xc>kDe`5a{W%lo-ROLNuDl_Ar-fJE_e$u2=cI8_>+>>@;koVCE(2$t*>2| z7z;#CMjmT0RG7HPz4L>}Jf$^%Km5+)e);LwzPn_DB792+EzrNW>;v|qXj%cQw%pT+=P$-AqRmF z?m!Yk2q6avB;-y=Lc$S9Kv+aTF)oMYY!T#&ZQ1ni*f;auH*e<6H}k&t<~d|`OBRg?a}qudn7x!!-K-$Hxhq_r$xdbz@B`F6`T2$6|BMuu zkOu~bdV2fg6Ov-%5_fiXN=nO#C1gq+om^f;t7q0Xuxe^)Wfj%rEUqXk z8%bw0HZ-ys%%*AzwWzq1N^hv8)|Xe-+0nDw#sn)!p0KX?$gUZMDAE={t*vBtfgFyT?vw5Q!yobMwitl%=KRwY7Kk zjK+x4iaHTTk$g|PM(AcV)S~`QNRB4(y{HdvFvABJ5@>Ojey_QPf*w~1RPqI&O zXn3T>E={{su2jpF8ii8bDw4E`By;og6_quXfk91&4xW<6wQDVwG&D9nfv4GPu{Z*w zp>b$vBrQEltJD7+4P`fT<#L5Wp|lg3`ueTb|7tq415byjbVd!OPOmq_#KtR>s@1<* zS<`Cu9UZz}Q@^lP)Ni)52!tw?Mj}&aG}`B5<6?>I-THcCQ**DWZ+>CHWa?LGv`8en zuitE6Rg?MH)_Q-_O9eSHz(&ONaXx5kWL&}x58y?phm_lrMI zm8FVuJq)fs9&R6%Ne=8ekz}1c#}*#)o)k}TN}&k~AW!VzHpg+S01nK|=Y01kdr;;Vx8WqANxqbd3J9_$jJq~?{t?~Jj3#HhP}px4{eShwGO z&sRui6?k;$rvT3VPxC2s|I^`TXMXr#wX)@#Z<)OPz2GnkbIG-F^YM4zK8W5QWzkK1 zIP>>~-&XKpPLI5CJdkZ>=USBr^lnAsR2lvHUz91&@~4Z4anh~ah*!AGMKguH_ zLVKPEUZ$Z~tf^AcQ^xQzG%!$7iFe^PoLPwK{44+}yGaBv%%w=@(=zD=-+uzE^?+d; z=F8v!=$o3F=z>a_voov9CB)wmlTn1t1Q&PddXX{$tQ*Zfw)p@zNberfnBbEf7sT;EU@jM Q{mBBLpwKIVzz6960gDBsi2wiq diff --git a/kratos.gid/apps/Solid/images/notched_example.png b/kratos.gid/apps/Solid/images/notched_example.png deleted file mode 100644 index ac4cab58cc3ef5e7cc98ca4c1559d797943f2c87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 792 zcmV+z1LypSP)C{p|jE_H3~ zMk;8rXe*{eXQr4m>D)ywBe%V`)Q@g1o>fRPPtN=1%n5WH2aGKc7-#&@f9Rj2V~ovU zd3jk%8HVAv&rIPEq z>2!L2e*WO#Ad|^NJL>iN{r!ElTJ<~+Ap{}(7@aY8etsV1sFc!Lr&6hnjg7s%y;v+3 z9rOJBT&YxyR;~3&^msgec6Qe1fKo~+6$HWLw{6?DZL|6G^ptZx zXd2$x*1H}i}!qazYz-0Ssv&1UoX_&Ar#?e6X-5($LRyYKOMJd??EI-N$N(Qdar&!d!n ztnwgaj4{Ug@*`#~olawnmzI_$CMGT}E?TXYsY|8QUv&&Qrk`#?Ypu1GQf9MR2%+n` zuIu`~&pB_m+b=IK5WPRt3#@LBzj*+DLLni zv6YpT&CN~Mb)TM|YPDLk*$jf9)oMi-KIj`6F$*Dt5Q1|K0GOJZiW-p+;`a9T>goz( z9Q}QNbb>FoSxPA(L~9*}VP88TUvJ`4N-1UZLVPnlD!KpcU8NL{kv_r;^CkKi@xK7| WYG*C`)7`)T0000O~`$cQimh1i3|Kx`IL16^816pS%k5FOD17hJlchV(!@ zdEy!aHp4&w_kXOJ!TuKCaFCobTs~jURL#+qW0pxlC hl$`@8$<6=)1^^*r;Rxj2lk@-p002ovPDHLkV1kmreaQd- diff --git a/kratos.gid/apps/Solid/images/rod_example.png b/kratos.gid/apps/Solid/images/rod_example.png deleted file mode 100644 index 8288474ffa0b1574fd9ebd7bdc54a0bdab29459f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1078 zcmV-61j+k}P)9zm>1H(x~ zK~zY`<(FSfQ&$|vKbQ6n3ar?U$XrQqME*3EK$@%wnes0{=(VuoL~+0nqFIq-bBobO zwipujpy^B?zR3PP_$N^VGLh&CBO)U{5cl8^fsw#6{*`Q`{7dQC!x$L}W(sXwvhUkH z_vC)gIrp6J?|Y=i#zw(QQV=gu|6jQJpATc>;}j_hmbA3Bwx*`0z{8s_USyk2$Lz$! zI(VGX$l&A0fm`<8zCPYPc#sa43rlJ$-sNSwySo8+Jt``&|9p?d!qDI#03*Z0d~xm^ zr%#^b!uj)>G`}VQo^D#R;O@vm4(cj;X!{H!)_wFsjRf?k2J?o{>Wa9R%TcnuHWbWNd zh)zet*|W$h6@@k%TD_i;p`pOQ0d~d5Q(sp{PF@~wr==ljG+e)SjbBGc*>AIvU^Md6 zqep?W*CUmce01Uj(=#)amy}>FE~e+3#6r-kzr@6kDy#&CO9=Rz_BS zK7@r)R8Ro0sR6uDVJWSwq^hC<0n}7i6B`#tbYdd5f&!il4B&7$h)qZcTvf}+%_T1* zgB2n8xTc1f*jN(GW=idLe(3BZKRbI}ZFpgm`8TZyL2p+V-(I-_z-J8&bhWjyI6qHD zP7eDOg*OZawBh0CqoP0vzPo#u(Wg(hUe8sMgx+A_9jle8i3w6oCKeYKP^;B+-Mhz! zwY8i+bqZh5>gOd1Yi=&P5)-#R^S|}W_&E3P+`;ShBFi#D2!d8E*(U@lm5Q&gUS(%Y z%!c`3OG##@!9ZL}3L1?DAp}AQCf#m=Lqpl7)3M_9aTTa`7cIU%w~c^L-BdN zBqb+v!Rh46<;xs7c8rj)FgzX)oi5i}f0NPZ-wfyT`B++BrmDJ{Tt(rv9Xm)*Pbbn~ zK$c~G?CJTdqY%tYPWl)AYD5HTS*G{FgSECdqoa8%B?W-lnHfe02f6QZ@qK5ff8ps_ zS;%TNEjMp6Fz_<~qr=18Zfyl%VSb)3o11YuozG6Mn^mYRqt)yA-R2><{9 diff --git a/kratos.gid/apps/Solid/images/runSimulation.png b/kratos.gid/apps/Solid/images/runSimulation.png deleted file mode 100644 index 32ca7ce81a24f244b18449968c113dbb0c7ad6bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1887 zcmd^9`BT#e9*uxV5g2r}O1CO?TB`_Jz_pdOOho7cDvO95T3WCia+45*ByuGrKsW;g z0)!g_gd{+YZ%%S@g(Hv>+^3*^H0n{ zAdsb(r@Nnl&;A87W5c%C{HfGHHZYGM*!{#vSZWwF0(3Jx@o|K$SA1AhgkMBhI2@vg z_znaz+V;KU@A2WohZ1~6MkcDLq%1GLu&ko0oIorr#^cK?F}XNgVM$dr=~;SKacMd7 zStd5GAitovwyv?Fvbu)Ukb}*yB-Uo5Fodca6dFscsVglbU~_R<**Vp<_2``3H2AZp zsR(HD)4GP{+`NMN#+HJjQdmk_9}o||8ojm9QHl2vLAslI7oP>~Ev)$8@b zUJ0AS&%xx;yP542T51|HJ|RgU6hojXD=Tj~T*1P^Vo7OvVNt29Zy+%Vs-1n&*whMe z_*|YaIwp?G7fNOFZU%dQfB)d%psj=2&0zH~*(`w9KQJVd^-<|P5^0}EER#rOF|i4K z{eu{6{?^tzdEbCqGc__g#$W+O#rQNh^6l!{xJtdgzCoeV8B9Q-7?nunOcs#x6#nas zwyLVSuWx`@O_CUN3@Kvc5=A1(n>Q;R9TdgzNUun$RE|^W-CJ8*dwP9*0z@R1h$S)( zmrtX2PfgG8_=33j#HH8&-PqXF>2yM&h)_w?YPFf!IV$yJOlV%LZxQ0fbE?f<%Eh#>q<>S zyj@*ob9jp3Q8vJfjEWu|Q{u}BJihQrbgWn+g{7puVXzr2&febM$e40*@ug}~L+@tH%*+mtj2SFesnnaBI!Y&fZhoPI zLR(u~FU42PXlJ$B7XZKoxO{S3hjLuSV6yl2^l|Y?^9ze2v2=cZVRd!Q5P0jd^Ay9A z{14{mbKh|OT?eE=3}zU5;CC&$f4gaicq_NMB$6ZsY8*5#_C*RLjH@A=+``4r6Kd&6AhA04tyx)*iNlrmvr z7ph*GtURKq9Sn$Sh)f$();Cjz`@d*Z%Em99|1zwtY1xGEAt1fJ34O|pSgn1qQxuYA zem<4?8AX8M1A=zhf(e*3tw^+i)-Uv7FA-DBa=47R;u;&0^Fhyd`1%rkbeF160vL&L+~-cYnZ=&rSk zRfVS~$m>7fkjbZqUS2jck%7OMTXLiRL!Py?_PYl(TVn~wOr&8;?Ck8ky`|ujbIqtk z@T^mi{{HFHo9|cp+b=nhoSmH1j{kaa@A!#I3!_Iai^S!N#`3!ku5e6&1%%H(d-gi` zX;aIlGJJ^M;Ygm?%0nHNq2F9C&TwYafrtr z0f6b?>JA-sHB{Xk_o-ri;Qwqoc*N#9a@>Mr2?wY%5UX3Rp1a?3tdIQSJOK@~x!{Tg za0!=lf3_gp4X}!&fwgNcb8ghaQCp7I@rI+x)USfTkH0c`{^k+lOk`-#=4Yc0R%HQI z(B8e@7}++;`rFVy>@xePQ!Mz{Mhsc&1UJEE4JV2 z6=XX2SaE90cMcY?B7aoG&9lZ>yS~N4<+Nmb=QHV}2}qBBB39bXyp7P9Q>X1E->7O1 bTZe*nc89JAvX6Hd$^hi$;p0ws3q}12Cx(06 diff --git a/kratos.gid/apps/Solid/images/seeResults.png b/kratos.gid/apps/Solid/images/seeResults.png deleted file mode 100644 index 85f3442098fbcd7f1817d46cfb6ff8452023438c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^f*{Pn3?z9rZ$AN~BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrH1%83*`;xc>kDUs*o#Ws{Eh#_&>R!y_tRg|6l3{7+mX^944iGJq)y$ N!PC{xWt~$(69CF`Z>9hM diff --git a/kratos.gid/apps/Solid/images/select.png b/kratos.gid/apps/Solid/images/select.png deleted file mode 100644 index e1cb04841578dd1b4031d1a4afd1b3636ed75b57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 289 zcmV++0p9+JP)4>OVVfT33Vd z@%4j&qR7YApPjZNA6c!d!AwbbXl0FdbC^ z2t$GJZ=3f1ryZhXs%*+CSdRS!z}K`Z+rBHNnQX#A(m?6{?=D<#B;zF@A;8VzAUKsc z;SoOSZ_o6l4pTte2z0{e>>L niSW*eeIRV(+1uw`egX^t#GeBI23e@V00000NkvXXu0mjfwZM5T diff --git a/kratos.gid/apps/Solid/images/setLoad.png b/kratos.gid/apps/Solid/images/setLoad.png deleted file mode 100644 index fbb12ba2a43030e0644567e2b3af8af892d1a992..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 283 zcmeAS@N?(olHy`uVBq!ia0vp^f*{Pn3?z9rZ$AN~BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrH1%nFaWSxc>kDKPtTW#PMs&@{tq!*F1Ur>e|%@^XG1BZd_!j zo4jl1X&=vuwW|->Tj!M(PyhJwYes4>P|LI8-TFWigi3<^f`MFA!0>4Qej%W2tfz}( zNX4x={df5q6gb=*16_1q|BW|$k-ziiH7oJ^M;|8hL_AdYzTzQfDbIFS)J1=p*TsEP z7z7Px6v{C+&DUA-c4-RpCf#QrbHB)z$n9LXG4Xps*yIh1>wZ=XCor%XGp?Q%`f?i3 OA_h-aKbLh*2~7Zu(0soD diff --git a/kratos.gid/apps/Solid/images/setUnits.png b/kratos.gid/apps/Solid/images/setUnits.png deleted file mode 100644 index 95f68e36218081e291016b8bde67b00d1f78232c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 237 zcmeAS@N?(olHy`uVBq!ia0vp^f*{Pn3?z9rZ$AN~BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrH1%=?3_Oxc>kD-^a7!tK!JnVfyvSJ_P_r--)>wW zQ*Pwr@Wf&rD@RIFu=kUSnCJ6F=I&TCp;IKQdGUoeYgQJX))EoCt(T|zz+lG`q1A@5 kpO;4Hh1u_aCYr!-ON=q^{2h@+KpPl5UHx3vIVCg!0GY{QoB#j- diff --git a/kratos.gid/apps/Solid/images/sheets.png b/kratos.gid/apps/Solid/images/sheets.png deleted file mode 100644 index 3b0d51a8ca1f13310706bf797d97a5a936e780f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280 zcmV+z0q6dSP)f0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUyGf+%aMgRZ*BOh5YEo1TV^^uRPT33U} z$JXTI>OVVfy1C0}WsP=om#wS8Oi6gw)!>7HqMx0%9}^Kx0001cNklS6uPqDeByuGn{B6g4E;N{ ej<+{_1Q-BWTLNZ_w>zT%00006Em^uDK4AH#LU9QEiip*Ap-*g z6G1&sp1vuqnEL(OXI@_63B4I?tSnG%-MwpX-g=5lPi_6&uU|jDef!+XQiqF+10v3t zl-hmv%+6IS7eI_b23M~?Ub=Mix9?vB1;u~;`k|$zp{pbR7F|92un-#t1_lleHbVnt1_p)? zAHH0^`jCa0>HGJezkmNUH`5IdwPj#n;Ns%oMFf3ZKZ|m0GOw26)ey)gAa_8=IAOGC9 zZ$BlacEbfPUwHswEM0yeB&<9vvU=m@6Mz5yLj*%@-Sn?tKmPmokC&I9fq~)g-@mV4 zf7H^HV_;xdx8c~vO}m+xS)!wSeZ0&N@s^s=tD&jE%EHRP!0_Y84+aK?pFe*~NC+`7 zFl^a&YW14!3=9l`0qzhz3=9k`3=9m>arKcA-e#t1*RNk^Vq$vn{2n9#7#JA#?7OgZ z*=7a?22T%1NXS9sO;6wP%a;%CUa8DXjFn}f5)wi=1v9>X`^?WT`2PLdj~`yLb8y?+ zS!Sepp+t_1jQY)6PwwA;@!{iF;M1%4Rw>F!kc|OE3RFA z@bTl<6UVP9%SUFU_C9(1YX0196Z_Zf+If2I>Vx*yd1b}Zn;RGDPU3k7)XrJp5n0T@ zz%2~Ij105pNB{-dOFVsD*&i{9a9hY-R(tycDAeZZ;us=vx!2!YjKz@U3%5|_%ir_2 zm4145R_AzAkOsq_%%--#>Yoc1DCAkcw+Pen*>ycpElgl)k=pLo#eqV49a}{&RTX$W z6F40d#-t!Jv8GY%Ak!4r1>$;(tY5X7HWe>=Z)&OVY6CahTUGHoy*JD9Gu~u|nmsG! nI(t0jspR+XJN-(&JYYP0kom$I&Ae+s7cqFc`njxgN@xNA*pza` diff --git a/kratos.gid/apps/Solid/images/tank_example.png b/kratos.gid/apps/Solid/images/tank_example.png deleted file mode 100644 index 5e6d01ae5b1ca374f9f41e40e27714e72ddd3827..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 918 zcmV;H18Mw;P)YP($adUH{Sb<4aWS`(q@c(A|>_F4B z^j!#nQqxMCeUIaKx^gM!#{UT{rR2+(8fRyxGazsr7ss)&ZHr#7&tTB!?d^?zzfZ5% zF9~YL!;2MYUSRwrzahM+mW8v1uA}AB2E%c>{nj3@H|e*tU)kf*=SO z4u`zHzS8M*=yW=CyIow@P5qCKjyOI(rdq8M1i^1nN%wd(8ZQma#7`ilOjSrJF-?;~ zp+Kor!Zgiv{@vXjS65fmYTFzh9_A;PQc-sHNr4ccX_M!og<(h#1bCi@@B0}Gj@aGZ z%LivUB}oP%oi4;wb)sAdF_)OLHW>7&*X#MpXFs zs+(0kjY_s93AY%L6zq9k9yWz91LeVO+s^!+f{VrC616g&It!mwod@^*AXBlPbfQ1) z@v^O4w$C3Q@A-J>+8RRCtW4mQPcEafXO1FC?bwy zlv0FYNF2vYd$na*0POAU&CSyR3WWmSzyHJO=^2}wn>dbx@B55KBf@af?tI^;R4UPI zHrd+RqS0t@aB#rO%L`9WPdq+8VwxtsUXSs3+65iQ0ie~|<^KLYjaJ&L+wEssttOY3 zmzS(I*XN3Q^kw6wzh`j zIB8Zc_UOeLj-m*qRQjw`D%5H@^*J&=wOxg z0CG4BJR*x37`TN&n2}-D90{Nxdx@v7EBiw(em)Bp$zuB%K%r7k7sn8e>&XcYY;8?! z0n-u|FiZ*EyPM(AjA>G{%ovY6xRQ{NaFJ!>4JiqUcfQOU&qzpAOnu&5vijcM>X%Qh zFgr}!{( zJaZG%Q-e|yQz{EjrrH1%83g!*xc>kDKPtT0P&aw)>Vvy>o}Sph#@;%wta$qTx!bN? zeQ@IVHD&q8=Eg-IKYqF{TS${}9Q}R!Hg8L} z>2yu0hNvkO5ol;3b|HI+g7P7I$gn1e5Iv0^1VyY~e9(u&$tGfms9~EncUO zu&H^=ZQnlJzFpjO`~B-dk?L?ba5(4XaA-ur>?ZI4Am?TVg-8H^-_<$O-quGU66d~m ze02G|LJEjvabeSLb0QKzB+ZS(9=9Kn@K%;~V&kF*`saP#0Hvun0zg<8pJm;ENWPoa zC&rc$35`e;Nx6~XiY`OjyXxwn7CQIF(;1V2LL{%A*JS5hO}!|;mYECy2Hjj=?+9P3 zHd<|K7IVD5OD7P7>wD@pH<;EhRe(tL_dOfywkFLWA{iN6+}?B?9R&fAAQF$;U;6S> zbK~%_MI_+n4wOZ;g#{IE?qGe*T3ApqIkAFBpy=5L*5TgSb{OuLFHP?kQVg+lS6Uj)Bl zc5ceL=NcH&_Zigyz?(7kq-UIKXnGSXky8{kIimvr0HBVJf_9tB<@A|X_e`^EC1v?y ziBKdGp8Rl%X6>-U!4;R>1%M{aP<*`Th4Rkd1qzX9)ken7DNFNXM3HM2E1#wX0vZ5< zL1bCCR2pNmI@?=E>lxkPqW%oosq063MYeW`9Yod5s;07*qoM6N<$f*`zSegFUf diff --git a/kratos.gid/apps/Solid/images/view.png b/kratos.gid/apps/Solid/images/view.png deleted file mode 100644 index fcc38761746e0598aa9ac443dfe0a5c8ef55edcd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1950 zcmd^9`!^d18cnyh52rJGYFMVzQPb7wvF&zBTQ$>mW^`k;JE~fJshW{pp&lVf2@xbj zNQfZB`w>Cn5%PY&CEn4rh*0Kuiy4}tZHUpe=gfbx_nhy$=l*o>58wUr0{neHvOQ)C z002I^c>{QNkDdQFhxYI7BWphq_vllY&m&l1TsSNllmG^JhsFIH>~a$ViU8jQgThkc z`@mNLfIs~n;CIjG!-o&)8R*LDy4w22lG5@tWG02$LawOJ!xKzHhCRfhQ&9D6Wt7&CrYkT{(+05ba z==9d*WfQfD#%6O22BTD_?C50n^!7(Qjnek^J=ee7+}wPYl%iCsmrbUb*;!S$R<9pv zZD%yM&^Ih1zUQDI@RPN$bE zlorbti^K0=bjf52dTYn}`o_TE(7=#RE>}iHLxyz2ZS4%PL@E#nA+hmXo`BNWJTdvo zXq>QGtuIH$lqz)$Bu@8Szq-06k;riQ1f6cUlgSo~r6nZt;LxyKp^A=)eHs}p6p9o| z_1@)Q3U;}**Om{kyZ(WD^8Xls@Eu$b0I>h;O`!KZ_=H~(_{n3CJ+|;k>47_kYYyQ) z#+N-fYL8f{p1Ke|C|vtEWcjXP>JPk`M08raJ{Xp+4d*%TUX1XsB-QSQXViUbSnHHs zN*l!XlwfyK6W-1LRuFu92i5d2|A)3qkC*Q&H>e`>q?bE#{YkKu_xaDiH>MlDEWhn- zDspkBIPNZ^vPh;e+oj0Sxs`_sh$n*dcxWcT&hW-w(ksD zVCEuuxRI82@H9I42Eq!6eesk-bxq|x+A(kR&m078`Yr^Zli#kIH;D4=kx}*-|7s0M}O$xukzm;d(c-47?*sXQ~Q!ic%b9VxPh^x-H zNFrb<`k0$mK!Z|_+rCXj_D&y*D7v!f4fQy?#Dkrlja>aQ>U=0wo2q1FKUXRp{sKerr;KdU}dK|Fu-!M`kqTLZcH z>q9e9yGb?wn09#`;r4RnQ%b227 zjcM$2bXZ|MpIrx+9ZGZeQ=h7eguzD3q(85EYRFFWOxEX?pjXV$eFH^{J!|EtUEsE< c6R;nkE??yM{5Unb_d)!IlX0)X7SUH||9 diff --git a/kratos.gid/apps/Solid/python/RunSolid.py b/kratos.gid/apps/Solid/python/RunSolid.py deleted file mode 100644 index ebc2c9f39..000000000 --- a/kratos.gid/apps/Solid/python/RunSolid.py +++ /dev/null @@ -1,8 +0,0 @@ -import KratosMultiphysics -import KratosMultiphysics.ExternalSolversApplication -import KratosMultiphysics.SolidMechanicsApplication -import KratosMultiphysics.ConstitutiveModelsApplication -import KratosMultiphysics.SolidMechanicsApplication.MainSolid as MainSolid - -MainSolid.Solution(KratosMultiphysics.Model()).Run() - diff --git a/kratos.gid/apps/Solid/start.tcl b/kratos.gid/apps/Solid/start.tcl deleted file mode 100644 index 44f387284..000000000 --- a/kratos.gid/apps/Solid/start.tcl +++ /dev/null @@ -1,84 +0,0 @@ -namespace eval ::Solid { - # Variable declaration - variable dir - variable attributes - variable kratos_name -} - -proc ::Solid::Init { } { - # Variable initialization - variable dir - variable attributes - variable kratos_name - set kratos_name SolidMechanicsApplication - - set dir [apps::getMyDir "Solid"] - set ::Model::ValidSpatialDimensions [list 2D 2Da 3D] - set attributes [dict create] - - # Intervals - dict set attributes UseIntervals 1 - - # Restart available - dict set attributes UseRestart 1 - # Allow to open the tree - set ::spdAux::TreeVisibility 1 - LoadMyFiles - #::spdAux::CreateDimensionWindow -} - -proc ::Solid::LoadMyFiles { } { - variable dir - uplevel #0 [list source [file join $dir xml XmlController.tcl]] - uplevel #0 [list source [file join $dir write write.tcl]] - uplevel #0 [list source [file join $dir write validation.tcl]] - uplevel #0 [list source [file join $dir write writeProjectParameters.tcl]] - uplevel #0 [list source [file join $dir symbols symbols.tcl]] - uplevel #0 [list source [file join $dir examples examples.tcl]] -} - -proc ::Solid::GetAttribute {name} { - variable attributes - set value "" - if {[dict exists $attributes $name]} {set value [dict get $attributes $name]} - return $value -} - -proc ::Solid::CustomToolbarItems { } { - variable dir - # Reset the left toolbar - set Kratos::kratos_private(MenuItems) [dict create] - set img_dir [file join $dir images] - if {[gid_themes::GetCurrentTheme] eq "GiD_black"} { - set img_dir [file join $img_dir Black] - } - Kratos::ToolbarAddItem "Model" [file join $img_dir "modelProperties.png"] [list -np- gid_groups_conds::open_conditions menu] [= "Define the model properties"] - Kratos::ToolbarAddItem "Spacer" "" "" "" - Kratos::ToolbarAddItem "Run" [file join $img_dir "runSimulation.png"] {Utilities Calculate} [= "Run the simulation"] - Kratos::ToolbarAddItem "Output" [file join $img_dir "view.png"] [list -np- PWViewOutput] [= "View process info"] - Kratos::ToolbarAddItem "Stop" [file join $img_dir "cancelProcess.png"] {Utilities CancelProcess} [= "Cancel process"] - Kratos::ToolbarAddItem "Spacer" "" "" "" - # Add examples - if { $::Model::SpatialDimension eq "2Da" } { - Kratos::ToolbarAddItem "Example" [file join $img_dir "tank_example.png"] [list -np- ::Solid::examples::CircularTank] [= "Example\nCircular water tank"] - } - if { $::Model::SpatialDimension eq "2D" } { - Kratos::ToolbarAddItem "Example" [file join $img_dir "notched_example.png"] [list -np- ::Solid::examples::NotchedBeam] [= "Example\nNotched beam damage"] - Kratos::ToolbarAddItem "Example" [file join $img_dir "rod_example.png"] [list -np- ::Solid::examples::DynamicRod] [= "Example\nDynamic rod pendulus"] - } - if { $::Model::SpatialDimension eq "3D" } { - Kratos::ToolbarAddItem "Example" [file join $img_dir "beam_example.png"] [list -np- ::Solid::examples::DynamicBeam] [= "Example\nDynamic beam rotating"] - Kratos::ToolbarAddItem "Example" [file join $img_dir "tank_example.png"] [list -np- ::Solid::examples::CircularTank] [= "Example\nCircular water tank"] - Kratos::ToolbarAddItem "Example" [file join $img_dir "column_example.png"] [list -np- ::Solid::examples::EccentricColumn] [= "Example\nEccentric column"] - Kratos::ToolbarAddItem "Example" [file join $img_dir "rod_example.png"] [list -np- ::Solid::examples::DynamicRod] [= "Example\nDynamic rod pendulus"] - Kratos::ToolbarAddItem "Example" [file join $img_dir "lattice_example.png"] [list -np- ::Solid::examples::StaticBeamLattice] [= "Example\nStatic beam lattice"] - } - Kratos::ToolbarAddItem "Spacer" "" "" "" - -} - -proc ::Solid::CustomMenus { } { - Solid::examples::UpdateMenus$::Model::SpatialDimension -} - -::Solid::Init diff --git a/kratos.gid/apps/Solid/symbols/symbols.tcl b/kratos.gid/apps/Solid/symbols/symbols.tcl deleted file mode 100644 index 160590c70..000000000 --- a/kratos.gid/apps/Solid/symbols/symbols.tcl +++ /dev/null @@ -1,393 +0,0 @@ -package require gid_draw_opengl - -namespace eval Solid::symbols { -} - -#to be used directly as symbol proc (to draw a condition as a 3D shape without take into account any direction to be oriented) -#valuesList is unused, but necessary because it is automatically added when invokind the symbol proc -#e.g -proc Solid::symbols::draw_file_mesh { filename color_lines color_surfaces valuesList } { - set full_filename [file join $Solid::dir $filename] - if { [info procs gid_draw_opengl::create_opengl_list_from_file_mesh] != "" } { - set list_id [gid_draw_opengl::create_opengl_list_from_file_mesh $full_filename $color_lines $color_surfaces ""] - } else { - set list_id [Solid::symbols::create_opengl_list_from_file_mesh $full_filename $color_lines $color_surfaces ""] - } - return $list_id -} - -#valuesList will be like: {ByFunction No {}} {modulus 9.81 m/s^2} {direction 0.0,-1.0,0.0 {}} {compound_assignment direct {}} {Interval Total {}} -proc Solid::symbols::draw_selfweight { valuesList } { - set full_filename [file join $Solid::dir images conditions selfweight.msh] - set color_lines black - set color_surfaces blue - foreach item $valuesList { - lassign $item key value unit - set data($key) $value - #set unit($key) $unit - } - set modulus $data(modulus) - if { $modulus == 0 } { - #the value could be set by other function field, intead as modulus, consider like positive modulus - set modulus 1.0 - } - set direction [split $data(direction) ,] - if { [llength $direction] == 2 } { - lappend direction 0.0 - } - set opposite_direction [math::linearalgebra::scale_vect -1.0 $direction] - if { [info procs gid_draw_opengl::create_opengl_list_from_file_mesh_oriented_z_direction] != "" } { - set list_id [gid_draw_opengl::create_opengl_list_from_file_mesh_oriented_z_direction $full_filename $color_lines $color_surfaces $opposite_direction] - } else { - #to allow use it before the proc is available in next GiD 14.1.1d - set list_id [Solid::symbols::create_opengl_list_from_file_mesh_oriented_z_direction $full_filename $color_lines $color_surfaces $opposite_direction] - } - return $list_id -} - -#valuesList will be like: {ByFunction No {}} {modulus 2.0 N} {direction 1.0,0.0,0.0 {}} {compound_assignment direct {}} {Interval Total {}} -proc Solid::symbols::draw_load { valuesList } { - foreach item $valuesList { - lassign $item key value unit - set data($key) $value - #set unit($key) $unit - } - set modulus $data(modulus) - if { $modulus == 0 } { - #the value could be set by other function field, intead as modulus, consider like positive modulus - set modulus 1.0 - } - set direction [split $data(direction) ,] - if { [llength $direction] == 2 } { - lappend direction 0.0 - } - set force [MathUtils::ScalarByVectorProd $modulus $direction] - set x_axis [math::linearalgebra::unitLengthVector $force] - lassign [MathUtils::CalculateLocalAxisFromXAxis $x_axis] y_axis z_axis - set transform_matrix [concat $x_axis 0 $y_axis 0 $z_axis 0 0 0 0 1] - if { [info procs gid_draw_opengl::create_opengl_list_drawing] != "" } { - set list_id [gid_draw_opengl::create_opengl_list_drawing gid_draw_opengl::draw_point_load $transform_matrix] - } else { - #to allow use it before the proc is available in next GiD 14.1.1d - set list_id [Solid::symbols::create_opengl_list_drawing Solid::symbols::draw_point_load $transform_matrix] - } - return $list_id -} - -proc Solid::symbols::draw_arrow { valuesList } { - set full_filename [file join $Solid::dir images conditions arrow.msh] - set color_lines black - set color_surfaces blue - foreach item $valuesList { - lassign $item key value unit - set data($key) $value - #set unit($key) $unit - } - set modulus $data(modulus) - if { $modulus == 0 } { - #the value could be set by other function field, intead as modulus, consider like positive modulus - set modulus 1.0 - } - set direction [split $data(direction) ,] - if { [llength $direction] == 2 } { - lappend direction 0.0 - } - set force [math::linearalgebra::scale_vect $modulus $direction] - set x_axis [math::linearalgebra::unitLengthVector $force] - lassign [MathUtils::CalculateLocalAxisFromXAxis $x_axis] y_axis z_axis - set transform_matrix [concat $x_axis 0 $y_axis 0 $z_axis 0 0 0 0 1] - if { [info procs gid_draw_opengl::create_opengl_list_from_file_mesh] != "" } { - set list_id [gid_draw_opengl::create_opengl_list_from_file_mesh $full_filename $color_lines $color_surfaces $transform_matrix] - } else { - #to allow use it before the proc is available in next GiD 14.1.1d - set list_id [Solid::symbols::create_opengl_list_from_file_mesh $full_filename $color_lines $color_surfaces $transform_matrix] - } - return $list_id -} - -#valuesList will be like: {{ByFunction No {}} {value 4 Pa} {compound_assignment direct {}} {Interval Total {}}} -proc Solid::symbols::draw_surface_pressure { valuesList } { - foreach item $valuesList { - lassign $item key value unit - set data($key) $value - #set unit($key) $unit - } - set modulus $data(value) - if { $modulus > 0 } { - set load_local_direction [list 0 0 -1] ;#considered positive pointing oposite to local normal - } elseif { $modulus < 0 } { - set load_local_direction [list 0 0 1] ;#considered positive pointing oposite to local normal - } else { - #the value could be set by other function field, intead as modulus, consider like positive modulus - set load_local_direction [list 0 0 -1] - } - set x_axis $load_local_direction - lassign [MathUtils::CalculateLocalAxisFromXAxis $x_axis] y_axis z_axis - set transform_matrix [concat $x_axis 0 $y_axis 0 $z_axis 0 0 0 0 1] - if { [info procs gid_draw_opengl::create_opengl_list_drawing] != "" } { - set list_id [gid_draw_opengl::create_opengl_list_drawing gid_draw_opengl::draw_point_load $transform_matrix] - } else { - #to allow use it before the proc is available in next GiD 14.1.1d - set list_id [Solid::symbols::create_opengl_list_drawing Solid::symbols::draw_point_load $transform_matrix] - } - return $list_id -} - -#draw_loads mean that is returning a dictionary but real draw is made native inside GiD based on this dict -#in this case the XML declare orientation="loads", a special value to say GiD how to draw -#valuesList will be like: {{ByFunction No {}} {value 4 Pa} {compound_assignment direct {}} {Interval Total {}}} -#but to work well by now it is necessary to assign to surfaces the surface_Local_axes, else is drawn with wrong direction (eulerangles==NULL) -proc Solid::symbols::draw_loads_surface_pressure { valuesList } { - foreach item $valuesList { - lassign $item key value unit - set data($key) $value - #set unit($key) $unit - } - set modulus $data(value) - if { $modulus > 0 } { - set load_local_direction [list 0 0 -1] ;#considered positive pointing oposite to local normal - } elseif { $modulus < 0 } { - set load_local_direction [list 0 0 1] ;#considered positive pointing oposite to local normal - } else { - #the value could be set by other function field, intead as modulus, consider like positive modulus - set load_local_direction [list 0 0 -1] - } - set dictionary [dict create load_type local load_vector $load_local_direction] - return $dictionary -} - -proc Solid::symbols::draw_moment { valuesList } { - foreach item $valuesList { - lassign $item key value unit - set data($key) $value - #set unit($key) $unit - } - set modulus $data(modulus) - if { $modulus == 0 } { - #the value could be set by other function field, intead as modulus, consider like positive modulus - set modulus 1.0 - } - set direction [split $data(direction) ,] - if { [llength $direction] == 2 } { - lappend direction 0.0 - } - set force [MathUtils::ScalarByVectorProd $modulus $direction] - set x_axis [math::linearalgebra::unitLengthVector $force] - lassign [MathUtils::CalculateLocalAxisFromXAxis $x_axis] y_axis z_axis - set transform_matrix [concat $x_axis 0 $y_axis 0 $z_axis 0 0 0 0 1] - if { [info procs gid_draw_opengl::create_opengl_list_drawing] != "" } { - set list_id [gid_draw_opengl::create_opengl_list_drawing gid_draw_opengl::draw_point_momentum $transform_matrix] - } else { - #to allow use it before the proc is available in next GiD 14.1.1d - set list_id [Solid::symbols::create_opengl_list_drawing Solid::symbols::draw_point_momentum $transform_matrix] - } - return $list_id -} - -proc Solid::symbols::draw_spring { valuesList } { - set full_filename [file join $Solid::dir images conditions spring.msh] - set color_lines black - set color_surfaces blue - foreach item $valuesList { - lassign $item key value unit - set data($key) $value - #set unit($key) $unit - } - set modulus $data(modulus) - if { $modulus == 0 } { - #the value could be set by other function field, intead as modulus, consider like positive modulus - set modulus 1.0 - } - set direction [split $data(direction) ,] - if { [llength $direction] == 2 } { - lappend direction 0.0 - } - set momentum [math::linearalgebra::scale_vect $modulus $direction] - set x_axis [math::linearalgebra::unitLengthVector $momentum] - lassign [MathUtils::CalculateLocalAxisFromXAxis $x_axis] y_axis z_axis - set transform_matrix [concat $x_axis 0 $y_axis 0 $z_axis 0 0 0 0 1] - if { [info procs gid_draw_opengl::create_opengl_list_from_file_mesh] != "" } { - set list_id [gid_draw_opengl::create_opengl_list_from_file_mesh $full_filename $color_lines $color_surfaces $transform_matrix] - } else { - #to allow use it before the proc is available in next GiD 14.1.1d - set list_id [Solid::symbols::create_opengl_list_from_file_mesh $full_filename $color_lines $color_surfaces $transform_matrix] - } - return $list_id -} - -proc Solid::symbols::draw_surface_ballast { valuesList } { - set full_filename [file join $Solid::dir images conditions spring.msh] - set color_lines black - set color_surfaces blue - foreach item $valuesList { - lassign $item key value unit - set data($key) $value - #set unit($key) $unit - } - set modulus $data(value) - if { $modulus > 0 } { - set load_local_direction [list 0 0 1] - } elseif { $modulus < 0 } { - set load_local_direction [list 0 0 -1] - } else { - #the value could be set by other function field, intead as modulus, consider like positive modulus - set load_local_direction [list 0 0 1] - } - set x_axis $load_local_direction - lassign [MathUtils::CalculateLocalAxisFromXAxis $x_axis] y_axis z_axis - set transform_matrix [concat $x_axis 0 $y_axis 0 $z_axis 0 0 0 0 1] - if { [info procs gid_draw_opengl::create_opengl_list_from_file_mesh] != "" } { - set list_id [gid_draw_opengl::create_opengl_list_from_file_mesh $full_filename $color_lines $color_surfaces $transform_matrix] - } else { - #to allow use it before the proc is available in next GiD 14.1.1d - set list_id [Solid::symbols::create_opengl_list_from_file_mesh $full_filename $color_lines $color_surfaces $transform_matrix] - } - return $list_id -} - -#cannot be used because now parts are for all types: shells, beams and solids, -#and cannot set at design time orientation='shell_thickness', 'section' and the appropriated proc for each case -#orientation='[some_proc]' cannot be used because the xml_node provided to some_proc is the one of -#that does not contain the element type -proc Solid::symbols::draw_parts_shell { valuesList } { - foreach item $valuesList { - lassign $item key value unit - set data($key) $value - #set unit($key) $unit - } - set thickness $data(THICKNESS) - return [dict create thickness $thickness] -} - -proc Solid::symbols::draw_thickness { thickness } { - set z_max [expr $thickness*0.5] - set z_min [expr -1.0*$z_max] - GiD_OpenGL draw -color $::gid_draw_opengl::rgb(black) - GiD_OpenGL draw -polygonmode frontandback line - GiD_OpenGL draw -begin quads -vertex [list 0 -0.5 $z_min] -vertex [list 0 0.5 $z_min] -vertex [list 1 0.5 $z_min] -vertex [list 1 -0.5 $z_min] -end - GiD_OpenGL draw -begin quads -vertex [list 0 -0.5 $z_max] -vertex [list 0 0.5 $z_max] -vertex [list 1 0.5 $z_max] -vertex [list 1 -0.5 $z_max] -end - GiD_OpenGL draw -color $::gid_draw_opengl::rgb(green) - GiD_OpenGL draw -polygonmode frontandback fill - GiD_OpenGL draw -begin quads -vertex [list 0 -0.5 $z_min] -vertex [list 0 0.5 $z_min] -vertex [list 1 0.5 $z_min] -vertex [list 1 -0.5 $z_min] -end - GiD_OpenGL draw -begin quads -vertex [list 0 -0.5 $z_max] -vertex [list 0 0.5 $z_max] -vertex [list 1 0.5 $z_max] -vertex [list 1 -0.5 $z_max] -end -} - -proc Solid::symbols::draw_parts { valuesList } { - set list_id "" - foreach item $valuesList { - lassign $item key value unit - set data($key) $value - #set unit($key) $unit - } - set beam_elements { LargeDisplacementBeamElement3D LargeDisplacementBeamEMCElement3D } - set shell_elemenst { ShellThinElement ShellThickElement ShellThinCorotationalElement ShellThickCorotationalElement } - if { [lsearch $shell_elemenst $data(Element)] != -1 } { - set thickness $data(THICKNESS) - set drawing_procedure [list Solid::symbols::draw_thickness $thickness] - } elseif { [lsearch $beam_elements $data(Element)] != -1 } { - - #the kind of data depends on $data(ConstitutiveLaw) that is storing the kind of profile: UserDefined3D, RectangularSection3D, ... - set profile $data(ConstitutiveLaw) - set rotate_90 1 - if { $profile== "UserDefined3D" } { - #set area $data(AREA) - if { $data(INERTIA_Y) > $data(INERTIA_X) } { - set rotate_90 0 - } - } elseif { $profile== "RectangularSection3D" } { - if { $data(SECTION_WIDTH) > $data(SECTION_HEIGHT) } { - set rotate_90 0 - } - } else { - set rotate_90 1 - } - #draw a double t profile - set drawing_procedure [list gid_draw_opengl::draw_symbol_section_properties {0.0 0.0 0.0} {1.0 0.0 0.0} $rotate_90 1.0 1.0] - } else { - #assumed solid - return "" - } - set transform_matrix "" - if { [info procs gid_draw_opengl::create_opengl_list_drawing] != "" } { - set list_id [gid_draw_opengl::create_opengl_list_drawing $drawing_procedure $transform_matrix] - } else { - #to allow use it before the proc is available in next GiD 14.1.1d - set list_id [Solid::symbols::create_opengl_list_drawing $drawing_procedure $transform_matrix] - } - return $list_id -} - -#only to show how is called, without drawing nothing -proc Solid::symbols::draw_parts_free { valuesList geom_mesh ov num pnts points ent_type center scale } { - W "valuesList=$valuesList geom_mesh=$geom_mesh ov=$ov num=$num pnts=$pnts points=$points ent_type=$ent_type center=$center scale=$scale" - return "" -} - -######## START procs temporary defined copied from gid_draw_opengl package -#to allow use it before the proc is available in next GiD 14.1.1d -#to be deleted when this problemtype require this version or higher (and off course this version is available) - -#transform_matrix could be "" for identity -proc Solid::symbols::create_opengl_list_drawing { drawing_procedure transform_matrix } { - set list_id [GiD_OpenGL draw -genlists 1] - GiD_OpenGL draw -newlist $list_id compile - if { [llength $transform_matrix] } { - GiD_OpenGL draw -pushmatrix -multmatrix $transform_matrix - } - {*}$drawing_procedure - if { [llength $transform_matrix] } { - GiD_OpenGL draw -popmatrix - } - GiD_OpenGL draw -endlist - return $list_id -} - -#e.g. to draw a condition as a 3D shape defined in a GiD ASCII mesh file -#transform_matrix could be "" for the identity or a list with 16 values (representing a 4x4 opengl_matrix) -proc Solid::symbols::create_opengl_list_from_file_mesh { full_filename color_lines color_surfaces transform_matrix } { - package require customLib - set drawing_procedure [list gid_groups_conds::import_gid_mesh_as_openGL $full_filename $color_lines $color_surfaces] - return [Solid::symbols::create_opengl_list_drawing $drawing_procedure $transform_matrix] -} - -proc Solid::symbols::create_opengl_list_from_file_mesh_oriented_z_direction { full_filename color_lines color_surfaces z_direction } { - package require customLib - lassign [gid_groups_conds::calc_xy_shell $z_direction] x_axis y_axis z_axis - set transform_matrix [concat $x_axis 0 $y_axis 0 $z_axis 0 0 0 0 1] - return [Solid::symbols::create_opengl_list_from_file_mesh $full_filename $color_lines $color_surfaces $transform_matrix] -} - -#arrow size 1 pointing to +x (arrow cone height 0.3, radius 0.05) -proc Solid::symbols::draw_point_load { } { - #GiD_OpenGL draw -linewidth 2.0 - GiD_OpenGL draw -begin lines -vertex [list 0 0 0] -vertex [list 1 0 0] -end - GiD_OpenGL draw -begin trianglefan -vertex [list 1 0 0] - foreach angle [GidUtils::GetRange 0.0 $MathUtils::2PI 9] { - GiD_OpenGL draw -vertex [list 0.7 [expr {0.05*cos($angle)}] [expr {0.05*sin($angle)}]] - } - GiD_OpenGL draw -end - #GiD_OpenGL draw -linewidth 1.0 -} - -#arc and double-arrow size 1 pointing to +x (arrow cone height 0.1, radius 0.05) -proc Solid::symbols::draw_point_momentum { } { - GiD_OpenGL draw -begin lines -vertex [list 0 0 0] -vertex [list 1 0 0] -end - foreach x_cone_start {0.9 0.7} x_cone_end {1 0.8} { - GiD_OpenGL draw -begin trianglefan -vertex [list $x_cone_end 0 0] - foreach angle [GidUtils::GetRange 0.0 [expr {2.0*$MathUtils::Pi}] 9] { - GiD_OpenGL draw -vertex [list $x_cone_start [expr {0.05*cos($angle)}] [expr {0.05*sin($angle)}]] - } - GiD_OpenGL draw -end - } - GiD_OpenGL draw -begin linestrip - foreach angle [GidUtils::GetRange 0.0 [expr {1.5*$MathUtils::Pi}] 13] { - GiD_OpenGL draw -vertex [list 0 [expr {0.5*cos($angle)}] [expr {0.5*sin($angle)}]] - } - GiD_OpenGL draw -end - GiD_OpenGL draw -begin trianglefan -vertex [list 0 0 -0.5] - foreach angle [GidUtils::GetRange 0.0 [expr {2.0*$MathUtils::Pi}] 9] { - GiD_OpenGL draw -vertex [list [expr {0.05*sin($angle)}] -0.1 [expr {-0.5+0.05*cos($angle)}] ] - } - GiD_OpenGL draw -end -} -######## END procs temporary defined copied from gid_draw_opengl package diff --git a/kratos.gid/apps/Solid/write/validation.tcl b/kratos.gid/apps/Solid/write/validation.tcl deleted file mode 100644 index c2d1004b3..000000000 --- a/kratos.gid/apps/Solid/write/validation.tcl +++ /dev/null @@ -1,137 +0,0 @@ - -# return 0 means ok; return [list 1 "Error message to be displayed"] -proc Solid::write::writeValidateEvent { } { - set problem_message [list ] - - # Entities assigned to parts validation - lappend problem_message {*}[Solid::write::validatePartsMesh] - - # Entities assigned to parts validation - lappend problem_message {*}[Solid::write::validateNodalConditionsMesh] - - # Entities assigned to parts validation - #lappend problem_message {*}[Solid::write::validateLoadsMesh] - - # Add more tests here - - return [list [llength $problem_message] $problem_message] -} - -proc Solid::write::validatePartsMesh {} { - set problem_messages [list ] - # Get the Parts node - set parts_un "SLParts" - set root [customlib::GetBaseRoot] - set xp1 "[spdAux::getRoute $parts_un]/group" - # Foreach group assigned - foreach gNode [$root selectNodes $xp1] { - # Get group name - set group_name [$gNode @n] - # Get the assigned element - set element [write::getValueByNode [$gNode selectNodes "./value\[@n = 'Element'\]"]] - # Get the element available topologies - set topologies [Solid::write::GetTopologies [::Model::getElement $element]] - # Validate if the group has any of the valid topologies assigned - set has_any [Solid::write::ValidateGroupNotEmpty $group_name $topologies] - if {$has_any == 0} { - # Get the topologies to show the message - set valid_topologies [list ] - foreach topology $topologies { - lappend valid_topologies [$topology getGeometry] - } - # Add the message to the list of problems - lappend problem_messages "Parts > group: $group_name must have one of this elements assigned: $valid_topologies. Assign something in geometry and remesh" - } - } - return $problem_messages -} -proc Solid::write::validateNodalConditionsMesh {} { - set problem_messages [list ] - # Get the Nodal conditions node - set nodal_conditions_un "SLNodalConditions" - set root [customlib::GetBaseRoot] - set xp1 "[spdAux::getRoute $nodal_conditions_un]/condition/group" - # Foreach group assigned - foreach gNode [$root selectNodes $xp1] { - # Get group name - set group_name [write::GetWriteGroupName [$gNode @n]] - # Get the assigned nodal condition - set nodal_condition [[$gNode parent] @n] - # Get the nodal condition available topologies - set topologies [list [::Model::Topology new "Point" 1 ""]] - # TODO: validate ov - # Validate if the group has any of the valid topologies assigned - set has_any [Solid::write::ValidateGroupNotEmpty $group_name $topologies] - if {$has_any == 0} { - # Get the topologies to show the message - set valid_topologies [list ] - foreach topology $topologies { - lappend valid_topologies [$topology getGeometry] - } - # Add the message to the list of problems - lappend problem_messages "Conditions > group: $group_name must have one of this elements assigned: $valid_topologies. Assign something in geometry and remesh" - } - } - return $problem_messages -} - -proc Solid::write::validateLoadsMesh {} { - set problem_messages [list ] - # Get the Conditions node - set conditions_un "SLLoads" - set root [customlib::GetBaseRoot] - set xp1 "[spdAux::getRoute $conditions_un]/condition/group" - # Foreach group assigned - foreach gNode [$root selectNodes $xp1] { - # Get group name - set group_name [write::GetWriteGroupName [$gNode @n]] - # Get the assigned nodal condition - set condition [[$gNode parent] @n] - # Get the entity selected condition - if {[$gNode hasAttribute ov]} {set ov [$gNode getAttribute ov]} {set ov [[$gNode parent ] getAttribute ov]} - # Get the nodal condition available topologies - set topologies [Solid::write::GetTopologies [Model::getCondition $condition] ] - if {$topologies eq ""} {set topologies [list [::Model::Topology new "Point" 1 ""]]; set ov ""} - # Validate if the group has any of the valid topologies assigned - set has_any [Solid::write::ValidateGroupNotEmpty $group_name $topologies $ov] - if {$has_any == 0} { - # Get the topologies to show the message - set valid_topologies [list ] - foreach topology $topologies { - lappend valid_topologies [$topology getGeometry] - } - # Add the message to the list of problems - lappend problem_messages "Loads > group: $group_name must have one of this elements assigned: $valid_topologies. Assign something in geometry and remesh" - } - } - return $problem_messages -} - -proc Solid::write::GetTopologies { entity } { - if {$entity eq ""} {return [list ]} - return [$entity getTopologyFeatures] -} -proc Solid::write::ValidateGroupNotEmpty { group_name topologies {ov ""} } { - set any 0 - set isquadratic [write::isquadratic] - # W "$group_name ov: $ov topo: [llength $topologies] $topologies" - foreach topology $topologies { - set geo [$topology getGeometry] - if {$ov ne "" && [string tolower $geo] ne $ov} {continue} - if {$geo == "Point"} { - # W "Checking $group_name nodes: [GiD_EntitiesGroups get $group_name nodes -count]" - if {[GiD_EntitiesGroups get $group_name nodes -count] > 0} { - # TODO: check number of nodes if quadratic - set any 1 - break - } - } else { - if {[GiD_EntitiesGroups get $group_name elements -count -element_type $geo] > 0} { - # TODO: check number of nodes if quadratic - set any 1 - break - } - } - } - return $any -} \ No newline at end of file diff --git a/kratos.gid/apps/Solid/write/write.tcl b/kratos.gid/apps/Solid/write/write.tcl deleted file mode 100644 index 6c87fb3b6..000000000 --- a/kratos.gid/apps/Solid/write/write.tcl +++ /dev/null @@ -1,377 +0,0 @@ -namespace eval Solid::write { - variable mat_dict - variable validApps - variable ConditionsDictGroupIterators - variable NodalConditionsGroup - variable writeCoordinatesByGroups -} - -proc Solid::write::Init { } { - # Namespace variables inicialization - variable mat_dict - set mat_dict "" - variable ConditionsDictGroupIterators - variable NodalConditionsGroup - set ConditionsDictGroupIterators [dict create] - set NodalConditionsGroup [list ] - - variable validApps - set validApps [list "Solid"] - - variable writeCoordinatesByGroups - set writeCoordinatesByGroups 0 -} - -proc Solid::write::AddValidApps {appList} { - variable validApps - - lappend validApps $appList -} - -proc Solid::write::writeCustomFilesEvent { } { - WriteMaterialsFile - - write::CopyFileIntoModel "python/RunSolid.py" - set paralleltype [write::getValue ParallelType] - set orig_name "RunSolid.py" - - write::RenameFileInModel $orig_name "MainKratos.py" -} - -proc Solid::write::SetCoordinatesByGroups {value} { - variable writeCoordinatesByGroups - set writeCoordinatesByGroups $value -} - -# MDPA Blocks - -proc Solid::write::writeModelPartEvent { } { - variable writeCoordinatesByGroups - variable validApps - variable ConditionsDictGroupIterators - write::initWriteData "SLParts" "SLMaterials" - - write::writeModelPartData - write::WriteString "Begin Properties 0" - write::WriteString "End Properties" - write::writeMaterials $validApps - #write::writeTables - if {$writeCoordinatesByGroups} {write::writeNodalCoordinatesOnParts} {write::writeNodalCoordinates} - write::writeElementConnectivities - writeConditions - set basicConds [write::writeBasicSubmodelParts [getLastConditionId]] - set ConditionsDictGroupIterators [dict merge $ConditionsDictGroupIterators $basicConds] - writeMeshes - # W $ConditionsDictGroupIterators - #writeCustomBlock -} - - -proc Solid::write::writeConditions { } { - variable ConditionsDictGroupIterators - set ConditionsDictGroupIterators [write::writeConditions "SLLoads"] -} - -proc Solid::write::writeMeshes { } { - - write::writePartSubModelPart - - # Solo Malla , no en conditions - write::writeNodalConditions "SLNodalConditions" - - # A Condition y a meshes-> salvo lo que no tenga topologia - writeLoads -} - -proc Solid::write::writeLoads { } { - variable ConditionsDictGroupIterators - set root [customlib::GetBaseRoot] - set xp1 "[spdAux::getRoute "SLLoads"]/condition/group" - foreach group [$root selectNodes $xp1] { - set groupid [$group @n] - set groupid [write::GetWriteGroupName $groupid] - #W "Writing mesh of Load $groupid" - if {$groupid in [dict keys $ConditionsDictGroupIterators]} { - ::write::writeGroupSubModelPart [[$group parent] @n] $groupid "Conditions" [dict get $ConditionsDictGroupIterators $groupid] - } else { - ::write::writeGroupSubModelPart [[$group parent] @n] $groupid "nodal" - } - } -} - - -proc Solid::write::writeCustomBlock { } { - write::WriteString "Begin Custom" - write::WriteString "Custom write for Solid, any app can call me, so be careful!" - write::WriteString "End Custom" - write::WriteString "" -} - -proc Solid::write::getLastConditionId { } { - variable ConditionsDictGroupIterators - set top 1 - if {$ConditionsDictGroupIterators ne ""} { - foreach {group iters} $ConditionsDictGroupIterators { - set top [expr max($top,[lindex $iters 1])] - } - } - return $top -} - -# Custom files -proc Solid::write::WriteMaterialsFile { } { - variable validApps - - set filename "Materials.json" - set mats_json [Solid::write::getPropertiesList SLParts] - - write::OpenFile $filename - write::WriteJSON $mats_json - write::CloseFile -} - -proc Solid::write::WriteMaterialsFileOld { } { - variable validApps - - set filename "Materials.json" - set mats_json [Solid::write::getPropertiesList SLParts] - - write::OpenFile $filename - write::WriteJSON $mats_json - write::CloseFile - - write::OpenFile "materials.py" - - set str " -from __future__ import print_function, absolute_import, division #makes KratosMultiphysics backward compatible with python 2.6 and 2.7 -# Importing the Kratos Library -from KratosMultiphysics import * -from KratosMultiphysics.SolidMechanicsApplication import * -from beam_sections_python_utility import SetProperties -from beam_sections_python_utility import SetMaterialProperties - -def AssignMaterial(Properties): - # material for solid material" - foreach {part mat} [write::getMatDict] { - if {[dict get $mat APPID] in $validApps} { - set law_name [dict get $mat ConstitutiveLaw] - set law_type [[Model::getConstitutiveLaw $law_name] getAttribute "Type"] - set public_name [[Model::getConstitutiveLaw $law_name] getAttribute "pn"] - if {$law_type eq "1D_UR"} { - append str " - prop_id = [dict get $mat MID]; - prop = Properties\[prop_id\] -" - if {$public_name eq "Circular"} { - append str " - section_type = \"$public_name\" - prop_list = \[\] - prop_list.append([dict get $mat DIAMETER]) - prop = SetProperties(section_type,prop_list,prop) -" - } elseif {$public_name eq "Tubular"} { - append str " - section_type = \"$public_name\" - prop_list = \[\] - prop_list.append([dict get $mat DIAMETER]) - prop_list.append([dict get $mat THICKNESS]) - prop = SetProperties(section_type,prop_list,prop) -" - } elseif {$public_name eq "Rectangular"} { - append str " - section_type = \"$public_name\" - prop_list = \[\] - prop_list.append([dict get $mat HEIGHT]) - prop_list.append([dict get $mat WIDTH]) - prop = SetProperties(section_type,prop_list,prop) -" - } elseif {$public_name eq "UserDefined"} { - append str " - section_type = \"$public_name\" - prop_list = \[\] - prop_list.append([dict get $mat AREA]) - prop_list.append([dict get $mat INERTIA_X]) - prop_list.append([dict get $mat INERTIA_Y]) - prop = SetProperties(section_type,prop_list,prop) -" - } elseif {$public_name eq "UserParameters"} { - append str " - section_type = \"UserDefined\" - prop_list = \[\] - prop_list.append([dict get $mat YOUNGxAREA]) - prop_list.append([dict get $mat SHEARxREDUCED_AREA]) - prop_list.append([dict get $mat YOUNGxINERTIA_X]) - prop_list.append([dict get $mat YOUNGxINERTIA_Y]) - prop_list.append([dict get $mat SHEARxPOLAR_INERTIA]) - prop = SetMaterialProperties(section_type,prop_list,prop) -" - } else { - append str " - section_type = \"$public_name\" - prop_list = \[\] - prop_list.append([dict get $mat SIZE]) - prop = SetProperties(section_type,prop_list,prop) -" - } - } { - append str " - prop_id = [dict get $mat MID]; - prop = Properties\[prop_id\] - mat = [dict get $mat ConstitutiveLaw]() - prop.SetValue(CONSTITUTIVE_LAW, mat.Clone()) -" - - } - } - } - -if 0 { - foreach {part mat} [write::getMatDict] { - if {[dict get $mat APPID] in $validApps} { - append str " - prop_id = [dict get $mat MID]; - prop = Properties\[prop_id\] - mat = [dict get $mat ConstitutiveLaw]() - prop.SetValue(CONSTITUTIVE_LAW, mat.Clone()) - " - } - } -} - write::WriteString $str - write::CloseFile - -} - - -proc Solid::write::ProcessVectorFunctionComponents { groupNode condition process} { - set processDict [write::GetProcessHeader $groupNode $process $condition] - set val [write::GetInputValue $groupNode [$process getInputPn component]] - foreach i $val { - if {$i == "null"} { - lappend value null - } { - lappend value $i - } - } - - dict set processDict Parameters compound_assignment [write::GetInputValue $groupNode [$process getInputPn compound_assignment]] - dict set processDict Parameters value $value - - - return $processDict -} - -proc Solid::write::getPropertiesList {parts_un} { - set mat_dict [write::getMatDict] - set props_dict [dict create] - set props [list ] - set sections [list ] - - set python_module "assign_materials_process" - set process_name "AssignMaterialsProcess" - set help "This process creates a material and assigns its properties" - - #set doc $gid_groups_conds::doc - #set root [$doc documentElement] - set root [customlib::GetBaseRoot] - - set xp1 "[spdAux::getRoute $parts_un]/group" - foreach gNode [$root selectNodes $xp1] { - set group [get_domnode_attribute $gNode n] - set sub_model_part [write::getSubModelPartId Parts $group] - if { [dict exists $mat_dict $group] } { - set law_id [dict get $mat_dict $group MID] - set law_name [dict get $mat_dict $group ConstitutiveLaw] - set law_type [[Model::getConstitutiveLaw $law_name] getAttribute "Type"] - set mat_name [dict get $mat_dict $group Material] - - if {$law_type eq "1D_UR"} { - set python_module "assign_sections_process" - set process_name "AssignSectionsProcess" - set help "This process creates a section and assigns its properties" - } - - set prop_dict [dict create] - set kratos_module [[Model::getConstitutiveLaw $law_name] getAttribute "kratos_module"] - dict set prop_dict "python_module" $python_module - dict set prop_dict "kratos_module" $kratos_module - dict set prop_dict "help" $help - dict set prop_dict "process_name" $process_name - - set exclusionList [list "MID" "APPID" "ConstitutiveLaw" "Material" "Element"] - set variables_dict [dict create] - foreach prop [dict keys [dict get $mat_dict $group] ] { - if {$prop ni $exclusionList} { - dict set variables_list $prop [write::getFormattedValue [dict get $mat_dict $group $prop]] - } - } - - set material_dict [dict create] - dict set material_dict "model_part_name" $sub_model_part - dict set material_dict "properties_id" $law_id - dict set material_dict "material_name" $mat_name - - if {$law_type eq "1D_UR"} { - set public_name [[Model::getConstitutiveLaw $law_name] getAttribute "pn"] - dict set material_dict "section_type" $public_name - } else { - set law_full_name [join [list "KratosMultiphysics" $kratos_module $law_name] "."] - dict set material_dict constitutive_law [dict create name $law_full_name] - } - dict set material_dict variables $variables_list - dict set material_dict tables dictnull - dict set prop_dict Parameters $material_dict - - lappend props $prop_dict - } - - } - - dict set props_dict material_models_list $props - - return $props_dict -} - -proc Solid::write::GetUsedElements { {get "Objects"} } { - set xp1 "[spdAux::getRoute SLParts]/group" - set lista [list ] - foreach gNode [[customlib::GetBaseRoot] selectNodes $xp1] { - set elem_name [get_domnode_attribute [$gNode selectNodes ".//value\[@n='Element']"] v] - set e [Model::getElement $elem_name] - if {$get eq "Name"} { set e [$e getName] } - lappend lista $e - } - return $lista -} - -proc Solid::write::GetDefaultOutputDict { {appid ""} } { - set outputDict [dict create] - set resultDict [dict create] - - if {$appid eq ""} {set results_UN Results } {set results_UN [apps::getAppUniqueName $appid Results]} - set GiDPostDict [dict create] - dict set GiDPostDict GiDPostMode [write::getValue $results_UN GiDPostMode] - dict set GiDPostDict WriteDeformedMeshFlag [write::getValue $results_UN GiDWriteMeshFlag] - dict set GiDPostDict WriteConditionsFlag [write::getValue $results_UN GiDWriteConditionsFlag] - dict set GiDPostDict MultiFileFlag [write::getValue $results_UN GiDMultiFileFlag] - dict set resultDict gidpost_flags $GiDPostDict - - dict set resultDict file_label [write::getValue $results_UN FileLabel] - set outputCT [write::getValue $results_UN OutputControlType] - dict set resultDict output_control_type $outputCT - if {$outputCT eq "time"} {set frequency [write::getValue $results_UN OutputDeltaTime]} {set frequency [write::getValue $results_UN OutputDeltaStep]} - dict set resultDict output_interval $frequency - - dict set resultDict node_output [write::getValue $results_UN NodeOutput] - - #dict set resultDict plane_output [write::GetCutPlanesList $results_UN] - - dict set resultDict nodal_results [write::GetResultsList $results_UN OnNodes] - dict set resultDict gauss_point_results [write::GetResultsList $results_UN OnElement] - - dict set outputDict "result_file_configuration" $resultDict - #dict set outputDict "point_data_configuration" [write::GetEmptyList] - return $outputDict -} - -Solid::write::Init diff --git a/kratos.gid/apps/Solid/write/writeProjectParameters.tcl b/kratos.gid/apps/Solid/write/writeProjectParameters.tcl deleted file mode 100644 index d1f6b228b..000000000 --- a/kratos.gid/apps/Solid/write/writeProjectParameters.tcl +++ /dev/null @@ -1,177 +0,0 @@ -# Project Parameters - -proc Solid::write::getParametersDict { } { - set model_name "Solid_Domain" - set projectParametersDict [dict create] - - # Problem data - set problemDataDict [dict create] - - # Add items - set model_name [Kratos::GetModelName] - dict set problemDataDict problem_name $model_name - - # Parallelization - set paralleltype [write::getValue ParallelType] - #dict set problemDataDict "parallel_type" $paralleltype - if {$paralleltype eq "OpenMP"} { - #set nthreads [write::getValue Parallelization OpenMPNumberOfThreads] - #dict set problemDataDict NumberofThreads $nthreads - } else { - #set nthreads [write::getValue Parallelization MPINumberOfProcessors] - #dict set problemDataDict NumberofProcessors $nthreads - } - - set echo_level [write::getValue Results EchoLevel] - dict set problemDataDict echo_level $echo_level - - # Add ProblemData to Parameters - dict set projectParametersDict problem_data $problemDataDict - - # Time settings - set timeDataDict [dict create] - dict set timeDataDict time_step [write::getValue SLTimeParameters DeltaTime] - dict set timeDataDict start_time [write::getValue SLTimeParameters StartTime] - dict set timeDataDict end_time [write::getValue SLTimeParameters EndTime] - - dict set projectParametersDict time_settings $timeDataDict - - # Model data - # Create section - set modelDataDict [dict create] - - # Add items - dict set modelDataDict model_name $model_name - set nDim [expr [string range [write::getValue nDim] 0 0] ] - dict set modelDataDict dimension $nDim - - dict set modelDataDict domain_parts_list [write::getSubModelPartNames "SLParts"] - dict set modelDataDict processes_parts_list [write::getSubModelPartNames "SLNodalConditions" "SLLoads"] - - # Add model import settings - set importDataDict [dict create] - #dict set importDataDict type "mdpa" - dict set importDataDict name $model_name - #dict set importDataDict label 0 - dict set modelDataDict input_file_settings $importDataDict - - # Add ModelData to Parameters - dict set projectParametersDict model_settings $modelDataDict - - # Solver settings - set solverDataDict [dict create] - - set currentStrategyId [write::getValue SLSolStrat] - set strategy_write_name [[::Model::GetSolutionStrategy $currentStrategyId] getAttribute "python_module"] - dict set solverDataDict solver_type $strategy_write_name - - # Solver parameters - set solverParametersDict [dict create] - - # Time integration settings - set integrationDataDict [dict create] - - dict set integrationDataDict solution_type [write::getValue SLSoluType] - - set solutiontype [write::getValue SLSoluType] - if {$solutiontype ne "Dynamic"} { - dict set integrationDataDict integration_method [write::getValue SLScheme] - dict set integrationDataDict analysis_type [write::getValue SLAnalysisType] - } else { - dict set integrationDataDict time_integration [write::getValue SLSolStrat] - dict set integrationDataDict integration_method [write::getValue SLScheme] - } - - # Solving strategy settings - set strategyDataDict [dict create] - - # Solution strategy parameters and Solvers - set strategyDataDict [dict merge $strategyDataDict [write::getSolutionStrategyParametersDict] ] - - # Get integration order as term for the integration settings - set exist_time_integration [dict exists $strategyDataDict time_integration_order] - if {$exist_time_integration eq 1} { - dict set integrationDataDict time_integration_order [dict get $strategyDataDict time_integration_order] - dict unset strategyDataDict time_integration_order - } - - dict set solverParametersDict time_integration_settings $integrationDataDict - - # Get convergence criterion settings - set convergenceDataDict [dict create] - set exist_convergence_criterion [dict exists $strategyDataDict convergence_criterion] - if {$exist_convergence_criterion eq 1} { - dict set convergenceDataDict convergence_criterion [dict get $strategyDataDict convergence_criterion] - dict unset strategyDataDict convergence_criterion - set exist_variable_tolerances [dict exists $strategyDataDict variable_relative_tolerance] - if {$exist_variable_tolerances eq 1} { - dict set convergenceDataDict variable_relative_tolerance [dict get $strategyDataDict variable_relative_tolerance] - dict set convergenceDataDict variable_absolute_tolerance [dict get $strategyDataDict variable_absolute_tolerance] - dict unset strategyDataDict variable_relative_tolerance - dict unset strategyDataDict variable_absolute_tolerance - } - set exist_residual_tolerances [dict exists $strategyDataDict residual_relative_tolerance] - if {$exist_residual_tolerances eq 1} { - dict set convergenceDataDict residual_relative_tolerance [dict get $strategyDataDict residual_relative_tolerance] - dict set convergenceDataDict residual_absolute_tolerance [dict get $strategyDataDict residual_absolute_tolerance] - dict unset strategyDataDict residual_relative_tolerance - dict unset strategyDataDict residual_absolute_tolerance - } - } - - dict set solverParametersDict convergence_criterion_settings $convergenceDataDict - - set strategy_data_size [dict size $strategyDataDict] - if { $strategy_data_size ne 0 } { - dict set solverParametersDict solving_strategy_settings $strategyDataDict - } - - # Linear solver settings - set solverParametersDict [dict merge $solverParametersDict [write::getSolversParametersDict Solid] ] - - # Add Dofs - dict set solverParametersDict dofs [list {*}[DofsInElements] ] - - dict set solverDataDict Parameters $solverParametersDict - - dict set projectParametersDict solver_settings $solverDataDict - - # Lists of processes - set nodal_conditions_dict [write::getConditionsParametersDict SLNodalConditions "Nodal"] - dict set projectParametersDict constraints_process_list $nodal_conditions_dict - - dict set projectParametersDict loads_process_list [write::getConditionsParametersDict SLLoads] - - # GiD output configuration - dict set projectParametersDict output_configuration [Solid::write::GetDefaultOutputDict] - - # restart options - set restartDict [dict create ] - dict set restartDict SaveRestart false - dict set restartDict RestartFrequency 0 - dict set restartDict LoadRestart false - dict set restartDict Restart_Step 0 - #dict set projectParametersDict restart_options $restartDict - - return $projectParametersDict -} - -proc Solid::write::DofsInElements { } { - set dofs [list ] - set root [customlib::GetBaseRoot] - set xp1 "[spdAux::getRoute SLParts]/group/value\[@n='Element'\]" - set elements [$root selectNodes $xp1] - foreach element_node $elements { - set elemid [$element_node @v] - set elem [Model::getElement $elemid] - foreach dof [split [$elem getAttribute "Dofs"] ","] { - if {$dof ni $dofs} {lappend dofs $dof} - } - } - return {*}$dofs -} - -proc Solid::write::writeParametersEvent { } { - write::WriteJSON [getParametersDict] - write::SetParallelismConfiguration -} diff --git a/kratos.gid/apps/Solid/xml/BoundaryConditions.spd b/kratos.gid/apps/Solid/xml/BoundaryConditions.spd deleted file mode 100644 index fc68d449e..000000000 --- a/kratos.gid/apps/Solid/xml/BoundaryConditions.spd +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/kratos.gid/apps/Solid/xml/Conditions.xml b/kratos.gid/apps/Solid/xml/Conditions.xml deleted file mode 100644 index 43c9a5463..000000000 --- a/kratos.gid/apps/Solid/xml/Conditions.xml +++ /dev/null @@ -1,378 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/kratos.gid/apps/Solid/xml/ConstitutiveLaws.xml b/kratos.gid/apps/Solid/xml/ConstitutiveLaws.xml deleted file mode 100644 index ea6ea7cc6..000000000 --- a/kratos.gid/apps/Solid/xml/ConstitutiveLaws.xml +++ /dev/null @@ -1,694 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/kratos.gid/apps/Solid/xml/DeprecatedProcesses.xml b/kratos.gid/apps/Solid/xml/DeprecatedProcesses.xml deleted file mode 100644 index 5de58ec3f..000000000 --- a/kratos.gid/apps/Solid/xml/DeprecatedProcesses.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/kratos.gid/apps/Solid/xml/Elements.xml b/kratos.gid/apps/Solid/xml/Elements.xml deleted file mode 100644 index 21a6ec0f1..000000000 --- a/kratos.gid/apps/Solid/xml/Elements.xml +++ /dev/null @@ -1,958 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/kratos.gid/apps/Solid/xml/Fields.spd b/kratos.gid/apps/Solid/xml/Fields.spd deleted file mode 100644 index 4d781b83e..000000000 --- a/kratos.gid/apps/Solid/xml/Fields.spd +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/kratos.gid/apps/Solid/xml/Functions.spd b/kratos.gid/apps/Solid/xml/Functions.spd deleted file mode 100644 index e2a9567a6..000000000 --- a/kratos.gid/apps/Solid/xml/Functions.spd +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/kratos.gid/apps/Solid/xml/Loads.spd b/kratos.gid/apps/Solid/xml/Loads.spd deleted file mode 100644 index f9fc3166e..000000000 --- a/kratos.gid/apps/Solid/xml/Loads.spd +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/kratos.gid/apps/Solid/xml/Main.spd b/kratos.gid/apps/Solid/xml/Main.spd deleted file mode 100644 index 14b4000ec..000000000 --- a/kratos.gid/apps/Solid/xml/Main.spd +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/kratos.gid/apps/Solid/xml/Materials.spd b/kratos.gid/apps/Solid/xml/Materials.spd deleted file mode 100644 index 51f040cd2..000000000 --- a/kratos.gid/apps/Solid/xml/Materials.spd +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/kratos.gid/apps/Solid/xml/Materials.xml b/kratos.gid/apps/Solid/xml/Materials.xml deleted file mode 100644 index 5c769b544..000000000 --- a/kratos.gid/apps/Solid/xml/Materials.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/kratos.gid/apps/Solid/xml/NodalConditions.xml b/kratos.gid/apps/Solid/xml/NodalConditions.xml deleted file mode 100644 index 1a409ff4e..000000000 --- a/kratos.gid/apps/Solid/xml/NodalConditions.xml +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/kratos.gid/apps/Solid/xml/Parts.spd b/kratos.gid/apps/Solid/xml/Parts.spd deleted file mode 100644 index 2ba7cf0f1..000000000 --- a/kratos.gid/apps/Solid/xml/Parts.spd +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/kratos.gid/apps/Solid/xml/Processes.xml b/kratos.gid/apps/Solid/xml/Processes.xml deleted file mode 100644 index 386f279ef..000000000 --- a/kratos.gid/apps/Solid/xml/Processes.xml +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/kratos.gid/apps/Solid/xml/Procs.spd b/kratos.gid/apps/Solid/xml/Procs.spd deleted file mode 100644 index 172497ac8..000000000 --- a/kratos.gid/apps/Solid/xml/Procs.spd +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/kratos.gid/apps/Solid/xml/Results.spd b/kratos.gid/apps/Solid/xml/Results.spd deleted file mode 100644 index 9e10fab2a..000000000 --- a/kratos.gid/apps/Solid/xml/Results.spd +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/kratos.gid/apps/Solid/xml/SolutionStrategy.spd b/kratos.gid/apps/Solid/xml/SolutionStrategy.spd deleted file mode 100644 index 63761ecdb..000000000 --- a/kratos.gid/apps/Solid/xml/SolutionStrategy.spd +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/kratos.gid/apps/Solid/xml/StageInfo.spd b/kratos.gid/apps/Solid/xml/StageInfo.spd deleted file mode 100644 index cbb7c6d35..000000000 --- a/kratos.gid/apps/Solid/xml/StageInfo.spd +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/kratos.gid/apps/Solid/xml/Strategies.xml b/kratos.gid/apps/Solid/xml/Strategies.xml deleted file mode 100644 index 23b66efb9..000000000 --- a/kratos.gid/apps/Solid/xml/Strategies.xml +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/kratos.gid/apps/Solid/xml/XmlController.tcl b/kratos.gid/apps/Solid/xml/XmlController.tcl deleted file mode 100644 index b4c76bdc7..000000000 --- a/kratos.gid/apps/Solid/xml/XmlController.tcl +++ /dev/null @@ -1,152 +0,0 @@ -namespace eval Solid::xml { - variable dir -} - -proc Solid::xml::Init { } { - variable dir - Model::InitVariables dir $Solid::dir - - Model::getSolutionStrategies Strategies.xml - Model::getElements Elements.xml - Model::getMaterials Materials.xml - Model::getNodalConditions NodalConditions.xml - Model::getConstitutiveLaws ConstitutiveLaws.xml - Model::getProcesses DeprecatedProcesses.xml - Model::getProcesses Processes.xml - Model::getConditions Conditions.xml - Model::getSolvers "../../Common/xml/Solvers.xml" - - # Model::ForgetElement SmallDisplacementBbarElement2D - # Model::ForgetElement SmallDisplacementBbarElement3D - - # This solver is not working in kratos June 01 2018 - Model::ForgetSolver GMRESSolver -} - -proc Solid::xml::getUniqueName {name} { - return SL$name -} - -proc Solid::xml::CustomTree { args } { - - set root [customlib::GetBaseRoot] - - #set icon data as default - foreach node [$root getElementsByTagName value ] { $node setAttribute icon data } - - #intervals - spdAux::SetValueOnTreeItem icon timeIntervals Intervals - foreach node [$root selectNodes "[spdAux::getRoute Intervals]/blockdata"] { - $node setAttribute icon select - } - - #conditions - foreach node [$root selectNodes "[spdAux::getRoute SLNodalConditions]/condition" ] { - $node setAttribute icon select - $node setAttribute groups_icon groupCreated - } - - #loads - foreach node [$root selectNodes "[spdAux::getRoute SLLoads]/condition" ] { - $node setAttribute icon select - $node setAttribute groups_icon groupCreated - } - - #materials - foreach node [$root selectNodes "[spdAux::getRoute SLMaterials]/blockdata" ] { - $node setAttribute icon select - } - - #solver settings - foreach node [$root selectNodes "[spdAux::getRoute SLStratSection]/container\[@n = 'linear_solver_settings'\]" ] { - $node setAttribute icon solvers - } - - #linear solver parameters - spdAux::SetValueOnTreeItem v 2000 SLImplicitlinear_solver_settings max_iteration - spdAux::SetValueOnTreeItem v 1e-6 SLImplicitlinear_solver_settings tolerance - spdAux::SetValueOnTreeItem v cg SLImplicitlinear_solver_settings krylov_type - - #results - foreach result [list SPRING_2D BALLAST_2D AXIAL_TURN_2D AXIAL_VELOCITY_TURN_2D AXIAL_ACCELERATION_TURN_2D SPRING_3D BALLAST_3D AXIAL_TURN_3D AXIAL_VELOCITY_TURN_3D AXIAL_ACCELERATION_TURN_3D] { - set result_node [$root selectNodes "[spdAux::getRoute NodalResults]/value\[@n = '$result'\]"] - if { $result_node ne "" } {$result_node delete} - } - - #units - [$root selectNodes "/Kratos_data/blockdata\[@n = 'units'\]"] setAttribute icon setUnits - - # Initial state for Strategy Parameters - # set solutionType [get_domnode_attribute [$root selectNodes [spdAux::getRoute SLSoluType]] v] - # if {$solutionType ne "Dynamic"} { - # [$root selectNodes [spdAux::getRoute SLStratParams]] setAttribute state hidden - # } -} - - -proc Solid::xml::ProcGetSolutionStrategiesSolid { domNode args } { - set names [list ] - set pnames [list ] - set solutionType [get_domnode_attribute [$domNode selectNodes [spdAux::getRoute SLSoluType]] v] - set Sols [::Model::GetSolutionStrategies [list "SolutionType" $solutionType] ] - set ids [list ] - foreach ss $Sols { - lappend names [$ss getName] - lappend pnames [$ss getName] - lappend pnames [$ss getPublicName] - } - $domNode setAttribute values [join $names ","] - set dv [lindex $names 0] - if {[$domNode getAttribute v] eq ""} {$domNode setAttribute v $dv; spdAux::RequestRefresh} - if {[$domNode getAttribute v] ni $names} {$domNode setAttribute v $dv; spdAux::RequestRefresh} - - return [join $pnames ","] -} - -proc Solid::xml::ProcCheckNodalConditionStateSolid {domNode args} { - # Overwritten the base function to add Solution Type restrictions - set parts_un SLParts - if {[spdAux::getRoute $parts_un] ne ""} { - set conditionId [$domNode @n] - set elems [$domNode selectNodes "[spdAux::getRoute $parts_un]/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 SLSoluType]] v] - set params [list analysis_type $solutionType] - if {[::Model::CheckElementsNodalCondition $conditionId $elemnames $params]} {return "normal"} else {return "hidden"} - } {return "normal"} -} - -proc Solid::xml::ProcCheckGeometrySolid {domNode args} { - set ret "surface" - if {$::Model::SpatialDimension eq "3D"} { - set ret "line,surface,volume" - } elseif {$::Model::SpatialDimension eq "2D"} { - set ret "line,surface" - } elseif {$::Model::SpatialDimension eq "1D"} { - set ret "line" - } - return $ret -} - -proc Solid::xml::ProcCheckStratParamsState {domNode args} { - set ret "normal" - - set solutionType [get_domnode_attribute [$domNode selectNodes [spdAux::getRoute SLSoluType]] v] - set analysisType [get_domnode_attribute [$domNode selectNodes [spdAux::getRoute SLAnalysisType]] v] - - if {$solutionType ne "Dynamic"} { - # If Static or Quasi-static - if {$analysisType eq "Linear"} { - # If linear -> hide - set ret "hidden" - } - } - - return $ret -} - - -Solid::xml::Init diff --git a/kratos.gid/kratos.xml b/kratos.gid/kratos.xml index 4172b910d..6f0737ff0 100644 --- a/kratos.gid/kratos.xml +++ b/kratos.gid/kratos.xml @@ -44,51 +44,5 @@ Kratos is OPEN SOURCE. The main code and program structure is available and aime Kratos is FREE because is devoted mainly to developers, researchers and students and, therefore, is the most fruitful way to share knowledge and built a robust numerical methods laboratory adapted to their users' needs. Free because you have the freedom to modify and distribute the software. The one thing you're not able to do with free software is take away other people's freedom. Please, read the license for more detailed information. - - * What is new? - * Solid: - - New examples - * Structural: - - Hinges - - Eigen analysis - - - * What is new? - * Bug fix - - - * What is new? - * Removed Dam Application due to Copyright issues - - - * What is new? - * FSI: - - Bug correction in the update utilities - - Removed deprecated Python FSI solvers - * Fixed display version number - - - * What is new? - * Several bug fixes in core and applications: - - Better MPI portability (Linux) - - More consistence support of json configuration file - * Structural Mechanic: - - Linear and nonlinear beam element (for small and large displacement) - - Linear and nonlinear truss element (for small and large displacement) - - Initial support for beam orientation - - Truss element now available - - New Hyperelastic Law - - Corrections in the Updated Lagrangian Element - - Membrane and shells of both 3 and 4 nodes now available - * Fluid Dynamics: - - Several improvements under the hood for the Embedded CFD solver - - New monolithic version of the embedded solver based on Ausas shape functions - - New slip model for embedded CFD - * FSI: - - Improved precision of the solvers - * Added Dam application - * New GUI - - diff --git a/kratos.gid/kratos_default.spd b/kratos.gid/kratos_default.spd index 20cfa11e0..6316814d1 100644 --- a/kratos.gid/kratos_default.spd +++ b/kratos.gid/kratos_default.spd @@ -9,7 +9,6 @@ -