|
MAST
|
This element implements the Galerkin discretization of the heat conduction problem
with the flux provided on the boundary with Neumann boundary conditions. More...
#include <heat_conduction_elem_base.h>


Public Member Functions | |
| HeatConductionElementBase (MAST::SystemInitialization &sys, MAST::AssemblyBase &assembly, const MAST::GeomElem &elem, const MAST::ElementPropertyCardBase &p) | |
| Constructor. More... | |
| virtual | ~HeatConductionElementBase () |
| const MAST::ElementPropertyCardBase & | elem_property () |
| returns a constant reference to the finite element object More... | |
| virtual void | internal_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac) |
| internal force contribution to system residual More... | |
| virtual void | velocity_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac_xdot, RealMatrixX &jac) |
| inertial force contribution to system residual More... | |
| void | side_external_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac, std::multimap< libMesh::boundary_id_type, MAST::BoundaryConditionBase * > &bc) |
| side external force contribution to system residual More... | |
| void | volume_external_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac, std::multimap< libMesh::subdomain_id_type, MAST::BoundaryConditionBase * > &bc) |
| volume external force contribution to system residual More... | |
| virtual void | internal_residual_sensitivity (const MAST::FunctionBase &p, RealVectorX &f) |
| sensitivity of the internal force contribution to system residual More... | |
| virtual void | internal_residual_boundary_velocity (const MAST::FunctionBase &p, RealVectorX &f, const unsigned int s, const MAST::FieldFunction< RealVectorX > &vel_f) |
| sensitivity of the internal force contribution to system residual More... | |
| virtual void | velocity_residual_sensitivity (const MAST::FunctionBase &p, RealVectorX &f) |
| sensitivity of the damping force contribution to system residual More... | |
| virtual void | velocity_residual_boundary_velocity (const MAST::FunctionBase &p, RealVectorX &f, const unsigned int s, const MAST::FieldFunction< RealVectorX > &vel_f) |
| sensitivity of the internal force contribution to system residual More... | |
| void | side_external_residual_sensitivity (const MAST::FunctionBase &p, RealVectorX &f, std::multimap< libMesh::boundary_id_type, MAST::BoundaryConditionBase * > &bc) |
| sensitivity of the side external force contribution to system residual More... | |
| void | volume_external_residual_sensitivity (const MAST::FunctionBase &p, RealVectorX &f, std::multimap< libMesh::subdomain_id_type, MAST::BoundaryConditionBase * > &bc) |
| sensitivity of the volume external force contribution to system residual More... | |
| void | volume_external_residual_boundary_velocity (const MAST::FunctionBase &p, RealVectorX &f, const unsigned int s, const MAST::FieldFunction< RealVectorX > &vel_f, std::multimap< libMesh::subdomain_id_type, MAST::BoundaryConditionBase * > &bc) |
| boundary velocity contribution of volume external force. More... | |
Public Member Functions inherited from MAST::ElementBase | |
| ElementBase (MAST::SystemInitialization &sys, MAST::AssemblyBase &assembly, const MAST::GeomElem &elem) | |
| The default constructor. More... | |
| virtual | ~ElementBase () |
| Default virtual destructor. More... | |
| MAST::SystemInitialization & | system_initialization () |
| MAST::AssemblyBase & | assembly () |
| MAST::NonlinearSystem & | system () |
| const MAST::GeomElem & | elem () const |
| const RealVectorX & | sol (bool if_sens=false) const |
| virtual void | set_solution (const RealVectorX &vec, bool if_sens=false) |
stores vec as solution for element level calculations, or its sensitivity if if_sens is true. More... | |
| virtual void | set_perturbed_solution (const RealVectorX &vec, bool if_sens=false) |
This provides the perturbed solution (or its sensitivity if if_sens is true.) for linearized analysis. More... | |
| virtual void | set_complex_solution (const ComplexVectorX &vec, bool if_sens=false) |
This provides the complex solution (or its sensitivity if if_sens is true.) for frequecy-domain analysis. More... | |
| virtual void | set_velocity (const RealVectorX &vec, bool if_sens=false) |
stores vec as velocity for element level calculations, or its sensitivity if if_sens is true. More... | |
| virtual void | set_perturbed_velocity (const RealVectorX &vec, bool if_sens=false) |
stores vec as perturbed velocity for element level calculations, or its sensitivity if if_sens is true. More... | |
| virtual void | set_acceleration (const RealVectorX &vec, bool if_sens=false) |
stores vec as acceleration for element level calculations, or its sensitivity if if_sens is true. More... | |
| virtual void | set_perturbed_acceleration (const RealVectorX &vec, bool if_sens=false) |
stores vec as perturbed acceleration for element level calculations, or its sensitivity if if_sens is true. More... | |
| void | attach_active_solution_function (MAST::FunctionBase &f) |
| Attaches the function that represents the system solution. More... | |
| void | detach_active_solution_function () |
| Detaches the function object that may have been attached to the element. More... | |
Protected Member Functions | |
| virtual void | surface_flux_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac, const unsigned int s, MAST::BoundaryConditionBase &bc) |
Calculates the residual vector and Jacobian due to surface flux on element side s. More... | |
| virtual void | surface_flux_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac, MAST::BoundaryConditionBase &bc) |
| Calculates the residual vector sensitivity due to surface flux on element volumetric domain. More... | |
| virtual void | surface_flux_residual_sensitivity (const MAST::FunctionBase &p, RealVectorX &f, const unsigned int s, MAST::BoundaryConditionBase &bc) |
Calculates the residual vector sensitivity and Jacobian due to surface flux on element side s. More... | |
| virtual void | surface_flux_residual_sensitivity (const MAST::FunctionBase &p, RealVectorX &f, MAST::BoundaryConditionBase &bc) |
| Calculates the residual vector and Jacobian due to surface flux on element volumetric domain. More... | |
| virtual void | surface_flux_boundary_velocity (const MAST::FunctionBase &p, RealVectorX &f, const unsigned int s, const MAST::FieldFunction< RealVectorX > &vel_f, MAST::BoundaryConditionBase &bc) |
| Calculates the residual vector and Jacobian due to surface flux on element volumetric domain. More... | |
| virtual void | surface_convection_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac, const unsigned int s, MAST::BoundaryConditionBase &bc) |
| Calculates the residual vector and Jacobian due to surface convection. More... | |
| virtual void | surface_convection_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac, MAST::BoundaryConditionBase &bc) |
| Calculates the residual vector and Jacobian due to surface convection on the element domain. More... | |
| virtual void | surface_convection_residual_sensitivity (const MAST::FunctionBase &p, RealVectorX &f, const unsigned int s, MAST::BoundaryConditionBase &bc) |
| Calculates the residual vector sensitivity and Jacobian due to surface convection. More... | |
| virtual void | surface_convection_residual_sensitivity (const MAST::FunctionBase &p, RealVectorX &f, MAST::BoundaryConditionBase &bc) |
| Calculates the residual vector sensitivity and Jacobian due to surface convection on element domain. More... | |
| virtual void | surface_convection_boundary_velocity (const MAST::FunctionBase &p, RealVectorX &f, const unsigned int s, const MAST::FieldFunction< RealVectorX > &vel_f, MAST::BoundaryConditionBase &bc) |
| Calculates the residual vector and Jacobian due to surface flux on element volumetric domain. More... | |
| virtual void | surface_radiation_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac, const unsigned int s, MAST::BoundaryConditionBase &bc) |
| Calculates the residual vector and Jacobian due to surface radiation flux on side s. More... | |
| virtual void | surface_radiation_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac, MAST::BoundaryConditionBase &bc) |
| Calculates the residual vector and Jacobian due to surface radiation flux on element domain. More... | |
| virtual void | surface_radiation_residual_sensitivity (const MAST::FunctionBase &p, RealVectorX &f, const unsigned int s, MAST::BoundaryConditionBase &bc) |
| Calculates the residual vector sensitivity and Jacobian due to surface radiation flux on element side. More... | |
| virtual void | surface_radiation_residual_sensitivity (const MAST::FunctionBase &p, RealVectorX &f, MAST::BoundaryConditionBase &bc) |
| Calculates the residual vector sensitivity and Jacobian due to surface radiation flux on element domain. More... | |
| virtual void | surface_radiation_boundary_velocity (const MAST::FunctionBase &p, RealVectorX &f, const unsigned int s, const MAST::FieldFunction< RealVectorX > &vel_f, MAST::BoundaryConditionBase &bc) |
| Calculates the residual vector and Jacobian due to surface flux on element volumetric domain. More... | |
| virtual void | volume_heat_source_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac, MAST::BoundaryConditionBase &bc) |
| Calculates the residual vector and Jacobian due to volume heat source. More... | |
| virtual void | volume_heat_source_residual_sensitivity (const MAST::FunctionBase &p, RealVectorX &f, MAST::BoundaryConditionBase &bc) |
| Calculates the residual vector and Jacobian due to volume heat source. More... | |
| virtual void | volume_heat_source_boundary_velocity (const MAST::FunctionBase &p, RealVectorX &f, const unsigned int s, const MAST::FieldFunction< RealVectorX > &vel_f, MAST::BoundaryConditionBase &bc) |
| Calculates the residual vector and Jacobian due to volume heat source on element volumetric domain. More... | |
| void | _initialize_mass_fem_operator (const unsigned int qp, const MAST::FEBase &fe, MAST::FEMOperatorMatrix &Bmat) |
When mass = false, initializes the FEM operator matrix to the shape functions as
. More... | |
| void | _initialize_fem_gradient_operator (const unsigned int qp, const unsigned int dim, const MAST::FEBase &fe, std::vector< MAST::FEMOperatorMatrix > &dBmat) |
For mass = true, the FEM operator matrix is initilized to the weak form of the Laplacian
. More... | |
Protected Attributes | |
| const MAST::ElementPropertyCardBase & | _property |
| element property More... | |
Protected Attributes inherited from MAST::ElementBase | |
| MAST::SystemInitialization & | _system |
| SystemInitialization object associated with this element. More... | |
| MAST::AssemblyBase & | _assembly |
| Assembly object. More... | |
| const MAST::GeomElem & | _elem |
| geometric element for which the computations are performed More... | |
| MAST::FunctionBase * | _active_sol_function |
| pointer to the active solution mesh field function. More... | |
| const Real & | _time |
| time for which system is being assembled More... | |
| RealVectorX | _sol |
| local solution More... | |
| RealVectorX | _sol_sens |
| local solution sensitivity More... | |
| ComplexVectorX | _complex_sol |
| local solution used for frequency domain analysis More... | |
| ComplexVectorX | _complex_sol_sens |
| local solution used for frequency domain analysis More... | |
| RealVectorX | _delta_sol |
| local solution used for linearized analysis More... | |
| RealVectorX | _delta_sol_sens |
| local solution used for linearized analysis More... | |
| RealVectorX | _vel |
| local velocity More... | |
| RealVectorX | _vel_sens |
| local velocity More... | |
| RealVectorX | _delta_vel |
| local velocity More... | |
| RealVectorX | _delta_vel_sens |
| local velocity More... | |
| RealVectorX | _accel |
| local acceleration More... | |
| RealVectorX | _accel_sens |
| local acceleration More... | |
| RealVectorX | _delta_accel |
| local acceleration More... | |
| RealVectorX | _delta_accel_sens |
| local acceleration More... | |
This element implements the Galerkin discretization of the heat conduction problem
with the flux provided on the boundary with Neumann boundary conditions.
The discrete form is represented as
, where
, and
, where
is the boundary normal surface flux on
and
is the volumetric heat generation.
Definition at line 53 of file heat_conduction_elem_base.h.
| MAST::HeatConductionElementBase::HeatConductionElementBase | ( | MAST::SystemInitialization & | sys, |
| MAST::AssemblyBase & | assembly, | ||
| const MAST::GeomElem & | elem, | ||
| const MAST::ElementPropertyCardBase & | p | ||
| ) |
Constructor.
Definition at line 36 of file heat_conduction_elem_base.cpp.
|
virtual |
Definition at line 47 of file heat_conduction_elem_base.cpp.
|
protected |
For mass = true, the FEM operator matrix is initilized to the weak form of the Laplacian
.
Definition at line 1782 of file heat_conduction_elem_base.cpp.


