Skip to content

Commit a70930e

Browse files
Merge branch 'write-geoms-migration' into freesurface-migration-geoms
2 parents e3a4233 + 4602a1c commit a70930e

22 files changed

Lines changed: 127 additions & 122 deletions

File tree

kratos.gid/apps/Buoyancy/app.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
"coordinates": "all",
3939
"properties_location": "json",
4040
"model_part_name": "ThermalModelPart",
41-
"write_mdpa_mode": "entities"
41+
"write_mdpa_mode": "geometries"
4242
},
4343
"main_launch_file": "../../exec/MainKratos.py",
4444
"examples": "examples/examples.xml"

kratos.gid/apps/Buoyancy/write/write.tcl

Lines changed: 15 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ proc ::Buoyancy::write::Init { } {
1010
# Add thermal unique names to Fluid write variables
1111
Fluid::write::SetAttribute thermal_bc_un [ConvectionDiffusion::write::GetAttribute conditions_un]
1212
Fluid::write::SetAttribute thermal_initial_cnd_un [ConvectionDiffusion::write::GetAttribute nodal_conditions_un]
13+
1314
}
1415

1516
# Events
@@ -18,39 +19,13 @@ proc ::Buoyancy::write::writeModelPartEvent { } {
1819
set err [Validate]
1920
if {$err ne ""} {error $err}
2021

21-
# Start Fluid write variables
22-
Fluid::write::Init
23-
# Fluid has implemented the geometry mode, but we do not use it yet in inherited apps
24-
::Fluid::write::SetAttribute write_mdpa_mode [::Buoyancy::GetWriteProperty write_mdpa_mode]
25-
# Start Fluid write conditions map from scratch
26-
Fluid::write::InitConditionsMap
27-
28-
# Init data
29-
write::initWriteConfiguration [Fluid::write::GetAttributes]
30-
31-
# Headers
32-
write::writeModelPartData
33-
Fluid::write::writeProperties
34-
35-
# Nodal coordinates (1: Print only Fluid nodes <inefficient> | 0: the whole mesh <efficient>)
36-
if {[Fluid::write::GetAttribute writeCoordinatesByGroups] ne "all"} {write::writeNodalCoordinatesOnParts} {write::writeNodalCoordinates}
37-
38-
# Element connectivities (Groups on FLParts)
39-
write::writeElementConnectivities
40-
41-
# Nodal conditions and conditions
42-
Fluid::write::writeConditions
43-
44-
# SubmodelParts
45-
Fluid::write::writeMeshes
46-
write::writeNodalConditions [GetAttribute thermal_initial_cnd_un]
47-
Buoyancy::write::writeSubModelParts
22+
::Fluid::write::Init
23+
24+
::Fluid::write::writeModelPartEvent
4825

49-
# Boussinesq nodes
50-
Buoyancy::write::writeBoussinesqSubModelPart
26+
# Write Boussinesq submodel part as nodals
27+
::Buoyancy::write::writeBoussinesqSubModelPart
5128

52-
# Custom SubmodelParts
53-
#write::writeBasicSubmodelParts [Fluid::write::getLastConditionId]
5429
}
5530

