Giter Club home page Giter Club logo

Comments (5)

SoundsSerious avatar SoundsSerious commented on June 19, 2024

Also i think it might be a good idea to feed in the other origin coordinates to the CylinderRingMesh

from pynite.

JWock82 avatar JWock82 commented on June 19, 2024

Thanks for bringing this to my attention. I've made the fix to the repository. The fix will be included with the next release of Pynite.

The CylinderRingMesh does not have the same issue as far as I can tell, since it only deals with a single course of plates about its origin. The CylinderMesh dealt with multiple courses, which required use of the variable y that changed with each successive course.

from pynite.

SoundsSerious avatar SoundsSerious commented on June 19, 2024

@JWock82 Awesome! This library is helping me so much especially using https://sectionproperties.readthedocs.io/en/latest/ to get accurate 2D fea and moments of inertia.

I really like the load cases and combos, thats helping me alot doing some wind turbine analysis with complex loading.
Pasted image 20230715121231

2D FEA helps alot too with complex deformation and optimizing for low weight
Pasted image 20230715121143

I have a somewhat ready integration between these two libs here, but its not really documented well yet (on my very long todo list :)
https://github.com/Ottermatics/ottermaticslib
https://ottermatics.github.io/ottermaticslib/build/html/ottermatics.html#module-ottermatics.structure

I was thinking it would be a cool idea to use the shapley.exterior polygon to render the beam exterior through VTK in pynite but I'm still pondering an integration or how to extend the PyNite.render_model .

Would some kind of integration between any three of these libraries be interesting to you? We could save alot of time by building a common material class for example

from pynite.

JWock82 avatar JWock82 commented on June 19, 2024

What you're doing here is really cool! I'm very impressed!

I'm all for integrating libraries, as far as software license rule issues don't get in the way. Pynite is very liberal (MIT license), but my understanding is that GPL libraries are "viral" and may not be able to be integrated fully with Pynite without changing Pynite's license to GPL too.

The biggest hold up for me is that I just don't have a lot of free time myself. I like you have a very long "to do" list. Right now I'm focused on simplification and modularization of the analysis code. This will make it easier to implement new types of analysis in the future (dynamics, pushover, etc.).

Then there's units, steel design, concrete design, shear wall analysis, triangular plate elements, delauney triangulation for meshes, von-mises stress results... the list just keeps on going.

One of these days maybe this project will attract some funding to boost development. Until then, it's a volunteer effort that moves a little slower.

from pynite.

SoundsSerious avatar SoundsSerious commented on June 19, 2024

@JWock82 Thanks! I feel we're both probably aiming at the same problem... making the hard engineering problems easier!

I am completely on the same page about lack of time and resources, theres a million things to do that should be done, but I can only do one at a time. Perhaps this is the case for some kind of joint open-source engineering foundation. To attract some resources as you point out to make it self-sustaining, and that should be totally reasonable your project makes free what some charge for quite a bit.

The timescale for my project is years as I'll be doing this stuff the rest of my life so I guess I'm not in a rush to the finish line! To your point about licenses I think both ottermaticslib and sectionproperties are MIT so that is at least one less problem to consider. I am currently thinking about rebranding my project to seem less proprietary and more open-source.

For your refactor you may want to consider some meta-programming techniques that are in ottermaticslib since that allows some reliable class customization. The attrs framework overrides the init method so you have a reliable Input interface you can derive knowledge from about types ect. This allows the tabulation of input separately from output with the custom_decorators strategy. You mark functions by purpose and can validate their IO and do stuff like caching or plotting. This is all kind of experimental but focusing on class modification before creating an instance helps to solve composition problems that would have otherwise been handled in __init__.

That strategy has helped me a ton since I am usually writing custom analysis for complex systems with lots of variables, when it all shakes out you get a dataframe with the hierarchy of variables with minimal effort. In the structures module of ottermaticslib I'm working towards organizing this dataframe by load combo and beam x-position in the Structure class but thats a WIP. Thinking there might be some interesting benefits to creating a networkx graph to identify contiguous beams and then plot forces / moments / stress on them to reduce the apparent dimensionality.

I could probably talk about this stuff all day so if you ever want to reach out feel free to connect at [email protected]

from pynite.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.