Hi Antonio, I have seen your ini file. Regarding time step and residual, PyFR uses explicit unsteady time marching method, such as Runge-Kutta method. Thus, every cell marches the same time step dt which you imposed in your INI file.
CFL condition may roughly guide the allowable time step. From your ini file, freestream velocity and speed of sounds are 100 and 340 repectively. If the minimum characteristic length of cell is about 0.05, your time step is O(0.0001). As you know well, If you increase order, the allowable time step is decreased around O(0.0001/n). You may get NaN solution if your dt is too large. I recommend to use NaN value check option in pyfr-sim, such as -n 500 (frequency for NaN check), and find allowable time step for Runge-Kutta scheme. Another option is to use adaptive time stepping, which find the maximum time step during computation. You need to modify [solver-time-integrator] section like below. [solver-time-integrator] scheme = rk45 controller = pi t0 = 0.0 dt = 5e-5 atol = 1e-3 rtol = 1e-3 You need to use PI controller and rk45 or rk34 scheme and impose the proper value for atol and rtol. When I solve the non-dimensionalized flow condition, I use (atol, rtol) as 1e-6, but I think larger values are needed for your condition. I have run your simulation quickly and 1e-3 seems fine. To compute and/or integrate some values, I think using Paraview is easy option, as Zach said. Actually, Paraview itself provides many features, so you can readily obtain these values. But sometimes, you may need to make a seperate code to read pyfrs solution and compute the values. PyFR can also handle periodic boundary condition, as shown in Euler Vortex example. When you make a mesh using gmsh, you can just impose physical group name as 'periodic_0_l', 'periodic_0_r', instead of your Boundary name (slip wall and so on). You can give many periodic condition when change 0 in that name to other number. pyfr-mesh can make data structure for periodic boundary condition and you don't need to change config file. In addition, PyFR can also handle curved elements, thus I think that it would be better to use higher-order gmsh elements, especially for sphere surface. There is option to set order for your mesh in gmsh. In command line, you can siimply do it. gmsh -3 -order 3 your.geo Regards, Jin Seok On Thursday, March 12, 2015 at 6:12:30 PM UTC, Antonio Garcia-Uceda wrote: > > Hi Zach, Freddie, Peter, > > Thanks a lot for your reply! In particular to Zach, it did help a lot your > reply to start the code running. I have some other technical questions: > > - "order 1" corresponds to p=1 or p=0 (scheme order 1)? > > - Is it possible to monitor residuals? I see it's required to input dt... > Isn't there a Global or Local time stepping scheme available? > > - How to specify the maximum time steps to run / convergence criteria? > > - If trying to run in parallel... Is it required to partition the .gmsh in > as many blocks as procs to be used? > > - If I want a specific output (let's say the L2 norm of entropy error on > Euler cases). Is it possible to input in the .ini file? If not, Where in > the code should I implement this output? > > The first attempts to run this case with pyFR do not look like making any > evolution of the solution in time. Perhaps I'm not setting correcltly the > time integration scheme/ BCs... Could you please have a look and tell me > whether it's OK? > > Thanks a lot for your help. > > On the other hand, if I want to set periodic boundary conditions (not for > this case though...) How should I specify the Boundaries in the .ini and > .gmsh files? I see in the "euler_vortex" case uploaded in the website that > no "bcs" tags are specified. Is it on the other hand necessary to name the > boundaries in any way inside the .gmsh file? > > Thanks once more! > > Best regards, > Antonio > > On Thursday, March 12, 2015 at 11:12:35 AM UTC+1, Vincent, Peter E wrote: >> >> Zach, Freddie - thanks for the input! >> >> Antonio - please let us know if it helps. >> >> Cheers >> >> Peter >> >> Dr Peter Vincent MSci ARCS DIC PhD >> Senior Lecturer and EPSRC Early Career Fellow >> Department of Aeronautics >> Imperial College London >> South Kensington >> London >> SW7 2AZ >> UK >> >> web: www.imperial.ac.uk/aeronautics/research/vincentlab >> twitter: @Vincent_Lab >> >> >> >> >> >> On 11 Mar 2015, at 20:24, Freddie Witherden <[email protected]> >> wrote: >> >> > Hi Antonio, >> > >> > On 11/03/15 17:34, Antonio Garcia-Uceda wrote: >> >> - When runninf the .ini file attached, an error pops-up with the >> >> following: "ValueError: Invalid characters in expression". What is >> wrong >> >> with it? >> > >> > Underscores are not supported as variable names inside the .ini file. >> > When these are used inside of the initial condition expressions they >> > give rise to the invalid characters in expression error. >> > >> > For those that are interested: we disallow underscores as it greatly >> > simplifies the logic required to ensure that initial condition >> > expressions are valid. If we did allow underscores then more work >> would >> > be required to ensure that the expression does not contain something >> > naughty in an attempt to execute arbitrary code: >> > >> > <http://nedbatchelder.com/blog/201206/eval_really_is_dangerous.html> >> > >> > Disallowing underscores and other 'fun' characters permits us to safely >> > use eval(). This is an order of magnitude simpler than pulling in a >> > proper expression evaluation library (or, worse still, rolling our own >> > with a custom parser/syntax tree). >> > >> > Regards, Freddie. >> > >> > -- >> > You received this message because you are subscribed to the Google >> Groups "PyFR Mailing List" group. >> > To unsubscribe from this group and stop receiving emails from it, send >> an email to [email protected]. >> > To post to this group, send an email to [email protected]. >> > Visit this group at http://groups.google.com/group/pyfrmailinglist. >> > For more options, visit https://groups.google.com/d/optout. >> >> -- You received this message because you are subscribed to the Google Groups "PyFR Mailing List" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send an email to [email protected]. Visit this group at http://groups.google.com/group/pyfrmailinglist. For more options, visit https://groups.google.com/d/optout.
