Giter VIP home page Giter VIP logo

pyfimm's People

Contributors

demisjohn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

pyfimm's Issues

Import from File

Import from File - reference path inside a file, import into new object. ImportWG, ImportCirc, ImportDev()

Open WG from File

Open WG from File, create new object by copy/pasting the WG into project

Calc(): MOLAB search start & end n_eff

  • Option for MOLAB search start & end n_eff (global pyfimm settings). applicable to FEM, FDM - not sure of others. If only start is spec'd, will search for this OR LESS. Maybe take two-valued tuple as arg? Or separate set_start() & set_end()

Device: Plot input field/get input field

From Vincent Brulis: Yes you just need to sum up the field amplitudes. If you want to normalise your vector you simply need to normalise the field coefficients; the normalised vector corresponding to [1.0 + 0j , 0.5 + 0.5j , 0 , 0] is [1.0/sqrt(1.5) + 0j , 0.5/sqrt(1.5) + 0.5j/sqrt(1.5) , 0 , 0]

Calc(): take args for mode solver

  • allow Calc (WG,Circ,Dev) to take arguments for mode solver (update mlp's on the fly - requires that global MoLab Params have local (WG./Dev.) equivalent first)

add global params into Device

  • Add global params into WG & Device - set_N, set_solver, set_N1d etc…
  • All global params should have local (WG,Dev) equiv., so they can be changed before/after building for each element

Device-> Periodic sections

  • Device-> Periodic sections. Use New-SubElement & New-SubJoint to set the reference device to repeat & joint between them

Fimmwave nodename returns Int instead of String

(most recent call last):
  File "<stdin>", line 1, in <module>
  File "pyfimm\__pyfimm.py", line 424, in buildNode
    SNnames.append(  fimm.Exec(r"app.subnodes["+str(i+1)+"].nodename").strip()[:-2]  )   
AttributeError: 'float' object has no attribute 'strip'

typecast fimmwave output to string if a name is expected? Should have done:

SNnames.append(  str(  fimm.Exec(r"app.subnodes["+str(i+1)+"].nodename").strip()[:-2]  )  )

Upgrade to compatibility with v6.2.2

From Vincent Brulis:

We have upgraded the command line interface to allow it to call functions inline, for instance:
app.[…].fdtd.fluxvposition(…).get()
in OmniSim.

As a result, all functions must now be called with brackets, even if they do not have arguments. For instance:
wg.evlist.update
wg.evlist[1].neff
will no longer work, instead you will need to use:
wg.evlist.update()
wg.evlist[1].neff()

I have written a Python script that will allow users to check their scripts and update them semi-automatically; the script identifies all the lines of code that could cause problems and gets you to check them one by one and agree to the changes, whilst keeping a back up of the old files.

You will need to run this on your pyFIMM library to allow it to work with the new version; running the script on pyFIMM will still allow it to run with previous versions as it is merely adding brackets where they were previously optional. I just ran the script on pyFIMM as a test and there was only a modest number of changes to apply.

You can find more details in the Changes Logs of the new FIMMWAVE manual once you receive it.

Cavity.plot: E^2

Add field component option for plotting field squared, eg. 'Ex2', 'Ey2' etc.etc. Probably just use string check to see if last char is '2', eg. if component.endswith('2'):...

Add global Params into WG/Circ

  • Add global params into WG & Device - set_N, set_solver, set_N1d etc…
  • All global params should have local (WG,Dev) equiv., so they can be changed before/after building for each element

- Calc(polish=True)

  • Calc(polish=True) - automatic polishing.... somehow. Just set the "polish" flag in solver params?
    requires that Calc can take Molab params, so the polish would have an effect (eg. high res, diff. mode solver etc.)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.