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




-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to