Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add heat transfer #108

Open
wants to merge 37 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
72eb5f2
Add heat transfer
streeve Jun 18, 2024
f72cd57
fixup: heat transfer comments
streeve Jul 1, 2024
546a77c
fixup: remove in-kernel slice
streeve Jul 1, 2024
9452aef
fixup: comments
streeve Jul 1, 2024
d9a8c0b
fixup: move thermal member variables
streeve Jul 2, 2024
c3a381a
Split heat transfer integral and time integration
streeve Jul 2, 2024
680668c
fixup: solver comments
streeve Jul 3, 2024
8a4342c
Modified thermal deformation example to add heat transfer parameter i…
pabloseleson Jul 31, 2024
d26532a
Added plane for imposition of boundary condition in thermal deformation
pabloseleson Jul 31, 2024
258d737
Revert changes to original thermal deformation problem
streeve Jul 31, 2024
f59e1eb
Add new heat transfer example
streeve Jul 31, 2024
946c658
fixup: new heat transfer example compilation
streeve Aug 1, 2024
fd9b370
Initialize particle temperature as temp0
pabloseleson Aug 1, 2024
11d8dbd
fixup: ghosted BC particles
streeve Aug 1, 2024
27165b0
Fix heat transfer solver to use reference bond length
pabloseleson Aug 6, 2024
9384cfb
Rearrange order of operations in solver for heat transfer
pabloseleson Aug 6, 2024
bc87f1c
Modified thermal deformation with heat transfer to test various b.c. …
pabloseleson Aug 8, 2024
82d383a
fixup: heat transfer profiles
streeve Aug 8, 2024
8791b81
fixup: unused
streeve Aug 8, 2024
848dd0e
Renamed thermal_expansion_coeff in json file
pabloseleson Aug 9, 2024
a5dfc9d
fixup: review clarifications
streeve Aug 19, 2024
8dd0b99
fixup: boundaries after region update
streeve Aug 19, 2024
7d73a30
fixup: only enable elastic heat transfer for now
streeve Aug 19, 2024
da06ace
fixup: rename temperature conduction terms
streeve Aug 20, 2024
9f332a8
readme: update features
streeve Aug 20, 2024
86f487d
Added example on a cube geometry
pabloseleson Aug 22, 2024
34bc8d5
Changes to heat transfer in a cube example
pabloseleson Aug 28, 2024
ed53ab8
Changed the time step in thermal deformation cube example
pabloseleson Sep 3, 2024
d0c0daa
Added modified example and temperature output capability
pabloseleson Sep 4, 2024
bcc1689
Fixed heat transer solver and add temporary example
pabloseleson Sep 5, 2024
6d7ed7b
Modified b.c. on thermal deformation heat transfer example
pabloseleson Sep 10, 2024
4dda47a
Added monoblock example
pabloseleson Sep 10, 2024
6f991c2
Added json file for monoblock example
pabloseleson Sep 10, 2024
2bf7498
Changed example output profile dimension
pabloseleson Sep 10, 2024
88aaeae
Subcycle thermal step
streeve Sep 9, 2024
d744fc5
Created initial example of divertor monoblock with heat transfer
pabloseleson Sep 13, 2024
20807aa
Added placeholder for cooling channel b.c. on divertor monoblock with…
pabloseleson Sep 14, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@ CabanaPD currently includes the following:
- Elastic (no failure)
- Brittle fracture
- Thermomechanics (bond-based only)
- Optional heat transfer (elastic only)
- Time integration
- Velocity Verlet
- Pre-crack creation
Expand Down
8 changes: 7 additions & 1 deletion examples/thermomechanics/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,10 @@ target_link_libraries(ThermalDeformation LINK_PUBLIC CabanaPD)
add_executable(ThermalCrack thermal_crack.cpp)
target_link_libraries(ThermalCrack LINK_PUBLIC CabanaPD)

install(TARGETS ThermalDeformation ThermalCrack DESTINATION ${CMAKE_INSTALL_BINDIR})
add_executable(ThermalDeformationHeatTransfer thermal_deformation_heat_transfer.cpp)
target_link_libraries(ThermalDeformationHeatTransfer LINK_PUBLIC CabanaPD)

add_executable(ThermalDeformationHeatTransferMonoblock thermal_deformation_heat_transfer_monoblock.cpp)
target_link_libraries(ThermalDeformationHeatTransferMonoblock LINK_PUBLIC CabanaPD)

