### Minor fixups

parent 38531956
 # This test solves a 1D transient heat equation # The error is caclulated by comparing to the analytical solution # The problem setup and analytical solution are taken from "Advanced Engineering # Mathematics, 10th edition" by Erwin Kreyszig. # http://www.amazon.com/Advanced-Engineering-Mathematics-Erwin-Kreyszig/dp/0470458364 # It is Example 1 in section 12.6 on page 561 [Mesh] type = GeneratedMesh dim = 2 nx = 40 ny = 40 xmax = 80 ymax = 80 [] [Variables] [./T] [../] [] [Kernels] [./HeatSource] type = HeatSource function = '100*sin(3.14159*x/80)*sin(3.14159*y/80)' variable = T [../] [./HeatDiff] type = HeatConduction variable = T [../] [./HeatTdot] type = HeatConductionTimeDerivative variable = T [../] [] [BCs] [./left] type = DirichletBC variable = T boundary = left value = 0 [../] [./right] type = DirichletBC variable = T boundary = right value = 0 [../] [./top] type = DirichletBC variable = T boundary = top value = 0 [../] [./bottom] type = DirichletBC variable = T boundary = bottom value = 0 [../] [] [Materials] [./k] type = GenericConstantMaterial prop_names = 'thermal_conductivity' prop_values = '0.95' #copper in cal/(cm sec C) block = 0 [../] [./cp] type = GenericConstantMaterial prop_names = 'specific_heat' prop_values = '0.092' #copper in cal/(g C) block = 0 [../] [./rho] type = GenericConstantMaterial prop_names = 'density' prop_values = '8.92' #copper in g/(cm^3) block = 0 [../] [] [Postprocessors] [./error] type = NodalL2Error function = '100*sin(3.14159*x/80)*exp(-0.95/(0.092*8.92)*3.14159^2/80^2*t)' #T(x,t) = 100sin(pix/L)exp(-rho/(cp k) pi^2/L^2 t) variable = T [../] [] [Executioner] type = Transient scheme = bdf2 nl_rel_tol = 1e-12 l_tol = 1e-6 dt = 2 end_time = 100 petsc_options_iname = '-pc_type -pc_hypre_type' petsc_options_value = 'hypre boomeramg' [] [Outputs] exodus = true print_perf_log = true []
 # This test solves a 1D transient heat equation # The error is caclulated by comparing to the analytical solution # The problem setup and analytical solution are taken from "Advanced Engineering # Mathematics, 10th edition" by Erwin Kreyszig. # http://www.amazon.com/Advanced-Engineering-Mathematics-Erwin-Kreyszig/dp/0470458364 # It is Example 1 in section 12.6 on page 561 [Mesh] type = GeneratedMesh dim = 2 nx = 40 ny = 40 xmax = 80 ymax = 80 [] [Variables] [./T] [../] [] [Kernels] [./HeatSource] type = HeatSource function = '100*sin(3.14159*x/80)*sin(3.14159*y/80)' variable = T [../] [./HeatDiff] type = HeatConduction variable = T [../] [./HeatTdot] type = HeatConductionTimeDerivative variable = T [../] [] [BCs] [./left] type = DirichletBC variable = T boundary = left value = 0 [../] [./right] type = DirichletBC variable = T boundary = right value = 0 [../] [./top] type = DirichletBC variable = T boundary = top value = 0 [../] [./bottom] type = DirichletBC variable = T boundary = bottom value = 0 [../] [] [Materials] [./k] type = GenericConstantMaterial prop_names = 'thermal_conductivity' prop_values = '0.95' #copper in cal/(cm sec C) block = 0 [../] [./cp] type = GenericConstantMaterial prop_names = 'specific_heat' prop_values = '0.092' #copper in cal/(g C) block = 0 [../] [./rho] type = GenericConstantMaterial prop_names = 'density' prop_values = '8.92' #copper in g/(cm^3) block = 0 [../] [] [Postprocessors] [./error] type = NodalL2Error function = '100*sin(3.14159*x/80)*exp(-0.95/(0.092*8.92)*3.14159^2/80^2*t)' #T(x,t) = 100sin(pix/L)exp(-rho/(cp k) pi^2/L^2 t) variable = T [../] [] [Executioner] type = NekExecutioner scheme = bdf2 nl_rel_tol = 1e-12 l_tol = 1e-6 dt = 2 end_time = 100 petsc_options_iname = '-pc_type -pc_hypre_type' petsc_options_value = 'hypre boomeramg' [./TimeStepper] type = NekTimestepper [../] [] [Outputs] exodus = true print_perf_log = true []
 ... @@ -22,8 +22,6 @@ public: ... @@ -22,8 +22,6 @@ public: */ */ NekExecutioner(const InputParameters & parameters); NekExecutioner(const InputParameters & parameters); virtual ~NekExecutioner(); /** /** * Initialize the executioner * Initialize the executioner */ */ ... @@ -34,13 +32,13 @@ public: ... @@ -34,13 +32,13 @@ public: */ */ virtual void preStep(); virtual void preStep(); virtual void takeStep(Real input_dt = -1.0); // virtual void takeStep(Real input_dt = -1.0); virtual void postStep(); virtual void postStep(); /** /** * Whether or not the last solve converged. * Whether or not the last solve converged. */ */ virtual bool lastSolveConverged(); // virtual bool lastSolveConverged(); }; }; #endif //MOON_NEKEXECUTIONER_H #endif //MOON_NEKEXECUTIONER_H
 ... @@ -12,6 +12,10 @@ InputParameters validParams() ... @@ -12,6 +12,10 @@ InputParameters validParams() return params; return params; } } NekExecutioner::NekExecutioner(const InputParameters & parameters) : Transient(parameters) { } void NekExecutioner::init() { void NekExecutioner::init() { Transient::init(); Transient::init(); ... ...
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment