3713 {
3714
3716
3718 if (nb_dofs == 0)
3720
3724 "OpZeroNoSideBrokenDofs works only for discontinuous field");
3725
3726 auto fe_type = OP::getFEType();
3729 auto face_side_number = getFaceSideNumber();
3730
3731 for (
3732
3733 auto it = side_dof_map.get<1>().begin();
3734 it != side_dof_map.get<1>().end(); ++it
3735
3736 ) {
3737 if ((3 * it->dof) >= data.
getIndices().size())
3738 break;
3739 if (it->type != MBTRI || it->side != face_side_number) {
3740 for (
auto dd = 0;
dd < 3; ++
dd) {
3742 }
3743 }
3744 }
3745
3747}
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
@ DISCONTINUOUS
Broken continuity (No effect on L2 space)
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
@ MOFEM_DATA_INCONSISTENCY
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
const Tensor2_symmetric_Expr< const ddTensor0< T, Dim, i, j >, typename promote< T, double >::V, Dim, i, j > dd(const Tensor0< T * > &a, const Index< i, Dim > index1, const Index< j, Dim > index2, const Tensor1< int, Dim > &d_ijk, const Tensor1< double, Dim > &d_xyz)
multi_index_container< DofsSideMapData, indexed_by< ordered_non_unique< tag< TypeSide_mi_tag >, composite_key< DofsSideMapData, member< DofsSideMapData, EntityType, &DofsSideMapData::type >, member< DofsSideMapData, int, &DofsSideMapData::side > > >, ordered_unique< tag< EntDofIdx_mi_tag >, member< DofsSideMapData, int, &DofsSideMapData::dof > > > > DofsSideMap
Map entity stype and side to element/entity dof index.
const VectorFieldEntities & getFieldEntities() const
Get field entities (const version)
const VectorDouble & getFieldData() const
Get DOF values on entity.
const VectorInt & getIndices() const
Get global indices of degrees of freedom on entity.