------------------------------------------------------------------------
r1473 | cosurgi | 2008-08-19 13:18:35 +0200 (wto, 19 sie 2008) | 4 lines
Changed paths:
   M /trunk/SConstruct
   M /trunk/pkg/lattice/PreProcessor/LatticeExample.cpp
   M /trunk/pkg/lattice/PreProcessor/LatticeExample.hpp

small changes in Lattice
small bugfix in scons (by Vaclav)


------------------------------------------------------------------------
Index: pkg/lattice/PreProcessor/LatticeExample.cpp
===================================================================
--- pkg/lattice/PreProcessor/LatticeExample.cpp (revision 1472)
+++ pkg/lattice/PreProcessor/LatticeExample.cpp (revision 1473)
@@ -1714,10 +1714,10 @@
 }
 
 
-bool LatticeExample::isFibre(Vector3r a,Vector3r b)
+int LatticeExample::isFibre(Vector3r a,Vector3r b)
 {
-       bool A=false;
-       bool B=false;
+       int A=0;
+       int B=0;
        for(int i = 0 ; i < fibre_count ; ++i)
         {
                Vector3r pos = fibres[i].first;
@@ -1728,11 +1728,11 @@
                                pos[0] + 1.0*j*del[0],
                                pos[1] + 1.0*j*del[1],
                                pos[2] + 1.0*j*del[2] );
-                       if(p == a) A=true;
-                       if(p == b) B=true;
+                       if(p == a) A=1;
+                       if(p == b) B=1;
                }
        }
-       return A && B;
+       return A + B;
 }
 
 bool LatticeExample::fibreAllows(Vector3r a)
@@ -1770,8 +1770,9 @@
                                 continue; // skip non-beams
 
                         LatticeBeamParameters* beam     = 
static_cast<LatticeBeamParameters*>(body->physicalParameters.get());
-                        if(isFibre(       
(*(rootBody->bodies))[beam->id1]->physicalParameters->se3.position
-                                         
,(*(rootBody->bodies))[beam->id2]->physicalParameters->se3.position))
+                       int fibreNodes=isFibre(   
(*(rootBody->bodies))[beam->id1]->physicalParameters->se3.position
+                                                
,(*(rootBody->bodies))[beam->id2]->physicalParameters->se3.position);
+                       if(fibreNodes==2) // fibre
                        {
                                beam->longitudalStiffness       = 
fibre_longStiffness_noUnit;
                                beam->bendingStiffness          = 
fibre_bendStiffness_noUnit;
@@ -1784,6 +1785,14 @@
                                
                                fibres_total+=1.0;
                        }
+                       if(fibreNodes==1) // bond
+                       {
+                                beam->longitudalStiffness       = 
bond_longStiffness_noUnit;
+                                beam->bendingStiffness          = 
bond_bendStiffness_noUnit;
+                                beam->torsionalStiffness       = 
bond_torsStiffness_noUnit;
+                                beam->criticalTensileStrain     = 
bond_critTensileStrain;
+                                beam->criticalCompressiveStrain = 
bond_critCompressStrain;
+                       }
                 }
         }
 }
Index: pkg/lattice/PreProcessor/LatticeExample.hpp
===================================================================
--- pkg/lattice/PreProcessor/LatticeExample.hpp (revision 1472)
+++ pkg/lattice/PreProcessor/LatticeExample.hpp (revision 1473)
@@ -93,7 +93,7 @@
 
                 void addAggregates(shared_ptr<MetaBody>& rootBody);
                 void makeFibreBeams(shared_ptr<MetaBody>& rootBody);
-               bool isFibre(Vector3r,Vector3r);
+               int isFibre(Vector3r,Vector3r);
                bool fibreAllows(Vector3r);
 
 ////////////////////////////////////////////////////
Index: SConstruct
===================================================================
--- SConstruct  (revision 1472)
+++ SConstruct  (revision 1473)
@@ -79,7 +79,7 @@
 if ',' in env['profile']:
        profiles=env['profile'].split(',')
        import threading,subprocess
-       def runProfile(profile): 
subprocess.call([sys.argv[0],'-Q','profile='+p+'!'])
+       def runProfile(profile): 
subprocess.call([sys.argv[0],'-Q','profile='+profile+'!'])
        profileThreads=[]
        for arg in sys.argv[2:]:
                print "WARNING: parallel-building, extra argument `%s' 
ignored!"%arg

_______________________________________________
Mailing list: https://launchpad.net/~yade-dev
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~yade-dev
More help   : https://help.launchpad.net/ListHelp

Reply via email to