Kratos: [Discussion] Has methods for dof.h

Created on 13 Mar 2018  Â·  9Comments  Â·  Source: KratosMultiphysics/Kratos

Related with #1648 and #1666

After #1648 the simulation will break if no reaction is defined (what in principle is no mandatory) and the reactions are computed.

One way to avoid this problem would be define a Has method for the reaction (and for consistency for the variable). One suggestion would be:

~~~cpp
/* Returns if there is a variable assigned for this degree of freedom. */
bool HasVariable() const
{
return (
mpVariable != *msNone);
}

/** Returns if there is a reaction variable for this degree of freedom. */
bool HasReaction() const
{
    return (*mpReaction != *msNone);
}

~~~

What would you suggest? (I added manually the technical commite, i don't know how to mention for an issue)

Discussion Kratos Core

Most helpful comment

just one comment (and i agree about closing):

we could put at the begninning of the compute reaction function a loop to check if all dofs in DofsArray have a reaction making it ONLY ACTIVE IN DEBUG MODE

All 9 comments

What is a DOF without a variable?

Just for consistency, indeed, an empty DoF would be meaningless

I would say that it makes full sense to assign a reaction to all the dofs
involved...
this will not be needed if you don't compute the reactions, but it will be
employed otherwise

On Tue, Mar 13, 2018 at 6:34 PM, Vicente Mataix Ferrándiz <
[email protected]> wrote:

Just for consistency, indeed, an empty DoF would be meaningless

—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/KratosMultiphysics/Kratos/issues/1670#issuecomment-372752384,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHr7EVUVfsGhmhZ8TdWEFjgJ20mqmJY0ks5teAM8gaJpZM4SpFaD
.

--

Riccardo Rossi

PhD, Civil Engineer

member of the Kratos Team: www.cimne.com/kratos

Tenure Track Lecturer at Universitat Politècnica de Catalunya,
BarcelonaTech (UPC)

Full Research Professor at International Center for Numerical Methods in
Engineering (CIMNE)

C/ Gran Capità, s/n, Campus Nord UPC, Ed. B0, Despatx 102

(please deliver post to the porters of building C1)

08034 – Barcelona – Spain – www.cimne.com -

T.(+34) 93 401 56 96 skype: rougered4

http://www.cimne.com/

https://www.facebook.com/cimne http://blog.cimne.com/
http://vimeo.com/cimne http://www.youtube.com/user/CIMNEvideos
http://www.linkedin.com/company/cimne https://twitter.com/cimne

Les dades personals contingudes en aquest missatge són tractades amb la
finalitat de mantenir el contacte professional entre CIMNE i voste. Podra
exercir els drets d'accés, rectificació, cancel·lació i oposició,
dirigint-se a [email protected]. La utilització de la seva adreça de
correu electronic per part de CIMNE queda subjecte a les disposicions de la
Llei 34/2002, de Serveis de la Societat de la Informació i el Comerç
Electronic.

Imprimiu aquest missatge, només si és estrictament necessari.
http://www.cimne.com/

I also think it makes sense to assign a reaction for all dofs, dofset loops tend to be in relatively critical places performance-wise and I'd prefer to avoid ifs there.

Ok, I will close this if everyone agree

I agree.

I will close because 3/5 agree

just one comment (and i agree about closing):

we could put at the begninning of the compute reaction function a loop to check if all dofs in DofsArray have a reaction making it ONLY ACTIVE IN DEBUG MODE

Not opposed to this, but I'd prefer to put the check in SetUpDofSet or even in the constructor if the calculate reactios flag is true (the faster we fail, the better).

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Gaoliu19910601 picture Gaoliu19910601  Â·  6Comments

Vahid-Galavi picture Vahid-Galavi  Â·  4Comments

rubenzorrilla picture rubenzorrilla  Â·  4Comments

ipouplana picture ipouplana  Â·  6Comments

armingeiser picture armingeiser  Â·  6Comments