JWock82 / Pynite

A 3D structural engineering finite element library for Python.
MIT License
454 stars 93 forks source link

Update parameter names in FEModel3D methods for consistency of API #194

Closed connorferster closed 5 months ago

connorferster commented 5 months ago

Hi @JWock82,

I noticed that there were some breaking changes to the API with recent versions but that the updates were not applied to all of the methods in FEModel3D. I have updated the rest of the parameter names across the FEModel3D object by following what seemed to be the desired new convention. Here is how I understand it:

I ran the test suite and all tests pass. However, I notice that the test suite does not use any keyword arguments when the methods are called. The tests passing will reflect that the parameter name changes I made in the function signatures have been updated in the function implementations and not that I have followed the naming convention perfectly (although, from manual review, I think I have).

Let me know your thoughts on this?

connorferster commented 5 months ago

Here is an example (from the docs) of what I meant when I referred to changes to the API not being propagated across the FEModel3D methods:

image

connorferster commented 5 months ago

I also change the Direction parameter to direction but left capitalization in certain parameter names where "FEA conventions" make more sense (e.g. X, Y, Z for global coordinates; E and I instead of e and i (because those are mathematical constants).

JWock82 commented 5 months ago

Thanks Connor. I merged your pull request. I've tried to merge my coding style with the PEP8 style guide as much as makes sense for FEA. Some of this is stuff I coded early on when I was still learning PEP8. I appreciate your help. The docs should be updated too.