Show parameter information in FCP print

Description

As a user, I would like to be able to see from a quick inspection of an FCP the number of parameters as well as other pertinent information.

Background

This might not be an issue on construction since one has access to the original cluster space but if one has only the FCP file and wants to know more, the information that is easily accessible is limited. Case in hand, I am trying to obtain the exact number of parameters from the FCP of model 5 for BaGaGe from the npj Comp. Mater. paper. From print(fcp) I only get:

...
Order 2, #orbits 215, #cluster 621
Order 3, #orbits 398, #cluster 1158
Order 4, #orbits 586, #cluster 1710
Total number of orbits: 1199 
total number of clusters: 3489 

The respective information should be added to __str__ and even as a read-only property. There could be additional information that should be made available in the same way, i.e. as a read-only property, e.g.,

  • total number of orbits
  • total number of clusters
  • the actual parameters
  • number of parameters by order
  • even some information from self._config would be useful to be visible to the user (at least via __str__)

Sub-tasks

  • add read-only properties for
    • total number of orbits
    • total number of clusters
    • total number of parameters
  • improve __str__
    • move the information about orbits, clusters and parameters by order into a small table, similar to ClusterSpace
    • change total number of clusters to Total number of clusters
  • address/review the TODO "Fix the relation with cluster space" (see line 16)

Demo

  • completed the subtasks above
  • new code is fully tested
  • no degradation in code quality
  • all new functions and properties have a complete and well written docstring
  • explicit type hinting should be used instead of adding type information to docstrings
  • f-strings are preferable over format for readability
Edited by Paul Erhart