5631
proc ::Buoyancy::write::writeCustomFilesEvent { } {
@@ -73,7 +48,14 @@ proc ::Buoyancy::write::WriteMaterialsFile {{write_const_law True} {include_mode
7348
# Write Buoyancy materials file
7449
set model_part_name ""
7550
if {[write::isBooleanTrue $include_modelpart_name]} {set model_part_name [GetModelPartName]}
76-
write::writePropertiesJsonFile [GetAttribute parts_un] "BuoyancyMaterials.json" $write_const_law $model_part_name
51+
52+
set mats [write::getPropertiesJson [GetAttribute parts_un] $write_const_law $model_part_name]
53+
# keep only first entry
54+
set clear_mat [dict get $mats properties]
55+
set clear_mat [lindex $clear_mat 0]
56+
dict set clear_mat model_part_name ThermalModelPart
57+
set clear_mat [dict create properties [list $clear_mat]]
58+
write::writePropertiesJsonFileDone "BuoyancyMaterials.json" $clear_mat
7759
}
7860

7961
proc ::Buoyancy::write::writeSubModelParts { } {
@@ -100,7 +82,7 @@ proc ::Buoyancy::write::writeBoussinesqSubModelPart { } {
10082
set groupid "_Boussinesq_hidden_"
10183
GiD_Groups create $groupid
10284
GiD_EntitiesGroups assign $groupid nodes [GiD_Mesh list node]
103-
::write::writeGroupSubModelPart Boussinesq $groupid "Nodes"
85+
::write::writeGroupSubModelPartAsGeometry $groupid
10486
GiD_Groups delete $groupid
10587
}
10688

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

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ proc ::Buoyancy::write::getParametersDict { } {
2020
# processes
2121
dict set projectParametersDict processes [Buoyancy::write::GetProcesses_Dict]
2222

23+
# modelers
24+
set projectParametersDict [::write::GetModelersDict $projectParametersDict]
25+
2326
return $projectParametersDict
2427
}
2528

@@ -78,18 +81,22 @@ proc ::Buoyancy::write::GetSolverSettings_Dict { } {
7881

7982
# Fluid things
8083
write::SetConfigurationAttributes [Fluid::write::GetAttributes]
81-
#Fluid::write::SetAttribute materials_file "BuoyancyMaterials.json"
8284
dict set settings fluid_solver_settings [Fluid::write::getSolverSettingsDict]
85+
dict unset settings fluid_solver_settings model_import_settings
86+
dict set settings fluid_solver_settings model_import_settings input_type "use_input_model_part"
8387

8488
set nDim [expr [string range [write::getValue nDim] 0 0]]
8589
dict set settings fluid_solver_settings domain_size $nDim
8690

8791
# Thermal things
8892
set prev [ConvectionDiffusion::write::GetAttribute materials_file]
8993
ConvectionDiffusion::write::SetAttribute materials_file "BuoyancyMaterials.json"
90-
write::SetConfigurationAttributes [ConvectionDiffusion::write::GetAttributes]
94+
# write::SetConfigurationAttributes [ConvectionDiffusion::write::GetAttributes]
9195
dict set settings thermal_solver_settings [ConvectionDiffusion::write::GetSolverSettingsDict]
9296
ConvectionDiffusion::write::SetAttribute materials_file $prev
97+
98+
dict unset settings thermal_solver_settings model_import_settings
99+
dict set settings thermal_solver_settings model_import_settings input_type "use_input_model_part"
93100

94101
dict set settings thermal_solver_settings problem_domain_sub_model_part_list [list [dict get $settings fluid_solver_settings volume_model_part_name]]
95102

@@ -101,7 +108,7 @@ proc ::Buoyancy::write::GetProcesses_Dict { } {
101108
write::SetConfigurationAttributes [Fluid::write::GetAttributes]
102109
lappend constraints_process_list {*}[write::getConditionsParametersDict [Fluid::write::GetAttribute conditions_un] ]
103110
lappend constraints_process_list {*}[write::getConditionsParametersDict [Fluid::write::GetAttribute nodal_conditions_un] "Nodal"]
104-
write::SetConfigurationAttributes [ConvectionDiffusion::write::GetAttributes]
111+
# write::SetConfigurationAttributes [ConvectionDiffusion::write::GetAttributes]
105112
lappend constraints_process_list {*}[write::getConditionsParametersDict [ConvectionDiffusion::write::GetAttribute nodal_conditions_un] "Nodal"]
106113
lappend constraints_process_list {*}[write::getConditionsParametersDict [ConvectionDiffusion::write::GetAttribute conditions_un]]
107114
lappend constraints_process_list [GetBoussinesqProcess]
@@ -123,4 +130,4 @@ proc ::Buoyancy::write::GetBoussinesqProcess { } {
123130
dict set process Parameters $params
124131

125132
return $process
126-
}
133+
}

kratos.gid/apps/CompressibleFluid/app.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
"properties_location": "json",
4444
"model_part_name": "FluidModelPart",
4545
"output_model_part_name": "fluid_computational_model_part",
46-
"write_mdpa_mode": "entities"
46+
"write_mdpa_mode": "geometries"
4747
},
4848
"main_launch_file": "python/MainKratos.py",
4949
"examples": "examples/examples.xml",

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
proc ::CompressibleFluid::write::writeParametersEvent { } {
22
set projectParametersDict [Fluid::write::getParametersDict]
3+
set projectParametersDict [::write::GetModelersDict $projectParametersDict]
34

45
set shock_capturing_type [dict get $projectParametersDict solver_settings shock_capturing_type]
56
dict set projectParametersDict solver_settings shock_capturing_settings type $shock_capturing_type

kratos.gid/apps/CompressibleFluid/xml/Conditions.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@
113113
unit_magnitude="M/T/L^2">
114114
<TopologyFeatures>
115115
<item GeometryType="Line" nodes="2" KratosName="WallCondition2D2N"/>
116-
<item GeometryType="Point" nodes="1" KratosName="WallCondition2D1N"/>
116+
<item GeometryType="Point" nodes="1" KratosName="PointCondition3D1N"/>
117117
</TopologyFeatures>
118118
<DegreesOfFreedom></DegreesOfFreedom>
119119
<inputs></inputs>

kratos.gid/apps/ConvectionDiffusion/app.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@
4141
"materials_file": "ConvectionDiffusionMaterials.json",
4242
"properties_location": "json",
4343
"model_part_name": "ThermalModelPart",
44-
"output_model_part_name": ""
44+
"output_model_part_name": "",
45+
"write_mdpa_mode": "geometries"
4546
},
4647
"main_launch_file": "../../exec/MainKratos.py",
4748
"examples": "examples/examples.xml"

kratos.gid/apps/ConvectionDiffusion/write/write.tcl

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ proc ::ConvectionDiffusion::write::Init { } {
2525
SetAttribute properties_location [::ConvectionDiffusion::GetWriteProperty properties_location]
2626
SetAttribute model_part_name [::ConvectionDiffusion::GetWriteProperty model_part_name]
2727
SetAttribute output_model_part_name [::ConvectionDiffusion::GetWriteProperty output_model_part_name]
28+
SetAttribute write_mdpa_mode [::ConvectionDiffusion::GetWriteProperty write_mdpa_mode]
29+
2830
}
2931

3032
# Events
@@ -42,19 +44,33 @@ proc ::ConvectionDiffusion::write::writeModelPartEvent { } {
4244

4345
# Nodal coordinates (1: Print only Fluid nodes <inefficient> | 0: the whole mesh <efficient>)
4446
if {[GetAttribute writeCoordinatesByGroups] ne "all"} {write::writeNodalCoordinatesOnParts} {write::writeNodalCoordinates}
47+
48+
if {[GetAttribute write_mdpa_mode] eq "geometries"} {
49+
50+
# Get the list of groups in the spd
51+
set lista [::spdAux::GetListOfSubModelParts]
52+
53+
# Write the geometries
54+
set ret [::write::writeGeometryConnectivities $lista]
55+
56+
foreach group $lista {
57+
write::writeGroupSubModelPartAsGeometry [$group @n]
58+
}
4559

46-
# Element connectivities (Groups on CNVDFFParts)
47-
write::writeElementConnectivities
60+
} else {
4861

49-
# Nodal conditions and conditions
50-
writeConditions
62+
# Element connectivities (Groups on CNVDFFParts)
63+
write::writeElementConnectivities
5164

52-
# Custom SubmodelParts
53-
write::writeBasicSubmodelParts [getLastConditionId]
65+
# Nodal conditions and conditions
66+
writeConditions
5467

55-
# SubmodelParts
56-
writeMeshes
68+
# Custom SubmodelParts
69+
write::writeBasicSubmodelParts [getLastConditionId]
5770

71+
# SubmodelParts
72+
writeMeshes
73+
}
5874
}
5975

6076
proc ::ConvectionDiffusion::write::writeCustomFilesEvent { } {

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ proc ::ConvectionDiffusion::write::getParametersDict { } {
3131
dict set restartDict Restart_Step 0
3232
dict set projectParametersDict restart_options $restartDict
3333

34+
# Get the modelers
35+
set projectParametersDict [write::GetModelersDict $projectParametersDict]
3436

3537
return $projectParametersDict
3638
}

kratos.gid/apps/EmbeddedFluid/app.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
"coordinates": "all",
4242
"materials_file": "FluidMaterials.json",
4343
"properties_location": "json",
44-
"write_mdpa_mode": "entities"
44+
"write_mdpa_mode": "geometries"
4545
},
4646
"main_launch_file": "../../exec/MainKratos.py",
4747
"examples": "examples/examples.xml"

0 commit comments

Comments
 (0)