![]() |
waves
Basic FE playground
|
Formulation of wake boundary residuals. More...
#include <wWakeResidual.h>
Static Public Member Functions | |
static std::tuple< Eigen::MatrixXd, Eigen::MatrixXd > | buildFixed (WakeElement const &we, std::vector< double > const &phi) |
Build the residual matrix for a fixed-point iteration, on one wake element. More... | |
static std::tuple< Eigen::VectorXd, Eigen::VectorXd > | build (WakeElement const &we, std::vector< double > const &phi) |
Build the residual vector, on one wake element. More... | |
static std::tuple< Eigen::MatrixXd, Eigen::MatrixXd > | buildGradientFlow (WakeElement const &we, std::vector< double > const &phi) |
Build the gradient of the residual vector with respect to the flow variable (jacobian), on one wake element. More... | |
static std::tuple< Eigen::MatrixXd, Eigen::MatrixXd, Eigen::MatrixXd > | buildGradientMesh (WakeElement const &we, std::vector< double > const &phi) |
Build the gradient of the residual vector with respect to the nodes, on one wake element. More... | |
Formulation of wake boundary residuals.
|
static |
Build the residual vector, on one wake element.
b_u = \int (psi + grad_psi*v_inf) * (grad_phi_u)^2 dS b_l = \int (psi + grad_psi*v_inf) * (grad_phi_l)^2 dS NB: v_inf = [1, 0, 0]
|
static |
Build the residual matrix for a fixed-point iteration, on one wake element.
A_u = \int (psi + grad_psi*v_inf) * v_u*grad_phi_u dS A_l = \int (psi + grad_psi*v_inf) * v_l*grad_phi_l dS NB: A_u and A_l will be assembled on same row DOF, but on different columns NB: v_inf = [1, 0, 0]
|
static |
Build the gradient of the residual vector with respect to the flow variable (jacobian), on one wake element.
A_u = \int (psi + grad_psi*v_inf) * 2*(grad_phi_u)*dgrad_phi_u dS A_l = \int (psi + grad_psi*v_inf) * 2*(grad_phi_l)*dgrad_phi_l dS NB: v_inf = [1, 0, 0]
|
static |
Build the gradient of the residual vector with respect to the nodes, on one wake element.
A = d( \int (psi + grad_psi*v_inf) * (grad_phi)^2 dS ) = \int dgrad_psi*v_inf * (grad_phi)^2 dS