@@ -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
5631proc ::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
7961proc ::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
0 commit comments