Rename `extrinsicData` into `field`
We now extensively use extrinsicData when registering information here and there (some code seems duplicated in ObjectManagerBase and ConstitutiveBase... whatever).
It's proposed to use the fields naming instead.
This should bring shorter variable and function names.
The concept associated with the naming should be more straightforward to grasp too.
Among the changes which I thing will spark no flame war, we have
- renaming
namespace extrinsicMeshDataintonamespace fields - renaming
getExtrinsicDataintogetField - renaming
hasExtrinsicDataintohasField
Now, we also have the registerExtrinsicData which takes a list of tuples.
As such, I think we should rename it registerFields with an s. Do we agree?
The macro that currently defines the traits is called EXTRINSIC_MESH_DATA_TRAIT and should be renamed as well.
The new name is not obvious. But I think we should avoid having TRAITS in the name as well.
Do we want something like
-
DECLARE_FIELD -
DEFINE_FIELD -
DESCRIBE_FIELD -
SPECIFY_FIELD - else?
To be sure there is no misunderstanding between the declaration and the registration, we could add the _INFO suffix?
-
DECLARE_FIELD_INFO -
DEFINE_FIELD_INFO -
DESCRIBE_FIELD_INFO -
SPECIFY_FIELD_INFO - else?
_INFO
Some files names contain ExtrinsicData. Like MultiFluidExtrinsicData.hpp. Consistently, I should be renaming them
-
MultiFluidFieldDeclarations.hpp -
MultiFluidFieldDefinitions.hpp -
MultiFluidFieldDescriptions.hpp -
MultiFluidFieldSpecifications.hpp
What's your naming choice? Anything I forgot? (Some documentation needs to be updated obviously)
Thanks for taking care of that. My preferences go to the shortest options:
-
namespace extrinsicMeshData->namespace fields -
getExtrinsicData->getField -
hasExtrinsicData->hasField -
EXTRINSIC_MESH_DATA_TRAIT->DECLARE_FIELD -
MultiFluidExtrinsicData.hpp->MultiFluidFields.hpp
If you want, in the cpp files of the flow solvers, you can also implement this comment from @rrsettgast and put the using namespace fields at the beginning of the files to have even shorter names, it is really easy to do.
Thx @francoishamon for your comments. Any preference for the register* family? Do you want an s? 😉
If you want, in the cpp files of the flow solvers, you can also implement https://github.com/GEOSX/GEOSX/pull/2098#discussion_r985714377 from @rrsettgast and put the using namespace fields at the beginning of the files to have even shorter names, it is really easy to do.
While surely straightforward, I will not do it this because I can just fail, get unexpected name collisions, etc.
We can surely do it after this PR to see the result (with simple fields, maybe we'll realize we're happy as it is).
Maybe
-
registerExtrinsicData->registerFieldfor the function that takes one trait template -
registerExtrinsicData->registerFieldsfor the function that takes multiple trait templates
?
If it's possible I'll do that. I don't know how this will behave w.r.t. the recursive templated calls, but it may be OK! 🤞