SlideShare una empresa de Scribd logo
1 de 116
Istituto di Scienza e Tecnologie
                                        dell'Informazione ”A. Faedo”




            The NOSA-ITACA Integrated Software:
                                   Some Examples
                                    Author: Vincenzo Binante†
                                    email: vincenzo.binante@isti.cnr.it



Links:
•   Mechanics of Materials and Structures Laboratory                     •   Salome CAD/CAE Platform
•   Dipartimento di Costruzioni e Restauro (Unifi)                       •   Nosa-Itaca
•   Consiglio Nazionale delle Ricerche (CNR)                             •   Regione Toscana
Contents

Part I:
➢
    Creating a geometry and mesh in the Salome CAD/CAE platform;
➢
    Creating an external python script, for which some variables must
      be assigned ( e.g., material property, thickness, loads, boundary
      conditions,...);
➢
    Generating a Nosa card ”.crd” from the python console of Salome
      GUI;
➢
    Launching the Nosa solver from the python console of Salome GUI;
➢
    Launching a Fortran user-program from the python console of
      Salome GUI; this program generates an output MED file from
      the ”.t19” result file.
➢
    Viewing the numerical results in Salome GUI;
                             vincenzo.binante@isti.cnr.it           2
Contents

Part II:

➢
    Import a Nosa card ”.crd” into Salome GUI, where the mesh,
      node/element groups will be created;

➢
    Import an output file ”.t19” into Salome GUI to view the numerical
      results.




                            vincenzo.binante@isti.cnr.it           3
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
Geometry and Loads
                                                         p = 100 Pa

                                  1m




                                                 1.5 m
       3m




                                 4.5 m

                      vincenzo.binante@isti.cnr.it                    4
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
Starting up Salome:
Open a terminal, then type the following command line: runSalome.
The Salome GUI module will start.

Step 1: Create two rectangles of sizes 4.5 x 3 m and 1.5 x 1 m
 From Salome GUI, select File → New to create a new study.




                             vincenzo.binante@isti.cnr.it           5
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
  Activate the Geometry module by selecting Geometry from the
  SALOME pulldown menu:




  or by clicking on the icon
                               vincenzo.binante@isti.cnr.it     6
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
  Create the outer rectangle through menu New Entity → Primitives →
  Rectangle




  The Rectangle Construction dialogue box will open.
  Type ”pannello” in the Result Name field.
                             vincenzo.binante@isti.cnr.it             7
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load




 In the same dialogue box type 4.5 and 3 in the Height and Width fields,
 respectively. Then in the Orientation field options, select the plane on
 which the rectangle is to lie (the default options are OXY, OXY or OZX).
 Click Apply and Close to create the rectangle.
                                  vincenzo.binante@isti.cnr.it            8
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
 Note: If the rectangle is not to lie on one of
 the three main planes, select the right-
 hand icon (circled in red) to use either a
 pre-existing face as the plane or a pre-
 existing edge to define the unit outward
 normal to the plane.




 After clicking Apply and Close, the rectangle will be displayed in the OCC-
 viewer window. To change the display mode, right click on the rectangle,
 then in the pop-up menu select Display Mode → Shading


                                 vincenzo.binante@isti.cnr.it              9
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
 In the same way, create the 2nd, 1.5 x 1 m rectangle and name it ”finestra”.

 Note: The foregoing procedure creates rectangles whose centers are
 coincident and located at the origin of the global system. The 2nd rectangle
 can be offset from the first as desired by making a translation through the
 menu sequence: Operations → Transformation → Translation.


 Step 2: Hollow out the panel by cutting

 Select Operations → Boolean → Cut. In the ”Cut Two Objects” dialogue
 that opens, accept the default (e.g., Cut_1) in the ”Result Name” field. Then,
 in the ”Main Object” field, select ”pannello” from the Object Browser or the
 OCC-viewer and in ”Tool Object” select ”finestra”. Click on Apply and
 Close to see the results.

                               vincenzo.binante@isti.cnr.it                10
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
 To display only the object resulting from the cut operation, right click on
 Cut_1 from the Object Browser and select the ”Show Only” option from the
 pop-up menu.




                              vincenzo.binante@isti.cnr.it               11
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
Once the hollow panel's geometry has been created, we need to partition it
into several sub-components (such as edges, faces, and/or blocks), to
which the mesh creation algorithms and hypotheses will apply.
First, we need to create 8 faces and 8 points by selecting New Entity →
Basic → Point.
By default, points are created by entering their coordinates. Here we instead
use an alternate procedure: open the ”Point Construction” dialogue and
select the 2nd option:




                              vincenzo.binante@isti.cnr.it                12
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
This will create points by offsetting them one from the other. In the ”Point
with reference” field, insert the left-bottom vertex of the finestra by selecting
it in the OCC-viewer, then type in offset values Dx, Dy and Dz. The resulting
coordinates of the new points will be shown in the ”Result coordinates” field.
Click on Apply and finally Apply and Close. The points to be created are
shown in the figure below




                                vincenzo.binante@isti.cnr.it                  13
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
We can now create 8 faces from the points defined: select New Entity →
Blocks → Quadrangle Face and select the boundary vertices of a face.




                           vincenzo.binante@isti.cnr.it            14
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
Next we create a shell from the 8 faces. Open New Entity → Build →
Shell, and in the pop-up dialogue, type ”pannello_forato” in the ”Name” field
and select the 8 faces in ”Objects”. Click on Apply and Close.




                              vincenzo.binante@isti.cnr.it                15
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
Now we define the sub-components of the pannello_forato object by
selecting New Entity → Explode.




                         vincenzo.binante@isti.cnr.it         16
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
Likewise, we can explode the geometry of Cut_1. The difference between
the objects Cut_1 and pannello_forato depends on their sub-components.
Therefore, different mesh types can be generated from their geometries . As
will been seen later, only non-structured meshes can be obtained from the
geometry of Cut_1; a structured mesh will instead be generated from the
geometry of pannello_forato .

 Step 4: Create a mesh from the geometry of Cut_1

 Activate the mesh module from the menu or by clicking the icon
 A VTK-viewer window will be created: to display the geometry of Cut_1,
 right click on it in the Object Browser, and select ”Show”.
 Select Mesh → Create Mesh and the ”Create Mesh” dialogue will open. In
 the ”Geometry” field, type Cut_1 by selecting it from the Object Browser and
 accept the default mesh name Mesh_1; then select tab 1D.
                               vincenzo.binante@isti.cnr.it               17
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load




                      vincenzo.binante@isti.cnr.it   18
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
 Then in the ”Algorithm” field, select Wire discretisation and click on the
 button     next to the ”Hypothesis” field and select Nb. Segments - a new
 dialog will open where we can define the ”global” number of sub-intervals
 into which which any edge can be split. Thus, in the ”Name” field, type
 ”algo1D_globale” and in ”Number of Segments” input 10. Accept the
 default option (i.e. uniform distribution) for ”Type of distribution”. Select
 OK to exit the dialog.

 Now, in the ”Create Mesh” dialogue, select the tab 2D and in the
 ”Algorithm” field select Quadrangle (Mapping) and type in Quadrangle
 Parameters into the ”Hypothesis” field - a new dialog will pop up, where
 we select ”algo2D_globale” as the ”Name” and ”Quadrangle Preference” in
 the ”Type” options. Click OK to exit the dialogue.

 Lastly, click on Apply and Close to exit the ”Create Mesh” dialogue.


                                vincenzo.binante@isti.cnr.it                     19
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load




                      vincenzo.binante@isti.cnr.it   20
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load

 Now, in the Object Browser, expand the Mesh object, then Mesh_1, where
 the algorithms and hypotheses used to create the Cut_1 mesh can be
 retrieved . The icon    by the Mesh_1 object indicates that the mesh has
 not yet been created. Thus, right click on Mesh_1 and in the pop-up menu
 select Compute. This is supposed to generate the mesh of Cut_1, but as
 can be seen from the message, ”Mesh computation failed”, in the pop-up
 dialog, the mesh could not be created. As the dialogue indicates, this is due
 to both the shape of Face_9 of Cut_1 and the algorithm chosen.




                               vincenzo.binante@isti.cnr.it                21
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load




                      vincenzo.binante@isti.cnr.it   22
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
 Different algorithms and hypotheses must thus be chosen to create the
 mesh. To do this, in the Object Browser, expand Hypotheses, right click on
 algo2D_globale and select Unassign in the pop-up. Likewise, expand
 Algorithms, right click on Quadrangle_2D and select Unassign.




                              vincenzo.binante@isti.cnr.it              23
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
 Now, right click on Mesh_1 and select Edit Mesh/Submesh - a new
 dialogue will open. Select the 2D tab and choose either Netgen 2D or
 Triangle (Mefisto) or Netgen 1D-2D as the algorithm. These are the only
 viable choices for the shape of Face_9. Click on Apply and Close to exit.




                             vincenzo.binante@isti.cnr.it              24
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
 Depending on the algorithm used to create the mesh of Cut_1, we obtain
 three different triangular meshes, as shown in the picture belows:




1D Algorithm: algo1D_globale                                     1D Algorithm: algo1D_globale
2D Algorithm: Mefisto                                            2D Algorithm: Netgen 2D

                               2D Algorithm: Netgen 1D-2D




                                  vincenzo.binante@isti.cnr.it                           25
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
 To obtain a quadrangular structured mesh, we must take regular shapes
 into account, such as the geometry of pannello_forato. To do this, first
 delete the triangular meshes by right clicking on them and selecting Delete.




 Step 5: Create a mesh from the geometry of pannello_forato

 As before, select Mesh → Create Mesh. Then, in the Name field, type
 ”Global-Mesh” and selectthe pannello_forato object in ”Geometry” . Use the
 prevoiusly defined algorithms (algo1D_globale and algo2D_globale) and
 hypotheses for the mesh construction. Right click on Global-Mesh object,
 then select Compute. The pop-up dialog ”Mesh computation succeed”
 appears, showing the mesh details.


                              vincenzo.binante@isti.cnr.it                26
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load




                      vincenzo.binante@isti.cnr.it   27
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
 Notes:
  1. As shown in the previous figure, both 1D elements (Edge) and 2D
  ones (Face) have been created. This is done automatically by the
  Salome mesh generator. More specifically, for each geometry (both
  2D and 3D) the mesh generator requires algorithms and hypothesis to
  be applied on each of the sub-components of the geometry. Thus, for
  3D geometries, algorithms are required for edges, faces and blocks.
  The final result is a mesh made up of beam elements for all the edges,
  and shell elements for the faces of each solid element, and solid
  elements, even though we have a mesh with only solid elements. This
  is due to the ”descendent connectivity” that Salome applies to mesh
  elements by default (apart from the standard nodal connectivity), by
  which each solid element is defined by its edges (arete) and faces
  (maille). Clearly, this is also true for each shell element, defined by its
  edges.


                               vincenzo.binante@isti.cnr.it                     28
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load

 2.algo1D_globale has been applied for all edges bounding the faces of
 pannello_forato. This implies that each segment has been split into 10
 sub-segments, regardless of its length. If we wish to obtain a uniform
 mesh, we need to define several 1D algorithms, depending on the
 geometry.


 From the Object Browser, expand the pannello_forato object, select all the
 edges (24), right click on them and type in ”Show Only” - the edges of the 8
 faces of pannello_forato will be displayed in the VTK-viewer

 We now want to split the shorter edges into 5 sub-segments. To do this,
 select Mesh → Create Sub-mesh and a new dialogue will open.


                              vincenzo.binante@isti.cnr.it                29
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load




                      vincenzo.binante@isti.cnr.it   30
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
 Accept the default ”Name”, then in the ”Mesh” field type ”Global-Mesh” and
 in ”Geometry”, select the short edge located at the bottom left in the VTK-
 viewer. Select the tab ”1D” and in ”Algorithm”, select ”Wire discretisation”
 and select ”Nb.Segments” from ”Hypotheses”. In the following dialogue,
 type in ”algo1D_locale” in the ”Name” and 5 in the ”Number of Segments”
 fields. Click on the OK button, then Apply. Repeat the same procedure for
 the other shorter edges and finally click on Apply and Close.

 Now, right click on ”Global-Mesh” and select Compute - the new mesh of
 pannello_forato will display, as shown in the following picture




                              vincenzo.binante@isti.cnr.it                31
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load




                      vincenzo.binante@isti.cnr.it   32
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
 As can be seen in the previous figure, the mesh is rather coarse. To refine
 it, expand the Hypotheses object in the Object Browser, then right click on
 algo1D_globale and select Edit Hypothesis in the pop-up and replace 10
 with 20. Likewise, edit algo1D_locale by replacing 5 with 10. Now, right click
 on Global-Mesh then select Compute. The resulting finer mesh is shown in
 the figure below.




                               vincenzo.binante@isti.cnr.it                 33
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load


 As mentioned in the foregoing, once the mesh has been generated, any
 additional elements not required for the analysis but created by the Salome
 mesh generator can be removed. In this example, beam elements can be
 eliminated, as none are present. To this end, select Modification →
 Remove → Elements. To select the edge elements, in the dialog that
 opens click on Set Filters and then, in the next dialogue, click on the ”Add”
 button (see figure in next slide). In the ”Criterion” field, select ”Geometry
 type”, then type ”Edge” into the ”Threshold value” and select ”Mesh” in the
 ”Source” field. Finally, click on Apply and Close. Now, the VTK-viewer will
 show all the edge elements highlighted and the ”Id Elements” of the
 ”Remove Elements” dialogue will list the identication numbers associated
 with these edge elements. Click on Apply and Close to remove the beam
 elements.



                               vincenzo.binante@isti.cnr.it                34
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load




                      vincenzo.binante@isti.cnr.it   35
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
  In the Object Browser, right click on ”Global-Mesh” and select ”Advanced
  Mesh Infos” to retrieve information about the mesh.




                             vincenzo.binante@isti.cnr.it              36
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
  The current mesh is made up of only quadrangular linear elements (4
  nodes). If quadratic elements (8 nodes) are desired, select Modification
  → Convert to/from quadratic, then in the popup dialogue, select
  ”Global-Mesh” in the ”Mesh” field and check that the option ”Convert to
  quadratic” is selected. Click on Apply and Close.
  The total number of nodes will be 5640, as can be seen in the ”Advanced
  Mesh Infos” window.

  Step 6: Renumbering nodes/elements and Reorienting

  Once the useless elements have been removed, the next step is to
  renumber the nodes and elements. This is necessary because the Nosa
  solver does not admit discontinuities in the numbering (analysis will not
  converge). Thus, select Modification → Renumbering → Nodes, then
  type ”Global-Mesh” in the ”Mesh” field and click on Apply and Close.
  The elements must be renumbered in a similar fashion.
                             vincenzo.binante@isti.cnr.it               37
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
  Regarding element connectivity, by default, Salome uses ”descendent
  connectivity”, by which each element is defined by nodes/aretes/mailles
  (see med documentation med-2.3.6). Moreover, element connectivity is
  usually clockwise (blue-coloured in the VTK-viewer), hence a check for
  any counter-clockwise connectivity must be performed. A first check can
  be made by observing the colour of the elements: elements with right
  connectivity are light-blue coloured. In any case, to view all the
  information regarding an element, right click on the VTK-viewer and select
  Mesh Element Infos. If an element exhibits improper connectivity, it must
  be re-oriented. To do this, select Modification → Orientation, then
  choose one of the available element selection criteria. In our case, select
  all the elements and click on Apply and Close to reorient the elements.
  As shown in the Vtk-viewer, the color ofcolourents change.




                              vincenzo.binante@isti.cnr.it                38
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
  Note: The procedures for renumbering elements and checking their
  connectivity are crucial to the success of a numerical analysis. Therefore,
  regardless of the checks made by the user, during generation of the Nosa
  card by the python modules, automatic checks are performed. If
  improper connectivity is detected, the program prompts the user to
  reorient the elements listed in the python console of Salome. Similar
  checks are conducted on node and element numbering.

  Step 7: Create Groups of nodes and elements
   Select Mesh → Create Group: to create a nodal group select ”Node” in
   the ”Element Type” field of the pop-up dialog, or ”Edge”, ”Face” or
   ”Volume” to create groups of 1D or 2D or 3D elements, respectively. It is
   also possible to create a group from the mesh and/or geometry by
   selecting the ”Standalone group” and/or ”Group on Geometry” types,
   respectively. Moreover, there are several filters for node/element
   selection. Once the nodes/elements have been selected, click on Apply
   and Close to create the group.
                              vincenzo.binante@isti.cnr.it                39
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load




                      vincenzo.binante@isti.cnr.it   40
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
 Create nodal and element groups as shown in the picture below




                             vincenzo.binante@isti.cnr.it        41
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
  Step 8: Create a python file for assigning material property, loads,...
   Before proceeding, save the Salome study as Study1. Then, open the
   file InputStudy1.py with a text editor and assign the current study
   values to the variables defining the mesh data, element type, material
   property, thickness, boundary conditions, loads and so on. By so doing,
   for other studies and analyses, we can edit the values in same file and
   simply rename it as InputXXX.py (where XXX is the name of the current
   study). For the sake of convenience, most of the variables are defined
   according to the of the Nosa code syntax. A brief comment for each
   variable is provided in the file.

  In the current study, we aim to perform a static analysis using plane
  stress quadratic elements (8 nodes). The material is described by the
  masonry-like constitutive model. Clamped boundary conditions are
  applied to the bottom edge of the hollow panel and an inertial load and a
  surface load on the upper edge will be applied.
                             vincenzo.binante@isti.cnr.it                42
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
 Thus, only the following variables in InputStudy1.py are to be edited :

mdist = 2              nel = 1800                    kmats = 1
ntype = (2,)           maxinc = 1                    jmats = (1,)
imaso = 1              miter =100                    mvar = 11
nmats = 1              nc = 3                        npost = 1
msete = 9              np = 5640                     ndist_load = 2
msetn = 3              nfixd = 1                     idist = ((1,1),(32,2))
mset = 5640            presc = ((0.,0.),)            rdist = ((0.,-18000.,0.),(100.,0.))
nelem = 1800           ifpre = ((1,2),)              matno = (1,1,1,1,1,1,1,1,1)
npoin = 5640           ngeom = 9                     eltype_geom = (2,2,2,2,2,2,2,2,2)
ncomgr = 9             nmaso = 9                     maso = (1,1,1,1,1,1,1,1,1)


                                vincenzo.binante@isti.cnr.it                         43
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
props = ((3e+9,.2,1800.,0.,0.,1e+20),)
indvar = (1,2,4,11,12,14,17,31,32,34,37)
nset_boundary = ('incastro',)
geom = ((.025,),(.025,),(.025,),(.025,),(.025,),(.025,),(.025,),(.025,),(.025))
chvar = ('exx','eyy','exy','sxx','syy','sxy','smises','einxx','einyy','einxy','ein_eqv')
elset_maso =
('all_elem','borexsup','borexinf','borinsup','borininf','borinsx','borindx','borexsx','borexdx')
eset_load = ('all_elem','borexsup')
analysis_title = '2-D plane stress analysis of hollow panel with masonry-like material'

As already mentioned, each variable is briefly explained in the file
InputStudy1.py.



                                      vincenzo.binante@isti.cnr.it                        44
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
Step 9: Generate the Nosa card ”.crd”
 Once the problem variables have been assigned, the creation of the Nosa
 input file is straightforward: in the python console of Salome, type the
 following command line:
                        execfile(”.../MainPreProcess.py”)


 specifying the full path of script file's location (it is a good idea to keep all
 the python scripts and modules in the same directory).

 The script MainPreProcess.py calls several user python modules to manage
 the mesh and analysis data.




                                vincenzo.binante@isti.cnr.it                   45
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load




                              If no warning or error message is
                              displayed, Study1.crd has been created !
                      vincenzo.binante@isti.cnr.it                       46
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
Now, suppose that during Nosa card creation, the mesh contains some
elements with clockwise connectivity. The display will show:




               element with wrong
                   connectivity




                             vincenzo.binante@isti.cnr.it       47
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
As shown in the figure, some warnings display during creation of Study1.cr,
and the user is prompted to reorient the elements listed in the python
console.

Note: the Salome element library contains several element types: triangular
elements with 3 and 6 nodes, quadrangular elements with 4 and 8 nodes
and polygonal elements with any number of nodes are available in the 2D
case. In the 3D case, tetrahedral, hexahedral, prismatic, pyramidal and
polyhedral elements are supplied. Nevertheless, the polygonal and
polyhedral elements (useless in most structural analyses) supplied by
Salome must, at least for the time being, be converted to quadrangular or
hexahedral collapsed elements before the Nosa card is written. This
conversion is done automatically by the user python modules during
execution of MainPreProcess.py.



                             vincenzo.binante@isti.cnr.it               48
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
Step 10: Submit the analysis
 To run the current analysis, it is not necessary to exit Salome session. The
 Nosa solver can be executed directly from Salome GUI by typing the
 following command lines into the python console:

 1. from os import system
 2. system(”./nosadyn Study1”)


 The analysis will run in batch mode and when it has completed the system
 command will return an integer number. The process and the status of each
 iteration at each load increment can be followed by observing the terminal
 running Salome (runSalome).


                              vincenzo.binante@isti.cnr.it               49
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load




                      vincenzo.binante@isti.cnr.it   50
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
 Note: It may be necessary to have the nosadyn executable in the same
 directory from which Salome is launched. Also, the current version of Nosa
 has been modified to be launched from Salome GUI. The relevant
 changes concern the subroutines mnosa.f, pstres.f and setdaf.f, the last of
 which is no longer required.

Step 11: Create the output Med file 'Study1.med'
  Once the analysis has completed, the output file Study1.med is obtained
  via the result file Study1.t19. To create the output file, execute the Fortran
  user-program postMed directly from the python console of Salome GUI
  via the command
                         system(”./postMed Study1 1”)

   where the name of the file ”.t19” and the total numer of load
   increments must be specified. Once the med file has been created,
   the terminal will show the file status.
                               vincenzo.binante@isti.cnr.it                  51
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load




                      vincenzo.binante@isti.cnr.it   52
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
Step 12: Import the file Stud1.med into Salome GUI

 Activate the Post-Pro module of Salome by clicking on the icon    , then
 import Study1.med by selecting File → Import → MED file, or clicking on
 the icon     .

 Once the file has been loaded, the Object Browser will contain a post-pro
 object, which can be expanded to retrieve Study1.med. Expanding
 Study1.med and ”orphanMesh” displays three subnodes: Families ,
 Groups and Fields. Groups furnishes the node and element sets created
 by the mesh module, while Fields contains the output variables required
 by InputStudy1.py.




                              vincenzo.binante@isti.cnr.it               53
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load




                      vincenzo.binante@isti.cnr.it   54
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load

Step 13: Viewing the results


  To view the deformed shape, right click on the displacement field ”U”, then
  select Deformed Shape and Scalar Map. In the pop-up dialogue, select
  the tab Scalar Bar, then in the ”Scalar Mode” field type the 2nd component
  of the displacement field. Click on OK. The VTK-viewer will display a plot
  of the mesh, together with the deformed shape. To view only the
  deformed shape, go to the Object Browser, expand the ”Presentations”
  object, right click on ScalarDef.Shape and select ”Show Only” from the
  pop-up menu.




                               vincenzo.binante@isti.cnr.it               55
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load




                      vincenzo.binante@isti.cnr.it   56
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
Click on the Point Selection icon, then in the VTK-viewer, click on a node -
the values of the displacement field will be evaluated along with the
coordinates of this node.




                             vincenzo.binante@isti.cnr.it              57
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
It is possible to view only the deformed shape without the scalar map: right
click on the field ”U” and select the Deformed Shape option, as shown in the
picture below.




                             vincenzo.binante@isti.cnr.it              58
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
To view the contour plot of the displacement field on the undeformed shape,
right click on ”U” field and select the Scalar Map option.




                              vincenzo.binante@isti.cnr.it              59
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
Now, right click on the ”U” field in the Object Browser to select the Vectors
option. Then, in the ”Vectors” tab of the resulting dialogue, enter 100 in the
”Scale factor” field and select ”Magnitude colouring”. Finally, select the 2 nd
component of ”U” from the ”Scalar Bar” tab and click OK.




                              vincenzo.binante@isti.cnr.it                60
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
Likewise, right click on the ”RF” field in the Object Browser and select
”Vectors” to show the reaction forces, as in the figure below.




                            vincenzo.binante@isti.cnr.it           61
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
Now, to display the normal stress along the y direction as defined at the
element centroid, as shown below, right click on the ”syy” field in the Object
Browser and select ”Scalar Map”.




                              vincenzo.binante@isti.cnr.it               62
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
The values at each Gauss point of each element can be viewed by right
clicking on syy and selecting the option Gauss Points.




                           vincenzo.binante@isti.cnr.it          63
Example 1: 2D plane stress analysis of a squared hollow
panel made of masonry-like material subjected to its own
weight and a surface load
In addition, clicking on the button Gauss point selection displays the value at
a Gauss point




                               vincenzo.binante@isti.cnr.it               64
