BriefFiniteElementNet Discussions Rss Feedhttps://brieffiniteelementnet.codeplex.com/discussionsBriefFiniteElementNet Discussions Rss DescriptionNew Post: Modelling a beam with initial tension?https://brieffiniteelementnet.codeplex.com/discussions/662307<div style="line-height: normal;">Hi,
<br />
Sorry for delayed answer.
<br />
Unfortunately it is not possible to model any stress strain curve but a linear one. It means that Stress should be a multiply of strain:<br />
<pre><code>σ=E.ϵ</code></pre>
But I think what you mean should be something like this:<br />
<pre><code>σ=E.ϵ + σ0</code></pre>
Where <code>σ0</code> is a constant. and it is not linear relation, so not possible to directly model it in current version of this library.
<br />
What you need should be material (and geometrical) non-linearity, non of them are implemented in BFE.
<br />
<br />
Thanks<br />
</div>epsi1onFri, 21 Apr 2017 12:40:27 GMTNew Post: Modelling a beam with initial tension? 20170421124027PNew Post: Modelling a beam with initial tension?https://brieffiniteelementnet.codeplex.com/discussions/662307<div style="line-height: normal;">I want to thank you for the superb library. The additions of springs and plates are really great!
<br />
<br />
I was wondering if there is a way to model a beam with "pretension", that is to say put some initial tension into a beam before solving? What I am specifically modelling is a system where there is a cable under tension and a temporary support brace (used during construction) holding it. I want to model what happens when the brace is removed.
<br />
<br />
Thanks for any advice you could give, and definitely thanks for contributing this excellent library to the open source community.
<br />
<br />
RKM<br />
</div>rmoreThu, 30 Mar 2017 12:34:16 GMTNew Post: Modelling a beam with initial tension? 20170330123416PNew Post: Plate Bending Stresshttps://brieffiniteelementnet.codeplex.com/discussions/661139<div style="line-height: normal;">hi,
<br />
Sorry for delay.
<br />
Thank you for reporting the problem. I think you are right and it is possible that there be some bugs in BFE codes. Finding and fixing these errors can needs significant amount of time.
<br />
<br />
The <code>BriefFiniteElementNet.Elements.TriangleFlatShell</code> is going to be obsolete in near future and <code>BriefFiniteElementNet.Elements.TriangleElement</code> will be its successor, So rather to do not expense time on <code>TriangleFlatShell</code> and concentrate on <code>TriangleElement</code>. It would be great if you can have a brief look at code of method you are using, and see if you can find out something.
<br />
By the way do you know any reference (book, paper, etc.) for transforming bending tensor from local to global system on shell element?
<br />
<br />
Thanks<br />
</div>epsi1onThu, 02 Mar 2017 05:31:14 GMTNew Post: Plate Bending Stress 20170302053114ANew Post: Plate Bending Stresshttps://brieffiniteelementnet.codeplex.com/discussions/661139<div style="line-height: normal;">This discussion has been copied to a work item. Click <a href="https://brieffiniteelementnet.codeplex.com/workitem/8" rel="nofollow">here</a> to go to the work item and continue the discussion.<br />
</div>epsi1onThu, 02 Mar 2017 04:57:02 GMTNew Post: Plate Bending Stress 20170302045702ANew Post: Plate Bending Stresshttps://brieffiniteelementnet.codeplex.com/discussions/661139<div style="line-height: normal;">I created some TriangleFlatShell Elements with the behaviour FlatShellBehaviour.DrillingDof. The deformation is very simular in comparsion to Ansys. But I got very different bending stresses. The stress was of course not evaluated on nodal loads and supports.
<br />
The evaluation was done by this code :<br />
<pre><code> var globTensor = new Func<TriangleFlatShell, MembraneStressTensor>(elm =>
{
MembraneStressTensor xx = new MembraneStressTensor();
BendingStressTensor xy = elm.GetInternalForce(0, 0, LoadCombination.DefaultLoadCombination).BendingTensor;
xx.Sx = xy.M11;
xx.Sy = xy.M22;
xx.Sz = xy.M33;
var rt = elm.RotateTensor(xx, Plane.XZPlane);
return rt;
});
var bfeElms = new[] { model.Elements.IndexOf(targetElement) }.Select(i => model.Elements[i]).Cast<TriangleFlatShell>().ToArray();
var bsT = globTensor(bfeElms[0]);
</code></pre>
Does anyone has an idea why this happened ?<br />
</div>dandreSat, 04 Feb 2017 14:13:57 GMTNew Post: Plate Bending Stress 20170204021357PNew Post: Dynamic analysis.https://brieffiniteelementnet.codeplex.com/discussions/660614<div style="line-height: normal;">Hi,<br />
Not completely implemented yet.<br />
However it is in progress.<br />
</div>epsi1onSun, 15 Jan 2017 08:41:41 GMTNew Post: Dynamic analysis. 20170115084141ANew Post: Dynamic analysis.https://brieffiniteelementnet.codeplex.com/discussions/660614<div style="line-height: normal;">Does this library support dynamic analysis?
<br />
Could you give me an example.
<br />
Thank you<br />
</div>kanber_kavTue, 10 Jan 2017 19:50:01 GMTNew Post: Dynamic analysis. 20170110075001PNew Post: Shear areas (Ay ,Az)https://brieffiniteelementnet.codeplex.com/discussions/654616<div style="line-height: normal;">Some information exists in this book: <br />
Structural Analysis with the Finite Element Method Linear Statics - Volume 2. Beams, Plates and Shells<br />
<br />
Section: "2.2.3.1 Computation of the shear correction parameter" @ Page 41<br />
:)<br />
Thanks<br />
</div>epsi1onTue, 11 Oct 2016 14:35:48 GMTNew Post: Shear areas (Ay ,Az) 20161011023548PNew Post: Cables simulation or workaround (maybe using truss elements)https://brieffiniteelementnet.codeplex.com/discussions/658231<div style="line-height: normal;">I would suggest the most educational thing you could do is:
<br />
<br />
1 - Fork the project so that <br />
<pre><code> a) - one version is for engineers who do "need accurate stuff"
b) - educational version can only solve for a simple 2D ( y axis vertical ) truss with max 20 nodes and 20 elements - and keep it 2D to start with
</code></pre>
2 - When you get the b) Version working, combine it back into a) Version
<br />
<br />
3 - Put a short element at each end of the truss member, length = 1/100 of element length, cross section properties factored by 0.01, primarily the Is and Js, Area not so critical. Automate all that, plot the bending moment diagram see if the moments look close enough to zero at each end of the truss elements - or in fact the pin joints at the end of to or bottom chord of a truss - i.e. the chords of the truss.
<br />
<br />
That proves you have a Pin Jointed element working.
<br />
<br />
Then auto remove any truss member ( 3 elements ) in compressions and reanalyse.
<br />
<br />
Serious:
<br />
<a href="https://www.scribd.com/doc/40660073/Analysis-of-Cables-Catenary-Structures" rel="nofollow">https://www.scribd.com/doc/40660073/Analysis-of-Cables-Catenary-Structures</a>
<br />
<br />
Emulation:
<br />
<a href="https://knowledge.autodesk.com/support/robot-structural-analysis-products/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/Robot/files/GUID-A761540B-9E96-4760-AF04-47E22059B834-htm.html" rel="nofollow">https://knowledge.autodesk.com/support/robot-structural-analysis-products/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/Robot/files/GUID-A761540B-9E96-4760-AF04-47E22059B834-htm.html</a>
<br />
<br />
I am no expert on the above, just would make sense to keep "games" away from "science". I know this could be a first experience teaser, so no drama there.<br />
</div>hframeTue, 27 Sep 2016 02:27:58 GMTNew Post: Cables simulation or workaround (maybe using truss elements) 20160927022758ANew Post: Cables simulation or workaround (maybe using truss elements)https://brieffiniteelementnet.codeplex.com/discussions/658231<div style="line-height: normal;">Yes, that's what I was expecting but it doesn't hurt to ask... I thought about running the simulation multiple times and checking if the element is being compressed or tensioned, but unfortunately that's not a practical solution and surely could yield very unexpected results. I'm going to try searching online. I couldn't find a comprehensive paper on nonlinear conjugate gradient so far but I'm sure there's something out there, however, I'm not actually planning to implement that before trying some other things because that's really far from my area of expertise and I'm not planning to spend much time on that too.
<br />
Thank you very much for your support. I really appreciate it.<br />
</div>Alan2Mon, 26 Sep 2016 18:39:13 GMTNew Post: Cables simulation or workaround (maybe using truss elements) 20160926063913PNew Post: Cables simulation or workaround (maybe using truss elements)https://brieffiniteelementnet.codeplex.com/discussions/658231<div style="line-height: normal;">Yes you are right. not simply possible to use linear FEA to do nonlinear FEA.<br />
<br />
A trick i can think of is that you use truss as cable, then apply the load and solve, and simply set E or A of cables with negative (compression) internal force to 0.0 in order to ignore them and solve again. and do this several time. finally you would be end up with a result which can be terribly wrong answer :) but i think that is up to you to get a acceptable result. There should be also some article/papers on the web that describe simple procedures for analyzing cable structures with things like truss elements (i did't search enough for this).<br />
</div>epsi1onMon, 26 Sep 2016 17:15:39 GMTNew Post: Cables simulation or workaround (maybe using truss elements) 20160926051539PNew Post: Cables simulation or workaround (maybe using truss elements)https://brieffiniteelementnet.codeplex.com/discussions/658231<div style="line-height: normal;">Hello, I forgot to ask something, isn't it possible that, instead of having a real 'cable' element (or a single element that behaves more or less like a cable), just to somehow achieve similar results with a clever setup of truss or hinged frame elements? I mean, in theory if you connect two nodes with two truss elements totally free/released on all nodes (3), they will result in something similar to that (like a distance limiter), but that won't result in a valid mathematical representation (understandably), but maybe there's some trick I'm not aware of.<br />
<br />
I don't thing that's possible linearly, because say you make something like that, which would resemble an 'arm', if you apply force so the arm bends, if you apply the same force to the opposite direction, it will still bend but to the other side, the connected nodes won't be limited by the distance of both elements lengths, so I guess you'd need nonlinear anyway, but I'm not 100% sure on that.<br />
<br />
Thank you.<br />
</div>Alan2Mon, 26 Sep 2016 11:43:54 GMTNew Post: Cables simulation or workaround (maybe using truss elements) 20160926114354ANew Post: Cables simulation or workaround (maybe using truss elements)https://brieffiniteelementnet.codeplex.com/discussions/658231<div style="line-height: normal;">Thank you for your reply.
<br />
<br />
Yes, I'm aware of the solvers but in this case since the model is going to be changed for each run Cholesky isn't of much use, specially because accuracy isn't a big concern. Conjugated Gradient is fast enough though, I wonder what performance impact a nonlinear version would have... there are some real-time physics engines using a "Nonsmooth Nonlinear Conjugated Gradient" so perhaps it's not very slow, although I really don't have any idea on what that "Nonsmooth" means.
<br />
<br />
BTW, I caught a minor mistake in the performance page:
<br />
Chol First Time: Time taken by Conjugate Gradient solver for analyzing structure for first time
<br />
<br />
Thank you.<br />
</div>Alan2Sun, 25 Sep 2016 20:17:29 GMTNew Post: Cables simulation or workaround (maybe using truss elements) 20160925081729PNew Post: Cables simulation or workaround (maybe using truss elements)https://brieffiniteelementnet.codeplex.com/discussions/658231<div style="line-height: normal;">Thanks for information.
<br />
That is nice, i would be interested if can do any help, as this case is new for me :)
<br />
Also please note that there are several solvers in BFE (thanks to great collaborators), and choosing the right solver type does very affect the duration of solve time (look at <a href="https://brieffiniteelementnet.codeplex.com/wikipage?title=Performance%20of%20BriefFiniteElement.NET&referringTitle=Home" rel="nofollow">this</a> and <a href="https://brieffiniteelementnet.codeplex.com/wikipage?title=Solvers%20Available%20in%20BriefFiniteElement.NET&referringTitle=Documentation" rel="nofollow">this</a> sections)<br />
</div>epsi1onSun, 25 Sep 2016 17:31:55 GMTNew Post: Cables simulation or workaround (maybe using truss elements) 20160925053155PNew Post: Cables simulation or workaround (maybe using truss elements)https://brieffiniteelementnet.codeplex.com/discussions/658231<div style="line-height: normal;">Hello. Thank you for your timely and kind reply.
<br />
<br />
Solving around 1000 elements and 2~3k Free DoFs in around 100 ms would be fine. BFE does that easily even on a quite old machine.
<br />
<br />
Since the application isn't intended for serious purposes, but to show the basics of structures (trusses, how forces (torque) propagates, etc.), it's not necessary to actually reflect real scenarios, but I need reproducible results. Results that won't change substantially on different hardwares, so I can't use the other solvers intended for real-time applications because they are all very indeterministic. I was using a physics engine intended for games and it's amazing how structures will behave very differently only if you move them 1m away, because floating point errors are added and when you have many elements the final difference is huge. Different hardwares will yield different results too, so a structure that's stable on my machine could collapse on yours. that's why I decided to go with an actual FE package for that. These high speed physics engine they work only with velocities, not forces, basically they accelerate all objects and then check for constraints and try to compensate.
<br />
<br />
I'm considering OOFEM too, which has nonlinear and allows you to setup quite detailed materials, but I don't think it's going to perform acceptably. FEA is somewhat out of my expertise so I'm not very keen on doing substantial changes on a library and I'm looking for one that fits my needs. Maybe there just isn't a nonlinear solver that will perform fast enough so in this case I'd just drop the cables altogether and use BFE because so far I'm really happy with it. I've tested some massive structures and the results are very precise and it's very fast too.
<br />
<br />
Thank you.<br />
</div>Alan2Sun, 25 Sep 2016 13:43:41 GMTNew Post: Cables simulation or workaround (maybe using truss elements) 20160925014341PNew Post: Cables simulation or workaround (maybe using truss elements)https://brieffiniteelementnet.codeplex.com/discussions/658231<div style="line-height: normal;">Hello Dear,<br />
A truss element with zero compression resistance - but non zero tension resistance - falls into nonlinear finite element analysis area. But BFE does only linear FEA so there is no - or at least a simple - way to directly implement such an element in project, because there is no compatible infrastructure.<br />
I have no enough knowledge in nonlinear FEA, but i think you can do such an analysis with another techniques which BFE can be helpful, but not only tool that you should use to achieve the result.<br />
That would not be easy as it is somehow nonlinear analysis. <br />
Your target model does have how many elements & nodes?<br />
</div>epsi1onSun, 25 Sep 2016 03:53:04 GMTNew Post: Cables simulation or workaround (maybe using truss elements) 20160925035304ANew Post: Cables simulation or workaround (maybe using truss elements)https://brieffiniteelementnet.codeplex.com/discussions/658231<div style="line-height: normal;">Hello there.
<br />
<br />
Is it possible to somehow have 'cables' in the simulation? I'm doing an educational game so it's not necessary to be very correct, something like a beam element that offers zero compression resistance would be a pretty good solution for me, but I lack the knowledge to do that. So perhaps there's a way to achieve a similar result, maybe using (3) truss elements (with free nodes), I'm not sure. Truss elements have a problem though, they are too restrictive, for some reason I couldn't manage to get them working on released nodes.
<br />
<br />
I've tried hinged beams (frame), springs (couldn't figure how to use them) and complex trusses to no avail.
<br />
<br />
Here's a starting point I'm using to test this (with some easy functions):<br />
<pre><code>using System;
using BriefFiniteElementNet.Elements;
namespace BriefFiniteElementNet.CodeProjectExamples
{
class Testing
{
private Model model;
public void Run()
{
model = new Model();
var n1 = AddNode(0, 0, 0, Constraint.Fixed);
var n2 = AddNode(1, 0, 0, Constraint.Fixed);
var n3 = AddNode(0, 1, 0, Constraint.Fixed);
var n4 = AddNode(0, 0, 3, Constraint.Released);
var n5 = AddNode(1, 1, 3, Constraint.Released, new NodalLoad(new Force(1e5, 1e5, 0, 0, 0, 0)));
AddBeam(n1,n4);
AddBeam(n2,n4);
AddBeam(n3, n4);
AddBeam(n4, n5);
//var e4 = new TrussElement2Node(n2, n1);e4.A = 9e-4; e4.E = 210e9;model.Elements.Add(e4);
model.Solve(BuiltInSolverType.ConjugateGradient);
Console.Write("solved");
}
Node AddNode(double x, double y, double z, Constraint constraint)
{
Node newNode = new Node(x, y, z)
{ Constraints = constraint };
model.Nodes.Add(newNode);
return newNode;
}
Node AddNode(double x, double y, double z, Constraint constraint, NodalLoad load)
{
Node newNode = new Node(x, y, z)
{ Constraints = constraint };
newNode.Loads.Add(load);
model.Nodes.Add(newNode);
return newNode;
}
Element1D AddBeam(Node n1, Node n2)
{
FrameElement2Node newElement = new FrameElement2Node(n1, n2) { G=1e11, E=2e11, A=1e-5 };
newElement.ConsiderShearDeformation = false;
newElement.Geometry = SectionGenerator.GetRectangularSection(.2, .2);
newElement.UseOverridedProperties = false;
model.Elements.Add(newElement);
return newElement;
}
}
class Program
{
[STAThread]
static void Main(string[] args)
{
new Testing().Run();
}
}
}</code></pre>
If you guys could somehow modify that to achieve something similar to a cable, I'd really appreciate, or if it's not possible I'd consider implementing a 'compressible' beam element in the project if you give me some initial pointers. I think it's possible with a modified matrix but I'm not really sure how the elements matrices work.
<br />
<br />
Thank you very much.<br />
</div>Alan2Sat, 24 Sep 2016 20:48:31 GMTNew Post: Cables simulation or workaround (maybe using truss elements) 20160924084831PNew Post: Planar load distribution to a beam systemhttps://brieffiniteelementnet.codeplex.com/discussions/657547<div style="line-height: normal;">Well, this particular problem I am working with, concerns only distribution of planar loads (I am developing a general stability application where the planar load is distributed to stabilising walls, calculations involved are not FEM), so not in this case. But I was thinking that automatic distribution of planar loads could really be generally helpful in your application also.<br />
</div>shtirlitsDvaTue, 13 Sep 2016 07:57:51 GMTNew Post: Planar load distribution to a beam system 20160913075751ANew Post: Planar load distribution to a beam systemhttps://brieffiniteelementnet.codeplex.com/discussions/657547<div style="line-height: normal;">That did makes sense.
<br />
After that you converted the area loads into beam loads, are you going to analyse the problem with Finite Element method and find internal forces or beams?<br />
</div>epsi1onTue, 13 Sep 2016 03:41:10 GMTNew Post: Planar load distribution to a beam system 20160913034110ANew Post: Planar load distribution to a beam systemhttps://brieffiniteelementnet.codeplex.com/discussions/657547<div style="line-height: normal;">I found a short discussion of the problem: <a href="https://risa.com/risahelp/risa3d/Content/3D_2D_Only_Topics/Loads%20-%20Area%20Loads.htm#Attribution_3D" rel="nofollow">https://risa.com/risahelp/risa3d/Content/3D_2D_Only_Topics/Loads%20-%20Area%20Loads.htm#Attribution_3D</a>
<br />
<br />
It uses FEM approach to solve the problem.<br />
</div>shtirlitsDvaMon, 12 Sep 2016 21:17:41 GMTNew Post: Planar load distribution to a beam system 20160912091741P