Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2020:03_19

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
commit:2020:03_19 [2020/03/19 15:58] – [Commit Description] laruellecommit:2020:03_19 [2020/03/20 10:13] laruelle
Line 27: Line 27:
 {{:commit:2020:03_19:eq2.png?600|}} {{:commit:2020:03_19:eq2.png?600|}}
  
-{{:commit:2020:03_19:matr2.png?600|}}+{{:commit:2020:03_19:matr2_corrected.png?600|}}
  
 **PointOnCurveLagMult2DElement** **PointOnCurveLagMult2DElement**
Line 43: Line 43:
 {{:commit:2020:03_19:eq3.png?500|}} {{:commit:2020:03_19:eq3.png?500|}}
  
-{{:commit:2020:03_19:matr3.png?500|}}+{{:commit:2020:03_19:matr3_corrected.png?500|}}
  
 ===== ConstainerLine Object===== ===== ConstainerLine Object=====
Line 57: Line 57:
 **DraggingPointOnCurve and PointOnCurve** **DraggingPointOnCurve and PointOnCurve**
  
-First, I reproduced a test that was using the old implementation "LagrangeMultiplierEdge2DElement". The test was named "LagrangeMultiplier2D", I renamed this test "DraggingNode" for more clarity. The new implementation and the old implementation give the same results. Moreover, "DraggingPointOnCurve" and "PointOnCurve" give the same results for this test. The reason is that because the displacement of the middle node is imposed we have dx_h=0.0 in both cases and both formulations will give the same result. This can be seen in the figures hereafter where "DraggingPointOnCurve" is used on the left and "PointOnCuve" is used on the right.+First, I reproduced a test that was using the old implementation "LagrangeMultiplierEdge2DElement". The test was named "LagrangeMultiplier2D", I renamed this test "DraggingNode" for more clarity. The new implementation and the old implementation give the same results. Moreover, "DraggingPointOnCurve" and "PointOnCurve" give the same results for this test. The reason is that because the displacement of the middle node is imposed we have dx_h=0.0 in both cases and both formulations will give the same result. This can be seen in the figures hereafter where "DraggingPointOnCurve" is used on the left and "PointOnCurve" is used on the right.
  
 {{:commit:2020:03_19:draggingnode.png?600|}} {{:commit:2020:03_19:draggingnode.png?600|}}
Line 99: Line 99:
 {{:commit:2020:03_19:mono.png?600|}} {{:commit:2020:03_19:mono.png?600|}}
  
 +===== Future dev =====
  
 +This commit is a preliminary to the implementation of many more LagMultInteractions. The extension to 3D elements will come soon (already implemented but not tested), then will come the extension to Thermal. A lot of other relations between DoFs could be created using LagMultElements and more types of elements will be added in the future. A study of the influence of the lagrange multiplier DoFs on the residual still needs to be done as well as looking at the behavior in dynamic schemes.
  
-===== Added [a] / deleted [d] / modified [m] / renamed [r] files ======+===== Added [a] / deleted [d] / renamed [r] files ======
 ====Code:==== ====Code:====
 <code> <code>
 +[a] mtElements/lagMult 
 +[a] mtElements/lagMult/DraggingPointOnCurveLagMultElement.cpp 
 +[a] mtElements/lagMult/DraggingPointOnCurveLagMultElement.h 
 +[a] mtElements/lagMult/DraggingPointOnCurveLagMultElement.inl 
 +[a] mtElements/lagMult/DraggingPointOnCurveLagMultElShcuts.h 
 +[a] mtElements/lagMult/DraggingPointOnCurveLagMultElShcuts.inl 
 +[a] mtElements/lagMult/EqualityDofConstraintLagMultElement.cpp 
 +[a] mtElements/lagMult/EqualityDofConstraintLagMultElement.h 
 +[a] mtElements/lagMult/EqualityDofConstraintLagMultElement.inl 
 +[a] mtElements/lagMult/EqualityDofConstraintLagMultElShcuts.h 
 +[a] mtElements/lagMult/EqualityDofConstraintLagMultElShcuts.inl 
 +[a] mtElements/lagMult/PointOnCurveLagMultElement.cpp 
 +[a] mtElements/lagMult/PointOnCurveLagMultElement.h 
 +[a] mtElements/lagMult/PointOnCurveLagMultElement.inl 
 +[a] mtElements/lagMult/PointOnCurveLagMultElShcuts.h 
 +[a] mtElements/lagMult/PointOnCurveLagMultElShcuts.inl 
 +[a] mtElements/LagMultInteraction.cpp 
 +[a] mtElements/LagMultInteraction.h 
 +[a] mtGeo/mtGeoContainerLine.cpp 
 +[a] mtGeo/mtGeoContainerLine.h 
 +[a] mtGeo/mtGeoContainerLineBuilder.cpp 
 +[a] mtGeo/mtGeoContainerLineBuilder.h 
 +[a] mtGeo/mtGeoContainerLineMesher.cpp 
 +[a] mtGeo/mtGeoContainerLineMesher.h
 </code> </code>
  
 ====Tests:==== ====Tests:====
 <code> <code>
 +[a] apps/lagMult
 +[a] apps/lagMult/cont2
 +[a] apps/lagMult/cont2/cont2MfcXLagMult.py
 +[a] apps/lagMult/equalityDofConstraint
 +[a] apps/lagMult/equalityDofConstraint/equalityDofConstraintDSSolver.py
 +[a] apps/lagMult/equalityDofConstraint/equalityDofConstraintLagMult.py
 +[a] apps/lagMult/equalityDofConstraint/equalityDofContraintMono.py
 +[a] apps/lagMult/pointOnCurve
 +[a] apps/lagMult/pointOnCurve/DraggingNode.py
 +[a] apps/lagMult/pointOnCurve/DraggingNodeOld.py
 +[a] apps/lagMult/pointOnCurve/SimpleShearDraggingPointOnCurve.py
 +[a] apps/lagMult/pointOnCurve/SimpleShearPointOnCurve.py
 +[a] apps/lagMult/pointOnCurve/SimpleShearPointOnCurveMid075.py
 +
 </code> </code>
  
  --- //[[Cedric.Laruelle@ULiege.be|Cédric Laruelle]] 2020/03/19//  --- //[[Cedric.Laruelle@ULiege.be|Cédric Laruelle]] 2020/03/19//

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki