18 #ifndef FE_VALUE_HANDLER_HH_ 19 #define FE_VALUE_HANDLER_HH_ 38 std::shared_ptr<DOFHandlerMultiDim>
dh;
56 template <
int elemdim,
int spacedim,
class Value>
81 this->boundary_dofs_ = boundary_dofs;
87 unsigned int ndofs = this->value_.n_rows() * this->value_.n_cols();
90 IntIdx* mem_ptr =
const_cast<IntIdx*
>(&((*boundary_dofs_)[ndofs*cell_idx]));
91 return LocDofVec(mem_ptr, ndofs,
false,
false);
95 std::shared_ptr<DOFHandlerMultiDim>
dh_;
106 std::shared_ptr<FiniteElement<elemdim>>
fe_;
120 template <
int spacedim,
class Value>
128 : value_(r_value_) {}
137 v_list.push_back(r_value_);
138 this->value_list(point_list, elm, v_list);
139 this->r_value_ = v_list[0];
140 return this->r_value_;
152 this->boundary_dofs_ = boundary_dofs;
158 unsigned int ndofs = this->value_.n_rows() * this->value_.n_cols();
161 IntIdx* mem_ptr =
const_cast<IntIdx*
>(&((*boundary_dofs_)[ndofs*cell_idx]));
162 return LocDofVec(mem_ptr, ndofs,
false,
false);
167 std::shared_ptr<DOFHandlerMultiDim>
dh_;
VectorMPI data_vec_
Store data of Field.
std::shared_ptr< std::vector< IntIdx > > boundary_dofs_
arma::Col< IntIdx > LocDofVec
LocDofVec get_loc_dof_indices(unsigned int cell_idx) const
TODO: Temporary solution. Fix problem with merge new DOF handler and boundary Mesh. Will be removed in future.
LocDofVec get_loc_dof_indices(unsigned int cell_idx) const
TODO: Temporary solution. Fix problem with merge new DOF handler and boundary Mesh. Will be removed in future.
Armor::ArmaVec< double, spacedim > Point
Space< spacedim >::Point Point
unsigned int range_end
Holds end of component range of evaluation.
Value value_
Last value, prevents passing large values (vectors) by value.
Value::return_type const & value(const Point &p, const ElementAccessor< spacedim > &elm)
Returns one value in one given point.
static constexpr bool value
FEValueHandler()
Constructor.
MixedPtr< FiniteElement > mixed_fe
FiniteElement objects of all dimensions.
Value::return_type r_value_
Space< spacedim >::Point Point
Provides the numbering of the finite element degrees of freedom on the computational mesh...
unsigned int range_end_
End of dof range of actual component.
std::shared_ptr< FiniteElement< elemdim > > fe_
Pointer to FiniteElement object used to computing values.
ArrayMatSet set(uint index)
std::shared_ptr< DOFHandlerMultiDim > dh_
DOF handler object.
unsigned int ndofs
number of dofs
void set_boundary_dofs_vector(std::shared_ptr< std::vector< IntIdx > > boundary_dofs)
TODO: Temporary solution. Fix problem with merge new DOF handler and boundary Mesh. Will be removed in future.
std::shared_ptr< DOFHandlerMultiDim > dh
DOF handler object.
unsigned int range_begin_
Begin of dof range of actual component.
~FEValueHandler()
Destructor.
typename arma::Col< Type >::template fixed< nr > ArmaVec
Value value_
Last value, prevents passing large values (vectors) by value.
unsigned int range_end_
End of dof range of actual component.
VectorMPI data_vec_
Store data of Field.
Value::return_type r_value_
void set_boundary_dofs_vector(std::shared_ptr< std::vector< IntIdx > > boundary_dofs)
TODO: Temporary solution. Fix problem with merge new DOF handler and boundary Mesh. Will be removed in future.
std::shared_ptr< std::vector< IntIdx > > boundary_dofs_
unsigned int range_begin_
Begin of dof range of actual component.
VectorMPI data_vec
Store data of Field.
Abstract class for description of finite elements.
std::shared_ptr< DOFHandlerMultiDim > dh_
DOF handler object.
unsigned int n_comp
number of components
Initialization structure of FEValueHandler class.
unsigned int range_begin
Holds begin of component range of evaluation.