Definition at line 42 of file fsi_generalized_aero_force_assembly.h.
#include <fsi_generalized_aero_force_assembly.h>
Public Member Functions | |
FSIGeneralizedAeroForceAssembly () | |
default constructor More... | |
~FSIGeneralizedAeroForceAssembly () | |
destructor More... | |
virtual void | assemble_generalized_aerodynamic_force_matrix (std::vector< libMesh::NumericVector< Real > *> &basis, ComplexMatrixX &mat, MAST::Parameter *p=nullptr) |
calculates the reduced order matrix given the basis provided in basis . More... | |
virtual void | clear_discipline_and_system () |
clears association with a system to this discipline, and vice-a-versa More... | |
void | init (MAST::FluidStructureAssemblyElemOperations &fsi_elem_ops, MAST::ComplexSolverBase &complex_solver, MAST::ComplexAssemblyBase &complex_assembly, MAST::ComplexAssemblyElemOperations &fluid_elem_ops, MAST::PressureFunction &pressure_func, MAST::FrequencyDomainPressureFunction &freq_pressure_func, MAST::ComplexMeshFieldFunction &displ_func) |
initializes for the given fluid and structural components. More... | |
Public Member Functions inherited from MAST::StructuralFluidInteractionAssembly | |
StructuralFluidInteractionAssembly () | |
constructor associates this assembly object with the system More... | |
virtual | ~StructuralFluidInteractionAssembly () |
destructor resets the association of this assembly object with the system More... | |
virtual void | assemble_reduced_order_quantity (std::vector< libMesh::NumericVector< Real > *> &basis, std::map< MAST::StructuralQuantityType, RealMatrixX *> &mat_qty_map) |
calculates the reduced order matrix given the basis provided in basis . More... | |
virtual void | assemble_reduced_order_quantity_sensitivity (const MAST::FunctionBase &f, std::vector< libMesh::NumericVector< Real > *> &basis, std::map< MAST::StructuralQuantityType, RealMatrixX *> &mat_qty_map) |
calculates the sensitivity of reduced order matrix given the basis provided in basis . More... | |
const libMesh::NumericVector< Real > & | base_sol (bool if_sens=false) const |
void | clear_base_solution (bool if_sens=false) |
Clears the pointer to base solution. More... | |
bool | if_linearized_about_nonzero_solution () const |
void | set_base_solution (const libMesh::NumericVector< Real > &sol, bool if_sens=false) |
if the eigenproblem is defined about a non-zero base solution, then this method provides the object with the base solution. More... | |
Public Member Functions inherited from MAST::AssemblyBase | |
AssemblyBase () | |
constructor takes a reference to the discipline that provides the boundary conditions, volume loads, properties, etc. More... | |
virtual | ~AssemblyBase () |
virtual destructor More... | |
void | attach_elem_parameter_dependence_object (MAST::AssemblyBase::ElemParameterDependence &dep) |
This object, if provided by user, will be used to reduce unnecessary computations in sensitivity analysis assembly operations. More... | |
void | attach_solution_function (MAST::MeshFieldFunction &f) |
tells the assembly object that this function is will need to be initialized before each residual evaluation More... | |
std::unique_ptr< libMesh::NumericVector< Real > > | build_localized_vector (const libMesh::System &sys, const libMesh::NumericVector< Real > &global) const |
localizes the parallel vector so that the local copy stores all values necessary for calculation of the element quantities More... | |
virtual void | calculate_output (const libMesh::NumericVector< Real > &X, bool if_localize_sol, MAST::OutputAssemblyElemOperations &output) |
calculates the value of quantity . More... | |
virtual Real | calculate_output_adjoint_sensitivity (const libMesh::NumericVector< Real > &X, bool if_localize_sol, const libMesh::NumericVector< Real > &adj_sol, const MAST::FunctionBase &p, MAST::AssemblyElemOperations &elem_ops, MAST::OutputAssemblyElemOperations &output, const bool include_partial_sens=true) |
Evaluates the total sensitivity of output wrt p using the adjoint solution provided in adj_sol for a linearization about solution X . More... | |
virtual void | calculate_output_adjoint_sensitivity_multiple_parameters_no_direct (const libMesh::NumericVector< Real > &X, bool if_localize_sol, const libMesh::NumericVector< Real > &adj_sol, const std::vector< const MAST::FunctionBase *> &p_vec, MAST::AssemblyElemOperations &elem_ops, MAST::OutputAssemblyElemOperations &output, std::vector< Real > &sens) |
Evaluates the dot product between adj_sol and sensitivity of residual about X for multiple parameter_vectors p_vec and returns the results in sens . More... | |
virtual void | calculate_output_derivative (const libMesh::NumericVector< Real > &X, bool if_localize_sol, MAST::OutputAssemblyElemOperations &output, libMesh::NumericVector< Real > &dq_dX) |
calculates More... | |
virtual void | calculate_output_direct_sensitivity (const libMesh::NumericVector< Real > &X, bool if_localize_sol, const libMesh::NumericVector< Real > *dXdp, bool if_localize_sol_sens, const MAST::FunctionBase &p, MAST::OutputAssemblyElemOperations &output) |
evaluates the sensitivity of the outputs in the attached discipline with respect to the parametrs in params . More... | |
virtual void | clear_elem_operation_object () |
clears the association of this object with the assembly element operation object. More... | |
void | clear_elem_parameter_dependence_object () |
void | clear_solver_monitor () |
clears the monitor object More... | |
void | detach_solution_function () |
removes the attachment of the solution function More... | |
const MAST::PhysicsDisciplineBase & | discipline () const |
MAST::PhysicsDisciplineBase & | discipline () |
MAST::AssemblyElemOperations & | get_elem_ops () |
MAST::AssemblyBase::SolverMonitor * | get_solver_monitor () |
virtual void | residual_and_jacobian (const libMesh::NumericVector< Real > &X, libMesh::NumericVector< Real > *R, libMesh::SparseMatrix< Real > *J, libMesh::NonlinearImplicitSystem &S) |
function that assembles the matrices and vectors quantities for nonlinear solution More... | |
virtual bool | sensitivity_assemble (const libMesh::NumericVector< Real > &X, bool if_localize_sol, const MAST::FunctionBase &f, libMesh::NumericVector< Real > &sensitivity_rhs, bool close_vector=true) |
Assembly function. More... | |
virtual void | set_discipline_and_system (MAST::PhysicsDisciplineBase &discipline, MAST::SystemInitialization &system) |
attaches a system to this discipline More... | |
virtual void | set_elem_operation_object (MAST::AssemblyElemOperations &elem_ops) |
attaches a element operation to this object, and associated this with the element operation object. More... | |
void | set_solver_monitor (MAST::AssemblyBase::SolverMonitor &monitor) |
attaches the solver monitor, which is a user provided routine that is called each time More... | |
const MAST::NonlinearSystem & | system () const |
MAST::NonlinearSystem & | system () |
MAST::SystemInitialization & | system_init () |
Protected Attributes | |
MAST::ComplexMeshFieldFunction * | _complex_displ |
flexible surface motion for fluid and structure More... | |
MAST::ComplexAssemblyBase * | _fluid_complex_assembly |
MAST::ComplexSolverBase * | _fluid_complex_solver |
complex solver More... | |
MAST::FrequencyDomainPressureFunction * | _freq_domain_pressure_function |
small disturbance pressure function boundary condition for structures More... | |
MAST::PressureFunction * | _pressure_function |
pressure function boundary condition for structures More... | |
Protected Attributes inherited from MAST::StructuralFluidInteractionAssembly | |
const libMesh::NumericVector< Real > * | _base_sol |
base solution about which this eigenproblem is defined. More... | |
const libMesh::NumericVector< Real > * | _base_sol_sensitivity |
sensitivity of base solution may be needed for sensitivity analysis. More... | |
Protected Attributes inherited from MAST::AssemblyBase | |
MAST::PhysicsDisciplineBase * | _discipline |
PhysicsDisciplineBase object for which this class is assembling. More... | |
MAST::AssemblyElemOperations * | _elem_ops |
provides assembly elem operations for use by this class More... | |
MAST::AssemblyBase::ElemParameterDependence * | _param_dependence |
If provided by user, this object is used by sensitiivty analysis to check for whether or the current design parameter influences an element. More... | |
MAST::MeshFieldFunction * | _sol_function |
system solution that will be initialized before each solution More... | |
MAST::AssemblyBase::SolverMonitor * | _solver_monitor |
User provided solver monitor is attached to the linear nonlinear solvers, if provided. More... | |
MAST::SystemInitialization * | _system |
System for which this assembly is performed. More... | |
Additional Inherited Members | |
Public Attributes inherited from MAST::AssemblyBase | |
bool | close_matrix |
flag to control the closing fo the Jacobian after assembly More... | |
std::set< unsigned int > | diagonal_elem_subdomain_id |
subdomain ids for which residuakl and Jacobian contributions will not be computed. More... | |
MAST::FSIGeneralizedAeroForceAssembly::FSIGeneralizedAeroForceAssembly | ( | ) |
default constructor
Definition at line 52 of file fsi_generalized_aero_force_assembly.cpp.
MAST::FSIGeneralizedAeroForceAssembly::~FSIGeneralizedAeroForceAssembly | ( | ) |
destructor
Definition at line 66 of file fsi_generalized_aero_force_assembly.cpp.
|
virtual |
calculates the reduced order matrix given the basis provided in basis
.
X
is the steady state solution about which the quantity is calculated.
Definition at line 122 of file fsi_generalized_aero_force_assembly.cpp.
|
virtual |
clears association with a system to this discipline, and vice-a-versa
Reimplemented from MAST::StructuralFluidInteractionAssembly.
Definition at line 101 of file fsi_generalized_aero_force_assembly.cpp.
void MAST::FSIGeneralizedAeroForceAssembly::init | ( | MAST::FluidStructureAssemblyElemOperations & | fsi_elem_ops, |
MAST::ComplexSolverBase & | complex_solver, | ||
MAST::ComplexAssemblyBase & | complex_assembly, | ||
MAST::ComplexAssemblyElemOperations & | fluid_elem_ops, | ||
MAST::PressureFunction & | pressure_func, | ||
MAST::FrequencyDomainPressureFunction & | freq_pressure_func, | ||
MAST::ComplexMeshFieldFunction & | displ_func | ||
) |
initializes for the given fluid and structural components.
The structural and fluid communicator objects should provide valid MPI communicators on ranks that store the respective disciplinary data structures. complex_solver
and pressure_function
should be non-null pointers only on nodes with a valid fluid communicator. motion_func
should be a non-null pointer only when structural_comm is a valid communicator.
Definition at line 76 of file fsi_generalized_aero_force_assembly.cpp.
|
protected |
flexible surface motion for fluid and structure
Definition at line 121 of file fsi_generalized_aero_force_assembly.h.
|
protected |
Definition at line 103 of file fsi_generalized_aero_force_assembly.h.
|
protected |
complex solver
Definition at line 101 of file fsi_generalized_aero_force_assembly.h.
|
protected |
small disturbance pressure function boundary condition for structures
Definition at line 115 of file fsi_generalized_aero_force_assembly.h.
|
protected |
pressure function boundary condition for structures
Definition at line 108 of file fsi_generalized_aero_force_assembly.h.