Coder Social home page Coder Social logo

drlukeparry / pyccx Goto Github PK

View Code? Open in Web Editor NEW
34.0 2.0 8.0 243 KB

A library for creating and running 3D FEA simulations using the opensource Calculix FEA Package.

License: BSD 2-Clause "Simplified" License

Makefile 0.06% Python 99.94%
python fea calculix gmsh gmsh-sdk gmsh-api simulation simulation-framework structural-analysis meshing

pyccx's People

Contributors

drlukeparry avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

pyccx's Issues

Please, move to the Calculix organization

Hi,

I'm trying to develop CalculiX organization on the GitHub to unite all developers and tools in one place. As I can see, you're a member of the organization. So, please, could you move there your amazing library?

All your permissions will be kept, so do not afraid. Old URL will be kept also, new URL will be github.com/calculix/pyccx.

In your project Settings go to Options -> Danger Zone -> Transfer ownership. Click on ‘Transfer’ button, then type ‘calculix’ as user.

Thank you in advance!

Implement a Parview .vtk export function from the ResultsReader

A paraview .vtk export option to view the results from Calculix would be useful to post-process the results and provide a better presentation of the results.

It is possible to visualise the results using Matplotlib, however, the performance is inadaquate for large mesh sizes

Update: The exported .frd files will be transformed within the ResultsProcessor and a separator exporter translator method will become available for conversion to Paraview .vtu format

Update 2: An additional function has been created to export the .pvd XML file that are used for exporting the complete timestep / increment history generated from Calculix.

Crash on import: ValueError: setting an array element with a sequence.

Hello there!

When trying to import pyccx, the statement 'import pyccx' causes a crash. This is done similarly as the example python file.

Simply commenting out the WEDGE6 class in mesher.py appears to fix it for now for me, but this class is presumably needed somewhere and should probably be fixed.

Traceback (most recent call last):
  File "/mnt/c/Users/CRGam/Documents/tandwielen/calculate.py", line 1, in <module>
    import pyccx
  File "/mnt/c/Users/CRGam/Documents/tandwielen/pyccx/pyccx/__init__.py", line 2, in <module>
    from . import mesh
  File "/mnt/c/Users/CRGam/Documents/tandwielen/pyccx/pyccx/mesh/__init__.py", line 1, in <module>
    from .mesher import ElementType, Mesher, MeshingAlgorithm
  File "/mnt/c/Users/CRGam/Documents/tandwielen/pyccx/pyccx/mesh/mesher.py", line 19, in <module>
    class ElementType:
  File "/mnt/c/Users/CRGam/Documents/tandwielen/pyccx/pyccx/mesh/mesher.py", line 79, in ElementType
    class WEDGE6:
  File "/mnt/c/Users/CRGam/Documents/tandwielen/pyccx/pyccx/mesh/mesher.py", line 84, in WEDGE6
    faces = np.array([[1,2,3], [4,5,6], [1,2,5,4], [2,3,6,5], [3,1,4,6]])
ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 1 dimensions. The detected shape was (5,) + inhomogeneous part.

Implement Axisymmetric Elements

Axisymmetric Elements are available but implementation and testing within Calculix.

This will assume elements with a 2D cross-section projected by revolution around an axis.

Simulation.results does not take into account working directory

It appears that in the Simulation class (pyccx/analysis/analysis.py), the working directory that was set on object creation is not taken into account when trying to retrieve the results using the results() function. This causes a file not found error when trying to retrieve the results of an analysis when the working directory is not the same as the directory the python script was executed from.

Changing line 500 from: return ResultProcessor('input')
To: return ResultProcessor(os.path.join(self._workingDirectory, 'input'))

Appears to resolve this issue.

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.