|
protected |
When mass = false, initializes the FEM operator matrix to the shape functions as
.
Definition at line 1759 of file heat_conduction_elem_base.cpp.


|
inline |
returns a constant reference to the finite element object
Definition at line 73 of file heat_conduction_elem_base.h.

|
virtual |
internal force contribution to system residual
Definition at line 55 of file heat_conduction_elem_base.cpp.


|
virtual |
sensitivity of the internal force contribution to system residual
Definition at line 602 of file heat_conduction_elem_base.cpp.


|
virtual |
sensitivity of the internal force contribution to system residual
Definition at line 534 of file heat_conduction_elem_base.cpp.


| void MAST::HeatConductionElementBase::side_external_residual | ( | bool | request_jacobian, |
| RealVectorX & | f, | ||
| RealMatrixX & | jac, | ||
| std::multimap< libMesh::boundary_id_type, MAST::BoundaryConditionBase * > & | bc | ||
| ) |
side external force contribution to system residual
Definition at line 230 of file heat_conduction_elem_base.cpp.


| void MAST::HeatConductionElementBase::side_external_residual_sensitivity | ( | const MAST::FunctionBase & | p, |
| RealVectorX & | f, | ||
| std::multimap< libMesh::boundary_id_type, MAST::BoundaryConditionBase * > & | bc | ||
| ) |
sensitivity of the side external force contribution to system residual
Definition at line 349 of file heat_conduction_elem_base.cpp.