Example 2: Analysis of a barrel vault made of masonry-like
material subjected to its own weight




                                 2m
                             =
                         R

                                                       4m


                        vincenzo.binante@isti.cnr.it        65
Example 2: Analysis of a barrel vault made of masonry-like
material subjected to its own weight

 Step 1: Create the geoemtry of the barrel vault
  From New Entity → Basic → Point create 4 points by entering their
  coordinates.

                              x                     y       z
               Point 1        2                     0       0
               Point 2        2                     4       0
               Point 3        0                     0       0
               Point 4        0                     4       0




                             vincenzo.binante@isti.cnr.it         66
Example 2: Analysis of a barrel vault made of masonry-like
material subjected to its own weight

  Now select New Entity → Basic → Line and create 2 lines by selecting
  the previously defined points: one line will be the axis of rotation of the
  barrel vault, the other will be the generatrix.

  To create the surface of revolution select New Entity → Generation →
  Revolution - a pop-up dialogue will open. In the”Object” and ”Axis”
  fields, select the generatrix and the other line (via the OCC-viewer). In
  the ”Angle” field, enter 180 and click on the ”Reverse” box if the
  orientation is clockwise, otherwise do not. Click on Apply and Close.

  From the Object Browser, right click on the last object, select ”Show
  Only” and rename it to ”volta”.


  Now select New Entity → Explode to obtain the free edges of the volta
  object.

                               vincenzo.binante@isti.cnr.it                 67
Example 2: Analysis of a barrel vault made of masonry-like
material subjected to its own weight

 Step 2: Create the mesh of the barrel vault

  Select Mesh → Create Mesh and type ”Global-Mesh” and ”volta” into
  the ”Name” and ”Geometry” fields, respectively.
  Select the tab ”1D” and choose ”Wire discretisation” as the algorithm,
  and ”Nb. Segments” as the hypothesis. In the ”Hypothesis Construction”
  dialogue type in ”algo1D_globale” as the name, and enter 80 as the
  number of sub-segments into which all free edges of volta must be split.
  Select the tab ”2D” and choose ”Quadrangle (Mapping)” as the
  algorithm and ”Quadrangle Parameters” as the hypothesis. In the next
  dialogue imput ”algo2D_globale” in the ”Name” field and select the
  ”Quadrangle Preference” option.

   Right click on the Global-Mesh from the Object Browser and select
   Compute. Then remove all the beam elements (not needed for the
   current analysis), and renumber the nodes and elements. Lastly,
   check the element connectivity.
                              vincenzo.binante@isti.cnr.it               68
Example 2: Analysis of a barrel vault made of masonry-like
material subjected to its own weight

   Once these operations have been performed, the mesh of the barrel
   vault should be depicted as in the following figure.




                            vincenzo.binante@isti.cnr.it               69
Example 2: Analysis of a barrel vault made of masonry-like
material subjected to its own weight
 Now, create node and element sets following to the procedures described in
 the previous example. The results are shown in the figure below:




                              vincenzo.binante@isti.cnr.it              70
Example 2: Analysis of a barrel vault made of masonry-like
material subjected to its own weight

 Step 3: Edit the InputStudy1.py file
 Edit the file ”InputStudy1.py”, as below, to modify some variables to the
 values for the current analysis, then rename this file to InputStudy2.py.
mdist = 1             nel = 6400                   kmats = 1
ntype = (10,)         maxinc = 1                   jmats = (1,)
imaso = 1             miter =100                   mvar = 38
nmats = 1             nc = 3                       npost = 1
msete = 5             np = 6561                    ndist_load = 1
msetn = 5             nfixd = 4                    idist = ((1,1),)
mset = 6561           mshel = 5                    rdist = ((0.,0.,-18000.),)
nelem = 6400                                       matno = (1,1,1,1,1)
npoin = 6561          ngeom = 5                    eltype_geom = (10,10,10,10,10)
ncomgr = 5            nmaso = 5                    maso = (1,1,1,1,1)
                              vincenzo.binante@isti.cnr.it                     71
Example 2: Analysis of a barrel vault made of masonry-like
material subjected to its own weight
props = ((3e+9,.2,1800.,0.,0.,1e+20),)
indvar = (1011,1012,1014,1015,1016,1021,1022,1024,1025,1026,3011,3012,3014,
3015,3016,3021,3022,3024,3025,3026,5011,5012,5014,5015,5016,5021,5022,5024,
5025,5026,51,52,53,54,55,56,57,58)
nset_boundary = ('bordo_-x','bordo_+x','arco_+y','arco_-y')
geom = ((.2,),(.2,),(.2,),(.2,),(.2,))
chvar = ('s11_bot','s22_bot','s12_bot','s23_bot','s13_bot','ie11_bot','ie22_bot','ie12_bot',
'ie23_bot','ie13_bot','s11_med','s22_med','s12_med','s23_med','s13_med','ie11_med','ie22_med','
ie12_med','ie23_med','ie13_med','s11_top','s22_top','s12_top','s23_top','s13_top','ie11_top',
'ie22_top','ie12_top','ie23_top','ie13_top','N11','N22','N12','Q23','Q13','M11','M22','M12')
elset_maso = ('all_elem','bordo_sx','bordo_dx','arc_fron','arc_rear')
eset_load = ('all_elem',)
analysis_title = '2-D analysis of a barrel vault with masonry-like material'
ifpre = ((1,2,3,4,5,6),(1,2,3,4,5,6),(1,2),(1,2))
presc = ((0.,0.,0.,0.,0.,0.),(0.,0.,0.,0.,0.,0.),(0.,0.),(0.,0.))
                                        vincenzo.binante@isti.cnr.it                           72
Example 2: Analysis of a barrel vault made of masonry-like
material subjected to its own weight

 Step 4: Run the analysis
  In the python console of Salome GUI, type the following command lines:
  ●   from os import system

  ●   system(”./nosadyn Study2”)

 Step 5: Create the Study2.med output file
  In the python console of Salome GUI type the following command line:
  ●   system(”./postMed Study2 1”)




                              vincenzo.binante@isti.cnr.it               73
Example 2: Analysis of a barrel vault made of masonry-like
material subjected to its own weight

 Step 6: Import Study2.med into Salome GUI and view the results
  The following figures show the deformed shape of the barrel vault and the
  stress and strain fields at the Gauss points




                             vincenzo.binante@isti.cnr.it               74
Example 2: Analysis of a barrel vault made of masonry-like
material subjected to its own weight




                        vincenzo.binante@isti.cnr.it   75
Example 2: Analysis of a barrel vault made of masonry-like
material subjected to its own weight




                        vincenzo.binante@isti.cnr.it   76
Example 2: Analysis of a barrel vault made of masonry-like
material subjected to its own weight




                        vincenzo.binante@isti.cnr.it   77
Example 2: Analysis of a barrel vault made of masonry-like
material subjected to its own weight




                        vincenzo.binante@isti.cnr.it   78
Example 2: Analysis of a barrel vault made of masonry-like
material subjected to its own weight




                        vincenzo.binante@isti.cnr.it   79
Example 2: Analysis of a barrel vault made of masonry-like
material subjected to its own weight




                        vincenzo.binante@isti.cnr.it   80
Example 2: Analysis of a barrel vault made of masonry-like
material subjected to its own weight




                        vincenzo.binante@isti.cnr.it   81
Example 2: Analysis of a barrel vault made of masonry-like
material subjected to its own weight




                        vincenzo.binante@isti.cnr.it   82
Example 2: Analysis of a barrel vault made of masonry-like
material subjected to its own weight




                        vincenzo.binante@isti.cnr.it   83
Example 3: Analysis of a groin vault made of masonry-like
material subjected to its own weight



                                                                     6m


     3m




                                                       R= 2 m


                                                                6m


                        vincenzo.binante@isti.cnr.it                      84
Example 3: Analysis of a groin vault made of masonry-like
material subjected to its own weight

 Step 1: Create the geometry of the groin vault
  Select New Entity → Basic → Point and create 8 points by entering the
  coordinates shown below.
                             X                        Y     Z
            Point 1           2                       0     0
            Point 2           2                       6     0
            Point 3           0                       0     0
            Point 4           0                       6     0
            Point 5           3                       5     0
            Point 6          -3                         5   0
            Point 7           3                         3   0
            Point 8          -3                         3
                             vincenzo.binante@isti.cnr.it   0        85
Example 3: Analysis of a groin vault made of masonry-like
material subjected to its own weight
  Select New Entity → Blocks → Quadrangle Face and create 2
  rectangles by entering their vertices.

                       Face 1                Point 1,...,Point 4
                       Face 2                Point 5,...,Point 8


  Via New Entity → Generation → Revolution create 2 half-cylinders by
  rotating the faces defined in the previous step around two lines:


                   Object to be rotated               Axis of rotation   Angle
    Revolution 1         Face 1                            pt3-pt4       180
    Revolution 2         Face 2                            pt7-pt8       180


                            vincenzo.binante@isti.cnr.it                         86
Example 3: Analysis of a groin vault made of masonry-like
material subjected to its own weight
  Open Operations → Boolean → Cut to create the intersections of the
  half-cylinders.
                            Object to be cut                Cutting object
             Cut 1            Revolution 1                  Revolution 2
             Cut 2            Revolution 2                  Revolution 1

  Hide all objects but Cut_1 and Cut_2 in the Object Browser,.


  Select New Entity → Explode to obtain the faces constituting Cut_1 and
  Cut_2.
  Hide all in the Object Browser, then expand the Cut_1 and Cut_2
  objects, and select the faces making up the groin vault and display
  them in the OCC-viewer.
                             vincenzo.binante@isti.cnr.it                    87
Example 3: Analysis of a groin vault made of masonry-like
material subjected to its own weight
  Select Operations → Boolean → Fuse to create the unions (fuse) of two
  objects.

                                Object 1                   Object 2
            Fuse 1              Face 4                     Face 14
            Fuse 2              Fuse 1                     Face 7
            Fuse 3              Fuse 2                     Face 17


  Hide all objects except Fuse 3 in the Object Browser: the resulting
  object is shown in the figure below (with the differently-coloured
  faces).




                            vincenzo.binante@isti.cnr.it                88
Example 3: Analysis of a groin vault made of masonry-like
material subjected to its own weight




  Now, we must split the Fuse 3 object into 4 parts (for meshing), so we
  create two planes from three points, via New Entity → Basic → Plane.

                            vincenzo.binante@isti.cnr.it             89
Example 3: Analysis of a groin vault made of masonry-like
material subjected to its own weight




  Now, selecting Operations → Partition create two partitions of the Fuse
  3 object by means of two planes, as shown below.
                                  Object 1        Object 2
                Partition 1        Fuse 3          Plane 1
                Partiton 2       Partition 1       Plane 2
                             vincenzo.binante@isti.cnr.it              90
Example 3: Analysis of a groin vault made of masonry-like
material subjected to its own weight
  Rename the Partition 2 object to volta_crociera.
  Finally, select New Entity → Explode to obtain the edges and faces
  constituting the volta_crociera object. The figure below displays the faces
  of the volta_crociera object in different colours.




                               vincenzo.binante@isti.cnr.it                91
Example 3: Analysis of a groin vault made of masonry-like
material subjected to its own weight
  Step 2: Create the mesh of the groin vault


  Once the mesh module has been activated, display all the edges of the
  volta_crociera object in the VTK-viewer.

  Select Mesh → Create Mesh and input ”Global-Mesh” as the name and
  select volta_crociera for the geometry .

  Select the ”1D” tab and use ”Wire discretisation” as the algorithm and ”Nb-
  Segments” as the hypothesis. In the next dialogue, enter
  ”algo1D_globale” as the name and ”40” as the number of sub-segments
  into which to divide all the edges .

  Now select the ”2D”tab and use ”Quadrangle (Mapping)” as the algorithm
  and ”Quadrangle Parameters” as the hypothesis. In the next dialogue,
  enter the name ”algo2D_globale” and select type ”Quadrangle
  Preference”.
                               vincenzo.binante@isti.cnr.it                92
Example 3: Analysis of a groin vault made of masonry-like
material subjected to its own weight



  Now, open Mesh → Create Sub-mesh and enter ”Global-Mesh” for the
  mesh and for the geometry select one of the edges which should be split
  according to an algorithm other than ”algo1D_globale”.

  Select the ”1D” tab and use ”Wire discretisation” as the algorithm and ”Nb-
  Segments” as the hypothesis. In the next dialogue, enter ”algo1D_locale”
  as the name and ”25” as the number of sub-segments into which the edge
  is to be split.

  Repeat the procedure for all edges with partitions different from
  ”algo1D_globale”.



                               vincenzo.binante@isti.cnr.it                93
