From c8cdd7e622ef1398c69ec67cb2e21f5f9f0cae69 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 5 May 2021 17:08:31 +0200 Subject: [PATCH] better numerical parameters for thermal solver/PETSc works for realistic values for thermal problems parameters copied from spectral_damage --- PRIVATE | 2 +- examples/config/phase/thermal/Al.yaml | 7 +++++++ examples/config/phase/thermal/Steel-0.5C.yaml | 7 +++++++ src/grid/grid_thermal_spectral.f90 | 3 ++- 4 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 examples/config/phase/thermal/Al.yaml create mode 100644 examples/config/phase/thermal/Steel-0.5C.yaml diff --git a/PRIVATE b/PRIVATE index ab64793bb..95f7faea9 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit ab64793bb04c506d815ebc850672ed0f2d013e67 +Subproject commit 95f7faea920dd6956884e4a55f72e5d5b1ffcdc8 diff --git a/examples/config/phase/thermal/Al.yaml b/examples/config/phase/thermal/Al.yaml new file mode 100644 index 000000000..8837f30af --- /dev/null +++ b/examples/config/phase/thermal/Al.yaml @@ -0,0 +1,7 @@ +references: + - www.engineeringtoolbox.com/thermal-conductivity-metals-d_858.html + - www.engineeringtoolbox.com/specific-heat-metals-d_152.html +c_p: 0.91e3 +K_11: 236.0 +K_22: 236.0 +K_33: 236.0 diff --git a/examples/config/phase/thermal/Steel-0.5C.yaml b/examples/config/phase/thermal/Steel-0.5C.yaml new file mode 100644 index 000000000..861cbbee5 --- /dev/null +++ b/examples/config/phase/thermal/Steel-0.5C.yaml @@ -0,0 +1,7 @@ +references: + - www.engineeringtoolbox.com/thermal-conductivity-metals-d_858.html + - www.engineeringtoolbox.com/specific-heat-metals-d_152.html +c_p: 0.49e3 +K_11: 54.0 +K_22: 54.0 +K_33: 54.0 diff --git a/src/grid/grid_thermal_spectral.f90 b/src/grid/grid_thermal_spectral.f90 index 1ccb3b901..5a1745668 100644 --- a/src/grid/grid_thermal_spectral.f90 +++ b/src/grid/grid_thermal_spectral.f90 @@ -90,7 +90,8 @@ subroutine grid_thermal_spectral_init(T_0) !-------------------------------------------------------------------------------------------------- ! set default and user defined options for PETSc - call PetscOptionsInsertString(PETSC_NULL_OPTIONS,'-thermal_snes_type ngmres',ierr) + call PetscOptionsInsertString(PETSC_NULL_OPTIONS,'-thermal_snes_type newtonls -thermal_snes_mf & + &-thermal_snes_ksp_ew -thermal_ksp_type fgmres',ierr) CHKERRQ(ierr) call PetscOptionsInsertString(PETSC_NULL_OPTIONS,num_grid%get_asString('petsc_options',defaultVal=''),ierr) CHKERRQ(ierr)