Flow123d
master-9c1c1b8e5
|
#include <field_add_potential.hh>
Classes | |
class | FieldFactory |
Public Types | |
typedef Field< spacedim, Value >::FactoryBase | FactoryBaseType |
typedef Space< spacedim >::Point | Point |
Public Types inherited from FieldAlgorithmBase< spacedim, Value > | |
typedef Space< spacedim >::Point | Point |
Public Member Functions | |
FieldAddPotential (const arma::vec::fixed< spacedim+1 > &potential_grad, const Input::AbstractRecord &rec, unsigned int n_comp=0) | |
FieldAddPotential (const arma::vec::fixed< spacedim+1 > &potential_grad, std::shared_ptr< FieldAlgorithmBase< spacedim, Value > > inner_field, unsigned int n_comp=0) | |
virtual const Value::return_type & | value (const Point &p, const ElementAccessor< spacedim > &elm) |
virtual void | value_list (const Armor::array &point_list, const ElementAccessor< spacedim > &elm, std::vector< typename Value::return_type > &value_list) |
bool | set_time (const TimeStep &time) override |
void | set_mesh (const Mesh *mesh, bool boundary_domain) override |
Implements FieldAlgirithmBase::set_mesh . More... | |
virtual | ~FieldAddPotential () |
Public Member Functions inherited from FieldAlgorithmBase< spacedim, Value > | |
TYPEDEF_ERR_INFO (EI_Field, std::string) | |
DECLARE_EXCEPTION (ExcInputInitUnsupported,<< "The field "<< EI_Field::qval<< " do not support initialization from input.\n") | |
FieldAlgorithmBase (unsigned int n_comp=0) | |
virtual void | init_from_input (const Input::Record &rec, const struct FieldAlgoBaseInitData &init_data) |
void | set_component_idx (unsigned int idx) |
unsigned int | n_comp () const |
FieldResult | field_result () const |
virtual double | next_change_time () |
virtual void | cache_reinit (const ElementCacheMap &cache_map) |
Allows reinit data members or structures in descendants during reinit of FieldValueCache of 'parental' Field<> More... | |
virtual void | cache_update (FieldValueCache< typename Value::element_type > &data_cache, ElementCacheMap &cache_map, unsigned int region_patch_idx) |
virtual void | set_native_dh (std::shared_ptr< DOFHandlerMultiDim >) |
bool | is_constant_in_space () const |
virtual std::vector< const FieldCommon * > | set_dependency (FMT_UNUSED FieldSet &field_set) |
virtual | ~FieldAlgorithmBase () |
Private Attributes | |
std::shared_ptr< FieldAlgorithmBase< spacedim, Value > > | inner_field_ |
Field to which we add linear potential. More... | |
arma::vec::fixed< spacedim > | grad_ |
Potential gradient. More... | |
double | zero_level_ |
Potential constant term. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from FieldAlgorithmBase< spacedim, Value > | |
static std::string | template_name () |
static Input::Type::Abstract & | get_input_type () |
static const Input::Type::Instance & | get_input_type_instance (Input::Type::Selection value_selection=Input::Type::Selection()) |
static const Input::Type::Record & | get_field_algo_common_keys () |
static std::shared_ptr< FieldAlgorithmBase< spacedim, Value > > | function_factory (const Input::AbstractRecord &rec, const struct FieldAlgoBaseInitData &init_data) |
Static Public Attributes inherited from FieldAlgorithmBase< spacedim, Value > | |
static const unsigned int | spacedim_ =spacedim |
static constexpr bool | is_enum_valued = std::is_same<typename Value::element_type, FieldEnum>::value |
Protected Member Functions inherited from FieldAlgorithmBase< spacedim, Value > | |
void | init_unit_conversion_coefficient (const Input::Record &rec, const struct FieldAlgoBaseInitData &init_data) |
Init value of unit_conversion_coefficient_ from input. More... | |
Protected Attributes inherited from FieldAlgorithmBase< spacedim, Value > | |
TimeStep | time_ |
Actual time level; initial value is -infinity. More... | |
Value | value_ |
Last value, prevents passing large values (vectors) by value. More... | |
Value::return_type | r_value_ |
FieldResult | field_result_ |
Indicator of particular values (zero, one) constant over space. More... | |
unsigned int | component_idx_ |
Specify if the field is part of a MultiField and which component it is. More... | |
double | unit_conversion_coefficient_ |
Coeficient of conversion of user-defined unit. More... | |
bool | is_constant_in_space_ |
Flag detects that field is only dependent on time. More... | |
This field is meant to be used to implement two possibilities for initialization of pressure fields in Darcy flows. You can either use pressure of piezo-metric head which are related by adding gravity potential. For various reasons we use pressure as the primary variable, so if the user enters piezo-head we need to add the potential to the field he/she has provided. This is done by this class. Unfortunately it introduce one more level of indirection, namely one more virtual call for getting the field value.
Definition at line 91 of file field_add_potential.hh.
typedef Field<spacedim, Value>::FactoryBase FieldAddPotential< spacedim, Value >::FactoryBaseType |
Definition at line 93 of file field_add_potential.hh.
typedef Space<spacedim>::Point FieldAddPotential< spacedim, Value >::Point |
Definition at line 94 of file field_add_potential.hh.
FieldAddPotential< spacedim, Value >::FieldAddPotential | ( | const arma::vec::fixed< spacedim+1 > & | potential_grad, |
const Input::AbstractRecord & | rec, | ||
unsigned int | n_comp = 0 |
||
) |
Definition at line 25 of file field_add_potential.impl.hh.
FieldAddPotential< spacedim, Value >::FieldAddPotential | ( | const arma::vec::fixed< spacedim+1 > & | potential_grad, |
std::shared_ptr< FieldAlgorithmBase< spacedim, Value > > | inner_field, | ||
unsigned int | n_comp = 0 |
||
) |
Constructor allows to set existing Field as inner_field_
Definition at line 36 of file field_add_potential.impl.hh.
|
virtual |
Definition at line 102 of file field_add_potential.impl.hh.
|
overridevirtual |
Implements FieldAlgirithmBase::set_mesh
.
Reimplemented from FieldAlgorithmBase< spacedim, Value >.
Definition at line 94 of file field_add_potential.impl.hh.
|
overridevirtual |
Update time and possibly update data.
Reimplemented from FieldAlgorithmBase< spacedim, Value >.
Definition at line 86 of file field_add_potential.impl.hh.
|
virtual |
Returns one value in one given point. ResultType can be used to avoid some costly calculation if the result is trivial.
Implements FieldAlgorithmBase< spacedim, Value >.
Definition at line 51 of file field_add_potential.impl.hh.
|
virtual |
Returns std::vector of scalar values in several points at once.
Implements FieldAlgorithmBase< spacedim, Value >.
Definition at line 69 of file field_add_potential.impl.hh.
|
private |
Potential gradient.
Definition at line 163 of file field_add_potential.hh.
|
private |
Field to which we add linear potential.
Definition at line 161 of file field_add_potential.hh.
|
private |
Potential constant term.
Definition at line 165 of file field_add_potential.hh.