Skip to content

Commit dff0340

Browse files
rename in structural
1 parent ba18810 commit dff0340

2 files changed

Lines changed: 184 additions & 184 deletions

File tree

kratos.gid/apps/Structural/start.tcl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,11 @@ proc ::Structural::Init { } {
3333
proc ::Structural::LoadMyFiles { } {
3434
variable dir
3535

36-
uplevel #0 [list source [file join $dir examples examples.tcl]]
37-
uplevel #0 [list source [file join $dir xml GetFromXML.tcl]]
36+
uplevel #0 [list source [file join $dir xml XmlController.tcl]]
3837
uplevel #0 [list source [file join $dir write write.tcl]]
3938
uplevel #0 [list source [file join $dir write writeProjectParameters.tcl]]
4039
uplevel #0 [list source [file join $dir postprocess formfinding.tcl]]
40+
uplevel #0 [list source [file join $dir examples examples.tcl]]
4141
}
4242

4343
proc ::Structural::CustomToolbarItems { } {
Lines changed: 182 additions & 182 deletions
Original file line numberDiff line numberDiff line change
@@ -1,182 +1,182 @@
1-
namespace eval Structural::xml {
2-
variable dir
3-
}
4-
5-
proc Structural::xml::Init { } {
6-
variable dir
7-
Model::InitVariables dir $Structural::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 "../../Common/xml/Processes.xml"
15-
Model::getProcesses DeprecatedProcesses.xml
16-
Model::getProcesses Processes.xml
17-
Model::getConditions Conditions.xml
18-
Model::getSolvers "../../Common/xml/Solvers.xml"
19-
Model::getSolvers Solvers.xml
20-
}
21-
22-
proc Structural::xml::getUniqueName {name} {
23-
return ST$name
24-
}
25-
26-
proc ::Structural::xml::MultiAppEvent {args} {
27-
28-
}
29-
30-
proc Structural::xml::CustomTree { args } {
31-
spdAux::SetValueOnTreeItem state hidden STResults CutPlanes
32-
spdAux::SetValueOnTreeItem v SingleFile GiDOptions GiDMultiFileFlag
33-
spdAux::SetValueOnTreeItem v 1 GiDOptions EchoLevel
34-
35-
set result_node [[customlib::GetBaseRoot] selectNodes "[spdAux::getRoute NodalResults]/value\[@n = 'CONDENSED_DOF_LIST_2D'\]"]
36-
if {$result_node ne "" } {$result_node delete}
37-
set result_node [[customlib::GetBaseRoot] selectNodes "[spdAux::getRoute NodalResults]/value\[@n = 'CONDENSED_DOF_LIST'\]"]
38-
if {$result_node ne "" } {$result_node delete}
39-
set result_node [[customlib::GetBaseRoot] selectNodes "[spdAux::getRoute NodalResults]/value\[@n = 'CONTACT'\]"]
40-
if {$result_node ne "" } {$result_node delete}
41-
set result_node [[customlib::GetBaseRoot] selectNodes "[spdAux::getRoute NodalResults]/value\[@n = 'CONTACT_SLAVE'\]"]
42-
if {$result_node ne "" } {$result_node delete}
43-
44-
set xpath "[spdAux::getRoute STResults]/container\[@n='GiDOutput'\]/container\[@n='GiDOptions'\]"
45-
if {[[customlib::GetBaseRoot] selectNodes "$xpath/value\[@n='print_prestress'\]"] eq ""} {
46-
gid_groups_conds::addF $xpath value [list n print_prestress pn "Print prestress" values "true,false" v true state "\[checkStateByUniqueName STSoluType formfinding\]"]
47-
}
48-
if {[[customlib::GetBaseRoot] selectNodes "$xpath/value\[@n='print_mdpa'\]"] eq ""} {
49-
gid_groups_conds::addF $xpath value [list n print_mdpa pn "Print modelpart" values "true,false" v true state "\[checkStateByUniqueName STSoluType formfinding\]"]
50-
}
51-
}
52-
53-
proc Structural::xml::ProcCheckGeometryStructural {domNode args} {
54-
set ret "line,surface"
55-
if {$::Model::SpatialDimension eq "3D"} {
56-
set ret "line,surface,volume"
57-
}
58-
return $ret
59-
}
60-
61-
proc Structural::xml::ProcGetSolutionStrategiesStructural { domNode args } {
62-
set names ""
63-
set pnames ""
64-
set solutionType [get_domnode_attribute [$domNode selectNodes [spdAux::getRoute STSoluType]] v]
65-
set Sols [::Model::GetSolutionStrategies [list "SolutionType" $solutionType] ]
66-
set ids [list ]
67-
foreach ss $Sols {
68-
lappend ids [$ss getName]
69-
append names [$ss getName] ","
70-
append pnames [$ss getName] "," [$ss getPublicName] ","
71-
}
72-
set names [string range $names 0 end-1]
73-
set pnames [string range $pnames 0 end-1]
74-
75-
$domNode setAttribute values $names
76-
set dv [lindex $ids 0]
77-
if {[$domNode getAttribute v] eq ""} {$domNode setAttribute v $dv}
78-
if {[$domNode getAttribute v] ni $ids} {$domNode setAttribute v $dv}
79-
#spdAux::RequestRefresh
80-
return $pnames
81-
}
82-
83-
proc Structural::xml::ProcCheckNodalConditionStateStructural {domNode args} {
84-
# Overwritten the base function to add Solution Type restrictions
85-
set parts_un STParts
86-
if {[spdAux::getRoute $parts_un] ne ""} {
87-
set conditionId [$domNode @n]
88-
set condition [Model::getNodalConditionbyId $conditionId]
89-
set cnd_dim [$condition getAttribute WorkingSpaceDimension]
90-
if {$cnd_dim ne ""} {
91-
if {$cnd_dim ne $Model::SpatialDimension} {return "hidden"}
92-
}
93-
set elems [$domNode selectNodes "[spdAux::getRoute $parts_un]/condition/group/value\[@n='Element'\]"]
94-
set elemnames [list ]
95-
foreach elem $elems { lappend elemnames [$elem @v]}
96-
set elemnames [lsort -unique $elemnames]
97-
98-
set solutionType [get_domnode_attribute [$domNode selectNodes [spdAux::getRoute STSoluType]] v]
99-
set params [list analysis_type $solutionType]
100-
if {[::Model::CheckElementsNodalCondition $conditionId $elemnames $params]} {return "normal"} else {return "hidden"}
101-
} {return "normal"}
102-
}
103-
104-
proc Structural::xml::ProcCheckGeometryStructural {domNode args} {
105-
set ret "surface"
106-
if {$::Model::SpatialDimension eq "3D"} {
107-
set ret "surface,volume"
108-
}
109-
return $ret
110-
}
111-
112-
113-
proc Structural::xml::UpdateParts {domNode args} {
114-
set current [lindex [$domNode selectNodes "./group"] end]
115-
set element_name [get_domnode_attribute [$current selectNodes "./value\[@n = 'Element'\]"] v]
116-
set element [Model::getElement $element_name]
117-
set LocalAxesAutomaticFunction [$element getAttribute "LocalAxesAutomaticFunction"]
118-
if {$LocalAxesAutomaticFunction ne ""} {
119-
$LocalAxesAutomaticFunction $current
120-
}
121-
}
122-
123-
proc Structural::xml::AddLocalAxesToBeamElement { current } {
124-
# set y_axis_deviation [get_domnode_attribute [$current selectNodes "./value\[@n = 'LOCAL_AXIS_ROTATION'\]"] v]
125-
# W $y_axis_deviation
126-
set group [get_domnode_attribute $current n]
127-
if {[GiD_EntitiesGroups get $group lines -count]} {
128-
foreach line [GiD_EntitiesGroups get $group lines] {
129-
GiD_Process MEscape Data Conditions AssignCond line_Local_axes change -Automatic- $line escape escape
130-
#set raw [lindex [lindex [GiD_Info conditions -localaxesmat line_Local_axes mesh $line] 0] 3]
131-
}
132-
}
133-
}
134-
135-
136-
############# procs #################
137-
proc Structural::xml::ProcGetElementsStructural { domNode args } {
138-
set nodeApp [spdAux::GetAppIdFromNode $domNode]
139-
set sol_stratUN [apps::getAppUniqueName $nodeApp SolStrat]
140-
set schemeUN [apps::getAppUniqueName $nodeApp Scheme]
141-
if {[get_domnode_attribute [$domNode selectNodes [spdAux::getRoute $sol_stratUN]] v] eq ""} {
142-
get_domnode_attribute [$domNode selectNodes [spdAux::getRoute $sol_stratUN]] dict
143-
}
144-
if {[get_domnode_attribute [$domNode selectNodes [spdAux::getRoute $schemeUN]] v] eq ""} {
145-
get_domnode_attribute [$domNode selectNodes [spdAux::getRoute $schemeUN]] dict
146-
}
147-
148-
#W "solStrat $sol_stratUN sch $schemeUN"
149-
set solStratName [::write::getValue $sol_stratUN]
150-
set schemeName [write::getValue $schemeUN]
151-
#W "$solStratName $schemeName"
152-
#W "************************************************************************"
153-
#W "$nodeApp $solStratName $schemeName"
154-
set elems [::Model::GetAvailableElements $solStratName $schemeName]
155-
#W "************************************************************************"
156-
157-
set analysis_type [get_domnode_attribute [$domNode selectNodes [spdAux::getRoute STAnalysisType]] v]
158-
set params [list AnalysisType $analysis_type]
159-
160-
set names [list ]
161-
set pnames [list ]
162-
foreach elem $elems {
163-
if {[$elem cumple {*}$args]} {
164-
set available {*}[split [$elem getAttribute AnalysisType] {,}]
165-
if {$analysis_type in $available} {
166-
lappend names [$elem getName]
167-
lappend pnames [$elem getName]
168-
lappend pnames [$elem getPublicName]
169-
}
170-
}
171-
}
172-
set diction [join $pnames ","]
173-
set values [join $names ","]
174-
#W "[get_domnode_attribute $domNode v] $names"
175-
$domNode setAttribute values $values
176-
if {[get_domnode_attribute $domNode v] eq ""} {$domNode setAttribute v [lindex $names 0]}
177-
if {[get_domnode_attribute $domNode v] ni $names} {$domNode setAttribute v [lindex $names 0]; spdAux::RequestRefresh}
178-
#spdAux::RequestRefresh
179-
return $diction
180-
}
181-
182-
Structural::xml::Init
1+
namespace eval Structural::xml {
2+
variable dir
3+
}
4+
5+
proc Structural::xml::Init { } {
6+
variable dir
7+
Model::InitVariables dir $Structural::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 "../../Common/xml/Processes.xml"
15+
Model::getProcesses DeprecatedProcesses.xml
16+
Model::getProcesses Processes.xml
17+
Model::getConditions Conditions.xml
18+
Model::getSolvers "../../Common/xml/Solvers.xml"
19+
Model::getSolvers Solvers.xml
20+
}
21+
22+
proc Structural::xml::getUniqueName {name} {
23+
return ST$name
24+
}
25+
26+
proc ::Structural::xml::MultiAppEvent {args} {
27+
28+
}
29+
30+
proc Structural::xml::CustomTree { args } {
31+
spdAux::SetValueOnTreeItem state hidden STResults CutPlanes
32+
spdAux::SetValueOnTreeItem v SingleFile GiDOptions GiDMultiFileFlag
33+
spdAux::SetValueOnTreeItem v 1 GiDOptions EchoLevel
34+
35+
set result_node [[customlib::GetBaseRoot] selectNodes "[spdAux::getRoute NodalResults]/value\[@n = 'CONDENSED_DOF_LIST_2D'\]"]
36+
if {$result_node ne "" } {$result_node delete}
37+
set result_node [[customlib::GetBaseRoot] selectNodes "[spdAux::getRoute NodalResults]/value\[@n = 'CONDENSED_DOF_LIST'\]"]
38+
if {$result_node ne "" } {$result_node delete}
39+
set result_node [[customlib::GetBaseRoot] selectNodes "[spdAux::getRoute NodalResults]/value\[@n = 'CONTACT'\]"]
40+
if {$result_node ne "" } {$result_node delete}
41+
set result_node [[customlib::GetBaseRoot] selectNodes "[spdAux::getRoute NodalResults]/value\[@n = 'CONTACT_SLAVE'\]"]
42+
if {$result_node ne "" } {$result_node delete}
43+
44+
set xpath "[spdAux::getRoute STResults]/container\[@n='GiDOutput'\]/container\[@n='GiDOptions'\]"
45+
if {[[customlib::GetBaseRoot] selectNodes "$xpath/value\[@n='print_prestress'\]"] eq ""} {
46+
gid_groups_conds::addF $xpath value [list n print_prestress pn "Print prestress" values "true,false" v true state "\[checkStateByUniqueName STSoluType formfinding\]"]
47+
}
48+
if {[[customlib::GetBaseRoot] selectNodes "$xpath/value\[@n='print_mdpa'\]"] eq ""} {
49+
gid_groups_conds::addF $xpath value [list n print_mdpa pn "Print modelpart" values "true,false" v true state "\[checkStateByUniqueName STSoluType formfinding\]"]
50+
}
51+
}
52+
53+
proc Structural::xml::ProcCheckGeometryStructural {domNode args} {
54+
set ret "line,surface"
55+
if {$::Model::SpatialDimension eq "3D"} {
56+
set ret "line,surface,volume"
57+
}
58+
return $ret
59+
}
60+
61+
proc Structural::xml::ProcGetSolutionStrategiesStructural { domNode args } {
62+
set names ""
63+
set pnames ""
64+
set solutionType [get_domnode_attribute [$domNode selectNodes [spdAux::getRoute STSoluType]] v]
65+
set Sols [::Model::GetSolutionStrategies [list "SolutionType" $solutionType] ]
66+
set ids [list ]
67+
foreach ss $Sols {
68+
lappend ids [$ss getName]
69+
append names [$ss getName] ","
70+
append pnames [$ss getName] "," [$ss getPublicName] ","
71+
}
72+
set names [string range $names 0 end-1]
73+
set pnames [string range $pnames 0 end-1]
74+
75+
$domNode setAttribute values $names
76+
set dv [lindex $ids 0]
77+
if {[$domNode getAttribute v] eq ""} {$domNode setAttribute v $dv}
78+
if {[$domNode getAttribute v] ni $ids} {$domNode setAttribute v $dv}
79+
#spdAux::RequestRefresh
80+
return $pnames
81+
}
82+
83+
proc Structural::xml::ProcCheckNodalConditionStateStructural {domNode args} {
84+
# Overwritten the base function to add Solution Type restrictions
85+
set parts_un STParts
86+
if {[spdAux::getRoute $parts_un] ne ""} {
87+
set conditionId [$domNode @n]
88+
set condition [Model::getNodalConditionbyId $conditionId]
89+
set cnd_dim [$condition getAttribute WorkingSpaceDimension]
90+
if {$cnd_dim ne ""} {
91+
if {$cnd_dim ne $Model::SpatialDimension} {return "hidden"}
92+
}
93+
set elems [$domNode selectNodes "[spdAux::getRoute $parts_un]/condition/group/value\[@n='Element'\]"]
94+
set elemnames [list ]
95+
foreach elem $elems { lappend elemnames [$elem @v]}
96+
set elemnames [lsort -unique $elemnames]
97+
98+
set solutionType [get_domnode_attribute [$domNode selectNodes [spdAux::getRoute STSoluType]] v]
99+
set params [list analysis_type $solutionType]
100+
if {[::Model::CheckElementsNodalCondition $conditionId $elemnames $params]} {return "normal"} else {return "hidden"}
101+
} {return "normal"}
102+
}
103+
104+
proc Structural::xml::ProcCheckGeometryStructural {domNode args} {
105+
set ret "surface"
106+
if {$::Model::SpatialDimension eq "3D"} {
107+
set ret "surface,volume"
108+
}
109+
return $ret
110+
}
111+
112+
113+
proc Structural::xml::UpdateParts {domNode args} {
114+
set current [lindex [$domNode selectNodes "./group"] end]
115+
set element_name [get_domnode_attribute [$current selectNodes "./value\[@n = 'Element'\]"] v]
116+
set element [Model::getElement $element_name]
117+
set LocalAxesAutomaticFunction [$element getAttribute "LocalAxesAutomaticFunction"]
118+
if {$LocalAxesAutomaticFunction ne ""} {
119+
$LocalAxesAutomaticFunction $current
120+
}
121+
}
122+
123+
proc Structural::xml::AddLocalAxesToBeamElement { current } {
124+
# set y_axis_deviation [get_domnode_attribute [$current selectNodes "./value\[@n = 'LOCAL_AXIS_ROTATION'\]"] v]
125+
# W $y_axis_deviation
126+
set group [get_domnode_attribute $current n]
127+
if {[GiD_EntitiesGroups get $group lines -count]} {
128+
foreach line [GiD_EntitiesGroups get $group lines] {
129+
GiD_Process MEscape Data Conditions AssignCond line_Local_axes change -Automatic- $line escape escape
130+
#set raw [lindex [lindex [GiD_Info conditions -localaxesmat line_Local_axes mesh $line] 0] 3]
131+
}
132+
}
133+
}
134+
135+
136+
############# procs #################
137+
proc Structural::xml::ProcGetElementsStructural { domNode args } {
138+
set nodeApp [spdAux::GetAppIdFromNode $domNode]
139+
set sol_stratUN [apps::getAppUniqueName $nodeApp SolStrat]
140+
set schemeUN [apps::getAppUniqueName $nodeApp Scheme]
141+
if {[get_domnode_attribute [$domNode selectNodes [spdAux::getRoute $sol_stratUN]] v] eq ""} {
142+
get_domnode_attribute [$domNode selectNodes [spdAux::getRoute $sol_stratUN]] dict
143+
}
144+
if {[get_domnode_attribute [$domNode selectNodes [spdAux::getRoute $schemeUN]] v] eq ""} {
145+
get_domnode_attribute [$domNode selectNodes [spdAux::getRoute $schemeUN]] dict
146+
}
147+
148+
#W "solStrat $sol_stratUN sch $schemeUN"
149+
set solStratName [::write::getValue $sol_stratUN]
150+
set schemeName [write::getValue $schemeUN]
151+
#W "$solStratName $schemeName"
152+
#W "************************************************************************"
153+
#W "$nodeApp $solStratName $schemeName"
154+
set elems [::Model::GetAvailableElements $solStratName $schemeName]
155+
#W "************************************************************************"
156+
157+
set analysis_type [get_domnode_attribute [$domNode selectNodes [spdAux::getRoute STAnalysisType]] v]
158+
set params [list AnalysisType $analysis_type]
159+
160+
set names [list ]
161+
set pnames [list ]
162+
foreach elem $elems {
163+
if {[$elem cumple {*}$args]} {
164+
set available {*}[split [$elem getAttribute AnalysisType] {,}]
165+
if {$analysis_type in $available} {
166+
lappend names [$elem getName]
167+
lappend pnames [$elem getName]
168+
lappend pnames [$elem getPublicName]
169+
}
170+
}
171+
}
172+
set diction [join $pnames ","]
173+
set values [join $names ","]
174+
#W "[get_domnode_attribute $domNode v] $names"
175+
$domNode setAttribute values $values
176+
if {[get_domnode_attribute $domNode v] eq ""} {$domNode setAttribute v [lindex $names 0]}
177+
if {[get_domnode_attribute $domNode v] ni $names} {$domNode setAttribute v [lindex $names 0]; spdAux::RequestRefresh}
178+
#spdAux::RequestRefresh
179+
return $diction
180+
}
181+
182+
Structural::xml::Init

0 commit comments

Comments
 (0)