MAST
|
#include <frequency_domain_linearized_conservative_fluid_elem.h>
Public Member Functions | |
FrequencyDomainLinearizedConservativeFluidElem (MAST::SystemInitialization &sys, MAST::AssemblyBase &assembly, const MAST::GeomElem &elem, const MAST::FlightCondition &f) | |
virtual | ~FrequencyDomainLinearizedConservativeFluidElem () |
virtual bool | internal_residual (bool request_jacobian, ComplexVectorX &f, ComplexMatrixX &jac) |
internal force contribution to system residual More... | |
virtual bool | internal_residual_sensitivity (const MAST::FunctionBase &p, bool request_jacobian, ComplexVectorX &f, ComplexMatrixX &jac) |
sensitivity of internal force contribution to system residual. More... | |
bool | side_external_residual (bool request_jacobian, ComplexVectorX &f, ComplexMatrixX &jac, std::multimap< libMesh::boundary_id_type, MAST::BoundaryConditionBase * > &bc) |
side external force contribution to system residual More... | |
virtual bool | side_external_residual_sensitivity (const MAST::FunctionBase &p, bool request_jacobian, ComplexVectorX &f, ComplexMatrixX &jac, std::multimap< libMesh::boundary_id_type, MAST::BoundaryConditionBase * > &bc) |
sensitivity of internal force contribution to system residual. More... | |
Public Member Functions inherited from MAST::ConservativeFluidElementBase | |
ConservativeFluidElementBase (MAST::SystemInitialization &sys, MAST::AssemblyBase &assembly, const MAST::GeomElem &elem, const MAST::FlightCondition &f) | |
virtual | ~ConservativeFluidElementBase () |
virtual bool | internal_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac) |
internal force contribution to system residual More... | |
virtual bool | linearized_internal_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac) |
internal force contribution to system residual of the linearized problem. More... | |
virtual bool | velocity_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac_xdot, RealMatrixX &jac) |
inertial force contribution to system residual More... | |
virtual bool | linearized_velocity_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac_xdot, RealMatrixX &jac) |
inertial force contribution to system residual of the linearized problem More... | |
bool | 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... | |
bool | linearized_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... | |
virtual bool | internal_residual_sensitivity (const MAST::FunctionBase &p, bool request_jacobian, RealVectorX &f, RealMatrixX &jac) |
sensitivity of the internal force contribution to system residual More... | |
virtual bool | velocity_residual_sensitivity (const MAST::FunctionBase &p, bool request_jacobian, RealVectorX &f, RealMatrixX &jac_xdot, RealMatrixX &jac) |
sensitivity of the damping force contribution to system residual More... | |
bool | side_external_residual_sensitivity (const MAST::FunctionBase &p, bool request_jacobian, RealVectorX &f, RealMatrixX &jac, std::multimap< libMesh::boundary_id_type, MAST::BoundaryConditionBase * > &bc) |
sensitivity of the side external force contribution to system residual More... | |
virtual void | side_integrated_force (const unsigned int s, RealVectorX &f, RealMatrixX *dfdX=nullptr) |
surface integrated force More... | |
virtual void | side_integrated_force_sensitivity (const MAST::FunctionBase &p, const unsigned int s, RealVectorX &f) |
virtual bool | symmetry_surface_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac, const unsigned int s, MAST::BoundaryConditionBase &bc) |
virtual bool | symmetry_surface_residual_sensitivity (const MAST::FunctionBase &p, bool request_jacobian, RealVectorX &f, RealMatrixX &jac, const unsigned int s, MAST::BoundaryConditionBase &bc) |
virtual bool | slip_wall_surface_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac, const unsigned int s, MAST::BoundaryConditionBase &bc) |
virtual bool | linearized_slip_wall_surface_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac, const unsigned int s, MAST::BoundaryConditionBase &bc) |
virtual bool | noslip_wall_surface_residual_sensitivity (const MAST::FunctionBase &p, bool request_jacobian, RealVectorX &f, RealMatrixX &jac, const unsigned int s, MAST::BoundaryConditionBase &bc) |
virtual bool | noslip_wall_surface_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac, const unsigned int s, MAST::BoundaryConditionBase &bc) |
virtual bool | slip_wall_surface_residual_sensitivity (const MAST::FunctionBase &p, bool request_jacobian, RealVectorX &f, RealMatrixX &jac, const unsigned int s, MAST::BoundaryConditionBase &bc) |
virtual bool | far_field_surface_residual (bool request_jacobian, RealVectorX &f, RealMatrixX &jac, const unsigned int s, MAST::BoundaryConditionBase &bc) |
virtual bool | far_field_surface_residual_sensitivity (const MAST::FunctionBase &p, bool request_jacobian, RealVectorX &f, RealMatrixX &jac, const unsigned int s, MAST::BoundaryConditionBase &bc) |
Public Member Functions inherited from MAST::FluidElemBase | |
FluidElemBase (const unsigned int dimension, const MAST::FlightCondition &f) | |
Constructor. More... | |
virtual | ~FluidElemBase () |
void | get_infinity_vars (RealVectorX &vars_inf) const |
bool | if_viscous () const |
void | calculate_dxidX (const unsigned int qp, const MAST::FEBase &fe, RealMatrixX &dxi_dX, RealMatrixX &dX_dxi) |
void | update_solution_at_quadrature_point (const unsigned int qp, const MAST::FEBase &fe, const RealVectorX &elem_solution, RealVectorX &conservative_sol, MAST::PrimitiveSolution &primitive_sol, MAST::FEMOperatorMatrix &B_mat, std::vector< MAST::FEMOperatorMatrix > &dB_mat) |
void | calculate_advection_flux (const unsigned int calculate_dim, const MAST::PrimitiveSolution &sol, RealVectorX &flux) |
void | calculate_diffusion_flux (const unsigned int calculate_dim, const MAST::PrimitiveSolution &sol, const RealMatrixX &stress_tensor, const RealVectorX &temp_gradient, RealVectorX &flux) |
void | calculate_diffusion_tensors (const RealVectorX &elem_sol, const std::vector< MAST::FEMOperatorMatrix > &dB_mat, const RealMatrixX &dprim_dcons, const MAST::PrimitiveSolution &psol, RealMatrixX &stress_tensor, RealVectorX &temp_gradient) |
calculates and returns the stress tensor in stress_tensor . More... | |
void | calculate_diffusion_tensors_sensitivity (const RealVectorX &elem_sol, const RealVectorX &elem_sol_sens, const std::vector< MAST::FEMOperatorMatrix > &dB_mat, const RealMatrixX &dprim_dcons, const MAST::PrimitiveSolution &psol, const MAST::SmallPerturbationPrimitiveSolution< Real > &dsol, RealMatrixX &stress_tensor_sens, RealVectorX &temp_gradient_sens) |
calculates and returns the stress tensor in stress_tensor . More... | |
void | calculate_conservative_variable_jacobian (const MAST::PrimitiveSolution &sol, RealMatrixX &dcons_dprim, RealMatrixX &dprim_dcons) |
void | calculate_advection_flux_jacobian (const unsigned int calculate_dim, const MAST::PrimitiveSolution &sol, RealMatrixX &mat) |
void | calculate_advection_flux_jacobian_rho_derivative (const unsigned int calculate_dim, const MAST::PrimitiveSolution &sol, RealMatrixX &mat) |
void | calculate_advection_flux_jacobian_u1_derivative (const unsigned int calculate_dim, const MAST::PrimitiveSolution &sol, RealMatrixX &mat) |
void | calculate_advection_flux_jacobian_u2_derivative (const unsigned int calculate_dim, const MAST::PrimitiveSolution &sol, RealMatrixX &mat) |
void | calculate_advection_flux_jacobian_u3_derivative (const unsigned int calculate_dim, const MAST::PrimitiveSolution &sol, RealMatrixX &mat) |
void | calculate_advection_flux_jacobian_T_derivative (const unsigned int calculate_dim, const MAST::PrimitiveSolution &sol, RealMatrixX &mat) |
template<typename ValType > | |
void | calculate_advection_flux_jacobian_vec_mult_second_derivative (const unsigned int calculate_dim, const MAST::PrimitiveSolution &sol, const ValType &lin_sol, RealMatrixX &mat) |
template<typename ValType > | |
void | calculate_advection_flux_jacobian_vec_adjoint_mult_second_derivative (const unsigned int calculate_dim, const MAST::PrimitiveSolution &sol, const ValType &lin_sol, RealMatrixX &mat) |
void | calculate_diffusion_flux_jacobian (const unsigned int flux_dim, const unsigned int deriv_dim, const MAST::PrimitiveSolution &sol, RealMatrixX &mat) |
void | calculate_diffusion_flux_jacobian_primitive_vars (const unsigned int flux_dim, const unsigned int deriv_dim, const RealVectorX &uvec, const bool zero_kth, const MAST::PrimitiveSolution &sol, RealMatrixX &mat) |
void | calculate_advection_flux_jacobian_sensitivity_for_conservative_variable (const unsigned int calculate_dim, const MAST::PrimitiveSolution &sol, std::vector< RealMatrixX > &mat) |
void | calculate_advection_flux_jacobian_sensitivity_for_primitive_variable (const unsigned int calculate_dim, const unsigned int primitive_var, const MAST::PrimitiveSolution &sol, RealMatrixX &mat) |
void | calculate_advection_left_eigenvector_and_inverse_for_normal (const MAST::PrimitiveSolution &sol, const libMesh::Point &normal, RealVectorX &eig_vals, RealMatrixX &l_eig_mat, RealMatrixX &l_eig_mat_inv_tr) |
void | calculate_advection_left_eigenvector_and_inverse_rho_derivative_for_normal (const MAST::PrimitiveSolution &sol, const libMesh::Point &normal, RealMatrixX &eig_vals, RealMatrixX &l_eig_mat, RealMatrixX &l_eig_mat_inv_tr) |
void | calculate_advection_left_eigenvector_and_inverse_u1_derivative_for_normal (const MAST::PrimitiveSolution &sol, const libMesh::Point &normal, RealMatrixX &eig_vals, RealMatrixX &l_eig_mat, RealMatrixX &l_eig_mat_inv_tr) |
void | calculate_advection_left_eigenvector_and_inverse_u2_derivative_for_normal (const MAST::PrimitiveSolution &sol, const libMesh::Point &normal, RealMatrixX &eig_vals, RealMatrixX &l_eig_mat, RealMatrixX &l_eig_mat_inv_tr) |
void | calculate_advection_left_eigenvector_and_inverse_u3_derivative_for_normal (const MAST::PrimitiveSolution &sol, const libMesh::Point &normal, RealMatrixX &eig_vals, RealMatrixX &l_eig_mat, RealMatrixX &l_eig_mat_inv_tr) |
void | calculate_advection_left_eigenvector_and_inverse_T_derivative_for_normal (const MAST::PrimitiveSolution &sol, const libMesh::Point &normal, RealMatrixX &eig_vals, RealMatrixX &l_eig_mat, RealMatrixX &l_eig_mat_inv_tr) |
template<typename ValType > | |
void | calculate_advection_outflow_flux_jacobian_vec_mult_second_derivative (const MAST::PrimitiveSolution &sol, const libMesh::Point &normal, const ValType &lin_sol, RealMatrixX &mat) |
template<typename ValType > | |
void | calculate_advection_outflow_flux_jacobian_vec_adjoint_mult_second_derivative (const MAST::PrimitiveSolution &sol, const libMesh::Point &normal, const ValType &lin_sol, RealMatrixX &mat) |
void | calculate_entropy_variable_jacobian (const MAST::PrimitiveSolution &sol, RealMatrixX &dUdV, RealMatrixX &dVdU) |
void | calculate_pressure_derivative_wrt_conservative_variables (const MAST::PrimitiveSolution &sol, RealVectorX &dpdX) |
void | calculate_advection_flux_jacobian_for_moving_solid_wall_boundary (const MAST::PrimitiveSolution &sol, const Real ui_ni, const libMesh::Point &nvec, const RealVectorX &dnvec, RealMatrixX &mat) |
void | calculate_advection_flux_jacobian_rho_derivative_for_moving_solid_wall_boundary (const MAST::PrimitiveSolution &sol, const Real ui_ni, const libMesh::Point &nvec, const RealVectorX &dnvec, RealMatrixX &mat) |
void | calculate_advection_flux_jacobian_u1_derivative_for_moving_solid_wall_boundary (const MAST::PrimitiveSolution &sol, const Real ui_ni, const libMesh::Point &nvec, const RealVectorX &dnvec, RealMatrixX &mat) |
void | calculate_advection_flux_jacobian_u2_derivative_for_moving_solid_wall_boundary (const MAST::PrimitiveSolution &sol, const Real ui_ni, const libMesh::Point &nvec, const RealVectorX &dnvec, RealMatrixX &mat) |
void | calculate_advection_flux_jacobian_u3_derivative_for_moving_solid_wall_boundary (const MAST::PrimitiveSolution &sol, const Real ui_ni, const libMesh::Point &nvec, const RealVectorX &dnvec, RealMatrixX &mat) |
void | calculate_advection_flux_jacobian_T_derivative_for_moving_solid_wall_boundary (const MAST::PrimitiveSolution &sol, const Real ui_ni, const libMesh::Point &nvec, const RealVectorX &dnvec, RealMatrixX &mat) |
template<typename ValType > | |
void | calculate_advection_flux_jacobian_vec_mult_second_derivative_for_moving_solid_wall_boundary (const MAST::PrimitiveSolution &sol, const Real ui_ni, const libMesh::Point &nvec, const RealVectorX &dnvec, const ValType &lin_sol, RealMatrixX &mat) |
template<typename ValType > | |
void | calculate_advection_flux_jacobian_vec_adjoint_mult_second_derivative_for_moving_solid_wall_boundary (const MAST::PrimitiveSolution &sol, const Real ui_ni, const libMesh::Point &nvec, const RealVectorX &dnvec, const ValType &lin_sol, RealMatrixX &mat) |
bool | calculate_barth_tau_matrix (const unsigned int qp, const MAST::FEBase &fe, const MAST::PrimitiveSolution &sol, RealMatrixX &tau, std::vector< RealMatrixX > &tau_sens) |
bool | calculate_aliabadi_tau_matrix (const unsigned int qp, const MAST::FEBase &fe, const MAST::PrimitiveSolution &sol, RealMatrixX &tau, std::vector< RealMatrixX > &tau_sens) |
void | calculate_hartmann_discontinuity_operator (const unsigned int qp, const MAST::FEBase &fe, const MAST::PrimitiveSolution &sol, const RealVectorX &elem_solution, const std::vector< MAST::FEMOperatorMatrix > &dB_mat, const RealMatrixX &Ai_Bi_advection, RealVectorX &discontinuity_val) |
void | calculate_aliabadi_discontinuity_operator (const unsigned int qp, const MAST::FEBase &fe, const MAST::PrimitiveSolution &sol, const RealVectorX &elem_solution, const std::vector< MAST::FEMOperatorMatrix > &dB_mat, const RealMatrixX &Ai_Bi_advection, RealVectorX &discontinuity_val) |
template<typename ValType > | |
void | calculate_small_disturbance_aliabadi_discontinuity_operator (const unsigned int qp, const MAST::FEBase &fe, const MAST::PrimitiveSolution &sol, const MAST::SmallPerturbationPrimitiveSolution< ValType > &dsol, const RealVectorX &elem_solution, const std::vector< MAST::FEMOperatorMatrix > &dB_mat, const RealMatrixX &Ai_Bi_advection, RealVectorX &discontinuity_val) |
void | calculate_differential_operator_matrix (const unsigned int qp, const MAST::FEBase &fe, const RealVectorX &elem_solution, const MAST::PrimitiveSolution &sol, const MAST::FEMOperatorMatrix &B_mat, const std::vector< MAST::FEMOperatorMatrix > &dB_mat, const std::vector< RealMatrixX > &Ai_advection, const RealMatrixX &Ai_Bi_advection, const std::vector< std::vector< RealMatrixX > > &Ai_sens, RealMatrixX &LS_operator, RealMatrixX &LS_sens) |
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... | |
Public Attributes | |
MAST::FrequencyFunction * | freq |
frequency function that provides the frequency for computations. More... | |
Public Attributes inherited from MAST::FluidElemBase | |
const MAST::FlightCondition * | flight_condition |
This defines the surface motion for use with the nonlinear fluid solver. More... | |
unsigned int | dim |
Protected Member Functions | |
virtual bool | slip_wall_surface_residual (bool request_jacobian, ComplexVectorX &f, ComplexMatrixX &jac, const unsigned int s, MAST::BoundaryConditionBase &bc) |
residual of the slip wall that may be oscillating. More... | |
virtual bool | slip_wall_surface_residual_sensitivity (const MAST::FunctionBase &p, bool request_jacobian, ComplexVectorX &f, ComplexMatrixX &jac, const unsigned int s, MAST::BoundaryConditionBase &bc) |
sensitivity of residual of the slip wall that may be oscillating. More... | |
Protected Member Functions inherited from MAST::ConservativeFluidElementBase | |
void | _calculate_surface_integrated_load (bool request_derivative, const MAST::FunctionBase *p, const unsigned int s, MAST::OutputAssemblyElemOperations &output) |
calculates the surface integrated force vector More... | |
void | _initialize_fem_interpolation_operator (const unsigned int qp, const unsigned int dim, const MAST::FEBase &fe, MAST::FEMOperatorMatrix &Bmat) |
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... | |
void | _initialize_fem_second_derivative_operator (const unsigned int qp, const unsigned int dim, const MAST::FEBase &fe, std::vector< std::vector< MAST::FEMOperatorMatrix >> &d2Bmat) |
d2Bmat[i][j] is the derivative d2B/dxi dxj More... | |
Additional Inherited Members | |
Protected Attributes inherited from MAST::FluidElemBase | |
std::vector< MAST::FluidPrimitiveVars > | _active_primitive_vars |
std::vector< FluidConservativeVars > | _active_conservative_vars |
bool | _if_viscous |
bool | _include_pressure_switch |
Real | _dissipation_scaling |
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... | |
Definition at line 34 of file frequency_domain_linearized_conservative_fluid_elem.h.
MAST::FrequencyDomainLinearizedConservativeFluidElem::FrequencyDomainLinearizedConservativeFluidElem | ( | MAST::SystemInitialization & | sys, |
MAST::AssemblyBase & | assembly, | ||
const MAST::GeomElem & | elem, | ||
const MAST::FlightCondition & | f | ||
) |
Definition at line 38 of file frequency_domain_linearized_conservative_fluid_elem.cpp.
|
virtual |
Definition at line 53 of file frequency_domain_linearized_conservative_fluid_elem.cpp.
|
virtual |
internal force contribution to system residual
Definition at line 63 of file frequency_domain_linearized_conservative_fluid_elem.cpp.
|
virtual |
sensitivity of internal force contribution to system residual.
If request_jacobian
is true, then the sensitivity of Jacobian is retured in jac
.
Definition at line 142 of file frequency_domain_linearized_conservative_fluid_elem.cpp.
bool MAST::FrequencyDomainLinearizedConservativeFluidElem::side_external_residual | ( | bool | request_jacobian, |
ComplexVectorX & | f, | ||
ComplexMatrixX & | jac, | ||
std::multimap< libMesh::boundary_id_type, MAST::BoundaryConditionBase * > & | bc | ||
) |
side external force contribution to system residual
Definition at line 228 of file frequency_domain_linearized_conservative_fluid_elem.cpp.
|
virtual |
sensitivity of internal force contribution to system residual.
If request_jacobian
is true, then the sensitivity of Jacobian is retured in jac
.
Definition at line 353 of file frequency_domain_linearized_conservative_fluid_elem.cpp.
|
protectedvirtual |
residual of the slip wall that may be oscillating.
Definition at line 477 of file frequency_domain_linearized_conservative_fluid_elem.cpp.
|
protectedvirtual |
sensitivity of residual of the slip wall that may be oscillating.
If request_jacobian
is true, then the sensitivity of the Jacobian is returned in jac
.
Definition at line 706 of file frequency_domain_linearized_conservative_fluid_elem.cpp.
MAST::FrequencyFunction* MAST::FrequencyDomainLinearizedConservativeFluidElem::freq |
frequency function that provides the frequency for computations.
Definition at line 95 of file frequency_domain_linearized_conservative_fluid_elem.h.