// get is from problem, see MoFEM documentation
IS is;
CHKERR m_field.getInterface<ISManager>()->isCreateProblemFieldAndRank(
problem_ptr->getName(),ROW,"DISPLACEMENTS",0,1,&is,&ents_on_surface
);
// create vector with is size
int is_size, is_local_size;
CHKERR ISGetSize(is,is_size);
CHKERR ISGetLocalSize(is,is_local_size);
Vec f_with_coeff_0_on_entities;
CHKERR VecCreateMPI(PETSC_COMM_WORLD,is_local_size,is_size,&f_with_coeff_0_on_entities);
// scatter values from f_internal to f_with_coeff_0_on_entities
VecScatter sct;
CHKERR VecScatterCreate(f_internal,is,f_with_coeff_0_on_entities,PETSC_NULL,&sct);
CHKERR VecScatterBegin(sct,f_internal,f_with_coeff_0_on_entities,INSERT_VALUES,SCATTER_FORWARD);
CHKERR VecScatterEnd(sct,f_internal,f_with_coeff_0_on_entities,INSERT_VALUES,SCATTER_FORWARD);
// calculate sum of vector with dofs in x-element on entities
int sum0;
CHKERR VecSum(f_with_coeff_0_on_entities,&sum0);