|
protectedvirtual |
Calculates the residual vector and Jacobian due to surface flux on element volumetric domain.
This is used only for 1D or 2D elements.
Definition at line 1252 of file heat_conduction_elem_base.cpp.


|
protectedvirtual |
Calculates the residual vector and Jacobian due to surface convection.
Definition at line 1028 of file heat_conduction_elem_base.cpp.


|
protectedvirtual |
Calculates the residual vector and Jacobian due to surface convection on the element domain.
This is relevant only for 1D and 2D elements.
Definition at line 1088 of file heat_conduction_elem_base.cpp.

|
protectedvirtual |
Calculates the residual vector sensitivity and Jacobian due to surface convection.
Definition at line 1144 of file heat_conduction_elem_base.cpp.


|
protectedvirtual |
Calculates the residual vector sensitivity and Jacobian due to surface convection on element domain.
This is relevant only for 1D and 2D elements.
Definition at line 1201 of file heat_conduction_elem_base.cpp.

|
protectedvirtual |
Calculates the residual vector and Jacobian due to surface flux on element volumetric domain.
This is used only for 1D or 2D elements.
Definition at line 971 of file heat_conduction_elem_base.cpp.


|
protectedvirtual |
Calculates the residual vector and Jacobian due to surface flux on element side s.
Definition at line 812 of file heat_conduction_elem_base.cpp.


