Skip to content

Initial commit of Phonon_BvK_PG and test instrument#2344

Open
lefmann wants to merge 15 commits intomccode-dev:mainfrom
lefmann:main
Open

Initial commit of Phonon_BvK_PG and test instrument#2344
lefmann wants to merge 15 commits intomccode-dev:mainfrom
lefmann:main

Conversation

@lefmann
Copy link

@lefmann lefmann commented Feb 24, 2026

Free-form text area

Please describe what your PR is adding in terms of features or bugfixes:

Initial commit, but this is not yet cleaned up


Development OS / boundary conditions

Please describe what OS you developed and tested your additions on, and if any special dependencies are required:


PR Checklist for contributing to McStas/McXtrace

For a coherent and useful contribution to McStas/McXtrace, please fill in relevant parts of the checklist:

  • My contribution includes a new component file

    • I have ensured that naming of parameters are in the style of existing components. (Please check the McStas or McXtrace NOMENCLATURE docs.)
    • I have ensured that component parameters are in the usually units of McStas or McXtrace (SI + neutron/x-ray 'usual' units)
    • I have used the mcdoc utility and rendered a reasonable documentation page for the component (please attach as screenshot in comments!)
    • I have ensured that basic use of the component is OK (e.g. an instrument using it compiles?)
    • I have included a corresponding example instrument and will fill in the new instrument section below
    • I have used the mccode-clangformat tool to apply the standard McCode component indentation scheme
    • My new component is added within the contrib component category
  • My contribution includes a new instrument file

    • I have used the mcdoc utility and rendered a reasonable documentation page for the instrument (please attach as screenshot in comments!)
    • I have ensured that basic use of the instrument is OK (e.g. it compiles?)
    • ... and provided reasonable default parameters in that instrument that produce reasonable output
    • ... and maybe even added a %Example: line to describe expected behaviour
    • I have used the mcrun --c-lint "linter" and followed advice to remove most / all warnings that are raised
    • My new instrument is added within the examples hierarchy in a folder in the style of examples/ESS/New_stuff/New_stuff.instr
    • My new instrument has a new, unique filename, not clashing with existing example instruments
    • My new instrument requires a data/input file. If the datafile is specific for my instrument I have left it in the same example folder, but if general use I have placed it in the global data folder.
  • My work touches / adds to the runtime lib code (.c,.h etc in multiple locations

    • I am have added reasoning and documentation for the change below
    • I am attaching test output in the comments

@willend
Copy link
Contributor

willend commented Feb 24, 2026

@lefmann I have shortened the “checklist” above to contain only the relevant tick-marks.

I will now see if I can reformat the c-snippets from J. Avery to become a more standard set of McStas %include files.

@willend
Copy link
Contributor

willend commented Feb 25, 2026

@lefmann yikes!

I now have running prototype on Windows - hacked together just now… Loads of edits to both the Avery snippets and your comp code… Nasty process but now produces data:
image

@willend
Copy link
Contributor

willend commented Feb 25, 2026

Supplementing the above rewrite of eigen.h/c to use mccode-complex-lib (which is tested to work correctly / identically to the original) I also put an intermediate version of the component here:
Phonon_BvK_PG.comp.TXT

Status is that this comp runs across platforms - but finer details of the main omega_q functions seems to have broken in the process… Output is different… (AI was used for some automation in replacing +-*/ operators by mccode-complex-lib` wrapper functions…)

@willend
Copy link
Contributor

willend commented Feb 25, 2026

Identical output on unix and windows with the last commit
Screenshot 2026-02-25 at 22 00 44

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants