Chi-Tech
adjoint_src_function.h
Go to the documentation of this file.
1#ifndef CHITECH_LBS_ADJOINT_SRC_FUNCTION_H
2#define CHITECH_LBS_ADJOINT_SRC_FUNCTION_H
3
5
6namespace lbs
7{
8
9/**The adjoint source function removes volumetric fixed source moments
10 * as well as point sources, whilst adding volumetric QOI sources.*/
12{
13public:
14 explicit
15 AdjointSourceFunction(const LBSSolver& lbs_solver);
16
17 double AddSourceMoments() const override {return 0.0;}
18
20 std::vector<double>& destination_q,
21 const std::vector<double>& phi,
22 SourceFlags source_flags) override
23 {
24 //Inhibit -> AddPointSources
25 //Add -> AddVolumetricQOISources
26 AddVolumetricQOISources(groupset, destination_q, phi, source_flags);
27 }
28
30 std::vector<double>& destination_q,
31 const std::vector<double>& phi,
32 SourceFlags source_flags);
33};
34
35
36}//namespace lbs
37
38#endif //CHITECH_LBS_ADJOINT_SRC_FUNCTION_H
AdjointSourceFunction(const LBSSolver &lbs_solver)
void AddAdditionalSources(LBSGroupset &groupset, std::vector< double > &destination_q, const std::vector< double > &phi, SourceFlags source_flags) override
void AddVolumetricQOISources(LBSGroupset &groupset, std::vector< double > &destination_q, const std::vector< double > &phi, SourceFlags source_flags)
double AddSourceMoments() const override
SourceFlags
Definition: lbs_structs.h:88