Re: Material plasticity for 2dBeam with LayeredCrossSection
Hi Mikael,
Hi Vitalii
It's always nice to have more developers, as it also helps us find bugs.In this case, please be aware that the libeam model is a mindlin beam theory, which (like most beam models) is only valid for small deflections and does not couple longitudinal deformation with the transversal deflection.
In fact, libeam2d does not take into account geometrical nonlinearities either.
There is not really any error, this is precisely what the mindlin theory assumes, and the beam model reflects this. All beam models in OOFEM are only valid for small deformations.
I'm not at all familiar with large deformation beam models, but if you have a (detailed) reference of any particular beam theory you'd like to see implemented, then we (probably me) can help you implement it.
Regarding the beam models with large deformations, I've made a small literature study and found two models. One Euler-Bernoulli without shear and one Timoshenko type with shear. The references are as follows:
Panakorn and Vu - A 2D field-consistent beam element for large displacement analysis using the total Lagrangian formulation
Kien - A Timoshenko beam element for large displacement analysis of planar beams and frames
Do you consider these sources as detail references? If you have any remarks, please let me know. I have the pdf versions of the papers if you might need them. And of course I'm willing to help as much as I can.
There has been some initial work on contact support in OOFEM as well. I'd expect this situation to improve in the future (though, unless there is interest in new developers, I don't see it happening very fast).
I can see some work in the code regarding the contact interaction. Hope it'll be available soon. However, I'll have an idea how to implement the contact for my task specifically, without general contact implementation.
Regarding your second question:
We have a bug tracker at https://www.oofem.org/trac but in reality, noone posts there and I never check it. If it's something directed to me, I'd be more likely to check the github bug tracker. Or users can post about it here on the forum.
Regarding your example though, I don't understand it.
What values shouldn't be declared in BoundaryCondition? GeneralBoundaryCondition doesn't have any function "giveValues()" (nor should it).
I'll try to explain in more details what I did mean. I want to read the values from the GeneralBoundaryCondition
engmdl = model;
dmn = model->giveDomain(1);
GeneralBoundaryCondition *bc1 = dmn->giveBc(5);
FloatArray displacementValue = bc1->giveValues();
If I do it and don't comment the values in the BoundaryCondition, I always get the empty array by bc1-> giveValues();, with commented line it does work as expected. Thus, I get the displacements from GeneralBoundaryCondition.
class OOFEM_EXPORT BoundaryCondition : public GeneralBoundaryCondition
{
protected:
/// Prescribed values for each resp. dof
//I should comment the line below, than I can read values from GeneralBoundaryCondition
//FloatArray values;
And lastly, the material models:
I don't think we have any such models.
Except for the few common basic models, the models are developed in research projects, and are usually highly specialized.
TutorialMaterial was added fairly recently, as we wanted a simple tutorial to introduce new PhD students to.
Contributions are of course most welcome.We do also have the option for using abaqus user materials (umat), so there might be some existing umat files you can use. Other interfaces like this can be added if there is a need (like the ANSYS usermat, etc.)
Does this mean that I can use any implemented umat/usermat without Abaqus license? That'll be perfect, because the common materials (conventional isotropic/kinematic hardening) should be implemented there.
Kind regards,
Vitalii