[Kratos] New proposed auxiliar file for constitutive laws

Janosch Stascheit janosch.stascheit en rub.de
Vie Jun 11 10:31:08 CEST 2010


Hi Pooyan, all,

find my reply within Pooyan's comments below:

@Nelson: Another issue: How can we implement your concept of different
flow rules by means of enums to the general constitutive law interface?
Is this actually desirable?

@Riccardo: Have you been able to talk to the experts?

With best regards
Janosch

Am Donnerstag, den 10.06.2010, 18:31 +0200 schrieb Pooyan Dadvand:
> Hi,
> 
>  
> 
> I really liked the evolution of the design for C.L. (and how the
> mailing list helping it). Meanwhile I wanted to make some comments:
> 
Right. The mailing list really starts to add value to the development.
>  
> 
> 1.      Use the ConstitutiveLawNew::Pointer instead of
> boost::shared_ptr<ConstitutiveLawNew>

Ok. done.
> 
> 2.      The interface for array_1d<double, 3> (and may be
> array_1d<double, 6>??) for Has, GetValue, methods. In general it will
> be much better to start using stack arrays while there are much
> faster.
> 
I added additional functions for array_1d<double, 3> and
array_1d<double, 6>. They may be very good for storing things like
plastic strains, etc.

> 3.      The base class definition of GetValue returns Vector() which
> has the wrong size and may cause problems. It’s better to return the
> rThisVariable.Zero() (and same for Matrix version)
> 
Right, has been changed

> 4.      GetValue has return by value. Something better to avoid. At
> least a const version of it must be exist with access by reference. Or
> if it’s not possible passing it as argument is another option.
> 
This would be a major change, affecting all I/O classes and all
elements! But I am considering this. Can you give me a brief explanation
why the by-value should be avoided?

> 5.      Default SetValue sends an exception while it may not be
> necessary. Though I understand that it can make debugging easier.
> 
I will keep it for the moment. The exception can be removed lateron.

> 6.      An InputValidation (or other proper name) method can be very
> useful to control the input data before starting calculate in python.
> Something like:
> 
> Constitutive_law = PlaneStrain()
> 
> Constitutive_law.InputValidation(Properties)
> 
A very good idea. Will also throw an exception in the initial phase.
>  
> 
> 7.      A real reconsideration of the naming convention is necessary:
> 
> a.       myState is a global enum but without any information of where
> is defined and why. (Something like FluencyState or any other
> descriptive names would be much better)  
> 
> b.      same arugment about myPotencialPlastic
> 
> c.       save_internal_variables, calculate_tangent ,
> calculate_stresses, ...  are like the local variables not the input
> argument. The underscore must be used for macors and local variables.
>  (by the way, is there any reason that one of them is int?)
> 
I will have a look at that.

> 8.      Great Doxygen documentation!! I have to put it in Kratos
> server to work!!! (Note for myself)
> 
>  
> 
>  
> 
> Finally I would like to thanks all for their effort specially to
> Nelson, Janosch  and Riccardo for this flexible and complete design. 
> 
>  
> 
> Best regards,
> 
>  
> 
> Pooyan.
> 
>  
> 
>  
> 
>  
> 
> _______________________________________________________________________________________________________________________________________________________________________________
> 
> Dr. Pooyan Dadvand
> 
> Member of Kratos team 
> 
> International Center for Numerical Methods in Engineering - CIMNE
> Campus Norte, Edificio C1 
> 
> c/ Gran Capitán s/n
> 
> 08034 Barcelona, España
> 
> Tel:        (+34) 93 401 56 96
> 
> Fax:       (+34) 93.401.65 17
> 
> web:       www.cimne.com
> 
>               www.cimne.com/kratos/
> 
> _______________________________________________________________________________________________________________________________________________________________________________
> 
> AVISO IMPORTANTE
> 
> Los datos de carácter personal contenidos en el mensaje, se
> registrarán en un fichero para facilitar la gestión de las
> comunicaciones de CIMNE. Se pueden ejercitar los derechos de acceso,
> rectificación, cancelación y oposición por escrito, dirigiéndose a
> nuestras oficinas de CIMNE, Gran Capitán s/n,  Edificio C1 - Campus
> Norte UPC, 08034 Barcelona, España.
> 
>  
> 
> AVÍS IMPORTANT
> 
> Les dades de caràcter personal contingudes en aquest missatge es
> registraran en un fitxer per facilitar la gestió de les comunicacions
> del CIMNE. Es poden exercir els drets d'accés, rectificació,
> cancel·lació i oposició, per escrit a les nostres oficines del CIMNE,
> Gran Capità s/n, Edifici C1, Campus Nord UPC, 08034 Barcelona,
> Espanya.
> 
>  
> 
> IMPORTANT NOTICE
> 
> All personal data contained in this mail will be processed
> confidentially and stored in a file property of CIMNE in order to
> manage corporate communications. You may exercise the right of access,
> rectification, deletion and objection by letter sent to CIMNE, Gran
> Capitán, Edificio C1 - Campus Norte UPC, 08034 Barcelona, Spain.
> 
>  
> 
>  
> 
> 
> _______________________________________________
> Kratos mailing list
> Kratos en listas.cimne.upc.edu
> http://listas.cimne.upc.edu/cgi-bin/mailman/listinfo/kratos



More information about the Kratos mailing list