MAST
|
This is the base class for elements that implement calculation of finite element quantities over the domain and sides of a geometric element. More...
#include <elem_base.h>
Public Member Functions | |
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 Attributes | |
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 is the base class for elements that implement calculation of finite element quantities over the domain and sides of a geometric element.
The primary functions required of the elements depend on the nature of analysis:
A nonliner analysis requires element residuals and Jacobians. Sensitivity analysis of the nonlinear problem requires the sensitivity of the residual vector with respect to the concerned parameter.
An eigenvalue analysis requires the coefficent matrices and . For cases where the eigenvalue problem is defined using small disturbances about a steady-state solution, the base solution (and its sensitivity for sensitivity problems) needs to be provided to the element.
Definition at line 72 of file elem_base.h.
MAST::ElementBase::ElementBase | ( | MAST::SystemInitialization & | sys, |
MAST::AssemblyBase & | assembly, | ||
const MAST::GeomElem & | elem | ||
) |
The default constructor.
sys | SystemInitialization object which provides the system for which this element will perorm the calculations. |
elem | libMesh::Elem object on which calculations will be performed. |
Definition at line 27 of file elem_base.cpp.
|
virtual |
Default virtual destructor.
Definition at line 39 of file elem_base.cpp.
|
inline |
Definition at line 103 of file elem_base.h.
void MAST::ElementBase::attach_active_solution_function | ( | MAST::FunctionBase & | f | ) |
Attaches the function that represents the system solution.
Definition at line 148 of file elem_base.cpp.
void MAST::ElementBase::detach_active_solution_function | ( | ) |
Detaches the function object that may have been attached to the element.
Definition at line 158 of file elem_base.cpp.
|
inline |
Definition at line 117 of file elem_base.h.
|
virtual |
stores vec
as acceleration for element level calculations, or its sensitivity if if_sens
is true.
Reimplemented in MAST::StructuralElementBase.
Definition at line 124 of file elem_base.cpp.
|
virtual |
This provides the complex solution (or its sensitivity if if_sens
is true.) for frequecy-domain analysis.
stores vec
as solution for element level calculations.
Definition at line 86 of file elem_base.cpp.
|
virtual |
stores vec
as perturbed acceleration for element level calculations, or its sensitivity if if_sens
is true.
Reimplemented in MAST::StructuralElementBase.
Definition at line 136 of file elem_base.cpp.
|
virtual |
This provides the perturbed solution (or its sensitivity if if_sens
is true.) for linearized analysis.
stores vec
as solution for element level calculations.
Reimplemented in MAST::StructuralElementBase.
Definition at line 74 of file elem_base.cpp.
|
virtual |
stores vec
as perturbed velocity for element level calculations, or its sensitivity if if_sens
is true.
Reimplemented in MAST::StructuralElementBase.
Definition at line 112 of file elem_base.cpp.
|
virtual |
stores vec
as solution for element level calculations, or its sensitivity if if_sens
is true.
Reimplemented in MAST::StructuralElementBase.
Definition at line 62 of file elem_base.cpp.
|
virtual |
stores vec
as velocity for element level calculations, or its sensitivity if if_sens
is true.
Reimplemented in MAST::StructuralElementBase.
Definition at line 100 of file elem_base.cpp.
const RealVectorX & MAST::ElementBase::sol | ( | bool | if_sens = false | ) | const |
if_sens
is true. Definition at line 53 of file elem_base.cpp.
MAST::NonlinearSystem & MAST::ElementBase::system | ( | ) |
Definition at line 45 of file elem_base.cpp.
|
inline |
Definition at line 96 of file elem_base.h.
|
protected |
local acceleration
Definition at line 297 of file elem_base.h.
|
protected |
local acceleration
Definition at line 303 of file elem_base.h.
|
protected |
pointer to the active solution mesh field function.
If this has been set, then some of the element properties are dependent on the element solution, and the element should perform the necessary operations in calculation of the Jacobian
Definition at line 226 of file elem_base.h.
|
protected |
Assembly object.
Definition at line 213 of file elem_base.h.
|
protected |
local solution used for frequency domain analysis
Definition at line 250 of file elem_base.h.
|
protected |
local solution used for frequency domain analysis
Definition at line 256 of file elem_base.h.
|
protected |
local acceleration
Definition at line 309 of file elem_base.h.
|
protected |
local acceleration
Definition at line 315 of file elem_base.h.
|
protected |
local solution used for linearized analysis
Definition at line 262 of file elem_base.h.
|
protected |
local solution used for linearized analysis
Definition at line 268 of file elem_base.h.
|
protected |
local velocity
Definition at line 285 of file elem_base.h.
|
protected |
local velocity
Definition at line 291 of file elem_base.h.
|
protected |
geometric element for which the computations are performed
Definition at line 218 of file elem_base.h.
|
protected |
local solution
Definition at line 238 of file elem_base.h.
|
protected |
local solution sensitivity
Definition at line 244 of file elem_base.h.
|
protected |
SystemInitialization object associated with this element.
Definition at line 208 of file elem_base.h.
|
protected |
time for which system is being assembled
Definition at line 232 of file elem_base.h.
|
protected |
local velocity
Definition at line 273 of file elem_base.h.
|
protected |
local velocity
Definition at line 279 of file elem_base.h.