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.
#include <elem_base.h>
Public Member Functions | |
ElementBase (MAST::SystemInitialization &sys, const MAST::GeomElem &elem) | |
The default constructor. More... | |
virtual | ~ElementBase () |
Default virtual destructor. 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... | |
const MAST::GeomElem & | elem () const |
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_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_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... | |
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_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_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_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... | |
const RealVectorX & | sol (bool if_sens=false) const |
MAST::NonlinearSystem & | system () |
MAST::SystemInitialization & | system_initialization () |
Protected Attributes | |
RealVectorX | _accel |
local acceleration More... | |
RealVectorX | _accel_sens |
local acceleration More... | |
MAST::FunctionBase * | _active_sol_function |
pointer to the active solution mesh field function. 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_accel |
local acceleration More... | |
RealVectorX | _delta_accel_sens |
local acceleration More... | |
RealVectorX | _delta_sol |
local solution used for linearized analysis More... | |
RealVectorX | _delta_sol_sens |
local solution used for linearized analysis More... | |
RealVectorX | _delta_vel |
local velocity More... | |
RealVectorX | _delta_vel_sens |
local velocity More... | |
const MAST::GeomElem & | _elem |
geometric element for which the computations are performed More... | |
RealVectorX | _sol |
local solution More... | |
RealVectorX | _sol_sens |
local solution sensitivity More... | |
MAST::SystemInitialization & | _system |
SystemInitialization object associated with this element. More... | |
const Real & | _time |
time for which system is being assembled More... | |
RealVectorX | _vel |
local velocity More... | |
RealVectorX | _vel_sens |
local velocity More... | |
MAST::ElementBase::ElementBase | ( | MAST::SystemInitialization & | sys, |
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 37 of file elem_base.cpp.
void MAST::ElementBase::attach_active_solution_function | ( | MAST::FunctionBase & | f | ) |
Attaches the function that represents the system solution.
Definition at line 146 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 156 of file elem_base.cpp.
|
inline |
Definition at line 109 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 122 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 84 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 134 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 72 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 110 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 60 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 98 of file elem_base.cpp.
const RealVectorX & MAST::ElementBase::sol | ( | bool | if_sens = false | ) | const |
if_sens
is true. Definition at line 51 of file elem_base.cpp.
MAST::NonlinearSystem & MAST::ElementBase::system | ( | ) |
Definition at line 43 of file elem_base.cpp.
|
inline |
Definition at line 95 of file elem_base.h.
|
protected |
local acceleration
Definition at line 284 of file elem_base.h.
|
protected |
local acceleration
Definition at line 290 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 213 of file elem_base.h.
|
protected |
local solution used for frequency domain analysis
Definition at line 237 of file elem_base.h.
|
protected |
local solution used for frequency domain analysis
Definition at line 243 of file elem_base.h.
|
protected |
local acceleration
Definition at line 296 of file elem_base.h.
|
protected |
local acceleration
Definition at line 302 of file elem_base.h.
|
protected |
local solution used for linearized analysis
Definition at line 249 of file elem_base.h.
|
protected |
local solution used for linearized analysis
Definition at line 255 of file elem_base.h.
|
protected |
local velocity
Definition at line 272 of file elem_base.h.
|
protected |
local velocity
Definition at line 278 of file elem_base.h.
|
protected |
geometric element for which the computations are performed
Definition at line 205 of file elem_base.h.
|
protected |
local solution
Definition at line 225 of file elem_base.h.
|
protected |
local solution sensitivity
Definition at line 231 of file elem_base.h.
|
protected |
SystemInitialization object associated with this element.
Definition at line 200 of file elem_base.h.
|
protected |
time for which system is being assembled
Definition at line 219 of file elem_base.h.
|
protected |
local velocity
Definition at line 260 of file elem_base.h.
|
protected |
local velocity
Definition at line 266 of file elem_base.h.