what is the difference between mesh value collection and mesh function
The MeshValueCollection is a sparse representation of mesh entities with tags. It is usually used to load in sets of tagged entities from external software.
The MeshFunction is a function that contains a marker for each entity in the grid. This function is used for assembling of sets of cells/facets, create boundary conditions etc.
One usually use the MeshValueCollection as input to a MeshFunction.
is it possible define material property on subdomains(tagged surface) by using Meshvaluecollection.
You should input your mesh value collection to a mesh function, and then use a DG
0 function to represent the material parameter, as shown in:
Okay sir but how to integrate over tagged physical surface and cure in variational form.
See for instance: Poisson equation with multiple subdomains — DOLFIN documentation