Introduction to Computer Science and Programming Using Python.

For those who need a boost to start coding (and stop begging for software licenses) you can find a Python programming course following this link

Next time you find yourself bored to death by doing things «as usual» you can remember this post and stop complaining.




Interaction diagrams for ULS verification of RC sections.

We are rewriting routines that calculate the capacity factor of RC sections under design loads, so it can be possible to use 2D and 3D interaction diagrams. By the way, we'll reorganize and document the verification routine to make it easier to use and to understand.

As part of this reorganization, we are writing matplotlib to represent interaction diagrams and stress-strain material laws. This way we can insert these graphics into LaTeX reports, which can be used in the analysis report and control of the input data.

Matplotlib is a python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms. Let this be the humble tribute to his author John Hunter.

Other tools that we use to write these routines are: CGAL and numpy. You can take a look at gitHub XC repo.




XC code on gitHub.

We have uploaded our code to gitHub (see XC on gitHub). From now on it is far easier to share our code with other developers around the world. Potential users can also «take a look» without any downloading.




A non trivial Salome finite element model imported into XC.

Here we have a quite complex finite element model. The mesh was generated with Salome from a CAD model loaded from a Iges file. The Salome's mesh (and node and element sets) were loaded into XC through some simple Python routines. The elements sets were chosen to make easier to assign materials and constraints to the different parts.

The steps we have followed to generate the mesh were the following:

  1. Using a CAD software, we create a simple wireframe 3D model. This wireframe model will be used in to define the vertex (keypoints iff you want) of the blocks to be meshed so it must be an accurate enough representation of the object's geometry.
  2. Export to an IGES format file and import the resulting file into Salome's geometry module.
  3. Use this module to create the topological objects (vertex -keypoints-, edges, surfaces and/or solids) that will be used to create the mesh.
  4. Using the MESH module, select the hypothesis and algorithms which we'll use to create the mesh. Use the quality controls provided by this module to do a quality control of the mesh. Create groups of nodes, elements,... as necessary.
  5. Export the mesh and the groups using the DAT file format.
  6. Import the mesh DAT into XC using the Python routines provided for that purpose. Import the DAT group files into XC as elements (or nodes, or whatever...) sets. Assign suitable material properties to the elements of each set. Create loads and constraints as necessary.



Just make it.

This is a great time to learn to be a maker, in contrast to being a mere consumer. Clicking buttons on a smartphone is not being tech-savvy; hacking and building the phone is.

Read on ...



A french touch.

To allow modeling of internal and external presstressed cables we are using the article «Modélisation des câbles de précontrainte», by Sylvie MICHEL-PONNELLE, that explains the procedure quite well. Fortunately enough the hardest part of the work (kinematic conditions,...) was already coded.

[pdf] Read the article