 |
waves
Basic FE playground
|
Go to the documentation of this file.
27 #include <Eigen/Sparse>
39 std::shared_ptr<Newton>
sol;
40 std::shared_ptr<tbox::MshDeform>
morph;
41 std::shared_ptr<tbox::LinearSolver>
linsol;
55 std::vector<std::vector<int>>
arows;
58 Adjoint(std::shared_ptr<Newton> _sol, std::shared_ptr<tbox::MshDeform> _morph, std::shared_ptr<tbox::LinearSolver> _linsol);
59 virtual ~Adjoint() { std::cout <<
"~Adjoint()\n"; }
62 void save(tbox::MshExport *mshWriter,
int n = 0);
65 virtual void write(std::ostream &out)
const override;
71 void computeGradientAoa();
72 void computeGradientMesh();
74 void buildGradientLoadsFlow(Eigen::VectorXd &dL, Eigen::VectorXd &dD);
76 void buildGradientResidualAoa(Eigen::VectorXd &dR);
77 void buildGradientLoadsAoa(
double &dL,
double &dD);
79 void buildGradientResidualMesh(Eigen::SparseMatrix<double, Eigen::RowMajor> &dR);
80 void buildGradientLoadsMesh(Eigen::RowVectorXd &dL, Eigen::RowVectorXd &dD);
std::vector< Eigen::Vector3d > dClMsh
lift gradient with respect to mesh
Definition: wAdjoint.h:48
std::shared_ptr< tbox::LinearSolver > linsol
linear solver
Definition: wAdjoint.h:41
std::vector< double > lamCdFlo
drag flow adjoint
Definition: wAdjoint.h:47
std::vector< Eigen::Vector3d > dCdMsh
drag gradient with respect to mesh
Definition: wAdjoint.h:49
#define FLOW_API
Definition: flow.h:29
std::vector< double > lamClFlo
lift flow adjoint
Definition: wAdjoint.h:46
Namespace for flow module.
Definition: flow.h:37
std::shared_ptr< Newton > sol
Newton solver.
Definition: wAdjoint.h:39
std::vector< std::vector< int > > arows
rows (unknown index) with duplicated dof on wake
Definition: wAdjoint.h:55
int verbose
display more info
Definition: wAdjoint.h:44
std::shared_ptr< tbox::MshDeform > morph
mesh morpher
Definition: wAdjoint.h:40
fwk::Timers tms
internal timers
Definition: wAdjoint.h:54
Adjoint solver class.
Definition: wAdjoint.h:36
double dCdAoa
drag gradient with respect to angle of attack
Definition: wAdjoint.h:51
double dClAoa
lift gradient with respect to angle of attack
Definition: wAdjoint.h:50
virtual ~Adjoint()
Definition: wAdjoint.h:59
int nthreads
number of threads for the assembly
Definition: wAdjoint.h:43