install(TARGETS ThermalDeformation ThermalCrack ThermalDeformationHeatTransfer ThermalDeformationHeatTransferMonoblock DESTINATION ${CMAKE_INSTALL_BINDIR})
16 changes: 16 additions & 0 deletions examples/thermomechanics/inputs/thermal_crack_temp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"num_cells" : {"value": [251, 51, 5]},
"system_size" : {"value": [0.05, 0.01, 0.001], "unit": "m"},
"density" : {"value": 3980, "unit": "kg/m^3"},
"elastic_modulus" : {"value": 370e+9, "unit": "Pa"},
"fracture_energy" : {"value": 24.32, "unit": "J/m^2"},
"thermal_coefficient" : {"value": 7.5E-6, "unit": "oC^{-1}"},
"reference_temperature" : {"value": 300.0, "unit": "oC"},
"water_temperature" : {"value": 20.0, "unit": "oC"},
"pulse_ramping_time" : {"value": 0.001, "unit": "s"},
"horizon" : {"value": 6.0e-4, "unit": "m"},
"final_time" : {"value": 0.002, "unit": "s"},
"timestep" : {"value": 3E-8, "unit": "s"},
"output_frequency" : {"value": 500},
"output_reference" : {"value": false}
}
24 changes: 13 additions & 11 deletions examples/thermomechanics/inputs/thermal_deformation.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
{
"num_cells" : {"value": [100, 30, 3]},
"system_size" : {"value": [1.0, 0.3, 0.03], "unit": "m"},
"density" : {"value": 3980, "unit": "kg/m^3"},
"elastic_modulus" : {"value": 370e+9, "unit": "Pa"},
"thermal_coefficient" : {"value": 7.5E-6, "unit": "oC^{-1}"},
"reference_temperature" : {"value": 20.0, "unit": "oC"},
"horizon" : {"value": 0.03, "unit": "m"},
"final_time" : {"value": 0.01, "unit": "s"},
"timestep" : {"value": 7.5E-7, "unit": "s"},
"output_frequency" : {"value": 100},
"output_reference" : {"value": true}
"num_cells" : {"value": [101, 31, 3]},
"system_size" : {"value": [1.0, 0.3, 0.03], "unit": "m"},
"density" : {"value": 3980, "unit": "kg/m^3"},
"elastic_modulus" : {"value": 370e+9, "unit": "Pa"},
"thermal_expansion_coeff" : {"value": 7.5E-6, "unit": "oC^{-1}"},
"thermal_conductivity" : {"value": 31, "unit": "W/(m.K)"},
"specific_heat_capacity" : {"value": 880, "unit": "J/(kg.K)"},
"reference_temperature" : {"value": 20.0, "unit": "oC"},
"horizon" : {"value": 0.03, "unit": "m"},
"final_time" : {"value": 0.01, "unit": "s"},
"timestep" : {"value": 7.5E-7, "unit": "s"},
"output_frequency" : {"value": 100},
"output_reference" : {"value": true}
}
16 changes: 16 additions & 0 deletions examples/thermomechanics/inputs/thermal_deformation_cube.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"num_cells" : {"value": [40, 40, 40]},
"system_size" : {"value": [0.1, 0.1, 0.1], "unit": "m"},
"density" : {"value": 8915, "unit": "kg/m^3"},
"elastic_modulus" : {"value": 115e+9, "unit": "Pa"},
"thermal_expansion_coeff" : {"value": 17e-6, "unit": "oC^{-1}"},
"thermal_conductivity" : {"value": 387, "unit": "W/(m.K)"},
"specific_heat_capacity" : {"value": 385, "unit": "J/(kg.K)"},
"reference_temperature" : {"value": 100.0, "unit": "oC"},
"horizon" : {"value": 0.0075, "unit": "m"},
"final_time" : {"value": 8, "unit": "s"},
"timestep" : {"value": 5.1e-8, "unit": "s"},
"thermal_subcycle_steps": {"value": 100},
"output_frequency" : {"value": 1},
"output_reference" : {"value": true}
}
16 changes: 16 additions & 0 deletions examples/thermomechanics/inputs/thermal_deformation_cube_temp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"num_cells" : {"value": [51, 51, 51]},
"system_size" : {"value": [0.1, 0.1, 0.1], "unit": "m"},
"density" : {"value": 8915, "unit": "kg/m^3"},
"elastic_modulus" : {"value": 115e+9, "unit": "Pa"},
"thermal_expansion_coeff" : {"value": 17e-6, "unit": "oC^{-1}"},
"thermal_conductivity" : {"value": 387, "unit": "W/(m.K)"},
"specific_heat_capacity" : {"value": 385, "unit": "J/(kg.K)"},
"reference_temperature" : {"value": 100.0, "unit": "oC"},
"horizon" : {"value": 0.006, "unit": "m"},
"final_time" : {"value": 8, "unit": "s"},
"timestep" : {"value": 0.0195, "unit": "s"},
"thermal_subcycle_steps" : {"value": 1},
"output_frequency" : {"value": 10},
"output_reference" : {"value": true}
}
15 changes: 15 additions & 0 deletions examples/thermomechanics/inputs/thermal_deformation_temp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"num_cells" : {"value": [61, 61, 61]},
"system_size" : {"value": [0.3, 0.3, 0.3], "unit": "m"},
"density" : {"value": 3980, "unit": "kg/m^3"},
"elastic_modulus" : {"value": 370e+9, "unit": "Pa"},
"thermal_expansion_coeff" : {"value": 7.5E-6, "unit": "oC^{-1}"},
"thermal_conductivity" : {"value": 31, "unit": "W/(m.K)"},
"specific_heat_capacity" : {"value": 880, "unit": "J/(kg.K)"},
"reference_temperature" : {"value": 20.0, "unit": "oC"},
"horizon" : {"value": 0.015, "unit": "m"},
"final_time" : {"value": 0.01, "unit": "s"},
"timestep" : {"value": 1.0E-7, "unit": "s"},
"output_frequency" : {"value": 100},
"output_reference" : {"value": false}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"num_cells" : {"value": [51, 51, 21]},
"system_size" : {"value": [0.028, 0.028, 0.012], "unit": "m"},
"cylindrical_hole" : {"value": [0.0, -0.0005, 0.0085], "unit": "m"},
"density" : {"value": 19300, "unit": "kg/m^3"},
"elastic_modulus" : {"value": 400e+9, "unit": "Pa"},
"thermal_expansion_coeff" : {"value": 4.4E-6, "unit": "oC^{-1}"},
"thermal_conductivity" : {"value": 146, "unit": "W/(m.K)"},
"specific_heat_capacity" : {"value": 134, "unit": "J/(kg.K)"},
"reference_temperature" : {"value": 150.0, "unit": "oC"},
"horizon" : {"value": 0.0017, "unit": "m"},
"final_time" : {"value": 1, "unit": "s"},
"timestep" : {"value": 0.0014, "unit": "s"},
"thermal_subcycle_steps" : {"value": 1},
"output_frequency" : {"value": 10},
"output_reference" : {"value": true}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"num_cells" : {"value": [101, 101, 43]},
"system_size" : {"value": [0.028, 0.028, 0.012], "unit": "m"},
"cylindrical_hole" : {"value": [0.0, -0.0005, 0.0085], "unit": "m"},
"density" : {"value": 19300, "unit": "kg/m^3"},
"elastic_modulus" : {"value": 400e+9, "unit": "Pa"},
"thermal_coefficient" : {"value": 4.4E-6, "unit": "oC^{-1}"},
"thermal_conductivity" : {"value": 146, "unit": "W/(m.K)"},
"specific_heat_capacity" : {"value": 134, "unit": "J/(kg.K)"},
"reference_temperature" : {"value": 1600.0, "unit": "oC"},
"horizon" : {"value": 8.4e-4, "unit": "m"},
"final_time" : {"value": 0.5, "unit": "s"},
"timestep" : {"value": 7.5E-4, "unit": "s"},
"thermal_subcycle_steps" : {"value": 1},
"output_frequency" : {"value": 100},
"output_reference" : {"value": true}
}
2 changes: 1 addition & 1 deletion examples/thermomechanics/thermal_deformation.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ void thermalDeformationExample( const std::string filename )
double nu = 0.25;
double K = E / ( 3 * ( 1 - 2 * nu ) );
double delta = inputs["horizon"];
double alpha = inputs["thermal_coefficient"];
double alpha = inputs["thermal_expansion_coeff"];

// Problem parameters
double temp0 = inputs["reference_temperature"];
Expand Down
Loading
Loading