<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html><body>
<p>Dear Riccardo,</p>
<p>in my opinion, if we are concerned about this type of problems, the solution should be throwing meaningful, human-readable error messages, either at c++ or python-interface level (whichever is simpler), instead of imposing arbitrary naming conventions and rules which are hardly enforceable. As an aside, what happens if someone does node.GetValue(FLAG)? That should be wrong too, if I understand your proposal correctly.</p>
<p>Jordi</p>
<p>&nbsp;</p>
<p>On Thu, 20 Jun 2013 14:15:03 +0200, Riccardo Rossi wrote:</p>
<blockquote type="cite" style="padding-left:5px; border-left:#1010ff 2px solid; margin-left:5px; width:100%"><!-- html ignored --><!-- head ignored --><!-- meta ignored -->
<div dir="ltr">
<div>
<div>
<div>
<div>Dear Pooyan, Jordi,<br /><br /></div>
the thing is that if someone writes</div>
<div></div>
node.Is(PRESSURE) <br /><br /></div>
he will get an error, without any simple way to notice what he is doing it wrong. <br /><br /></div>
<div><br /><br /></div>
<div>if you don't like preprending the "f", which i do understand, why not postposing "_FLAG"<br /><br /></div>
<div>node.Is(VISITED_FLAG)<br /><br /><br /><br /></div>
<div><br />Riccardo<br /><br /></div>
<br /><br /><br /><br />
<div>
<div>
<div><br /><br /></div>
</div>
</div>
</div>
<div class="gmail_extra"><br /><br />
<div class="gmail_quote">On Thu, Jun 20, 2013 at 12:57 PM,  <span>&lt;<a href="mailto:pooyan@cimne.upc.edu">pooyan@cimne.upc.edu</a>&gt;</span> wrote:<br />
<blockquote class="gmail_quote" style="margin: 0  0  0  .8ex; border-left: 1px  #ccc  solid; padding-left: 1ex;"><span style="text-decoration: underline;">
<div>
<p>Hi,</p>
<p>&nbsp;</p>
<p>About the compatibility the decision was taken because using the flags is much faster than the other ones and giving the same interface would give missleading guideline to the developers:</p>
<p>node.GetValue(PRESSURE) // VERY SLOW!!!</p>
<p>node.GetValue(VISITED) // VERY VERY FAST!!!!!&nbsp;</p>
<p>&nbsp;</p>
<p>so I decide to put it with different interfaces:</p>
<p>node.GetValue(PRESSURE) // VERY SLOW!!!</p>
<p>node.Is(VISITED) // VERY VERY FAST!!!!!</p>
<p>So we can say that "Is" is faster than "GetSolutionStepsValue" which is faster than "GetValue"</p>
<p>&nbsp;</p>
<p>About the flag name I agree with Jordi, it is not easy to see and is not in the line with our coding standard. And if a developer wants to use a flag he knows if it is a flag or a variable, like he knows if it is vector or scalar.&nbsp;</p>
<p>About the FIX and Free I see the point of both of you and I have to add that each flag also has a NOT_ one like:</p>
<p>&nbsp;</p>
<p>NOT_FIX</p>
<p>NOT_FREE</p>
<p>&nbsp;</p>
<p>and having both of them results in incompatibility while NOT_FIX is not the same as FREE &nbsp;</p>
<p>&nbsp;</p>
<p>About the list of which variables, this must be discussed in the meeting for this purpose and the email of Riccardo is for saying to the people to start think about it and to prepare the list of flags for each group so we can merge them together in the meeting. Now the guideline here is that the name must be selected in general forms with minimum application dependency.</p>
<p>&nbsp;</p>
<p>Bests,</p>
<span class="HOEnZb"><span style="color: #888888;">
<p>&nbsp;</p>
<p>Pooyan.</p>
</span></span>
<div>
<div class="h5">
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>On Thu, 20 Jun 2013 11:35:01 +0200, Riccardo Rossi wrote:</p>
<blockquote style="padding-left: 5px; border-left: #1010ff  2px  solid; margin-left: 5px; width: 100%;">
<div dir="ltr">
<div>
<div>Dear Jordi,</div>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the "flags" that are being developed will NOT be compatible with the variable mechanisms, for this reason if we define a WALL flag we will not be able to pass it into the existing databases.<br /><br /></div>
<div>for example</div>
<div>node.GetSolutionStepValue( fFLAG )</div>
<div>will NOT work since fFLAG will be something different</div>
<div>Exactly for this reason i believe it would be important by simply looking at the name of the value if it is a flag or a normal variable<br /><br /><br /><br /></div>
<div>having said this, if you have a number of elements which by default are all active you may want to "deactivate" some ... this was the reason for putting both ACTIVE and DEACTIVATED.<br /><br /> regarding FIX and FREE i see your point ... but imagine that one would like to mark one node so that all of its values will be fixed ... maybe fBLOCKED could be a better option<br /><br /></div>
<div>having said this, let's consider the list<br /><br />1 fACTIVE<br />2 fSLIP<br />3 fMASTER<br />4 fSLAVE<br />5 fERASE<br />6 fINTERFACE<br />7 fBOUNDARY<br />8 fMPI_BOUNDARY<br />9 fVISITED<br />10 fFLUID<br /> 11 fSTRUCTURE<br />12 fTHERMAL<br /> 13 fPERMANENT<br />14 fPROTECTED<br />15 fSPLIT<br />16 fMODIFIED<br />17 BLOCKED<br /><br /><br />under discussion:<br />&nbsp;fWALL<br /><br /></div>
<div>and let's use this as a basis for further discussion<br /><br />ciao<br />Riccardo<br /><br /></div>
<div><br /><br /></div>
</div>
<div class="gmail_extra"><br /><br />
<div class="gmail_quote">On Thu, Jun 20, 2013 at 9:48 AM,  <span>&lt;<a href="mailto:jcotela@cimne.upc.edu">jcotela@cimne.upc.edu</a>&gt;</span> wrote:<br />
<blockquote class="gmail_quote" style="margin: 0  0  0  .8ex; border-left: 1px  #ccc  solid; padding-left: 1ex;"><span style="text-decoration: underline;">
<div>
<p>Dear Riccardo,</p>
<p>reading your mail, I have several questions about the flags being proposed. As far as I know, some of the flags in the list are application-specific, so I don't see why they should go on the "general list", even if their equivalent variables are in the main variables list (I'll speak for WALL, which is the only one I'd use, but I suspect there are others). Also, ACTIVE == !(DEACTIVATED), FIX == !(FREE) why do we need them in pairs? Going back to that last one, fixity in Kratos has a very specific meaning related to Dofs, so I'd advise against using that name.</p>
<p>As you probably noticed by now, I'm strongly against the notation of fFLAG, just as we don't write sTEMPERATURE or vVELOCITY.</p>
<p>Greetings,</p>
<p>Jordi</p>
<div>
<div>
<p>On Thu, 20 Jun 2013 09:12:25 +0200, Riccardo Rossi wrote:</p>
<blockquote style="padding-left: 5px; border-left: #1010ff  2px  solid; margin-left: 5px; width: 100%;">
<div dir="ltr">Dear All,<br />&nbsp;&nbsp; in the near future, a mechanism shall be introduced within Kratos to allow the use of "flags" (bool values) in a very efficient manner.<br /><br />The author of this is Pooyan, and i am sure that when the feature is ready he will provide usage guidelines as well as a description of the advanced features of the new flags.<br /><br />as a general consideration&nbsp; it will be needed to to define a limited number of "general flags" which will be always present on all the elements nodes and conditions of the kratos.<br />This will be possible as many of this values will be packed to a single double, which will allow providing a very fast interface.<br /> The problem is that such list of general flag will be "closed" so that it will not be possible to add or change the list (I am sure Pooyan later on will explain alternatives)<br /><br />i would like to start a discussion on the name to assign to such "general flags", putting here a list of the ones that come to my mind.<br /> Please note that they SHOULD NOT be application-specific!!<br /><br /><br />1 fACTIVE<br />2 fDEACTIVATED<br />3 fSLIP<br />4 fMASTER<br />5 fSLAVE<br />6 fERASE<br />7 fINTERFACE<br />8 fBOUNDARY<br />9 fMPI_BOUNDARY<br />10 fVISITED<br />11 fFLUID<br /> 12 fSTRUCTURE<br />13 fTHERMAL<br />14 fPERMANENT<br />15 fPROTECTED<br />16 fWALL<br />17 fSPLIT<br />18 fMODIFIED<br />19 fFREE<br />20 fFIX<br /><br /><br />the form of using it will be through a function "Is" to that the IS_ in the name shall be removed<br /><br />as you may observe i prepended to the "flag name" an "f". This is my personal proposal to distinguish flags from normal variables. <br />Other people suggest that it is not needed to distinguish, so that the name shall be all capital as for normal variables. <br /> Please express your opinion also on the naming convention to be used.<br /><br />Aside of this please make proposals for what should be added/removed from this list.<br /><br />greetings from BCN<br />Riccardo<br /><br /><br /><br /><br /><br /> -- <br />
<p><span style="font-size: 10pt;">Dr. Riccardo Rossi, Civil Engineer<br /></span></p>
<p><span style="font-size: 10pt;">Member of Kratos Team<span style="color: #1f497d;"> </span></span></p>
<p><span style="font-size: 10pt; color: #1f497d;">International Center for Numerical Methods in Engineering - CIMNE<br /> Campus Norte, Edificio C1</span><span style="color: #1f497d;">&nbsp;</span></p>
<p style="text-align: justify;"><span style="font-size: 10pt; color: #1f497d;">c/ Gran Capit&aacute;n s/n</span></p>
<p style="text-align: justify;"><span style="font-size: 10pt; color: #1f497d;">08034 Barcelona, Espa&ntilde;a</span></p>
<p style="text-align: justify;"><span style="font-size: 10pt; color: #1f497d;">Tel:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a>(+34) 93 401 56 96</a></span></p>
<p style="text-align: justify;"><span style="font-size: 10pt; color: #1f497d;">Fax:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a>(+34) 93.401.6517</a></span></p>
<span style="font-size: 10pt; color: #1f497d;">web:</span><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span><a href="http://www.cimne.com/"><span style="font-size: 10pt;">www.cimne.com</span></a></span></div>
</blockquote>
<p>&nbsp;</p>
</div>
</div>
</div>
</span></blockquote>
</div>
<span style="text-decoration: underline;"><br /><br /><br /><br />-- <br />
<p><span style="font-size: 10.0pt;">Dr. Riccardo Rossi, Civil Engineer<br /></span></p>
<p><span style="font-size: 10.0pt;">Member of Kratos Team<span style="color: #1f497d;"> </span></span></p>
<p><span style="font-size: 10.0pt; color: #1f497d;">International Center for Numerical Methods in Engineering - CIMNE<br /> Campus Norte, Edificio C1</span><span style="color: #1f497d;">&nbsp;</span></p>
<p style="text-align: justify;"><span style="font-size: 10.0pt; color: #1f497d;">c/ Gran Capit&aacute;n s/n</span></p>
<p style="text-align: justify;"><span style="font-size: 10.0pt; color: #1f497d;">08034 Barcelona, Espa&ntilde;a</span></p>
<p style="text-align: justify;"><span style="font-size: 10.0pt; color: #1f497d;">Tel:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a>(+34) 93 401 56 96</a></span></p>
<p style="text-align: justify;"><span style="font-size: 10.0pt; color: #1f497d;">Fax:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a>(+34) 93.401.6517</a></span></p>
<span style="font-size: 10.0pt; color: #1f497d;">web:</span><span style="font-size: 10.0pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span><a href="http://www.cimne.com/"><span style="font-size: 10.0pt;">www.cimne.com</span></a></span> </span></div>
</blockquote>
<p><span style="text-decoration: underline;"><br /></span></p>
</div>
</div>
</div>
<br />_______________________________________________<br /> Kratos mailing list<br /><a href="mailto:Kratos@listas.cimne.upc.edu">Kratos@listas.cimne.upc.edu</a><br /><a href="http://listas.cimne.upc.edu/cgi-bin/mailman/listinfo/kratos">http://listas.cimne.upc.edu/cgi-bin/mailman/listinfo/kratos</a><br /><br /></span></blockquote>
</div>
<span style="text-decoration: underline;"><br /><br /><br /><br />-- <br />
<p><span style="font-size: 10.0pt;">Dr. Riccardo Rossi, Civil Engineer<br /></span></p>
<p><span style="font-size: 10.0pt;">Member of Kratos Team<span style="color: #1f497d;"> </span></span></p>
<p><span style="font-size: 10.0pt; color: #1f497d;">International Center for Numerical Methods in Engineering - CIMNE<br /> Campus Norte, Edificio C1</span><span style="color: #1f497d;">&nbsp;</span></p>
<p style="text-align: justify;"><span style="font-size: 10.0pt; color: #1f497d;">c/ Gran Capit&aacute;n s/n</span></p>
<p style="text-align: justify;"><span style="font-size: 10.0pt; color: #1f497d;">08034 Barcelona, Espa&ntilde;a</span></p>
<p style="text-align: justify;"><span style="font-size: 10.0pt; color: #1f497d;">Tel:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a>(+34) 93 401 56 96</a></span></p>
<p style="text-align: justify;"><span style="font-size: 10.0pt; color: #1f497d;">Fax:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a>(+34) 93.401.6517</a></span></p>
<span style="font-size: 10.0pt; color: #1f497d;">web:</span><span style="font-size: 10.0pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span><a href="http://www.cimne.com/"><span style="font-size: 10.0pt;">www.cimne.com</span></a></span> </span></div>
</blockquote>
<p><span style="text-decoration: underline;"><br /></span></p>
</body></html>