Example 3: Analysis of a groin vault made of masonry-like
material subjected to its own weight




 The blue-coloured edges must be split according to the ”algo1D_locale”
 algorithm, the others according to ”algo1D_globale”.
                            vincenzo.binante@isti.cnr.it            94
Example 3: Analysis of a groin vault made of masonry-like
material subjected to its own weight

 In the Object Browser, right click on ”Global-Mesh”, then select Compute.


 Remove all beam elements (uneeded for the current analysis) by selecting
 Modification → Remove → Elements and using the available filters to
 select the edge elements.


 Then renumber nodes and elements by selecting Modification →
 Renumbering → Nodes/Elements.

 The following figure shows the mesh of the groin vault.




                               vincenzo.binante@isti.cnr.it              95
Example 3: Analysis of a groin vault made of masonry-like
material subjected to its own weight




                        vincenzo.binante@isti.cnr.it   96
Example 3: Analysis of a groin vault made of masonry-like
material subjected to its own weight

 Now, create the node and element sets via Mesh → Create Group.




                            vincenzo.binante@isti.cnr.it          97
Example 3: Analysis of a groin vault made of masonry-like
material subjected to its own weight




                        vincenzo.binante@isti.cnr.it   98
Example 3: Analysis of a groin vault made of masonry-like
material subjected to its own weight

 Step 3: Edit the InputStudy2.py file
 Edit the file ”InputStudy2.py” to modify some variables to the values for the
 current analysis, then rename this file to InputStudy3.py
 mdist = 1       nel = 8000     kmats = 1
 ntype = (10,)   maxinc = 1     jmats = (1,)
 imaso = 1       miter =100     mvar = 38
 nmats = 1       nc = 3         npost = 1
 msete = 9       np = 8261      ndist_load = 1
 msetn = 9       nfixd = 5      idist = ((1,1),)
 mset = 8261     mshel = 5      rdist = ((0.,0.,-18000.),)
 nelem = 8000                   matno = (1,1,1,1,1,1,1,1,1)
 npoin = 8261    ngeom = 9      eltype_geom = (10,10,10,10,10,10,10,10,10)
 ncomgr = 9      nmaso = 9      maso = (1,1,1,1,1,1,1,1,1)
                               vincenzo.binante@isti.cnr.it                99
Example 3: Analysis of a groin vault made of masonry-like
material subjected to its own weight
props = ((3e+9,.2,1800.,0.,0.,1e+20),)
indvar = (1011,1012,1014,1015,1016,1021,1022,1024,1025,1026,3011,3012,3014,
3015,3016,3021,3022,3024,3025,3026,5011,5012,5014,5015,5016,5021,5022,5024,
5025,5026,51,52,53,54,55,56,57,58)
nset_boundary = ('base','arco_-x','arco_+x','arco_-y','arco_+y')
geom = ((.2,),(.2,),(.2,),(.2,),(.2,),(.2,),(.2,),(.2,),(.2,))
chvar = ('s11_bot','s22_bot','s12_bot','s23_bot','s13_bot','ie11_bot','ie22_bot','ie12_bot',
'ie23_bot','ie13_bot','s11_med','s22_med','s12_med','s23_med','s13_med','ie11_med','ie22_med','
ie12_med','ie23_med','ie13_med','s11_top','s22_top','s12_top','s23_top','s13_top','ie11_top',
'ie22_top','ie12_top','ie23_top','ie13_top','N11','N22','N12','Q23','Q13','M11','M22','M12')
elset_maso = ('all_elem','face1','face2','face3','face4','face5','face6','face7','face8')
eset_load = ('all_elem',)
analysis_title = '2-D analysis of a groin vault with masonry-like material'
ifpre = ((1,2,3,4,5,6),(1,2),(1,2),(1,2),(1,2))
presc = ((0.,0.,0.,0.,0.,0.),(0.,0.),(0.,0.),(0.,0.),(0.,0.))
                                        vincenzo.binante@isti.cnr.it                           100
Example 3: Analysis of a groin vault made of masonry-like
material subjected to its own weight

 Step 4: Run the analysis
  In the python console of Salome GUI type the following command lines:
  ●   from os import system

  ●   system(”./nosadyn Study3”)

 Step 5: Create the Study3.med output file
  In the python console of Salome GUI type the following command:
  ●   system(”./postMed Study3 1”)




                              vincenzo.binante@isti.cnr.it            101
Example 3: Analysis of a groin vault made of masonry-like
material subjected to its own weight
 Step 6: Import Study3.med into Salome GUI and view the results
  The following figures show the deformed shape of the groin vault and the
  stress and strain fields at the Gauss points




                             vincenzo.binante@isti.cnr.it             102
Example 3: Analysis of a groin vault made of masonry-like
material subjected to its own weight




                        vincenzo.binante@isti.cnr.it   103
Example 3: Analysis of a groin vault made of masonry-like
material subjected to its own weight




                        vincenzo.binante@isti.cnr.it   104
Example 3: Analysis of a groin vault made of masonry-like
material subjected to its own weight




                        vincenzo.binante@isti.cnr.it   105
Example 3: Analysis of a groin vault made of masonry-like
material subjected to its own weight




                        vincenzo.binante@isti.cnr.it   106
Example 3: Analysis of a groin vault made of masonry-like
material subjected to its own weight




                        vincenzo.binante@isti.cnr.it   107
Example 3: Analysis of a groin vault made of masonry-like
material subjected to its own weight




                        vincenzo.binante@isti.cnr.it   108
Example 3: Analysis of a groin vault made of masonry-like
material subjected to its own weight




                        vincenzo.binante@isti.cnr.it   109
Example 3: Analysis of a groin vault made of masonry-like
material subjected to its own weight




                        vincenzo.binante@isti.cnr.it   110
Example 3: Analysis of a groin vault made of masonry-like
material subjected to its own weight




                        vincenzo.binante@isti.cnr.it   111
Example 3: Analysis of a groin vault made of masonry-like
material subjected to its own weight

 The last figure shows the displacement field by selecting the option Cut
 Planes from those available.


 Note: The previous figures show results which may not seem symmetrical,
 depending on the node positions in the connectivity of any element (the first
 node in the connectivity may not be located at the bottom-left, even though
 the orientation is counterclockwise). In reality, this is not the case, though it
 represents a problem common to many software applications (e.g., MSC
 Mentat).

 Example 3 completes the first part of this tutorial. We now continue on to
 Part 2.



                                vincenzo.binante@isti.cnr.it                  112
Example 4: Importing a Nosa card *.crd into Salome GUI
 Importing a Nosa input file (”*.crd”) requires a python module named
 MeshImport.py, which reads the mesh data of the Nosa card and applies
 the python commands in Salome to rebuild the fem .

 Start a new session of Salome and type the following command lines into
 Salome GUI python console:

  ●   import MeshImport

  ●   MeshImport.importNosa(../filename.crd)

 where, the full path to filename.crd must to be specified. It is advisable to
 have the python module in the same directory where Salome GUI is
 executed.
 The following example show the results of importing the three Nosa cards
 murosud3.crd, ciappei.crd and rognosa.crd
                               vincenzo.binante@isti.cnr.it               113
Example 4: Importing a Nosa card *.crd into Salome GUI




                      vincenzo.binante@isti.cnr.it   114
Example 4: Importing a Nosa card *.crd into Salome GUI




                      vincenzo.binante@isti.cnr.it   115
Example 4: Importing a Nosa card *.crd into Salome GUI




                      vincenzo.binante@isti.cnr.it   116

Más contenido relacionado

La actualidad más candente

La actualidad más candente (9)

3 d autocad_2009
3 d autocad_20093 d autocad_2009
3 d autocad_2009
 
AutoCad Basic tutorial
AutoCad Basic tutorialAutoCad Basic tutorial
AutoCad Basic tutorial
 
Autocad Training Delhi
Autocad Training DelhiAutocad Training Delhi
Autocad Training Delhi
 
Workbench tutorial airfoil
Workbench tutorial airfoilWorkbench tutorial airfoil
Workbench tutorial airfoil
 
Eg5 n
Eg5 nEg5 n
Eg5 n
 
Manual autocad 2010 english
Manual autocad 2010 englishManual autocad 2010 english
Manual autocad 2010 english
 
TUTORIAL AUTO CAD 3D
TUTORIAL AUTO CAD 3DTUTORIAL AUTO CAD 3D
TUTORIAL AUTO CAD 3D
 
Auto cad intro
Auto cad introAuto cad intro
Auto cad intro
 
Cad 003
Cad 003Cad 003
Cad 003
 

Destacado

Sperlonga 2011
Sperlonga 2011Sperlonga 2011
Sperlonga 2011MMSLAB
 
Analisi numerica di problemi di ingegneria strutturale
Analisi numerica di problemi di ingegneria strutturaleAnalisi numerica di problemi di ingegneria strutturale
Analisi numerica di problemi di ingegneria strutturaleMMSLAB
 
My classroom
My classroomMy classroom
My classroomEmaneia
 
Programma di Ricerca : Modelli e Metodi per l’Analisi Strutturale Caso studio...
Programma di Ricerca : Modelli e Metodi per l’Analisi Strutturale Caso studio...Programma di Ricerca : Modelli e Metodi per l’Analisi Strutturale Caso studio...
Programma di Ricerca : Modelli e Metodi per l’Analisi Strutturale Caso studio...MMSLAB
 
My classroom
My classroomMy classroom
My classroomEmaneia
 
Wondermasonry 2011 1
Wondermasonry 2011 1Wondermasonry 2011 1
Wondermasonry 2011 1MMSLAB
 
Strumenti informatici per la modellazione e la verifica del comportamento str...
Strumenti informatici per la modellazione e la verifica del comportamento str...Strumenti informatici per la modellazione e la verifica del comportamento str...
Strumenti informatici per la modellazione e la verifica del comportamento str...MMSLAB
 
Job Openings
Job OpeningsJob Openings
Job Openingsjmyatco
 
民法概要考古題201209
民法概要考古題201209民法概要考古題201209
民法概要考古題201209Ted Kuo
 
Girardimaratea
GirardimarateaGirardimaratea
GirardimarateaMMSLAB
 
Napoli2014
Napoli2014Napoli2014
Napoli2014MMSLAB
 
Zanimaratea
ZanimarateaZanimaratea
ZanimarateaMMSLAB
 
Nosa 2011
Nosa 2011Nosa 2011
Nosa 2011MMSLAB
 
Creta 2011 slides
Creta 2011 slidesCreta 2011 slides
Creta 2011 slidesMMSLAB
 
St john.wondermasonry
St john.wondermasonrySt john.wondermasonry
St john.wondermasonryMMSLAB
 
Mms lab 2011
Mms lab 2011Mms lab 2011
Mms lab 2011MMSLAB
 

Destacado (18)

Sperlonga 2011
Sperlonga 2011Sperlonga 2011
Sperlonga 2011
 
Analisi numerica di problemi di ingegneria strutturale
Analisi numerica di problemi di ingegneria strutturaleAnalisi numerica di problemi di ingegneria strutturale
Analisi numerica di problemi di ingegneria strutturale
 
My classroom
My classroomMy classroom
My classroom
 
Programma di Ricerca : Modelli e Metodi per l’Analisi Strutturale Caso studio...
Programma di Ricerca : Modelli e Metodi per l’Analisi Strutturale Caso studio...Programma di Ricerca : Modelli e Metodi per l’Analisi Strutturale Caso studio...
Programma di Ricerca : Modelli e Metodi per l’Analisi Strutturale Caso studio...
 
My classroom
My classroomMy classroom
My classroom
 
Wondermasonry 2011 1
Wondermasonry 2011 1Wondermasonry 2011 1
Wondermasonry 2011 1
 
Strumenti informatici per la modellazione e la verifica del comportamento str...
Strumenti informatici per la modellazione e la verifica del comportamento str...Strumenti informatici per la modellazione e la verifica del comportamento str...
Strumenti informatici per la modellazione e la verifica del comportamento str...
 
Presentation2
Presentation2Presentation2
Presentation2
 
Job Openings
Job OpeningsJob Openings
Job Openings
 
民法概要考古題201209
民法概要考古題201209民法概要考古題201209
民法概要考古題201209
 
Bab 2 06601244204
Bab 2   06601244204Bab 2   06601244204
Bab 2 06601244204
 
Girardimaratea
GirardimarateaGirardimaratea
Girardimaratea
 
Napoli2014
Napoli2014Napoli2014
Napoli2014
 
