www.mooseframework.org
HeatConductionApp.C
Go to the documentation of this file.
1 /****************************************************************/
2 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
3 /* */
4 /* All contents are licensed under LGPL V2.1 */
5 /* See LICENSE for full restrictions */
6 /****************************************************************/
7 #include "HeatConductionApp.h"
8 #include "Moose.h"
9 #include "AppFactory.h"
10 #include "MooseSyntax.h"
11 
13 #include "ConvectiveFluxFunction.h"
14 #include "GapConductance.h"
17 #include "GapHeatTransfer.h"
18 #include "HeatConduction.h"
19 #include "AnisoHeatConduction.h"
25 #include "HeatConductionMaterial.h"
27 #include "HeatConductionBC.h"
35 #include "HeatSource.h"
36 #include "ThermalConductivity.h"
37 #include "CoupledConvectiveFlux.h"
38 #include "ElectricalConductivity.h"
39 #include "JouleHeatingSource.h"
40 
41 template <>
42 InputParameters
44 {
45  InputParameters params = validParams<MooseApp>();
46  return params;
47 }
48 
49 HeatConductionApp::HeatConductionApp(const InputParameters & parameters) : MooseApp(parameters)
50 {
51  Moose::registerObjects(_factory);
53 
54  Moose::associateSyntax(_syntax, _action_factory);
55  HeatConductionApp::associateSyntax(_syntax, _action_factory);
56 }
57 
59 
60 // External entry point for dynamic application loading
61 extern "C" void
63 {
65 }
66 void
68 {
69  registerApp(HeatConductionApp);
70 }
71 
72 // External entry point for dynamic object registration
73 extern "C" void
75 {
77 }
78 void
80 {
81  registerNamedKernel(HeatConductionKernel, "HeatConduction");
82 
83  registerKernel(AnisoHeatConduction);
84  registerKernel(HeatConductionTimeDerivative);
85  registerKernel(HeatSource);
86  registerKernel(HomogenizedHeatConduction);
89  registerKernel(JouleHeatingSource);
92 
93  registerBoundaryCondition(HeatConductionBC);
94  registerBoundaryCondition(ConvectiveFluxFunction);
95  registerBoundaryCondition(GapHeatTransfer);
96  registerBoundaryCondition(CoupledConvectiveFlux);
97 
98  registerMaterial(ElectricalConductivity);
99  registerMaterial(GapConductance);
100  registerMaterial(HeatConductionMaterial);
101  registerMaterial(AnisoHeatConductionMaterial);
102 
103  registerDiracKernel(GapHeatPointSourceMaster);
104 
105  registerPostprocessor(HomogenizedThermalConductivity);
106  registerPostprocessor(ThermalConductivity);
107 
108  registerConstraint(GapConductanceConstraint);
109 }
110 
111 // External entry point for dynamic syntax association
112 extern "C" void
113 HeatConductionApp__associateSyntax(Syntax & syntax, ActionFactory & action_factory)
114 {
115  HeatConductionApp::associateSyntax(syntax, action_factory);
116 }
117 void
118 HeatConductionApp::associateSyntax(Syntax & syntax, ActionFactory & action_factory)
119 {
120  // This registers an action to add the "slave_flux" vector to the system at the right time
121  registerTask("add_slave_flux_vector", false);
122  addTaskDependency("add_slave_flux_vector", "ready_to_init");
123  addTaskDependency("init_problem", "add_slave_flux_vector");
124  registerAction(AddSlaveFluxVectorAction, "add_slave_flux_vector");
125  registerSyntax("AddSlaveFluxVectorAction", "ThermalContact/*");
126 
127  registerSyntaxTask("ThermalContactAuxBCsAction", "ThermalContact/*", "add_aux_kernel");
128  registerSyntaxTask("ThermalContactAuxVarsAction", "ThermalContact/*", "add_aux_variable");
129  registerSyntaxTask("ThermalContactBCsAction", "ThermalContact/*", "add_bc");
130  registerSyntaxTask("ThermalContactDiracKernelsAction", "ThermalContact/*", "add_dirac_kernel");
131  registerSyntaxTask("ThermalContactMaterialsAction", "ThermalContact/*", "add_material");
132 
133  registerAction(ThermalContactAuxBCsAction, "add_aux_kernel");
134  registerAction(ThermalContactAuxVarsAction, "add_aux_variable");
135  registerAction(ThermalContactBCsAction, "add_bc");
136  registerAction(ThermalContactDiracKernelsAction, "add_dirac_kernel");
137  registerAction(ThermalContactMaterialsAction, "add_material");
138 }
Homogenization of Temperature-Dependent Thermal Conductivity in Composite Materials, Journal of Thermophysics and Heat Transfer, Vol.
Simple material with constant properties.
virtual ~HeatConductionApp()
A class for defining the time derivative of the heat equation.
static void associateSyntax(Syntax &syntax, ActionFactory &action_factory)
static void registerApps()
A class for defining the time derivative of the heat equation.
static void registerObjects(Factory &factory)
void HeatConductionApp__registerApps()
Generic gap heat transfer model, with h_gap = h_conduction + h_contact + h_radiation.
This postprocessor computes the thermal conductivity of the bulk.
This Constraint implements thermal contact using a "gap conductance" model in which the flux is repre...
Homogenization of Temperature-Dependent Thermal Conductivity in Composite Materials, Journal of Thermophysics and Heat Transfer, Vol.
HeatConductionApp(const InputParameters &parameters)
Generic gap heat transfer model, with h_gap = h_conduction + h_contact + h_radiation.
A class for defining the time derivative of the heat equation.
This kernel calculates the heat source term corresponding to joule heating, Q = J * E = elec_cond * g...
InputParameters validParams< HeatConductionApp >()
A class for defining the time derivative of the heat equation.
void HeatConductionApp__associateSyntax(Syntax &syntax, ActionFactory &action_factory)
Calculates resistivity and electrical conductivity as a function of temperature.
Simple material with constant properties.
Note: This class is named HeatConductionKernel instead of HeatConduction to avoid a clash with the He...
A class for defining the time derivative of the heat equation.
void HeatConductionApp__registerObjects(Factory &factory)