Cluster Surface Area

I created a script to look at particles and determine when crystallization occurs and then label particles that are liquid a 0, liquid but next to a crystal a 1, crystal but next to a liquid a 2, and inside the crystal bulk a 3. How would I calculate the surface area of a crystal? My thought process is looking at particles labeled 2 that are next to a liquid interface particle, which would be labeled a 2, and find the surface area of that face. If you have any insight on this, any help would be much appreciated.

One possible solution could be to apply a Construct Surface Mesh modifier to a particle selection containing crystal atoms only (groups 2 and 3). Have you looked into this yet? I have linked the corresponding manual article for further details.