Zanimaratea
ZanimarateaZanimaratea
Zanimaratea
 
Nosa 2011
Nosa 2011Nosa 2011
Nosa 2011
 
Creta 2011 slides
Creta 2011 slidesCreta 2011 slides
Creta 2011 slides
 
St john.wondermasonry
St john.wondermasonrySt john.wondermasonry
St john.wondermasonry
 
Mms lab 2011
Mms lab 2011Mms lab 2011
Mms lab 2011
 

Similar a Tutorial 09 02_12

Thermal Analysis in Hypermesh (Conduction, Convention and Thermal Expansion)
Thermal Analysis in Hypermesh (Conduction, Convention and Thermal Expansion)Thermal Analysis in Hypermesh (Conduction, Convention and Thermal Expansion)
Thermal Analysis in Hypermesh (Conduction, Convention and Thermal Expansion)Akshay Mistri
 
Experiment_1.pdf
Experiment_1.pdfExperiment_1.pdf
Experiment_1.pdfmusa572502
 
VLSI lab manual Part B, VTU 7the sem KIT-tiptur
VLSI lab manual Part B, VTU 7the sem KIT-tipturVLSI lab manual Part B, VTU 7the sem KIT-tiptur
VLSI lab manual Part B, VTU 7the sem KIT-tipturPramod Kumar S
 
User Guide
User GuideUser Guide
User Guideglbarker
 
Workshop16 heat-pipejoint
Workshop16 heat-pipejointWorkshop16 heat-pipejoint
Workshop16 heat-pipejointmmd110
 
Workshop1 cant-beam
Workshop1 cant-beamWorkshop1 cant-beam
Workshop1 cant-beammmd110
 
Acad civil3 d_points_manual
Acad civil3 d_points_manualAcad civil3 d_points_manual
Acad civil3 d_points_manualMiodrag Hrenek
 
Rc bldg. modeling & analysis
Rc bldg. modeling & analysisRc bldg. modeling & analysis
Rc bldg. modeling & analysisRamil Artates
 
End of chapter problem 4
End of chapter problem 4End of chapter problem 4
End of chapter problem 4wkhairil80
 
Modeling seismic analysis_and_design_of_rc_building_10_story
Modeling seismic analysis_and_design_of_rc_building_10_storyModeling seismic analysis_and_design_of_rc_building_10_story
Modeling seismic analysis_and_design_of_rc_building_10_storyAliAlmayalee
 

Similar a Tutorial 09 02_12 (20)

Axis vm stepbystep
Axis vm stepbystepAxis vm stepbystep
Axis vm stepbystep
 
Ansys tutorial1
Ansys tutorial1Ansys tutorial1
Ansys tutorial1
 
Thermal Analysis in Hypermesh (Conduction, Convention and Thermal Expansion)
Thermal Analysis in Hypermesh (Conduction, Convention and Thermal Expansion)Thermal Analysis in Hypermesh (Conduction, Convention and Thermal Expansion)
Thermal Analysis in Hypermesh (Conduction, Convention and Thermal Expansion)
 
Experiment_1.pdf
Experiment_1.pdfExperiment_1.pdf
Experiment_1.pdf
 
VLSI lab manual Part B, VTU 7the sem KIT-tiptur
VLSI lab manual Part B, VTU 7the sem KIT-tipturVLSI lab manual Part B, VTU 7the sem KIT-tiptur
VLSI lab manual Part B, VTU 7the sem KIT-tiptur
 
Tutorials v10
Tutorials v10Tutorials v10
Tutorials v10
 
Dipole
DipoleDipole
Dipole
 
Phoenics tutorial
Phoenics tutorialPhoenics tutorial
Phoenics tutorial
 
Tutorial ads
Tutorial adsTutorial ads
Tutorial ads
 
eQUEST Cookbook
eQUEST CookbookeQUEST Cookbook
eQUEST Cookbook
 
Tutorial_01_Quick_Start.pdf
Tutorial_01_Quick_Start.pdfTutorial_01_Quick_Start.pdf
Tutorial_01_Quick_Start.pdf
 
Patchantenna
PatchantennaPatchantenna
Patchantenna
 
User Guide
User GuideUser Guide
User Guide
 
Workshop16 heat-pipejoint
Workshop16 heat-pipejointWorkshop16 heat-pipejoint
Workshop16 heat-pipejoint
 
Workshop1 cant-beam
Workshop1 cant-beamWorkshop1 cant-beam
Workshop1 cant-beam
 
Acad civil3 d_points_manual
Acad civil3 d_points_manualAcad civil3 d_points_manual
Acad civil3 d_points_manual
 
Rc bldg. modeling & analysis
Rc bldg. modeling & analysisRc bldg. modeling & analysis
Rc bldg. modeling & analysis
 
End of chapter problem 4
End of chapter problem 4End of chapter problem 4
End of chapter problem 4
 
A d swincc15e
A d swincc15eA d swincc15e
A d swincc15e
 
Modeling seismic analysis_and_design_of_rc_building_10_story
Modeling seismic analysis_and_design_of_rc_building_10_storyModeling seismic analysis_and_design_of_rc_building_10_story
Modeling seismic analysis_and_design_of_rc_building_10_story
 

Más de MMSLAB

Praga2015
Praga2015Praga2015
Praga2015MMSLAB
 
Safe monuments2
Safe monuments2Safe monuments2
Safe monuments2MMSLAB
 
Safe monument
Safe monumentSafe monument
Safe monumentMMSLAB
 
Maratea zani et_al
Maratea zani et_alMaratea zani et_al
Maratea zani et_alMMSLAB
 
Girardi maratea
Girardi marateaGirardi maratea
Girardi marateaMMSLAB
 
Pellegrini presentation
Pellegrini presentationPellegrini presentation
Pellegrini presentationMMSLAB
 
Girardi presentation
Girardi presentationGirardi presentation
Girardi presentationMMSLAB
 
SaloneRestauro2012
SaloneRestauro2012SaloneRestauro2012
SaloneRestauro2012MMSLAB
 
Wonder masonry zani
Wonder masonry zaniWonder masonry zani
Wonder masonry zaniMMSLAB
 
Poster itaca
Poster itacaPoster itaca
Poster itacaMMSLAB
 
Istanbul 2011
Istanbul 2011Istanbul 2011
Istanbul 2011MMSLAB
 

Más de MMSLAB (11)

Praga2015
Praga2015Praga2015
Praga2015
 
Safe monuments2
Safe monuments2Safe monuments2
Safe monuments2
 
Safe monument
Safe monumentSafe monument
Safe monument
 
Maratea zani et_al
Maratea zani et_alMaratea zani et_al
Maratea zani et_al
 
Girardi maratea
Girardi marateaGirardi maratea
Girardi maratea
 
Pellegrini presentation
Pellegrini presentationPellegrini presentation
Pellegrini presentation
 
Girardi presentation
Girardi presentationGirardi presentation
Girardi presentation
 
SaloneRestauro2012
SaloneRestauro2012SaloneRestauro2012
SaloneRestauro2012
 
Wonder masonry zani
Wonder masonry zaniWonder masonry zani
Wonder masonry zani
 
Poster itaca
Poster itacaPoster itaca
Poster itaca
 
Istanbul 2011
Istanbul 2011Istanbul 2011
Istanbul 2011
 

Último

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 

Último (20)

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

