{"id":15009132,"url":"https://github.com/kordusas/npp_mcnp_plugin","last_synced_at":"2025-04-09T17:23:18.326Z","repository":{"id":248681058,"uuid":"820423025","full_name":"kordusas/npp_mcnp_plugin","owner":"kordusas","description":"notepad++ plugin for MCNP deck development. shows informative popups for selected cell/surface/physics cards. Inbuilt error checking.","archived":false,"fork":false,"pushed_at":"2025-02-20T21:35:36.000Z","size":3863,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-23T19:22:54.572Z","etag":null,"topics":["ide","mcnp","notepad-plus-plus","python27"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kordusas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["kordusas"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2024-06-26T12:44:32.000Z","updated_at":"2025-02-04T15:37:11.000Z","dependencies_parsed_at":"2024-07-26T18:14:29.223Z","dependency_job_id":"86583a4c-06e1-470d-9829-4cd0cc2c36a5","html_url":"https://github.com/kordusas/npp_mcnp_plugin","commit_stats":{"total_commits":150,"total_committers":2,"mean_commits":75.0,"dds":"0.020000000000000018","last_synced_commit":"0f9f28dede5f14f80a4e42700b478d2b45f93320"},"previous_names":["kordusas/npp_mcnp_plugin"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kordusas%2Fnpp_mcnp_plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kordusas%2Fnpp_mcnp_plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kordusas%2Fnpp_mcnp_plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kordusas%2Fnpp_mcnp_plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kordusas","download_url":"https://codeload.github.com/kordusas/npp_mcnp_plugin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248075364,"owners_count":21043570,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ide","mcnp","notepad-plus-plus","python27"],"created_at":"2024-09-24T19:23:11.641Z","updated_at":"2025-04-09T17:23:18.313Z","avatar_url":"https://github.com/kordusas.png","language":"Python","funding_links":["https://github.com/sponsors/kordusas"],"categories":[],"sub_categories":[],"readme":"NPP_MCNP_Plugin\n==============\n\u003c!-- TOC --\u003e\n\n- [NPP_MCNP_Plugin](#npp_mcnp_plugin)\n    - [Introduction](#introduction)\n    - [Installation](#installation)\n    - [Usage](#usage)\n    - [Features](#features)\n        - [General](#general)\n        - [Generative Methods](#generative-methods)\n        - [Autocomplete](#autocomplete)\n        - [Cells Block Information](#cells-block-information)\n        - [Surfaces Block Information](#surfaces-block-information)\n        - [Physics Block Information](#physics-block-information)\n        - [MCNP Error Checking](#mcnp-error-checking)\n    - [Examples](#examples)\n    - [Attributed Files](#attributed-files)\n\n\u003c!-- /TOC --\u003e\n## Introduction\n\nNPP_MCNP_Plugin is an extension for Notepad++ designed to enhance the productivity of users working with MCNP (Monte Carlo N-Particle) files. It offers model analytics, including surface, cell, and material tracking, directly within the Notepad++ environment.\n\n## Installation\n\n1. Download the latest release of Python Script using the Notepad++ Plugins Admin.\n2. Navigate to the Notepad++ installation path\n3. place the npp_mcnp_plugin directory in the ../plugins/PythonScript/lib folder\n4. place the main.py file in the ../plugins/PythonScript/scripts\n\n\n## Usage\n\nAfter installation, the plugin can be accessed via the `plugins -\u003e PythonScript -\u003e scripts -\u003e main` in Notepad++. The plugin needs to be launched for each instance of Notepad++. \n\n\n![](docs/images/launch_plugin.png)\n\nOne can set up the shortcuts to the script following the advise in the discussion: \u003chttps://community.notepad-plus-plus.org/topic/14703/run-python-script-pythonscript-plugin-with-a-shortcut/3\u003e\n\n## Features\n\n### General\n\n- Ignores file extensions associated with other programs (.py, .cpp, .txt etc)\n- file reload on tab switch in notepad++ (based on filename change)\n- Maps project dependencies: Identifies and Analyzes the main MCNP input file to identify and list dependent files. (palnned)\n\n### Generative Methods\n\n- **Status**: Planned\n- **Description**: impement generative methods to simplify MCNP input writting.\n  - implement command to auto generate basic input structure, for example \\generate input creates all basic blocks of MCNP input\n  - implement LLM based input generation for example \\generate input with beam neutron source and a collimator for detector simulations\n  \n### Autocomplete\n\n- **Status**: Planned\n- **Description**: Autocomplete feature that suggests MCNP keywords and parameters as you type. This aims to boost productivity by offering real-time suggestions and minimizing syntax errors. The feature will be context-aware, providing suggestions based on the specific block you are working in:\n  - **In Cell Block**:\n    - Suggest autocomplete surface ID during typing from the available surface dictionary. (completed)\n    - suggest autocoplete the cell name after \"#\\d+\". (completed)\n    - Suggest a new cell ID after a newline in the cell block (completed).\n    - Suggest a material ID after one digit is typed;(completed)\n    - Suggest available transformations after typing \"trcl=\\d+\".  (completed)\n  - **In Surface Block**:\n    - Suggest a new surface ID after a newline.\n    - Auto-popup to show available transformations when typed \"\\tr\".\n  - **In Physics Block**:\n    - When in tallies, suggest available surfaces or cells depending on the tally. This will require context awareness about what type of tally it is.\n\n### Cells Block Information\n\n- **Status**: Completed\n- **Description**: For cell blocks,\n- selecting a specific cell displays a list of other cells where that cell is used, facilitating a deeper understanding of cell interactions within the model.\n- Selecting the material displays info about the material.\n- selecting surfaces displays information about the selected surfaces.\n\n### Surfaces Block Information\n\n- **Status**: Completed\n- **Description**:\n  - selecting a surface type provides information about that type. May add more surface types in data/surface_info.json\n  - selecting the transformation of the surface popups info about that trcl\n\n### Physics Block Information\n\n- **Status**: Planned\n- **Description**: Plans to develop functionalities for physics blocks are in place. This will allow users to access pertinent information and insights specific to physics blocks.\n  - pop information about surfaces in ssr/ssw card\n  - info about cells in ssr/ssw card\n  - info about cells in sdef\n  - info about surfaces in sdef\n\n### MCNP Error Checking\n\n- **Status**: Completed\n- **Description**: Pops a message after parsing the MCNP input and checking if\n  - tally particle identifiers are valid\n  - +f6 tally has a particle identifier\n  - tally parameters (cells or surfaces) are missing\n  - tally is missing\n  - surface type is invalid\n  - transformation parameters are missing\n  - cell entries(surface or #cell) are not integers\n  - cell surface entries exist\n\n## Examples\n\nNotification on cell block and surface block information happens once you select the card of interest.\n\n![](docs/images/selection_notification_example.gif)\n\nThe error checking happens every time you save a file and pops a separate window with comprehensive information.\n\n![](docs/images/error_message_popup_example.gif)\n\nExample of Cell Block autocoplete (suggestions for autocoplete cell ID, surface ID, material ID) feutures and cell ID selection.\n\n![](docs/images/autocomplete_feutures_example.gif)\n\n\n## Attributed Files\n\nThis repository includes a JSON data file (data/mcnp.tmSnippets.json) originally created by repositony \u003chttps://github.com/repositony/vscode_mcnp.git\u003e . It is licensed under the GNU General Public License v3.0. You can find the full text of the license in the LICENSE file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkordusas%2Fnpp_mcnp_plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkordusas%2Fnpp_mcnp_plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkordusas%2Fnpp_mcnp_plugin/lists"}