{"id":21364182,"url":"https://github.com/ml-evs/vfmcpp","last_synced_at":"2025-07-14T10:38:17.028Z","repository":{"id":18066510,"uuid":"21126507","full_name":"ml-evs/vfmcpp","owner":"ml-evs","description":null,"archived":false,"fork":false,"pushed_at":"2016-07-11T11:08:33.000Z","size":12680,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"release","last_synced_at":"2025-06-05T06:48:43.330Z","etag":null,"topics":["fluids","helium","physics","superfluid","vortex"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ml-evs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-06-23T13:06:51.000Z","updated_at":"2023-07-25T15:26:11.000Z","dependencies_parsed_at":"2022-09-02T12:32:12.220Z","dependency_job_id":null,"html_url":"https://github.com/ml-evs/vfmcpp","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ml-evs/vfmcpp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ml-evs%2Fvfmcpp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ml-evs%2Fvfmcpp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ml-evs%2Fvfmcpp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ml-evs%2Fvfmcpp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ml-evs","download_url":"https://codeload.github.com/ml-evs/vfmcpp/tar.gz/refs/heads/release","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ml-evs%2Fvfmcpp/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265281039,"owners_count":23739859,"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":["fluids","helium","physics","superfluid","vortex"],"created_at":"2024-11-22T06:23:34.208Z","updated_at":"2025-07-14T10:38:16.989Z","avatar_url":"https://github.com/ml-evs.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"vfmcpp\n==============\nvfmcpp is a C++ implementation of the vortex filament model of superfluids, used to study the dynamics of ring/ring and ring/line scattering.\n\n![A ring-line collision](example.gif?raw=true \"A ring-line collision\")\n\nTo compile in Linux, you can use the makefile `make`; it is advised you use GCC 4.7+, as that is all that has been tested. \nHelp with initial conditions can be found by running `run.sh` with the flag `-h`. The OpenMP version can be found  [here](https://github.com/ml-evs/vfmcppar).\n\nVisualisation is currently performed by a 3D matplotlib script (requires latest matplotlib version), which leaves a lot to be desired. Below are some dated animations (with old version of reconnection) to give an example visualisations only. This must be run with the data folder as an argument, e.g.\n\t\n\tpython animate.py ~/vfmcpp/data/example_run\n\nrun.sh\n---------\n\nDESCRIPTION:\n\nRun the vfmcpp code.\n\nUSAGE:\n\n\trun.sh [OPTIONS] [FILENAME]\n\nOPTIONS:        \n\n\t-c\n\t\tRecompile the code.\n\t-d\n\t\tRun the code inside the gdb debugger.\n\t-b \n\t\tRun benchmarking and profiling versions.\n\t-h\n\t\tShow usage information.\n\n\tFlags cannot be combined.\n\nFILENAME:\n\n\tThe initial condition file can be specified; defaults to \"run.in\".\n\nINITIAL CONDITIONS: \n\n\tpath \n\t\tdata folder path relative to vfmcpp root folder (will be created if doesn't exist or emptied if exists)\n\t\n\ttime\t\n\t\ttotal length of time to simulate\n\t\n\tresl\t\n\t\tspecify the resolution of the simulation in metres, filaments will be created, default=6.28e-8 (1um radius ring w/ 100 pts) \n\n\tring [radius, x, y, z, alignment]\n\t\tmake a closed filament, requires 5 arguments as above, where the 5th is one of [0,1,2] for axis to align to.\n\n\tline [length, x, y, z, alignment]\n\t\tmake an open filament, requires 5 arguments as above.\n\t\n\tdelayed_ring [radius, x, y, z, alignment, t]\n\t\tadditional argument for time t in ms to delay the addition of the ring.\n\n\tlfil [path]\n\t\treads positions and velocities of a premade (normally distorted) line from path/pos.dat and path/vel.dat respectively.\n\n\tEext [strength, duration, direction]\n\t\tinclude an external electric field, requires 3 arguments where direction is either 0, 1 or 2 for x, y or z.\n\n\tq_pt [filament, point, magnitude]\n\t\tadd a charge to a filament, requires filaments to be specified eariler in file, \n\t\tfilament is the relative position of the filament in the .in file, (first filament = 0), \n\t\tpoint is the index of the desired charged point on the filament, and magnitude is the size of the charge.\n\n\t#\n\t\tindicates a comment, which will be ignored by vfmcpp\n\nEXAMPLE FILE:\n\t\n\tpath data/init_example\n\ttime 1e-3\n\tresl 6.28e-8\n\tring 1e-6 0 0 5e-6 0 \n\tring 9e-7 0 0.025e-6 0 0\n\tEext 10000 1e-3 0 \n\tq_pt 0 50 1.6e-19\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fml-evs%2Fvfmcpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fml-evs%2Fvfmcpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fml-evs%2Fvfmcpp/lists"}