Skip to content

Commit 400f489

Browse files
Rename solid files
1 parent 86e59fa commit 400f489

2 files changed

Lines changed: 154 additions & 154 deletions

File tree

kratos.gid/apps/Solid/start.tcl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@ proc ::Solid::Init { } {
2929

3030
proc ::Solid::LoadMyFiles { } {
3131
variable dir
32-
uplevel #0 [list source [file join $dir examples examples.tcl]]
33-
uplevel #0 [list source [file join $dir xml GetFromXML.tcl]]
32+
uplevel #0 [list source [file join $dir xml XmlController.tcl]]
3433
uplevel #0 [list source [file join $dir write write.tcl]]
3534
uplevel #0 [list source [file join $dir write validation.tcl]]
3635
uplevel #0 [list source [file join $dir write writeProjectParameters.tcl]]
3736
uplevel #0 [list source [file join $dir symbols symbols.tcl]]
37+
uplevel #0 [list source [file join $dir examples examples.tcl]]
3838
}
3939

4040
proc ::Solid::GetAttribute {name} {
Lines changed: 152 additions & 152 deletions
Original file line numberDiff line numberDiff line change
@@ -1,152 +1,152 @@
1-
namespace eval Solid::xml {
2-
variable dir
3-
}
4-
5-
proc Solid::xml::Init { } {
6-
variable dir
7-
Model::InitVariables dir $Solid::dir
8-
9-
Model::getSolutionStrategies Strategies.xml
10-
Model::getElements Elements.xml
11-
Model::getMaterials Materials.xml
12-
Model::getNodalConditions NodalConditions.xml
13-
Model::getConstitutiveLaws ConstitutiveLaws.xml
14-
Model::getProcesses DeprecatedProcesses.xml
15-
Model::getProcesses Processes.xml
16-
Model::getConditions Conditions.xml
17-
Model::getSolvers "../../Common/xml/Solvers.xml"
18-
19-
# Model::ForgetElement SmallDisplacementBbarElement2D
20-
# Model::ForgetElement SmallDisplacementBbarElement3D
21-
22-
# This solver is not working in kratos June 01 2018
23-
Model::ForgetSolver GMRESSolver
24-
}
25-
26-
proc Solid::xml::getUniqueName {name} {
27-
return SL$name
28-
}
29-
30-
proc Solid::xml::CustomTree { args } {
31-
32-
set root [customlib::GetBaseRoot]
33-
34-
#set icon data as default
35-
foreach node [$root getElementsByTagName value ] { $node setAttribute icon data }
36-
37-
#intervals
38-
spdAux::SetValueOnTreeItem icon timeIntervals Intervals
39-
foreach node [$root selectNodes "[spdAux::getRoute Intervals]/blockdata"] {
40-
$node setAttribute icon select
41-
}
42-
43-
#conditions
44-
foreach node [$root selectNodes "[spdAux::getRoute SLNodalConditions]/condition" ] {
45-
$node setAttribute icon select
46-
$node setAttribute groups_icon groupCreated
47-
}
48-
49-
#loads
50-
foreach node [$root selectNodes "[spdAux::getRoute SLLoads]/condition" ] {
51-
$node setAttribute icon select
52-
$node setAttribute groups_icon groupCreated
53-
}
54-
55-
#materials
56-
foreach node [$root selectNodes "[spdAux::getRoute SLMaterials]/blockdata" ] {
57-
$node setAttribute icon select
58-
}
59-
60-
#solver settings
61-
foreach node [$root selectNodes "[spdAux::getRoute SLStratSection]/container\[@n = 'linear_solver_settings'\]" ] {
62-
$node setAttribute icon solvers
63-
}
64-
65-
#linear solver parameters
66-
spdAux::SetValueOnTreeItem v 2000 SLImplicitlinear_solver_settings max_iteration
67-
spdAux::SetValueOnTreeItem v 1e-6 SLImplicitlinear_solver_settings tolerance
68-
spdAux::SetValueOnTreeItem v cg SLImplicitlinear_solver_settings krylov_type
69-
70-
#results
71-
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] {
72-
set result_node [$root selectNodes "[spdAux::getRoute NodalResults]/value\[@n = '$result'\]"]
73-
if { $result_node ne "" } {$result_node delete}
74-
}
75-
76-
#units
77-
[$root selectNodes "/Kratos_data/blockdata\[@n = 'units'\]"] setAttribute icon setUnits
78-
79-
# Initial state for Strategy Parameters
80-
# set solutionType [get_domnode_attribute [$root selectNodes [spdAux::getRoute SLSoluType]] v]
81-
# if {$solutionType ne "Dynamic"} {
82-
# [$root selectNodes [spdAux::getRoute SLStratParams]] setAttribute state hidden
83-
# }
84-
}
85-
86-
87-
proc Solid::xml::ProcGetSolutionStrategiesSolid { domNode args } {
88-
set names [list ]
89-
set pnames [list ]
90-
set solutionType [get_domnode_attribute [$domNode selectNodes [spdAux::getRoute SLSoluType]] v]
91-
set Sols [::Model::GetSolutionStrategies [list "SolutionType" $solutionType] ]
92-
set ids [list ]
93-
foreach ss $Sols {
94-
lappend names [$ss getName]
95-
lappend pnames [$ss getName]
96-
lappend pnames [$ss getPublicName]
97-
}
98-
$domNode setAttribute values [join $names ","]
99-
set dv [lindex $names 0]
100-
if {[$domNode getAttribute v] eq ""} {$domNode setAttribute v $dv; spdAux::RequestRefresh}
101-
if {[$domNode getAttribute v] ni $names} {$domNode setAttribute v $dv; spdAux::RequestRefresh}
102-
103-
return [join $pnames ","]
104-
}
105-
106-
proc Solid::xml::ProcCheckNodalConditionStateSolid {domNode args} {
107-
# Overwritten the base function to add Solution Type restrictions
108-
set parts_un SLParts
109-
if {[spdAux::getRoute $parts_un] ne ""} {
110-
set conditionId [$domNode @n]
111-
set elems [$domNode selectNodes "[spdAux::getRoute $parts_un]/group/value\[@n='Element'\]"]
112-
set elemnames [list ]
113-
foreach elem $elems { lappend elemnames [$elem @v]}
114-
set elemnames [lsort -unique $elemnames]
115-
116-
set solutionType [get_domnode_attribute [$domNode selectNodes [spdAux::getRoute SLSoluType]] v]
117-
set params [list analysis_type $solutionType]
118-
if {[::Model::CheckElementsNodalCondition $conditionId $elemnames $params]} {return "normal"} else {return "hidden"}
119-
} {return "normal"}
120-
}
121-
122-
proc Solid::xml::ProcCheckGeometrySolid {domNode args} {
123-
set ret "surface"
124-
if {$::Model::SpatialDimension eq "3D"} {
125-
set ret "line,surface,volume"
126-
} elseif {$::Model::SpatialDimension eq "2D"} {
127-
set ret "line,surface"
128-
} elseif {$::Model::SpatialDimension eq "1D"} {
129-
set ret "line"
130-
}
131-
return $ret
132-
}
133-
134-
proc Solid::xml::ProcCheckStratParamsState {domNode args} {
135-
set ret "normal"
136-
137-
set solutionType [get_domnode_attribute [$domNode selectNodes [spdAux::getRoute SLSoluType]] v]
138-
set analysisType [get_domnode_attribute [$domNode selectNodes [spdAux::getRoute SLAnalysisType]] v]
139-
140-
if {$solutionType ne "Dynamic"} {
141-
# If Static or Quasi-static
142-
if {$analysisType eq "Linear"} {
143-
# If linear -> hide
144-
set ret "hidden"
145-
}
146-
}
147-
148-
return $ret
149-
}
150-
151-
152-
Solid::xml::Init
1+
namespace eval Solid::xml {
2+
variable dir
3+
}
4+
5+
proc Solid::xml::Init { } {
6+
variable dir
7+
Model::InitVariables dir $Solid::dir
8+
9+
Model::getSolutionStrategies Strategies.xml
10+
Model::getElements Elements.xml
11+
Model::getMaterials Materials.xml
12+
Model::getNodalConditions NodalConditions.xml
13+
Model::getConstitutiveLaws ConstitutiveLaws.xml
14+
Model::getProcesses DeprecatedProcesses.xml
15+
Model::getProcesses Processes.xml
16+
Model::getConditions Conditions.xml
17+
Model::getSolvers "../../Common/xml/Solvers.xml"
18+
19+
# Model::ForgetElement SmallDisplacementBbarElement2D
20+
# Model::ForgetElement SmallDisplacementBbarElement3D
21+
22+
# This solver is not working in kratos June 01 2018
23+
Model::ForgetSolver GMRESSolver
24+
}
25+
26+
proc Solid::xml::getUniqueName {name} {
27+
return SL$name
28+
}
29+
30+
proc Solid::xml::CustomTree { args } {
31+
32+
set root [customlib::GetBaseRoot]
33+
34+
#set icon data as default
35+
foreach node [$root getElementsByTagName value ] { $node setAttribute icon data }
36+
37+
#intervals
38+
spdAux::SetValueOnTreeItem icon timeIntervals Intervals
39+
foreach node [$root selectNodes "[spdAux::getRoute Intervals]/blockdata"] {
40+
$node setAttribute icon select
41+
}
42+
43+
#conditions
44+
foreach node [$root selectNodes "[spdAux::getRoute SLNodalConditions]/condition" ] {
45+
$node setAttribute icon select
46+
$node setAttribute groups_icon groupCreated
47+
}
48+
49+
#loads
50+
foreach node [$root selectNodes "[spdAux::getRoute SLLoads]/condition" ] {
51+
$node setAttribute icon select
52+
$node setAttribute groups_icon groupCreated
53+
}
54+
55+
#materials
56+
foreach node [$root selectNodes "[spdAux::getRoute SLMaterials]/blockdata" ] {
57+
$node setAttribute icon select
58+
}
59+
60+
#solver settings
61+
foreach node [$root selectNodes "[spdAux::getRoute SLStratSection]/container\[@n = 'linear_solver_settings'\]" ] {
62+
$node setAttribute icon solvers
63+
}
64+
65+
#linear solver parameters
66+
spdAux::SetValueOnTreeItem v 2000 SLImplicitlinear_solver_settings max_iteration
67+
spdAux::SetValueOnTreeItem v 1e-6 SLImplicitlinear_solver_settings tolerance
68+
spdAux::SetValueOnTreeItem v cg SLImplicitlinear_solver_settings krylov_type
69+
70+
#results
71+
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] {
72+
set result_node [$root selectNodes "[spdAux::getRoute NodalResults]/value\[@n = '$result'\]"]
73+
if { $result_node ne "" } {$result_node delete}
74+
}
75+
76+
#units
77+
[$root selectNodes "/Kratos_data/blockdata\[@n = 'units'\]"] setAttribute icon setUnits
78+
79+
# Initial state for Strategy Parameters
80+
# set solutionType [get_domnode_attribute [$root selectNodes [spdAux::getRoute SLSoluType]] v]
81+
# if {$solutionType ne "Dynamic"} {
82+
# [$root selectNodes [spdAux::getRoute SLStratParams]] setAttribute state hidden
83+
# }
84+
}
85+
86+
87+
proc Solid::xml::ProcGetSolutionStrategiesSolid { domNode args } {
88+
set names [list ]
89+
set pnames [list ]
90+
set solutionType [get_domnode_attribute [$domNode selectNodes [spdAux::getRoute SLSoluType]] v]
91+
set Sols [::Model::GetSolutionStrategies [list "SolutionType" $solutionType] ]
92+
set ids [list ]
93+
foreach ss $Sols {
94+
lappend names [$ss getName]
95+
lappend pnames [$ss getName]
96+
lappend pnames [$ss getPublicName]
97+
}
98+
$domNode setAttribute values [join $names ","]
99+
set dv [lindex $names 0]
100+
if {[$domNode getAttribute v] eq ""} {$domNode setAttribute v $dv; spdAux::RequestRefresh}
101+
if {[$domNode getAttribute v] ni $names} {$domNode setAttribute v $dv; spdAux::RequestRefresh}
102+
103+
return [join $pnames ","]
104+
}
105+
106+
proc Solid::xml::ProcCheckNodalConditionStateSolid {domNode args} {
107+
# Overwritten the base function to add Solution Type restrictions
108+
set parts_un SLParts
109+
if {[spdAux::getRoute $parts_un] ne ""} {
110+
set conditionId [$domNode @n]
111+
set elems [$domNode selectNodes "[spdAux::getRoute $parts_un]/group/value\[@n='Element'\]"]
112+
set elemnames [list ]
113+
foreach elem $elems { lappend elemnames [$elem @v]}
114+
set elemnames [lsort -unique $elemnames]
115+
116+
set solutionType [get_domnode_attribute [$domNode selectNodes [spdAux::getRoute SLSoluType]] v]
117+
set params [list analysis_type $solutionType]
118+
if {[::Model::CheckElementsNodalCondition $conditionId $elemnames $params]} {return "normal"} else {return "hidden"}
119+
} {return "normal"}
120+
}
121+
122+
proc Solid::xml::ProcCheckGeometrySolid {domNode args} {
123+
set ret "surface"
124+
if {$::Model::SpatialDimension eq "3D"} {
125+
set ret "line,surface,volume"
126+
} elseif {$::Model::SpatialDimension eq "2D"} {
127+
set ret "line,surface"
128+
} elseif {$::Model::SpatialDimension eq "1D"} {
129+
set ret "line"
130+
}
131+
return $ret
132+
}
133+
134+
proc Solid::xml::ProcCheckStratParamsState {domNode args} {
135+
set ret "normal"
136+
137+
set solutionType [get_domnode_attribute [$domNode selectNodes [spdAux::getRoute SLSoluType]] v]
138+
set analysisType [get_domnode_attribute [$domNode selectNodes [spdAux::getRoute SLAnalysisType]] v]
139+
140+
if {$solutionType ne "Dynamic"} {
141+
# If Static or Quasi-static
142+
if {$analysisType eq "Linear"} {
143+
# If linear -> hide
144+
set ret "hidden"
145+
}
146+
}
147+
148+
return $ret
149+
}
150+
151+
152+
Solid::xml::Init

0 commit comments

Comments
 (0)