ABLATE Source Documentation  0.12.33
arbitraryEulerianSource.hpp
1 #ifndef ABLATELIBRARY_ARBITRARYEULERIANSOURCE_HPP
2 #define ABLATELIBRARY_ARBITRARYEULERIANSOURCE_HPP
3 
4 #include <string>
5 #include "coupledProcess.hpp"
6 
7 namespace ablate::particles::processes {
8 
10  private:
12  const std::string coupledFieldName;
13 
15  const std::shared_ptr<mathFunctions::MathFunction> sourceFunction;
16 
17  public:
23  ArbitraryEulerianSource(std::string coupledFieldName, std::shared_ptr<mathFunctions::MathFunction> sourceFunction);
24 
28  void ComputeRHS(PetscReal time, accessors::SwarmAccessor& swarmAccessor, accessors::RhsAccessor& rhsAccessor, accessors::EulerianAccessor& eulerianAccessor) override {}
29 
38  void ComputeEulerianSource(PetscReal startTime, PetscReal endTime, accessors::SwarmAccessor& swarmAccessorPreStep, accessors::SwarmAccessor& swarmAccessorPostStep,
39  accessors::EulerianSourceAccessor& eulerianSourceAccessor) override;
40 };
41 
42 } // namespace ablate::particles::processes
43 #endif // ABLATELIBRARY_INERTIAL_HPP
Definition: eulerianAccessor.hpp:16
Definition: eulerianSourceAccessor.hpp:17
Definition: rhsAccessor.hpp:14
Definition: swarmAccessor.hpp:14
Definition: arbitraryEulerianSource.hpp:9
ArbitraryEulerianSource(std::string coupledFieldName, std::shared_ptr< mathFunctions::MathFunction > sourceFunction)
Definition: arbitraryEulerianSource.cpp:6
void ComputeRHS(PetscReal time, accessors::SwarmAccessor &swarmAccessor, accessors::RhsAccessor &rhsAccessor, accessors::EulerianAccessor &eulerianAccessor) override
Definition: arbitraryEulerianSource.hpp:28
void ComputeEulerianSource(PetscReal startTime, PetscReal endTime, accessors::SwarmAccessor &swarmAccessorPreStep, accessors::SwarmAccessor &swarmAccessorPostStep, accessors::EulerianSourceAccessor &eulerianSourceAccessor) override
Definition: arbitraryEulerianSource.cpp:9
Definition: coupledProcess.hpp:12