Chi-Tech
multifield.h
Go to the documentation of this file.
1#ifndef CHITECH_FIELD_OPERATIONS_MULTIFIELD_H
2#define CHITECH_FIELD_OPERATIONS_MULTIFIELD_H
3
4#include "field_operation.h"
7
9{
10
11/**A field operation to manipulate a single field on the hand
12* of a number of other fields.*/
14{
15private:
17 const std::vector<size_t> dependent_field_handles_;
18 const size_t function_handle_;
19
20 std::vector<unsigned int> dependent_field_ref_component_;
21 std::vector<unsigned int> result_component_references_;
22
23 std::shared_ptr<FieldFunctionGridBased> primary_ff_;
24 std::vector<std::shared_ptr<const FieldFunction>> dependent_ffs_;
25
26 std::shared_ptr<const chi_math::FunctionDimAToDimB> function_ptr_;
27public:
29
30 explicit MultiFieldOperation(const chi::InputParameters& params);
31
32 void Execute() override;
33};
34
35}
36
37#endif // CHITECH_FIELD_OPERATIONS_MULTIFIELD_H
const std::vector< size_t > dependent_field_handles_
Definition: multifield.h:17
std::vector< unsigned int > result_component_references_
Definition: multifield.h:21
std::vector< std::shared_ptr< const FieldFunction > > dependent_ffs_
Definition: multifield.h:24
std::shared_ptr< const chi_math::FunctionDimAToDimB > function_ptr_
Definition: multifield.h:26
static chi::InputParameters GetInputParameters()
Definition: multifield.cc:15
std::shared_ptr< FieldFunctionGridBased > primary_ff_
Definition: multifield.h:23
std::vector< unsigned int > dependent_field_ref_component_
Definition: multifield.h:20
MultiFieldOperation(const chi::InputParameters &params)
Definition: multifield.cc:48