|
protectedvirtual |
Calculates the residual vector sensitivity due to surface flux on element volumetric domain.
This is used only for 2D or 3D elements.
Definition at line 855 of file heat_conduction_elem_base.cpp.

|
protectedvirtual |
Calculates the residual vector sensitivity and Jacobian due to surface flux on element side s.
Definition at line 892 of file heat_conduction_elem_base.cpp.


|
protectedvirtual |
Calculates the residual vector and Jacobian due to surface flux on element volumetric domain.
This is used only for 1D or 2D elements.
Definition at line 936 of file heat_conduction_elem_base.cpp.

|
protectedvirtual |
Calculates the residual vector and Jacobian due to surface flux on element volumetric domain.
This is used only for 1D or 2D elements.
Definition at line 1547 of file heat_conduction_elem_base.cpp.


|
protectedvirtual |
Calculates the residual vector and Jacobian due to surface radiation flux on side s.
Definition at line 1323 of file heat_conduction_elem_base.cpp.


|
protectedvirtual |
Calculates the residual vector and Jacobian due to surface radiation flux on element domain.
Definition at line 1385 of file heat_conduction_elem_base.cpp.

|
protectedvirtual |
Calculates the residual vector sensitivity and Jacobian due to surface radiation flux on element side.
Definition at line 1443 of file heat_conduction_elem_base.cpp.


|
protectedvirtual |
Calculates the residual vector sensitivity and Jacobian due to surface radiation flux on element domain.
Definition at line 1500 of file heat_conduction_elem_base.cpp.

|
virtual |
inertial force contribution to system residual
Definition at line 157 of file heat_conduction_elem_base.cpp.


|
virtual |
sensitivity of the internal force contribution to system residual
Definition at line 741 of file heat_conduction_elem_base.cpp.


|
virtual |
sensitivity of the damping force contribution to system residual
Definition at line 689 of file heat_conduction_elem_base.cpp.


| void MAST::HeatConductionElementBase::volume_external_residual | ( | bool | request_jacobian, |
| RealVectorX & | f, | ||
| RealMatrixX & | jac, | ||
| std::multimap< libMesh::subdomain_id_type, MAST::BoundaryConditionBase * > & | bc | ||
| ) |
volume external force contribution to system residual
Definition at line 292 of file heat_conduction_elem_base.cpp.


| void MAST::HeatConductionElementBase::volume_external_residual_boundary_velocity | ( | const MAST::FunctionBase & | p, |
| RealVectorX & | f, | ||
| const unsigned int | s, | ||
| const MAST::FieldFunction< RealVectorX > & | vel_f, | ||
| std::multimap< libMesh::subdomain_id_type, MAST::BoundaryConditionBase * > & | bc | ||
| ) |
boundary velocity contribution of volume external force.
Definition at line 466 of file heat_conduction_elem_base.cpp.


| void MAST::HeatConductionElementBase::volume_external_residual_sensitivity | ( | const MAST::FunctionBase & | p, |
| RealVectorX & | f, | ||
| std::multimap< libMesh::subdomain_id_type, MAST::BoundaryConditionBase * > & | bc | ||
| ) |
sensitivity of the volume external force contribution to system residual
Definition at line 409 of file heat_conduction_elem_base.cpp.


|
protectedvirtual |
Calculates the residual vector and Jacobian due to volume heat source on element volumetric domain.
Definition at line 1699 of file heat_conduction_elem_base.cpp.


|
protectedvirtual |
Calculates the residual vector and Jacobian due to volume heat source.
Definition at line 1622 of file heat_conduction_elem_base.cpp.


|
protectedvirtual |
Calculates the residual vector and Jacobian due to volume heat source.
Definition at line 1661 of file heat_conduction_elem_base.cpp.


|
protected |
element property
Definition at line 388 of file heat_conduction_elem_base.h.