KratosMultiphysics / Kratos

Kratos Multiphysics (A.K.A Kratos) is a framework for building parallel multi-disciplinary simulation software. Modularity, extensibility and HPC are the main objectives. Kratos has BSD license and is written in C++ with extensive Python interface.
https://kratosmultiphysics.github.io/Kratos/
Other
991 stars 244 forks source link

Composite materials GiD printing limitations #7018

Open AlejandroCornejo opened 4 years ago

AlejandroCornejo commented 4 years ago

Dear All, specially @KratosMultiphysics/structural-mechanics. In the last weeks I've been implementing some Constitutive Laws regarding laminated composite materials. This means that, at each integration point one can have CAUCHY_STRESS_VECTOR, 'DAMAGE', etc, for EACH of the material components (can be 2,3,4...) and currently there is no way of doing it.

One solution (messy) is to register CAUCHY_STRESS_VECTOR_COMPONENT_1 and so on...

Another issue is the fact that, if we want to plot the CAUCHY_STRESS_VECTORof the composite is usually plot in global axes whereas the CAUCHY_STRESS_VECTOR_COMPONENT_1should be in local axes.

I really think that we shoukd solve this limitation and adopt a solution :)

Regards,

Alejandro

philbucher commented 4 years ago

makes sense to me to find a proper solution

But please also for other outputs :) (such as vtk)

@peterjwilson you had to do this for your MThesis, could you please share how you did this? I don't remember

philbucher commented 4 years ago

@adityaghantasala in vtk it should be possible to use the matrix format for this right?

philbucher commented 4 years ago

overall cannot we use some sort of matrixalso in Gid? i.e. one hat doesn't get interpreted as tensor @jginternational @pasenau do you know?

AlejandroCornejo commented 4 years ago

image

Schematically, one should be able to print everything at each level, Composite level, layer level and simple material level.

Just as a clarification :D

loumalouomega commented 4 years ago

We don't need to register new variables, we can just assign names on the fly. We should modify specifically the IO processes

AlejandroCornejo commented 4 years ago

How do you do that @loumalouomega ?

loumalouomega commented 4 years ago

How do you do that @loumalouomega ?

Is not simple, because in order to be general we need to find the way to see that. For example, one way is to have an independent method when a property has subproperties, which can assume a composed law is being used. Then the elements must be modified in order to ask this, and the IO process, certainly is not simple and I don't know how to do it general...

AlejandroCornejo commented 4 years ago

Maybe defining that you want to print a certain variable, let's say DAMAGE and then you have to select the subproperty level and the Id of the subproperty selected.

jginternational commented 4 years ago

I don't know if we are also talking about have composite materials in the GUI. It's an enormous development to have them integrated in the problemtype, but we can handle the problem by using external files for defining tables, such csv coming from an excel. We are currently reading them in the DAM App

peterjwilson commented 4 years ago

makes sense to me to find a proper solution

But please also for other outputs :) (such as vtk)

@peterjwilson you had to do this for your MThesis, could you please share how you did this? I don't remember

@philbucher my problem was a little different - I was trying to align laminate (total sandwich, not individual laminae) local_orthotropic_axis_1 to some specified global direction via draping approximations. My printout was just a normalized vector for the entire laminate (ie. one vector for the whole element). It seems like @AlejandroCornejo is looking to output info on the individual lamina level (multiple vectors/info per element), which we never got around too :(

AlejandroCornejo commented 2 years ago

HI! Is there any news regarding this? We are thinking about implementing something regarding this...

philbucher commented 2 years ago

Not from my side what are you planning?

Maybe you can do sth on the line of the EigenValue postprocessing in the StructuralApp, in this way you have any flexibility you might need to write results in a certain format

AlejandroCornejo commented 2 years ago

Not from my side what are you planning?

Maybe you can do sth on the line of the EigenValue postprocessing in the StructuralApp, in this way you have any flexibility you might need to write results in a certain format

ok!! I am going to check what you proposed as an starting point :)