Tutorial 09 02_12

  • 1. Istituto di Scienza e Tecnologie dell'Informazione ”A. Faedo” The NOSA-ITACA Integrated Software: Some Examples Author: Vincenzo Binante† email: vincenzo.binante@isti.cnr.it Links: • Mechanics of Materials and Structures Laboratory • Salome CAD/CAE Platform • Dipartimento di Costruzioni e Restauro (Unifi) • Nosa-Itaca • Consiglio Nazionale delle Ricerche (CNR) • Regione Toscana
  • 2. Contents Part I: ➢ Creating a geometry and mesh in the Salome CAD/CAE platform; ➢ Creating an external python script, for which some variables must be assigned ( e.g., material property, thickness, loads, boundary conditions,...); ➢ Generating a Nosa card ”.crd” from the python console of Salome GUI; ➢ Launching the Nosa solver from the python console of Salome GUI; ➢ Launching a Fortran user-program from the python console of Salome GUI; this program generates an output MED file from the ”.t19” result file. ➢ Viewing the numerical results in Salome GUI; vincenzo.binante@isti.cnr.it 2
  • 3. Contents Part II: ➢ Import a Nosa card ”.crd” into Salome GUI, where the mesh, node/element groups will be created; ➢ Import an output file ”.t19” into Salome GUI to view the numerical results. vincenzo.binante@isti.cnr.it 3
  • 4. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load Geometry and Loads p = 100 Pa 1m 1.5 m 3m 4.5 m vincenzo.binante@isti.cnr.it 4
  • 5. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load Starting up Salome: Open a terminal, then type the following command line: runSalome. The Salome GUI module will start. Step 1: Create two rectangles of sizes 4.5 x 3 m and 1.5 x 1 m From Salome GUI, select File → New to create a new study. vincenzo.binante@isti.cnr.it 5
  • 6. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load Activate the Geometry module by selecting Geometry from the SALOME pulldown menu: or by clicking on the icon vincenzo.binante@isti.cnr.it 6
  • 7. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load Create the outer rectangle through menu New Entity → Primitives → Rectangle The Rectangle Construction dialogue box will open. Type ”pannello” in the Result Name field. vincenzo.binante@isti.cnr.it 7
  • 8. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load In the same dialogue box type 4.5 and 3 in the Height and Width fields, respectively. Then in the Orientation field options, select the plane on which the rectangle is to lie (the default options are OXY, OXY or OZX). Click Apply and Close to create the rectangle. vincenzo.binante@isti.cnr.it 8
  • 9. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load Note: If the rectangle is not to lie on one of the three main planes, select the right- hand icon (circled in red) to use either a pre-existing face as the plane or a pre- existing edge to define the unit outward normal to the plane. After clicking Apply and Close, the rectangle will be displayed in the OCC- viewer window. To change the display mode, right click on the rectangle, then in the pop-up menu select Display Mode → Shading vincenzo.binante@isti.cnr.it 9
  • 10. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load In the same way, create the 2nd, 1.5 x 1 m rectangle and name it ”finestra”. Note: The foregoing procedure creates rectangles whose centers are coincident and located at the origin of the global system. The 2nd rectangle can be offset from the first as desired by making a translation through the menu sequence: Operations → Transformation → Translation. Step 2: Hollow out the panel by cutting Select Operations → Boolean → Cut. In the ”Cut Two Objects” dialogue that opens, accept the default (e.g., Cut_1) in the ”Result Name” field. Then, in the ”Main Object” field, select ”pannello” from the Object Browser or the OCC-viewer and in ”Tool Object” select ”finestra”. Click on Apply and Close to see the results. vincenzo.binante@isti.cnr.it 10
  • 11. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load To display only the object resulting from the cut operation, right click on Cut_1 from the Object Browser and select the ”Show Only” option from the pop-up menu. vincenzo.binante@isti.cnr.it 11
  • 12. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load Once the hollow panel's geometry has been created, we need to partition it into several sub-components (such as edges, faces, and/or blocks), to which the mesh creation algorithms and hypotheses will apply. First, we need to create 8 faces and 8 points by selecting New Entity → Basic → Point. By default, points are created by entering their coordinates. Here we instead use an alternate procedure: open the ”Point Construction” dialogue and select the 2nd option: vincenzo.binante@isti.cnr.it 12
  • 13. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load This will create points by offsetting them one from the other. In the ”Point with reference” field, insert the left-bottom vertex of the finestra by selecting it in the OCC-viewer, then type in offset values Dx, Dy and Dz. The resulting coordinates of the new points will be shown in the ”Result coordinates” field. Click on Apply and finally Apply and Close. The points to be created are shown in the figure below vincenzo.binante@isti.cnr.it 13
  • 14. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load We can now create 8 faces from the points defined: select New Entity → Blocks → Quadrangle Face and select the boundary vertices of a face. vincenzo.binante@isti.cnr.it 14
  • 15. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load Next we create a shell from the 8 faces. Open New Entity → Build → Shell, and in the pop-up dialogue, type ”pannello_forato” in the ”Name” field and select the 8 faces in ”Objects”. Click on Apply and Close. vincenzo.binante@isti.cnr.it 15
  • 16. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load Now we define the sub-components of the pannello_forato object by selecting New Entity → Explode. vincenzo.binante@isti.cnr.it 16
  • 17. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load Likewise, we can explode the geometry of Cut_1. The difference between the objects Cut_1 and pannello_forato depends on their sub-components. Therefore, different mesh types can be generated from their geometries . As will been seen later, only non-structured meshes can be obtained from the geometry of Cut_1; a structured mesh will instead be generated from the geometry of pannello_forato . Step 4: Create a mesh from the geometry of Cut_1 Activate the mesh module from the menu or by clicking the icon A VTK-viewer window will be created: to display the geometry of Cut_1, right click on it in the Object Browser, and select ”Show”. Select Mesh → Create Mesh and the ”Create Mesh” dialogue will open. In the ”Geometry” field, type Cut_1 by selecting it from the Object Browser and accept the default mesh name Mesh_1; then select tab 1D. vincenzo.binante@isti.cnr.it 17
  • 18. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load vincenzo.binante@isti.cnr.it 18
  • 19. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load Then in the ”Algorithm” field, select Wire discretisation and click on the button next to the ”Hypothesis” field and select Nb. Segments - a new dialog will open where we can define the ”global” number of sub-intervals into which which any edge can be split. Thus, in the ”Name” field, type ”algo1D_globale” and in ”Number of Segments” input 10. Accept the default option (i.e. uniform distribution) for ”Type of distribution”. Select OK to exit the dialog. Now, in the ”Create Mesh” dialogue, select the tab 2D and in the ”Algorithm” field select Quadrangle (Mapping) and type in Quadrangle Parameters into the ”Hypothesis” field - a new dialog will pop up, where we select ”algo2D_globale” as the ”Name” and ”Quadrangle Preference” in the ”Type” options. Click OK to exit the dialogue. Lastly, click on Apply and Close to exit the ”Create Mesh” dialogue. vincenzo.binante@isti.cnr.it 19
  • 20. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load vincenzo.binante@isti.cnr.it 20
  • 21. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load Now, in the Object Browser, expand the Mesh object, then Mesh_1, where the algorithms and hypotheses used to create the Cut_1 mesh can be retrieved . The icon by the Mesh_1 object indicates that the mesh has not yet been created. Thus, right click on Mesh_1 and in the pop-up menu select Compute. This is supposed to generate the mesh of Cut_1, but as can be seen from the message, ”Mesh computation failed”, in the pop-up dialog, the mesh could not be created. As the dialogue indicates, this is due to both the shape of Face_9 of Cut_1 and the algorithm chosen. vincenzo.binante@isti.cnr.it 21
  • 22. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load vincenzo.binante@isti.cnr.it 22
  • 23. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load Different algorithms and hypotheses must thus be chosen to create the mesh. To do this, in the Object Browser, expand Hypotheses, right click on algo2D_globale and select Unassign in the pop-up. Likewise, expand Algorithms, right click on Quadrangle_2D and select Unassign. vincenzo.binante@isti.cnr.it 23
  • 24. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load Now, right click on Mesh_1 and select Edit Mesh/Submesh - a new dialogue will open. Select the 2D tab and choose either Netgen 2D or Triangle (Mefisto) or Netgen 1D-2D as the algorithm. These are the only viable choices for the shape of Face_9. Click on Apply and Close to exit. vincenzo.binante@isti.cnr.it 24
  • 25. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load Depending on the algorithm used to create the mesh of Cut_1, we obtain three different triangular meshes, as shown in the picture belows: 1D Algorithm: algo1D_globale 1D Algorithm: algo1D_globale 2D Algorithm: Mefisto 2D Algorithm: Netgen 2D 2D Algorithm: Netgen 1D-2D vincenzo.binante@isti.cnr.it 25
  • 26. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load To obtain a quadrangular structured mesh, we must take regular shapes into account, such as the geometry of pannello_forato. To do this, first delete the triangular meshes by right clicking on them and selecting Delete. Step 5: Create a mesh from the geometry of pannello_forato As before, select Mesh → Create Mesh. Then, in the Name field, type ”Global-Mesh” and selectthe pannello_forato object in ”Geometry” . Use the prevoiusly defined algorithms (algo1D_globale and algo2D_globale) and hypotheses for the mesh construction. Right click on Global-Mesh object, then select Compute. The pop-up dialog ”Mesh computation succeed” appears, showing the mesh details. vincenzo.binante@isti.cnr.it 26
  • 27. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load vincenzo.binante@isti.cnr.it 27
  • 28. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load Notes: 1. As shown in the previous figure, both 1D elements (Edge) and 2D ones (Face) have been created. This is done automatically by the Salome mesh generator. More specifically, for each geometry (both 2D and 3D) the mesh generator requires algorithms and hypothesis to be applied on each of the sub-components of the geometry. Thus, for 3D geometries, algorithms are required for edges, faces and blocks. The final result is a mesh made up of beam elements for all the edges, and shell elements for the faces of each solid element, and solid elements, even though we have a mesh with only solid elements. This is due to the ”descendent connectivity” that Salome applies to mesh elements by default (apart from the standard nodal connectivity), by which each solid element is defined by its edges (arete) and faces (maille). Clearly, this is also true for each shell element, defined by its edges. vincenzo.binante@isti.cnr.it 28
  • 29. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load 2.algo1D_globale has been applied for all edges bounding the faces of pannello_forato. This implies that each segment has been split into 10 sub-segments, regardless of its length. If we wish to obtain a uniform mesh, we need to define several 1D algorithms, depending on the geometry. From the Object Browser, expand the pannello_forato object, select all the edges (24), right click on them and type in ”Show Only” - the edges of the 8 faces of pannello_forato will be displayed in the VTK-viewer We now want to split the shorter edges into 5 sub-segments. To do this, select Mesh → Create Sub-mesh and a new dialogue will open. vincenzo.binante@isti.cnr.it 29
  • 30. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load vincenzo.binante@isti.cnr.it 30
  • 31. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load Accept the default ”Name”, then in the ”Mesh” field type ”Global-Mesh” and in ”Geometry”, select the short edge located at the bottom left in the VTK- viewer. Select the tab ”1D” and in ”Algorithm”, select ”Wire discretisation” and select ”Nb.Segments” from ”Hypotheses”. In the following dialogue, type in ”algo1D_locale” in the ”Name” and 5 in the ”Number of Segments” fields. Click on the OK button, then Apply. Repeat the same procedure for the other shorter edges and finally click on Apply and Close. Now, right click on ”Global-Mesh” and select Compute - the new mesh of pannello_forato will display, as shown in the following picture vincenzo.binante@isti.cnr.it 31
  • 32. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load vincenzo.binante@isti.cnr.it 32
  • 33. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load As can be seen in the previous figure, the mesh is rather coarse. To refine it, expand the Hypotheses object in the Object Browser, then right click on algo1D_globale and select Edit Hypothesis in the pop-up and replace 10 with 20. Likewise, edit algo1D_locale by replacing 5 with 10. Now, right click on Global-Mesh then select Compute. The resulting finer mesh is shown in the figure below. vincenzo.binante@isti.cnr.it 33
  • 34. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load As mentioned in the foregoing, once the mesh has been generated, any additional elements not required for the analysis but created by the Salome mesh generator can be removed. In this example, beam elements can be eliminated, as none are present. To this end, select Modification → Remove → Elements. To select the edge elements, in the dialog that opens click on Set Filters and then, in the next dialogue, click on the ”Add” button (see figure in next slide). In the ”Criterion” field, select ”Geometry type”, then type ”Edge” into the ”Threshold value” and select ”Mesh” in the ”Source” field. Finally, click on Apply and Close. Now, the VTK-viewer will show all the edge elements highlighted and the ”Id Elements” of the ”Remove Elements” dialogue will list the identication numbers associated with these edge elements. Click on Apply and Close to remove the beam elements. vincenzo.binante@isti.cnr.it 34
  • 35. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load vincenzo.binante@isti.cnr.it 35
  • 36. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load In the Object Browser, right click on ”Global-Mesh” and select ”Advanced Mesh Infos” to retrieve information about the mesh. vincenzo.binante@isti.cnr.it 36
  • 37. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load The current mesh is made up of only quadrangular linear elements (4 nodes). If quadratic elements (8 nodes) are desired, select Modification → Convert to/from quadratic, then in the popup dialogue, select ”Global-Mesh” in the ”Mesh” field and check that the option ”Convert to quadratic” is selected. Click on Apply and Close. The total number of nodes will be 5640, as can be seen in the ”Advanced Mesh Infos” window. Step 6: Renumbering nodes/elements and Reorienting Once the useless elements have been removed, the next step is to renumber the nodes and elements. This is necessary because the Nosa solver does not admit discontinuities in the numbering (analysis will not converge). Thus, select Modification → Renumbering → Nodes, then type ”Global-Mesh” in the ”Mesh” field and click on Apply and Close. The elements must be renumbered in a similar fashion. vincenzo.binante@isti.cnr.it 37
  • 38. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load Regarding element connectivity, by default, Salome uses ”descendent connectivity”, by which each element is defined by nodes/aretes/mailles (see med documentation med-2.3.6). Moreover, element connectivity is usually clockwise (blue-coloured in the VTK-viewer), hence a check for any counter-clockwise connectivity must be performed. A first check can be made by observing the colour of the elements: elements with right connectivity are light-blue coloured. In any case, to view all the information regarding an element, right click on the VTK-viewer and select Mesh Element Infos. If an element exhibits improper connectivity, it must be re-oriented. To do this, select Modification → Orientation, then choose one of the available element selection criteria. In our case, select all the elements and click on Apply and Close to reorient the elements. As shown in the Vtk-viewer, the color ofcolourents change. vincenzo.binante@isti.cnr.it 38
  • 39. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load Note: The procedures for renumbering elements and checking their connectivity are crucial to the success of a numerical analysis. Therefore, regardless of the checks made by the user, during generation of the Nosa card by the python modules, automatic checks are performed. If improper connectivity is detected, the program prompts the user to reorient the elements listed in the python console of Salome. Similar checks are conducted on node and element numbering. Step 7: Create Groups of nodes and elements Select Mesh → Create Group: to create a nodal group select ”Node” in the ”Element Type” field of the pop-up dialog, or ”Edge”, ”Face” or ”Volume” to create groups of 1D or 2D or 3D elements, respectively. It is also possible to create a group from the mesh and/or geometry by selecting the ”Standalone group” and/or ”Group on Geometry” types, respectively. Moreover, there are several filters for node/element selection. Once the nodes/elements have been selected, click on Apply and Close to create the group. vincenzo.binante@isti.cnr.it 39
  • 40. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load vincenzo.binante@isti.cnr.it 40
  • 41. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load Create nodal and element groups as shown in the picture below vincenzo.binante@isti.cnr.it 41
  • 42. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load Step 8: Create a python file for assigning material property, loads,... Before proceeding, save the Salome study as Study1. Then, open the file InputStudy1.py with a text editor and assign the current study values to the variables defining the mesh data, element type, material property, thickness, boundary conditions, loads and so on. By so doing, for other studies and analyses, we can edit the values in same file and simply rename it as InputXXX.py (where XXX is the name of the current study). For the sake of convenience, most of the variables are defined according to the of the Nosa code syntax. A brief comment for each variable is provided in the file. In the current study, we aim to perform a static analysis using plane stress quadratic elements (8 nodes). The material is described by the masonry-like constitutive model. Clamped boundary conditions are applied to the bottom edge of the hollow panel and an inertial load and a surface load on the upper edge will be applied. vincenzo.binante@isti.cnr.it 42
  • 43. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load Thus, only the following variables in InputStudy1.py are to be edited : mdist = 2 nel = 1800 kmats = 1 ntype = (2,) maxinc = 1 jmats = (1,) imaso = 1 miter =100 mvar = 11 nmats = 1 nc = 3 npost = 1 msete = 9 np = 5640 ndist_load = 2 msetn = 3 nfixd = 1 idist = ((1,1),(32,2)) mset = 5640 presc = ((0.,0.),) rdist = ((0.,-18000.,0.),(100.,0.)) nelem = 1800 ifpre = ((1,2),) matno = (1,1,1,1,1,1,1,1,1) npoin = 5640 ngeom = 9 eltype_geom = (2,2,2,2,2,2,2,2,2) ncomgr = 9 nmaso = 9 maso = (1,1,1,1,1,1,1,1,1) vincenzo.binante@isti.cnr.it 43
  • 44. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load props = ((3e+9,.2,1800.,0.,0.,1e+20),) indvar = (1,2,4,11,12,14,17,31,32,34,37) nset_boundary = ('incastro',) geom = ((.025,),(.025,),(.025,),(.025,),(.025,),(.025,),(.025,),(.025,),(.025)) chvar = ('exx','eyy','exy','sxx','syy','sxy','smises','einxx','einyy','einxy','ein_eqv') elset_maso = ('all_elem','borexsup','borexinf','borinsup','borininf','borinsx','borindx','borexsx','borexdx') eset_load = ('all_elem','borexsup') analysis_title = '2-D plane stress analysis of hollow panel with masonry-like material' As already mentioned, each variable is briefly explained in the file InputStudy1.py. vincenzo.binante@isti.cnr.it 44
  • 45. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load Step 9: Generate the Nosa card ”.crd” Once the problem variables have been assigned, the creation of the Nosa input file is straightforward: in the python console of Salome, type the following command line: execfile(”.../MainPreProcess.py”) specifying the full path of script file's location (it is a good idea to keep all the python scripts and modules in the same directory). The script MainPreProcess.py calls several user python modules to manage the mesh and analysis data. vincenzo.binante@isti.cnr.it 45
  • 46. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load If no warning or error message is displayed, Study1.crd has been created ! vincenzo.binante@isti.cnr.it 46
  • 47. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load Now, suppose that during Nosa card creation, the mesh contains some elements with clockwise connectivity. The display will show: element with wrong connectivity vincenzo.binante@isti.cnr.it 47
  • 48. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load As shown in the figure, some warnings display during creation of Study1.cr, and the user is prompted to reorient the elements listed in the python console. Note: the Salome element library contains several element types: triangular elements with 3 and 6 nodes, quadrangular elements with 4 and 8 nodes and polygonal elements with any number of nodes are available in the 2D case. In the 3D case, tetrahedral, hexahedral, prismatic, pyramidal and polyhedral elements are supplied. Nevertheless, the polygonal and polyhedral elements (useless in most structural analyses) supplied by Salome must, at least for the time being, be converted to quadrangular or hexahedral collapsed elements before the Nosa card is written. This conversion is done automatically by the user python modules during execution of MainPreProcess.py. vincenzo.binante@isti.cnr.it 48
  • 49. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load Step 10: Submit the analysis To run the current analysis, it is not necessary to exit Salome session. The Nosa solver can be executed directly from Salome GUI by typing the following command lines into the python console: 1. from os import system 2. system(”./nosadyn Study1”) The analysis will run in batch mode and when it has completed the system command will return an integer number. The process and the status of each iteration at each load increment can be followed by observing the terminal running Salome (runSalome). vincenzo.binante@isti.cnr.it 49
  • 50. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load vincenzo.binante@isti.cnr.it 50
  • 51. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load Note: It may be necessary to have the nosadyn executable in the same directory from which Salome is launched. Also, the current version of Nosa has been modified to be launched from Salome GUI. The relevant changes concern the subroutines mnosa.f, pstres.f and setdaf.f, the last of which is no longer required. Step 11: Create the output Med file 'Study1.med' Once the analysis has completed, the output file Study1.med is obtained via the result file Study1.t19. To create the output file, execute the Fortran user-program postMed directly from the python console of Salome GUI via the command system(”./postMed Study1 1”) where the name of the file ”.t19” and the total numer of load increments must be specified. Once the med file has been created, the terminal will show the file status. vincenzo.binante@isti.cnr.it 51
  • 52. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load vincenzo.binante@isti.cnr.it 52
  • 53. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load Step 12: Import the file Stud1.med into Salome GUI Activate the Post-Pro module of Salome by clicking on the icon , then import Study1.med by selecting File → Import → MED file, or clicking on the icon . Once the file has been loaded, the Object Browser will contain a post-pro object, which can be expanded to retrieve Study1.med. Expanding Study1.med and ”orphanMesh” displays three subnodes: Families , Groups and Fields. Groups furnishes the node and element sets created by the mesh module, while Fields contains the output variables required by InputStudy1.py. vincenzo.binante@isti.cnr.it 53
  • 54. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load vincenzo.binante@isti.cnr.it 54
  • 55. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load Step 13: Viewing the results To view the deformed shape, right click on the displacement field ”U”, then select Deformed Shape and Scalar Map. In the pop-up dialogue, select the tab Scalar Bar, then in the ”Scalar Mode” field type the 2nd component of the displacement field. Click on OK. The VTK-viewer will display a plot of the mesh, together with the deformed shape. To view only the deformed shape, go to the Object Browser, expand the ”Presentations” object, right click on ScalarDef.Shape and select ”Show Only” from the pop-up menu. vincenzo.binante@isti.cnr.it 55
  • 56. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load vincenzo.binante@isti.cnr.it 56
  • 57. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load Click on the Point Selection icon, then in the VTK-viewer, click on a node - the values of the displacement field will be evaluated along with the coordinates of this node. vincenzo.binante@isti.cnr.it 57
  • 58. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load It is possible to view only the deformed shape without the scalar map: right click on the field ”U” and select the Deformed Shape option, as shown in the picture below. vincenzo.binante@isti.cnr.it 58
  • 59. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load To view the contour plot of the displacement field on the undeformed shape, right click on ”U” field and select the Scalar Map option. vincenzo.binante@isti.cnr.it 59
  • 60. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load Now, right click on the ”U” field in the Object Browser to select the Vectors option. Then, in the ”Vectors” tab of the resulting dialogue, enter 100 in the ”Scale factor” field and select ”Magnitude colouring”. Finally, select the 2 nd component of ”U” from the ”Scalar Bar” tab and click OK. vincenzo.binante@isti.cnr.it 60
  • 61. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load Likewise, right click on the ”RF” field in the Object Browser and select ”Vectors” to show the reaction forces, as in the figure below. vincenzo.binante@isti.cnr.it 61
  • 62. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load Now, to display the normal stress along the y direction as defined at the element centroid, as shown below, right click on the ”syy” field in the Object Browser and select ”Scalar Map”. vincenzo.binante@isti.cnr.it 62
  • 63. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load The values at each Gauss point of each element can be viewed by right clicking on syy and selecting the option Gauss Points. vincenzo.binante@isti.cnr.it 63
  • 64. Example 1: 2D plane stress analysis of a squared hollow panel made of masonry-like material subjected to its own weight and a surface load In addition, clicking on the button Gauss point selection displays the value at a Gauss point vincenzo.binante@isti.cnr.it 64
  • 65. Example 2: Analysis of a barrel vault made of masonry-like material subjected to its own weight 2m = R 4m vincenzo.binante@isti.cnr.it 65
  • 66. Example 2: Analysis of a barrel vault made of masonry-like material subjected to its own weight Step 1: Create the geoemtry of the barrel vault From New Entity → Basic → Point create 4 points by entering their coordinates. x y z Point 1 2 0 0 Point 2 2 4 0 Point 3 0 0 0 Point 4 0 4 0 vincenzo.binante@isti.cnr.it 66
  • 67. Example 2: Analysis of a barrel vault made of masonry-like material subjected to its own weight Now select New Entity → Basic → Line and create 2 lines by selecting the previously defined points: one line will be the axis of rotation of the barrel vault, the other will be the generatrix. To create the surface of revolution select New Entity → Generation → Revolution - a pop-up dialogue will open. In the”Object” and ”Axis” fields, select the generatrix and the other line (via the OCC-viewer). In the ”Angle” field, enter 180 and click on the ”Reverse” box if the orientation is clockwise, otherwise do not. Click on Apply and Close. From the Object Browser, right click on the last object, select ”Show Only” and rename it to ”volta”. Now select New Entity → Explode to obtain the free edges of the volta object. vincenzo.binante@isti.cnr.it 67
  • 68. Example 2: Analysis of a barrel vault made of masonry-like material subjected to its own weight Step 2: Create the mesh of the barrel vault Select Mesh → Create Mesh and type ”Global-Mesh” and ”volta” into the ”Name” and ”Geometry” fields, respectively. Select the tab ”1D” and choose ”Wire discretisation” as the algorithm, and ”Nb. Segments” as the hypothesis. In the ”Hypothesis Construction” dialogue type in ”algo1D_globale” as the name, and enter 80 as the number of sub-segments into which all free edges of volta must be split. Select the tab ”2D” and choose ”Quadrangle (Mapping)” as the algorithm and ”Quadrangle Parameters” as the hypothesis. In the next dialogue imput ”algo2D_globale” in the ”Name” field and select the ”Quadrangle Preference” option. Right click on the Global-Mesh from the Object Browser and select Compute. Then remove all the beam elements (not needed for the current analysis), and renumber the nodes and elements. Lastly, check the element connectivity. vincenzo.binante@isti.cnr.it 68
  • 69. Example 2: Analysis of a barrel vault made of masonry-like material subjected to its own weight Once these operations have been performed, the mesh of the barrel vault should be depicted as in the following figure. vincenzo.binante@isti.cnr.it 69
  • 70. Example 2: Analysis of a barrel vault made of masonry-like material subjected to its own weight Now, create node and element sets following to the procedures described in the previous example. The results are shown in the figure below: vincenzo.binante@isti.cnr.it 70
  • 71. Example 2: Analysis of a barrel vault made of masonry-like material subjected to its own weight Step 3: Edit the InputStudy1.py file Edit the file ”InputStudy1.py”, as below, to modify some variables to the values for the current analysis, then rename this file to InputStudy2.py. mdist = 1 nel = 6400 kmats = 1 ntype = (10,) maxinc = 1 jmats = (1,) imaso = 1 miter =100 mvar = 38 nmats = 1 nc = 3 npost = 1 msete = 5 np = 6561 ndist_load = 1 msetn = 5 nfixd = 4 idist = ((1,1),) mset = 6561 mshel = 5 rdist = ((0.,0.,-18000.),) nelem = 6400 matno = (1,1,1,1,1) npoin = 6561 ngeom = 5 eltype_geom = (10,10,10,10,10) ncomgr = 5 nmaso = 5 maso = (1,1,1,1,1) vincenzo.binante@isti.cnr.it 71
  • 72. Example 2: Analysis of a barrel vault made of masonry-like material subjected to its own weight props = ((3e+9,.2,1800.,0.,0.,1e+20),) indvar = (1011,1012,1014,1015,1016,1021,1022,1024,1025,1026,3011,3012,3014, 3015,3016,3021,3022,3024,3025,3026,5011,5012,5014,5015,5016,5021,5022,5024, 5025,5026,51,52,53,54,55,56,57,58) nset_boundary = ('bordo_-x','bordo_+x','arco_+y','arco_-y') geom = ((.2,),(.2,),(.2,),(.2,),(.2,)) chvar = ('s11_bot','s22_bot','s12_bot','s23_bot','s13_bot','ie11_bot','ie22_bot','ie12_bot', 'ie23_bot','ie13_bot','s11_med','s22_med','s12_med','s23_med','s13_med','ie11_med','ie22_med',' ie12_med','ie23_med','ie13_med','s11_top','s22_top','s12_top','s23_top','s13_top','ie11_top', 'ie22_top','ie12_top','ie23_top','ie13_top','N11','N22','N12','Q23','Q13','M11','M22','M12') elset_maso = ('all_elem','bordo_sx','bordo_dx','arc_fron','arc_rear') eset_load = ('all_elem',) analysis_title = '2-D analysis of a barrel vault with masonry-like material' ifpre = ((1,2,3,4,5,6),(1,2,3,4,5,6),(1,2),(1,2)) presc = ((0.,0.,0.,0.,0.,0.),(0.,0.,0.,0.,0.,0.),(0.,0.),(0.,0.)) vincenzo.binante@isti.cnr.it 72
  • 73. Example 2: Analysis of a barrel vault made of masonry-like material subjected to its own weight Step 4: Run the analysis In the python console of Salome GUI, type the following command lines: ● from os import system ● system(”./nosadyn Study2”) Step 5: Create the Study2.med output file In the python console of Salome GUI type the following command line: ● system(”./postMed Study2 1”) vincenzo.binante@isti.cnr.it 73
  • 74. Example 2: Analysis of a barrel vault made of masonry-like material subjected to its own weight Step 6: Import Study2.med into Salome GUI and view the results The following figures show the deformed shape of the barrel vault and the stress and strain fields at the Gauss points vincenzo.binante@isti.cnr.it 74
  • 75. Example 2: Analysis of a barrel vault made of masonry-like material subjected to its own weight vincenzo.binante@isti.cnr.it 75
  • 76. Example 2: Analysis of a barrel vault made of masonry-like material subjected to its own weight vincenzo.binante@isti.cnr.it 76
  • 77. Example 2: Analysis of a barrel vault made of masonry-like material subjected to its own weight vincenzo.binante@isti.cnr.it 77
  • 78. Example 2: Analysis of a barrel vault made of masonry-like material subjected to its own weight vincenzo.binante@isti.cnr.it 78
  • 79. Example 2: Analysis of a barrel vault made of masonry-like material subjected to its own weight vincenzo.binante@isti.cnr.it 79
  • 80. Example 2: Analysis of a barrel vault made of masonry-like material subjected to its own weight vincenzo.binante@isti.cnr.it 80
  • 81. Example 2: Analysis of a barrel vault made of masonry-like material subjected to its own weight vincenzo.binante@isti.cnr.it 81
  • 82. Example 2: Analysis of a barrel vault made of masonry-like material subjected to its own weight vincenzo.binante@isti.cnr.it 82
  • 83. Example 2: Analysis of a barrel vault made of masonry-like material subjected to its own weight vincenzo.binante@isti.cnr.it 83
  • 84. Example 3: Analysis of a groin vault made of masonry-like material subjected to its own weight 6m 3m R= 2 m 6m vincenzo.binante@isti.cnr.it 84
  • 85. Example 3: Analysis of a groin vault made of masonry-like material subjected to its own weight Step 1: Create the geometry of the groin vault Select New Entity → Basic → Point and create 8 points by entering the coordinates shown below. X Y Z Point 1 2 0 0 Point 2 2 6 0 Point 3 0 0 0 Point 4 0 6 0 Point 5 3 5 0 Point 6 -3 5 0 Point 7 3 3 0 Point 8 -3 3 vincenzo.binante@isti.cnr.it 0 85
  • 86. Example 3: Analysis of a groin vault made of masonry-like material subjected to its own weight Select New Entity → Blocks → Quadrangle Face and create 2 rectangles by entering their vertices. Face 1 Point 1,...,Point 4 Face 2 Point 5,...,Point 8 Via New Entity → Generation → Revolution create 2 half-cylinders by rotating the faces defined in the previous step around two lines: Object to be rotated Axis of rotation Angle Revolution 1 Face 1 pt3-pt4 180 Revolution 2 Face 2 pt7-pt8 180 vincenzo.binante@isti.cnr.it 86
  • 87. Example 3: Analysis of a groin vault made of masonry-like material subjected to its own weight Open Operations → Boolean → Cut to create the intersections of the half-cylinders. Object to be cut Cutting object Cut 1 Revolution 1 Revolution 2 Cut 2 Revolution 2 Revolution 1 Hide all objects but Cut_1 and Cut_2 in the Object Browser,. Select New Entity → Explode to obtain the faces constituting Cut_1 and Cut_2. Hide all in the Object Browser, then expand the Cut_1 and Cut_2 objects, and select the faces making up the groin vault and display them in the OCC-viewer. vincenzo.binante@isti.cnr.it 87
  • 88. Example 3: Analysis of a groin vault made of masonry-like material subjected to its own weight Select Operations → Boolean → Fuse to create the unions (fuse) of two objects. Object 1 Object 2 Fuse 1 Face 4 Face 14 Fuse 2 Fuse 1 Face 7 Fuse 3 Fuse 2 Face 17 Hide all objects except Fuse 3 in the Object Browser: the resulting object is shown in the figure below (with the differently-coloured faces). vincenzo.binante@isti.cnr.it 88
  • 89. Example 3: Analysis of a groin vault made of masonry-like material subjected to its own weight Now, we must split the Fuse 3 object into 4 parts (for meshing), so we create two planes from three points, via New Entity → Basic → Plane. vincenzo.binante@isti.cnr.it 89
  • 90. Example 3: Analysis of a groin vault made of masonry-like material subjected to its own weight Now, selecting Operations → Partition create two partitions of the Fuse 3 object by means of two planes, as shown below. Object 1 Object 2 Partition 1 Fuse 3 Plane 1 Partiton 2 Partition 1 Plane 2 vincenzo.binante@isti.cnr.it 90
  • 91. Example 3: Analysis of a groin vault made of masonry-like material subjected to its own weight Rename the Partition 2 object to volta_crociera. Finally, select New Entity → Explode to obtain the edges and faces constituting the volta_crociera object. The figure below displays the faces of the volta_crociera object in different colours. vincenzo.binante@isti.cnr.it 91
  • 92. Example 3: Analysis of a groin vault made of masonry-like material subjected to its own weight Step 2: Create the mesh of the groin vault Once the mesh module has been activated, display all the edges of the volta_crociera object in the VTK-viewer. Select Mesh → Create Mesh and input ”Global-Mesh” as the name and select volta_crociera for the geometry . Select the ”1D” tab and use ”Wire discretisation” as the algorithm and ”Nb- Segments” as the hypothesis. In the next dialogue, enter ”algo1D_globale” as the name and ”40” as the number of sub-segments into which to divide all the edges . Now select the ”2D”tab and use ”Quadrangle (Mapping)” as the algorithm and ”Quadrangle Parameters” as the hypothesis. In the next dialogue, enter the name ”algo2D_globale” and select type ”Quadrangle Preference”. vincenzo.binante@isti.cnr.it 92
  • 93. Example 3: Analysis of a groin vault made of masonry-like material subjected to its own weight Now, open Mesh → Create Sub-mesh and enter ”Global-Mesh” for the mesh and for the geometry select one of the edges which should be split according to an algorithm other than ”algo1D_globale”. Select the ”1D” tab and use ”Wire discretisation” as the algorithm and ”Nb- Segments” as the hypothesis. In the next dialogue, enter ”algo1D_locale” as the name and ”25” as the number of sub-segments into which the edge is to be split. Repeat the procedure for all edges with partitions different from ”algo1D_globale”. vincenzo.binante@isti.cnr.it 93
  • 94. Example 3: Analysis of a groin vault made of masonry-like material subjected to its own weight The blue-coloured edges must be split according to the ”algo1D_locale” algorithm, the others according to ”algo1D_globale”. vincenzo.binante@isti.cnr.it 94
  • 95. Example 3: Analysis of a groin vault made of masonry-like material subjected to its own weight In the Object Browser, right click on ”Global-Mesh”, then select Compute. Remove all beam elements (uneeded for the current analysis) by selecting Modification → Remove → Elements and using the available filters to select the edge elements. Then renumber nodes and elements by selecting Modification → Renumbering → Nodes/Elements. The following figure shows the mesh of the groin vault. vincenzo.binante@isti.cnr.it 95
  • 96. Example 3: Analysis of a groin vault made of masonry-like material subjected to its own weight vincenzo.binante@isti.cnr.it 96
  • 97. Example 3: Analysis of a groin vault made of masonry-like material subjected to its own weight Now, create the node and element sets via Mesh → Create Group. vincenzo.binante@isti.cnr.it 97
  • 98. Example 3: Analysis of a groin vault made of masonry-like material subjected to its own weight vincenzo.binante@isti.cnr.it 98
  • 99. Example 3: Analysis of a groin vault made of masonry-like material subjected to its own weight Step 3: Edit the InputStudy2.py file Edit the file ”InputStudy2.py” to modify some variables to the values for the current analysis, then rename this file to InputStudy3.py mdist = 1 nel = 8000 kmats = 1 ntype = (10,) maxinc = 1 jmats = (1,) imaso = 1 miter =100 mvar = 38 nmats = 1 nc = 3 npost = 1 msete = 9 np = 8261 ndist_load = 1 msetn = 9 nfixd = 5 idist = ((1,1),) mset = 8261 mshel = 5 rdist = ((0.,0.,-18000.),) nelem = 8000 matno = (1,1,1,1,1,1,1,1,1) npoin = 8261 ngeom = 9 eltype_geom = (10,10,10,10,10,10,10,10,10) ncomgr = 9 nmaso = 9 maso = (1,1,1,1,1,1,1,1,1) vincenzo.binante@isti.cnr.it 99
  • 100. Example 3: Analysis of a groin vault made of masonry-like material subjected to its own weight props = ((3e+9,.2,1800.,0.,0.,1e+20),) indvar = (1011,1012,1014,1015,1016,1021,1022,1024,1025,1026,3011,3012,3014, 3015,3016,3021,3022,3024,3025,3026,5011,5012,5014,5015,5016,5021,5022,5024, 5025,5026,51,52,53,54,55,56,57,58) nset_boundary = ('base','arco_-x','arco_+x','arco_-y','arco_+y') geom = ((.2,),(.2,),(.2,),(.2,),(.2,),(.2,),(.2,),(.2,),(.2,)) chvar = ('s11_bot','s22_bot','s12_bot','s23_bot','s13_bot','ie11_bot','ie22_bot','ie12_bot', 'ie23_bot','ie13_bot','s11_med','s22_med','s12_med','s23_med','s13_med','ie11_med','ie22_med',' ie12_med','ie23_med','ie13_med','s11_top','s22_top','s12_top','s23_top','s13_top','ie11_top', 'ie22_top','ie12_top','ie23_top','ie13_top','N11','N22','N12','Q23','Q13','M11','M22','M12') elset_maso = ('all_elem','face1','face2','face3','face4','face5','face6','face7','face8') eset_load = ('all_elem',) analysis_title = '2-D analysis of a groin vault with masonry-like material' ifpre = ((1,2,3,4,5,6),(1,2),(1,2),(1,2),(1,2)) presc = ((0.,0.,0.,0.,0.,0.),(0.,0.),(0.,0.),(0.,0.),(0.,0.)) vincenzo.binante@isti.cnr.it 100
  • 101. Example 3: Analysis of a groin vault made of masonry-like material subjected to its own weight Step 4: Run the analysis In the python console of Salome GUI type the following command lines: ● from os import system ● system(”./nosadyn Study3”) Step 5: Create the Study3.med output file In the python console of Salome GUI type the following command: ● system(”./postMed Study3 1”) vincenzo.binante@isti.cnr.it 101
  • 102. Example 3: Analysis of a groin vault made of masonry-like material subjected to its own weight Step 6: Import Study3.med into Salome GUI and view the results The following figures show the deformed shape of the groin vault and the stress and strain fields at the Gauss points vincenzo.binante@isti.cnr.it 102
  • 103. Example 3: Analysis of a groin vault made of masonry-like material subjected to its own weight vincenzo.binante@isti.cnr.it 103
  • 104. Example 3: Analysis of a groin vault made of masonry-like material subjected to its own weight vincenzo.binante@isti.cnr.it 104
  • 105. Example 3: Analysis of a groin vault made of masonry-like material subjected to its own weight vincenzo.binante@isti.cnr.it 105
  • 106. Example 3: Analysis of a groin vault made of masonry-like material subjected to its own weight vincenzo.binante@isti.cnr.it 106
  • 107. Example 3: Analysis of a groin vault made of masonry-like material subjected to its own weight vincenzo.binante@isti.cnr.it 107
  • 108. Example 3: Analysis of a groin vault made of masonry-like material subjected to its own weight vincenzo.binante@isti.cnr.it 108
  • 109. Example 3: Analysis of a groin vault made of masonry-like material subjected to its own weight vincenzo.binante@isti.cnr.it 109
  • 110. Example 3: Analysis of a groin vault made of masonry-like material subjected to its own weight vincenzo.binante@isti.cnr.it 110
  • 111. Example 3: Analysis of a groin vault made of masonry-like material subjected to its own weight vincenzo.binante@isti.cnr.it 111
  • 112. Example 3: Analysis of a groin vault made of masonry-like material subjected to its own weight The last figure shows the displacement field by selecting the option Cut Planes from those available. Note: The previous figures show results which may not seem symmetrical, depending on the node positions in the connectivity of any element (the first node in the connectivity may not be located at the bottom-left, even though the orientation is counterclockwise). In reality, this is not the case, though it represents a problem common to many software applications (e.g., MSC Mentat). Example 3 completes the first part of this tutorial. We now continue on to Part 2. vincenzo.binante@isti.cnr.it 112
  • 113. Example 4: Importing a Nosa card *.crd into Salome GUI Importing a Nosa input file (”*.crd”) requires a python module named MeshImport.py, which reads the mesh data of the Nosa card and applies the python commands in Salome to rebuild the fem . Start a new session of Salome and type the following command lines into Salome GUI python console: ● import MeshImport ● MeshImport.importNosa(../filename.crd) where, the full path to filename.crd must to be specified. It is advisable to have the python module in the same directory where Salome GUI is executed. The following example show the results of importing the three Nosa cards murosud3.crd, ciappei.crd and rognosa.crd vincenzo.binante@isti.cnr.it 113
  • 114. Example 4: Importing a Nosa card *.crd into Salome GUI vincenzo.binante@isti.cnr.it 114
  • 115. Example 4: Importing a Nosa card *.crd into Salome GUI vincenzo.binante@isti.cnr.it 115
  • 116. Example 4: Importing a Nosa card *.crd into Salome GUI vincenzo.binante@isti.cnr.it 116