## Re: [Libmesh-users] Neumann condition implementation

 Re: [Libmesh-users] Neumann condition implementation From: Maxime Debon - 2008-06-04 10:53:35 ```Hi, First, thank you for your fast answer. After, multiple tries, I found that the number of timesteps has also an influence on the solution but not the number of elements nor the refinement's deep. I can't figure out the convergence mecanism with Neumann whereas it seems obvious with Dirichlet. Quoting Roy Stogner : > I can't tell for sure, but it looks like there may be a bit of conflict > between your time discretization and your Neumann boundary conditions? > Make sure you're really solving "du/dx|xmax = g", not "d^2 u/dxdt|xmax = g" You are right, the Neumann condition returns good results in static mode but not in transient. As I was using the theta method, I tried with the Newmark system (from ex. 8) to figure out a way to implement this Neumann boundary, but the problem still exists. Therefore, I replaced the Dirichlet condition in the dirichlet function by a Neumann condition. // ------------------------------------------------------ // if (fabs(curr_node(0)-Xmax) < TOLERANCE) { unsigned int dn = curr_node.dof_number(0,0,0); double neumann_value = 1.0; force.add(dn,neumann_value); } // ------------------------------------------------------ // Now, it seems that the derivative value at the upper side only depends on Xmax (not on dt). In that way, the good result is obtained with on approximative value of Xmax=55. Then, the same phenomenon occurs, if Xmax < 55, the upper derivative is > 1 and if Xmax > 55, the upper derivative is < 1. Another way to proceed would prefer the use of infinite elements but some restrictions have been made in 1D as it is explained in InfElemBuilder class : "00572 // 1D infinite elements not supported" So, the questions are : How to construct a free Neumann condition ? Is there any way to circumvent restrictions and use infinite elements in 1D ? Thanks a lot, Maxime ```