Flow123d
JS_before_hm-1830-gb19ac973c
|
Go to the documentation of this file.
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>
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>
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_;
Armor::ArmaVec< double, spacedim > Point
~FEValueHandler()
Destructor.
arma::Col< IntIdx > LocDofVec
unsigned int range_end
Holds end of component range of evaluation.
LocDofVec get_loc_dof_indices(unsigned int cell_idx) const
TODO: Temporary solution. Fix problem with merge new DOF handler and boundary Mesh....
Value::return_type r_value_
Space< spacedim >::Point Point
Value value_
Last value, prevents passing large values (vectors) by value.
void initialize(FEValueInitData init_data)
Initialize data members.
Space< spacedim >::Point Point
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....
unsigned int range_begin_
Begin of dof range of actual component.
unsigned int range_end_
End of dof range of actual component.
std::shared_ptr< std::vector< IntIdx > > boundary_dofs_
MixedPtr< FiniteElement > mixed_fe
FiniteElement objects of all dimensions.
std::shared_ptr< DOFHandlerMultiDim > dh_
DOF handler object.
VectorMPI data_vec_
Store data of Field.
std::shared_ptr< DOFHandlerMultiDim > dh
DOF handler object.
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.
Abstract class for description of finite elements.
Value::return_type r_value_
const Value::return_type & value(const Point &p, const ElementAccessor< spacedim > &elm)
Returns one value in one given point.
unsigned int ndofs
number of dofs
VectorMPI data_vec_
Store data of Field.
Value value_
Last value, prevents passing large values (vectors) by value.
unsigned int compute_quadrature(std::vector< arma::vec::fixed< 3 >> &q_points, std::vector< double > &q_weights, const ElementAccessor< spacedim > &elm, unsigned int order=3)
Compute real coordinates and weights (use QGauss) for given element.
ArrayMatSet set(uint index)
Initialization structure of FEValueHandler class.
FEValueHandler()
Constructor.
std::shared_ptr< FiniteElement< elemdim > > fe_
Pointer to FiniteElement object used to computing values.
FEValueHandler()
Constructor.
~FEValueHandler()
Destructor.
const Value::return_type & value(const Point &p, const ElementAccessor< spacedim > &elm)
Returns one value in one given point.
unsigned int range_begin_
Begin of dof range of actual component.
VectorMPI data_vec
Store data of Field.
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....
void value_list(const Armor::array &point_list, const ElementAccessor< spacedim > &elm, std::vector< typename Value::return_type > &value_list)
Returns std::vector of scalar values in several points at once.
LocDofVec get_loc_dof_indices(unsigned int cell_idx) const
TODO: Temporary solution. Fix problem with merge new DOF handler and boundary Mesh....
unsigned int range_begin
Holds begin of component range of evaluation.
std::shared_ptr< DOFHandlerMultiDim > dh_
DOF handler object.
typename arma::Col< Type >::template fixed< nr > ArmaVec
std::shared_ptr< std::vector< IntIdx > > boundary_dofs_
unsigned int n_comp
number of components