Coder Social home page Coder Social logo

Comments (4)

keurfonluu avatar keurfonluu commented on June 12, 2024

Hi @ariellellouch,

Totally my fault.
disba and evodcinv are using different default values for the parameter dc (the increment for the root finding algorithm), 0.005 and 0.001 respectively.
The default value in disba is too high for multimodal dispersion curves, resulting in what's called modal "jumps" (i.e., wrong association of root and mode).

Setting the same value for both disba and evodcinv will give you an output consistent with what has been calculated in evodcinv:

model.configure(
    optimizer="cpso",  # Evolutionary algorithm
    misfit="rmse",  # Misfit function type
    optimizer_args={
        "popsize": 200,  # Population size
        "maxiter": 200,  # Number of iterations
        "workers": 6,  # Number of cores
        "seed": 0,
    },
    dc=0.001,
)

and

pd = PhaseDispersion(*final_model.T, dc=0.001)

output

from evodcinv.

ariellellouch avatar ariellellouch commented on June 12, 2024

Super, thanks a lot!
Not sure if you want to change the defaults or put a note of it in the manual (these picks are from field data we just acquired, not some theoretical case), but that's a great explanation :)

from evodcinv.

keurfonluu avatar keurfonluu commented on June 12, 2024

Yes, I should. I am just not sure which one to use. 0.005 is usually enough for the fundamental mode and is the default value in CPS. But 0.001 is more accurate (but slower). Anyway, if you have other questions and requests regarding evodcinv, feel free to ask!

from evodcinv.

ariellellouch avatar ariellellouch commented on June 12, 2024

One idea would be a simple heuristic based on the mode number, maybe? From my experience, your defaults are OK for fundamental, mode 1, and mode 2. So, for example, even something like dc = max(0.001, 0.005-0.001*mode number) could be a starting point...

from evodcinv.

Related Issues (11)

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.