Re: Webinar
We have not done so, but do sometimes teach in the context of other workshops or summer schools. We'll take this under advisement. > On May 23, 2017, at 2:14 PM, Sergio Manzetti> wrote: > > Hi, do NIST organize or has organized a Webinar for beginners using FiPY? > > Best wishes > Sergio > > Sergio Manzetti > > > > Fjordforsk AS > Midtun > 6894 Vangsnes > Norge > Org.nr. 911 659 654 > Tlf: +47 57695621 > Økolab | Nanofactory | AQ-Lab | FAP > > ___ > fipy mailing list > fipy@nist.gov > http://www.ctcms.nist.gov/fipy > [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ] ___ fipy mailing list fipy@nist.gov http://www.ctcms.nist.gov/fipy [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]
Re: Complex conjugates in FiPY
In (intentionally) provocative terms, PDEs with analytical solutions aren't good for anything. If I want to develop a qualitative understanding of the neutron flux and temperature in a nuclear reactor, I can make considerable headway with Bessel functions in cylindrically symmetric coordinates and a piece of paper. If I want to understand in detail which coolant channels and where in a real reactor are most likely to develop boiling conditions that choke off flow and cause neighboring fuel elements to melt, then I need a numerical simulation of a coupled set of PDEs governing neutron generation and absorption, multi-phase fluid flow, heat transport and generation, phase transformation of fuel, matrix, and cladding materials, and so on and so on. More simplistically, our first example demonstrates several cases of diffusion in 1D for basic reason that there are analytical solutions to validate against and many people have seen them before. Increase the number of dimensions, alter the boundary conditions, or introduce nonlinear coefficients, and there no longer are analytical solutions. If mathematical analysis of PDEs is your goal, FiPy probably isn't the tool for you. > On May 23, 2017, at 1:08 PM, Sergio Manzetti> wrote: > > Yes, just the first. But I am still not familiar with the point of numerical > simulations, I have bought a book on it, and read a few papers, but they all > don't explain the core intention of numerical sims: > > If it is not to solve the PDE, what is the point of inserting a > trial-function unless it has some analytical validity (thus analytical method > is required anyway), and therefore what is the real gain of getting a plot of > a numerical representation of the change of the solution during a given time > frame? > > If there was an example as simple as "one box of apples of 24 apples times > two makes 48 apples" to illustrate what we can get out of a numerical sim, > that would be excellent. But also that is difficult to find, even on google. > > Thanks! > Sergio > > Sergio Manzetti > > > > Fjordforsk AS > Midtun > 6894 Vangsnes > Norge > Org.nr. 911 659 654 > Tlf: +47 57695621 > Økolab | Nanofactory | AQ-Lab | FAP > > > From: "jonathan guyer" > To: "fipy" > Sent: Tuesday, May 23, 2017 5:04:59 PM > Subject: Re: Complex conjugates in FiPY > > Have you worked through the examples on our website and in our manual? > > > On May 23, 2017, at 9:58 AM, Sergio Manzetti > > wrote: > > > > Dear Jonathan. Thank your for this clarification. Can you recommend me a > > tutorial or a paper of numerical simuation which shows the use of the > > numerical output (plots or other data)? > > > > Thanks > > > > Sergio > > > > > > Sergio Manzetti > > > > > > > > Fjordforsk AS > > Midtun > > 6894 Vangsnes > > Norge > > Org.nr. 911 659 654 > > Tlf: +47 57695621 > > Økolab | Nanofactory | AQ-Lab | FAP > > > > > > From: "jonathan guyer" > > To: "fipy" > > Sent: Tuesday, May 23, 2017 3:34:51 PM > > Subject: Re: Complex conjugates in FiPY > > > > > On May 23, 2017, at 8:05 AM, Sergio Manzetti > > > wrote: > > > > > > I am not sure what the script does, when one sets a phi value before the > > > given PDE...when I thought that the phi value was found exactly by FipY? > > > > Setting phi before solving the PDE is setting the initial condition. FiPy > > is designed to ***numerically*** solve time-evolving PDEs. > > > > > > ___ > > fipy mailing list > > fipy@nist.gov > > http://www.ctcms.nist.gov/fipy > > [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ] > > ___ > > fipy mailing list > > fipy@nist.gov > > http://www.ctcms.nist.gov/fipy > > [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ] > > > ___ > fipy mailing list > fipy@nist.gov > http://www.ctcms.nist.gov/fipy > [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ] > ___ > fipy mailing list > fipy@nist.gov > http://www.ctcms.nist.gov/fipy > [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ] ___ fipy mailing list fipy@nist.gov http://www.ctcms.nist.gov/fipy [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]
Webinar
Hi, do NIST organize or has organized a Webinar for beginners using FiPY? Best wishes Sergio Sergio Manzetti [ http://www.fjordforsk.no/logo_hr2.jpg ] [ http://www.fjordforsk.no/ | Fjordforsk AS ] [ http://www.fjordforsk.no/ | ] Midtun 6894 Vangsnes Norge Org.nr. 911 659 654 Tlf: +47 57695621 [ http://www.oekolab.com/ | Økolab ] | [ http://www.nanofact.no/ | Nanofactory ] | [ http://www.aq-lab.no/ | AQ-Lab ] | [ http://www.phap.no/ | FAP ] ___ fipy mailing list fipy@nist.gov http://www.ctcms.nist.gov/fipy [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]
Re: Complex conjugates in FiPY
Have you worked through the examples on our website and in our manual? > On May 23, 2017, at 9:58 AM, Sergio Manzetti> wrote: > > Dear Jonathan. Thank your for this clarification. Can you recommend me a > tutorial or a paper of numerical simuation which shows the use of the > numerical output (plots or other data)? > > Thanks > > Sergio > > > Sergio Manzetti > > > > Fjordforsk AS > Midtun > 6894 Vangsnes > Norge > Org.nr. 911 659 654 > Tlf: +47 57695621 > Økolab | Nanofactory | AQ-Lab | FAP > > > From: "jonathan guyer" > To: "fipy" > Sent: Tuesday, May 23, 2017 3:34:51 PM > Subject: Re: Complex conjugates in FiPY > > > On May 23, 2017, at 8:05 AM, Sergio Manzetti > > wrote: > > > > I am not sure what the script does, when one sets a phi value before the > > given PDE...when I thought that the phi value was found exactly by FipY? > > Setting phi before solving the PDE is setting the initial condition. FiPy is > designed to ***numerically*** solve time-evolving PDEs. > > > ___ > fipy mailing list > fipy@nist.gov > http://www.ctcms.nist.gov/fipy > [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ] > ___ > fipy mailing list > fipy@nist.gov > http://www.ctcms.nist.gov/fipy > [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ] ___ fipy mailing list fipy@nist.gov http://www.ctcms.nist.gov/fipy [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]
Re: Complex conjugates in FiPY
Thanks Daniel, I will try the latter example. Sergio Sergio Manzetti [ http://www.fjordforsk.no/logo_hr2.jpg ] [ http://www.fjordforsk.no/ | Fjordforsk AS ] [ http://www.fjordforsk.no/ | ] Midtun 6894 Vangsnes Norge Org.nr. 911 659 654 Tlf: +47 57695621 [ http://www.oekolab.com/ | Økolab ] | [ http://www.nanofact.no/ | Nanofactory ] | [ http://www.aq-lab.no/ | AQ-Lab ] | [ http://www.phap.no/ | FAP ] From: "Daniel Wheeler"To: "fipy" Sent: Tuesday, May 23, 2017 4:03:32 PM Subject: Re: Complex conjugates in FiPY On Tue, May 23, 2017 at 8:05 AM, Sergio Manzetti wrote: > > Dear Daniel. In this example I was trying to find out a solution for the > complex differential equation: > > i dphi/dt + d²phi/dx^2 + |phi^2|phi = 0 > > However, I just learned from the fipy ring that complex conjugates are not > possible to include in Fipy. Right, FiPy knows nothing about complex numbers. > However, if I should calculate the given eqn without the complex conjugate: > > dphi/dt + d²phi/dx^2 + |phi^2|phi = 0 That is a strange equation because it induces counter diffusion, which probably won't solve. I'm not sure whether the source term does something to counter that, but you can try. > which example should I follow in the manuscript? There isn't an example that matches this equation exactly, but try http://www.ctcms.nist.gov/fipy/examples/diffusion/generated/examples.diffusion.mesh1D.html for the TransientTerm and DiffustionTerm and http://www.ctcms.nist.gov/fipy/examples/phase/generated/examples.phase.simple.html for the ImplicitSourceTerm. > I am not sure what the script does, when one sets a phi value before the > given PDE...when I thought that the phi value was found exactly by FipY? Setting the value before solving the PDEs provide the initial value if it's an initial value problem. Even a non-initial value problem needs to be start somewhere for the non-linear numerical iteration. -- Daniel Wheeler ___ fipy mailing list fipy@nist.gov http://www.ctcms.nist.gov/fipy [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ] ___ fipy mailing list fipy@nist.gov http://www.ctcms.nist.gov/fipy [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]
Re: Complex conjugates in FiPY
On Tue, May 23, 2017 at 8:05 AM, Sergio Manzettiwrote: > > Dear Daniel. In this example I was trying to find out a solution for the > complex differential equation: > > i dphi/dt + d²phi/dx^2 + |phi^2|phi = 0 > > However, I just learned from the fipy ring that complex conjugates are not > possible to include in Fipy. Right, FiPy knows nothing about complex numbers. > However, if I should calculate the given eqn without the complex conjugate: > > dphi/dt + d²phi/dx^2 + |phi^2|phi = 0 That is a strange equation because it induces counter diffusion, which probably won't solve. I'm not sure whether the source term does something to counter that, but you can try. > which example should I follow in the manuscript? There isn't an example that matches this equation exactly, but try http://www.ctcms.nist.gov/fipy/examples/diffusion/generated/examples.diffusion.mesh1D.html for the TransientTerm and DiffustionTerm and http://www.ctcms.nist.gov/fipy/examples/phase/generated/examples.phase.simple.html for the ImplicitSourceTerm. > I am not sure what the script does, when one sets a phi value before the > given PDE...when I thought that the phi value was found exactly by FipY? Setting the value before solving the PDEs provide the initial value if it's an initial value problem. Even a non-initial value problem needs to be start somewhere for the non-linear numerical iteration. -- Daniel Wheeler ___ fipy mailing list fipy@nist.gov http://www.ctcms.nist.gov/fipy [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]
Re: Complex conjugates in FiPY
> On May 23, 2017, at 8:05 AM, Sergio Manzetti> wrote: > > I am not sure what the script does, when one sets a phi value before the > given PDE...when I thought that the phi value was found exactly by FipY? Setting phi before solving the PDE is setting the initial condition. FiPy is designed to ***numerically*** solve time-evolving PDEs. ___ fipy mailing list fipy@nist.gov http://www.ctcms.nist.gov/fipy [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]
Re: Complex conjugates in FiPY
> On May 23, 2017, at 8:09 AM, Sergio Manzetti> wrote: > Were can one find the function that results as the solution to the given PDE > in FiPY? For isntance, if this solution was phi = sec²(x) can FiPY print it > out? No. FiPy is a numerical PDE solver. It knows nothing about your analytical solution. ___ fipy mailing list fipy@nist.gov http://www.ctcms.nist.gov/fipy [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]
Re: Complex conjugates in FiPY
Dear Daniel, This is the current script referred to in the previous email, where I have removed the phi.set value for phi. Were can one find the function that results as the solution to the given PDE in FiPY? For isntance, if this solution was phi = sec²(x) can FiPY print it out? Thanks Sergio dphi/dt + d^2phi/dx² + |phi|² phi = 0 #!/usr/bin/env python # testing a non-complex variant of the NLSE import numpy import cmath as math from fipy import * from fipy import numerix nx = 50 dx = 1. / float(nx) mesh = Grid1D(nx=nx,dx=dx) X = mesh.cellCenters[0] phi = CellVariable(mesh=mesh, name="Solution") #phi.setValue(0.5-0.5*numerix.exp((1j*X))) vi = Viewer(vars=phi,datamin=0.0, datamax=1.0) vi.plot() raw_input("Initialization ...") phi.constrain(1., mesh.facesLeft) phi.constrain(0., mesh.facesRight) phi_sq = CellVariable(mesh=mesh) phi_sq.setValue( phi*phi ) #We now represent the equation, where u = phi, du/dt + d^2u/dx^2 + u^2 = 0 in fipy commands. du/dx : is a convection term with a unit scalar coefficient, i.e. (coeff=(1.,), var=u) , # du/dt : is a transient term that one can treat as before, i.e. TransientTerm(var=u). one can add a second order derivative as ExplicitDiffusionTerm(coeff=D) eq = TransientTerm(coeff=1., var=phi) + ExponentialConvectionTerm(coeff=(1.,), var=phi) + abs((phi_sq))*(phi) == 0.0 dt = 0.01 steps = 100 for step in range(steps): eq.sweep(dt=dt) # phi_sq.setValue( phi * phi ) # vi.plot() phiAnalytical = CellVariable(name="Analytical value", mesh=mesh) vi = Viewer(vars=(phi, phiAnalytical)) vi.plot() raw_input("Press ...") Sergio Manzetti [ http://www.fjordforsk.no/logo_hr2.jpg ] [ http://www.fjordforsk.no/ | Fjordforsk AS ] [ http://www.fjordforsk.no/ | ] Midtun 6894 Vangsnes Norge Org.nr. 911 659 654 Tlf: +47 57695621 [ http://www.oekolab.com/ | Økolab ] | [ http://www.nanofact.no/ | Nanofactory ] | [ http://www.aq-lab.no/ | AQ-Lab ] | [ http://www.phap.no/ | FAP ] From: "Daniel Wheeler"To: "fipy" Sent: Monday, May 22, 2017 6:05:25 PM Subject: Re: Complex conjugates in FiPY On Sat, May 20, 2017 at 5:02 AM, Sergio Manzetti wrote: > > Dear Daniel, I am wondering if you can clarify a small. thing. > > In the given script, phi is set as e^ix, and the numerical simulation treats > the given PDE. Is phi tested for wether it is a result of the given PDE in > this script ? Or does the script do something else? I'm not quite sure what you're asking, but I'm sure that the script below does not work as you intend it to work. > #!/usr/bin/env python > # testing a non-complex variant of the NLSE > > import numpy > import cmath as math > from fipy import * > from fipy import numerix > > nx = 50 > dx = 1. / float(nx) > > mesh = Grid1D(nx=nx,dx=dx) > X = mesh.cellCenters[0] > > phi = CellVariable(mesh=mesh, name="Solution") > phi.setValue(0.5-0.5*numerix.exp((1j*X))) At this point your script is broken, "phi.value.imag" is all zero while "(0.5-0.5*numerix.exp((1j*X))).value.imag" is non-zero. The type of the CellVariable is wrong initially and the type doesn't change when the value is reset. -- Daniel Wheeler ___ fipy mailing list fipy@nist.gov http://www.ctcms.nist.gov/fipy [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ] ___ fipy mailing list fipy@nist.gov http://www.ctcms.nist.gov/fipy [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]
Re: Complex conjugates in FiPY
Dear Daniel. In this example I was trying to find out a solution for the complex differential equation: i dphi/dt + d²phi/dx^2 + |phi^2|phi = 0 However, I just learned from the fipy ring that complex conjugates are not possible to include in Fipy. However, if I should calculate the given eqn without the complex conjugate: dphi/dt + d²phi/dx^2 + |phi^2|phi = 0 which example should I follow in the manuscript? I am not sure what the script does, when one sets a phi value before the given PDE...when I thought that the phi value was found exactly by FipY? Thanks! Sergio Sergio Manzetti [ http://www.fjordforsk.no/logo_hr2.jpg ] [ http://www.fjordforsk.no/ | Fjordforsk AS ] [ http://www.fjordforsk.no/ | ] Midtun 6894 Vangsnes Norge Org.nr. 911 659 654 Tlf: +47 57695621 [ http://www.oekolab.com/ | Økolab ] | [ http://www.nanofact.no/ | Nanofactory ] | [ http://www.aq-lab.no/ | AQ-Lab ] | [ http://www.phap.no/ | FAP ] From: "Daniel Wheeler"To: "fipy" Sent: Monday, May 22, 2017 6:05:25 PM Subject: Re: Complex conjugates in FiPY On Sat, May 20, 2017 at 5:02 AM, Sergio Manzetti wrote: > > Dear Daniel, I am wondering if you can clarify a small. thing. > > In the given script, phi is set as e^ix, and the numerical simulation treats > the given PDE. Is phi tested for wether it is a result of the given PDE in > this script ? Or does the script do something else? I'm not quite sure what you're asking, but I'm sure that the script below does not work as you intend it to work. > #!/usr/bin/env python > # testing a non-complex variant of the NLSE > > import numpy > import cmath as math > from fipy import * > from fipy import numerix > > nx = 50 > dx = 1. / float(nx) > > mesh = Grid1D(nx=nx,dx=dx) > X = mesh.cellCenters[0] > > phi = CellVariable(mesh=mesh, name="Solution") > phi.setValue(0.5-0.5*numerix.exp((1j*X))) At this point your script is broken, "phi.value.imag" is all zero while "(0.5-0.5*numerix.exp((1j*X))).value.imag" is non-zero. The type of the CellVariable is wrong initially and the type doesn't change when the value is reset. -- Daniel Wheeler ___ fipy mailing list fipy@nist.gov http://www.ctcms.nist.gov/fipy [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ] ___ fipy mailing list fipy@nist.gov http://www.ctcms.nist.gov/fipy [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]