8 #ifndef FIELD_ADD_POTENTIAL_HH_
9 #define FIELD_ADD_POTENTIAL_HH_
28 template <
int spacedim,
class Value>
46 FieldFactory(arma::vec::fixed<spacedim+1> potential, std::string field_name)
58 return std::make_shared< FieldAddPotential<3, FieldValue<3>::Scalar > >(
potential_, field_a_rec);
91 std::shared_ptr< FieldAlgorithmBase<spacedim, Value> >
inner_field_;
93 arma::vec::fixed<spacedim>
grad_;
Common abstract parent of all Field<...> classes.
bool set_time(const TimeStep &time) override
arma::vec::fixed< spacedim > grad_
Potential gradient.
FieldAddPotential(const arma::vec::fixed< spacedim+1 > &potential_grad, const Input::AbstractRecord &rec, unsigned int n_comp=0)
virtual Field< spacedim, Value >::FieldBasePtr create_field(Input::Record rec, const FieldCommon &field)
FieldFactory(arma::vec::fixed< spacedim+1 > potential, std::string field_name)
Constructor.
arma::vec::fixed< spacedim > Point
double zero_level_
Potential constant term.
virtual ~FieldAddPotential()
std::shared_ptr< FieldBaseType > FieldBasePtr
Field< spacedim, Value >::FactoryBase FactoryBaseType
virtual void value_list(const std::vector< Point > &point_list, const ElementAccessor< spacedim > &elm, std::vector< typename Value::return_type > &value_list)
arma::vec::fixed< spacedim+1 > potential_
std::shared_ptr< FieldAlgorithmBase< spacedim, Value > > inner_field_
Field to which we add linear potential.
virtual Value::return_type const & value(const Point &p, const ElementAccessor< spacedim > &elm)
Representation of one time step.
Space< spacedim >::Point Point
unsigned int n_comp() const