Coder Social home page Coder Social logo

hemepure_tools's Introduction

HemePure_tools

  • Repository contains tools for HemeLB geometry generation and stuff.

  • requires geometry in *.stl format with in/outlets open (think pipe) and inward oriented normals

  • set-up to use Python3

  1. clone repository into desired locations

  2. modify paths at top of hemeLBpreproc.py (VOXELIZERPATH and MAKEGMYMPIPATH) and vx2gmy/make_gmy_MPI.sh (VX2GMYPATH)

  3. run 'make' in voxelizer/source/, gmy2inlets/ and vx2gmy/. It appears voxelizer/source is sensitive to gcc version (has been successful with gcc/4.8 and gcc/5.5 but not gcc/7.4)

  4. navigate to folder with *.stl file and run script with following instruction: python3 PATHTO/hemeLBpreprocSingle.py STLFNAME STLUNITS(e.g 1e-3 for mm) INLETPOSITIONS(X1,Y1,Z1;X2,Y2,Z2;..., (in quotes)) NUMINLETS NUMOUTLETS DXreq NUMRANKS tauDesired

    STLFNAME - name of *.stl file STLUNITS - units of *.stl file (e.g 1e-3 for mm) INLETPOSITIONS - approximate location of inlets in physical units formatted as: "X1,Y1,Z1;X2,Y2,Z2;...", hemeLBPreProcSingle.py expects this to be in a text file NUMINLETS - number of inlets to geometry NUMOUTLETS - number of outlets of geometry DXreq - required lattice spacing (in m) NUMRANKS - number of ranks to run parallel voxeliztion on tauDesired - desired value of LBM relaxation time, tau. Must be 0.5<tau and ideally between 0.9-1.0 if able. Governed by DXreq and HemeLB blood viscosity (0.004 Pa.s)

e.g. for pipe case in PipeTest/ python3 ../hemeLBpreprocSingle.py pipe.stl 1.0 inlets.txt 1 1 0.1 2 1.0; where inlets.txt contains 0,0,0

  1. once complete open the created input.xml file to check/edit parameters to desired values. In particular: - modify CHANGE to desired simulation length - modify period to desired output rate, also for outlet.dat and whole.dat (remove sections if desired) - modify to desired presssure value at inlet/outlet; other parameters here allow for an oscilliatory pressure profile. N.B. Pressure here refers to a pressure difference from the static LBM pressure (1/3 in lattice units, the difference needs to be small compared to this), see also initial condition

hemepure_tools's People

Contributors

jonmccullough avatar h27ck avatar raar1 avatar sharplo avatar

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.