Closed Vahid-Galavi closed 3 years ago
we actually discussed this recently in the @KratosMultiphysics/technical-committee
Since this is an important discussion I add also @KratosMultiphysics/structural-mechanics
Hi,
I am currently busy with developement of an application for geomechanical applications where I am using some elements from StructuralMechanicsApplicaitons.
In our application, we usually perform the calculations in a sequence of analysis stages, for example initialisation of stresses, activation of structural elements (beams, cables,...), excvation, loading, ...
In the beginning of some calculation stages, we might need to reset displacements while keeping stresses (interal forces) in the elements, as we would like to use this stage as a starting point for furthur calculations.
With the current implementation of structural elements (beams, cables,..) this is not possible, since the internal force is always calculated using the total deformation and resetting the total displacements resets the stresses in the structural elements.
Can we modify the formulation of structural elements? Or add new ones which is not dependent on the total displacement by storing stresses in the element?
We have two possible approaches. Modify the elements or create more advancedCL. This must be discussed
we have a similar problem when we do form-finding. We already started adjusting the membrane element.
After the finalization of the analysis stage (formfinding in this case) we set X0=X
, disp=0
, calculate the current stress state and save it as elemental data in MEMBRANE_PRESTRESS
. The element uses the following code within the stress calculation:
if (Has(MEMBRANE_PRESTRESS)){
Matrix stress_input = GetValue(MEMBRANE_PRESTRESS);
rStress += column(stress_input,rIntegrationPointNumber);
} else {
AddPreStressPk2(rStress,rTransformedBaseVectors);
}}
this enables us to start from the last stage.
I would suggest to create a new variable like ELEMENTAL_PRE_STRESS
and write a utility which adds this stress to the element stress if the element has this variable.
I would suggest to create a new variable like
ELEMENTAL_PRE_STRESS
and write a utility which adds this stress to the element stress if the element has this variable.
I started some time ago the core/imp-def brach which defines a generic interface for imposed deformation and stresses (it is applied via CL, but the prototype of the branch is not functional yet)
why thorugh CL @loumalouomega ? I mean there are much more CL than elements
why thorugh CL @loumalouomega ? I mean there are much more CL than elements
This implementation is not a new CL, is a class that is stored in the properties and can be called in the element or the CL, but the ideal would be to call it in the CL (IMO)
I agree with Klaus that we need to formalize one way of adding a prestress (and document it in the wiki)
On Thu, Jan 30, 2020 at 2:35 PM Vicente Mataix Ferrándiz < notifications@github.com> wrote:
why thorugh CL @loumalouomega https://github.com/loumalouomega ? I mean there are much more CL than elements
This implementation is not a new CL, is a class that is stored in the properties and can be called in the element or the CL, but the ideal would be to call it in the CL (IMO)
— You are receiving this because you are on a team that was mentioned. Reply to this email directly, view it on GitHub https://github.com/KratosMultiphysics/Kratos/issues/6321?email_source=notifications&email_token=AB5PWEMTPXVTXMUNPTDUZTLRALJT7A5CNFSM4KNVDIHKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEKK77TY#issuecomment-580255695, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB5PWENUYW42TCGW6Y7F5BTRALJT7ANCNFSM4KNVDIHA .
--
Riccardo Rossi
PhD, Civil Engineer
member of the Kratos Team: www.cimne.com/kratos
Associate Professor 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, Building C1, First Floor
08034 – Barcelona – Spain – www.cimne.com -
T.(+34) 93 401 56 96 skype: rougered4
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 cimne@cimne.upc.edu. 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/
Thanks for the suggestions.
I second (@loumalouomega ) think this should go through the CL.
the reasons for which i think this are: 1 - element always provides a measure of deformation to the CL and retrieves a stress. It is not correctly to simply add the prestress to the output of the CL (think to the case of a plastic CL, the prestress+stress(strain) might exceed the yield!) 2 - what is the measure of the stress? (think in the context of large deformaitons) 3 - i think that the name shall be generic, like PRESTRESS or PRESTRAIN 4 - if we wait for #5624 to be approved (which should be soon) than we could store it in the geometry and retrieve it from the CL (so that the interface is similar to the one proposed by Klaus)
@Vahid-Galavi I remember that you mentioned that you should do this at element level and not in your CL. Does the approach of having PRE_STRESS or PRE_STRAIN and passing them to CL works for you?
Sorry for delay in responding to this issue. I have already solved this for beam, truss and cable elements. I did it in this way:
I tested and this approach works fine. I haven't changed the existing elements and made a copy of them and then I modified.
If you like this approach, I can add the elemnets to StructuralMechanicsApplication.
If this is done in the CL we will also have to do the projection of the prestress vector onto the surface in the CL. Is this desired? It seems strange to me
In my opinion, this should be done in the element level and not CL level.
In my opinion, this should be done in the element level and not CL level.
IMO should be at CL level, is more generic and modular. But must be done correctly
Then, as I already mentioned in the title of this issue, the formulation of the element must be modified and instead of the total displacement, it should use incremental displacement. Then, we don't need to check if displacements are reset or not. It will always work. But the minimal modification was what I did.
I don't think so, the CL can manage that information. In any case let's see what the others suggest
@Vahid-Galavi you can reset the displacements and still apply a prestress (or even better a prestrain). However not using the CL implies going through the points i mentioned a few posts ago
If this is done in the CL we will also have to do the projection of the prestress vector onto the surface in the CL. Is this desired? It seems strange to me
@KlausBSautter think at the following scenario: you have a plastic CL, with a yield stress of say 100MPa. Someone gives you a prestress of 200MPa. What will be the stress which causes the deformation of the element? who should be in charge of deciding that when using that plastic CL that level of stress is not possible? (note that the element is not aware of which CL is being used)
yes, in case of the current wrinkling CL #6391 I am doing it as follows:
in element:
in CL:
in element:
yes, in case of the current wrinkling CL #6391 I am doing it as follows:
in element:
* calculate pre_stress (projection etc.) * setstressvector(pre_stress)
in CL:
* if (is_setstressvector): take stressvector and consider it as initial stress * depending on the total stress (inlcuding prestress from the element) do the CL operations and return the material response
in element:
* add pre_stress again to material response
I think we can simplify this in order that the element doesn't need to know anything
Dear All,
i think we need to have a meeting to decide about this
@Vahid-Galavi @KlausBSautter @AlejandroCornejo @loumalouomega what about making this on thurday 20/02/2020 early afternoon (Barcelona time)?
@marandra @thelfer @tteschemacher just mentioning you in case you are interested in joining
@RiccardoRossi I cant do this week.
@RiccardoRossi I cannot make it on this Thursday.
then, can u guys propose a date? (thursdays mornings are no-go for me)
I could do next week mo/we morning
Next week, Monday morning is fine with me.
For me must be very early or very late, otherwise complicated
I close this issue
Hi,
I am currently busy with developement of an application for geomechanical applications where I am using some elements from StructuralMechanicsApplicaitons.
In our application, we usually perform the calculations in a sequence of analysis stages, for example initialisation of stresses, activation of structural elements (beams, cables,...), excvation, loading, ...
In the beginning of some calculation stages, we might need to reset displacements while keeping stresses (interal forces) in the elements, as we would like to use this stage as a starting point for furthur calculations.
With the current implementation of structural elements (beams, cables,..) this is not possible, since the internal force is always calculated using the total deformation and resetting the total displacements resets the stresses in the structural elements.
Can we modify the formulation of structural elements? Or add new ones which is not dependent on the total displacement by storing stresses in the element?