Code Monkey home page Code Monkey logo

windandtrees_fem's Introduction

WindAndTrees_FEM

DOI

The script Example_QSM_to_AbaqusInput takes a QSM (Terrestial LiDAR to QSM process available here: https://doi.org/10.5281/zenodo.844626) and converts it into an ABAQUS input file using the function Convert_Q2A_full, which can be used to run a Finite Element analysis in ABAQUS. The other files are subsections and sample data + sample QSM

alt text

There are two options: A. Import just the tree geometry into ABAQUS and apply forcings manually in the CAE GUI. The output will be within the CAE.

B. Import geometry + define analysis steps - this allows ABAQUS analyses to be run in batches. This includes: i. Simple analysis steps - gravity, frequency ii. Complex analysis - fluid wind forcing, depends on input wind data iii. Artificial forcings - pull and release or wind ramp to determine critical wind speeds The output of all of these programs will be a .dat file which contains the data, but in a hard-to-use format. In a future release I will provide a script to read in these dat files - it is currently not robust. There is also a .odb output that can be viewed in abaqus VIEWER.

alt text

These packages only use columns 1-9 of the QSM (radius, length, xyz coordinates, xyz vectors, parent index). Output variable is by default strain, but can be changed. Users require lots of parameters and material properties data, so the code may require changing if this is unavailable.

The free version of abaqus (student) supports both options A and B above but each tree is limited to 1000 nodes (999 beams) and does not include the AQUA module, through which wind forcing is currently defined.

The input QSM should have long cylinders and no discontinuities - otherwise the analysis will crash. I use simplify_model_by_branch_size (property of Pasi Raumonen and distributed under GNU license and copied here) to achieve these QSMs. See relevant subsection in https://doi.org/10.5281/zenodo.844626 for full details Briefly, the function takes an input QSM and deletes all branches above a user defined branching order. The branching order calculation is not yet accurate, so I set this arbitrarilty hight. It then deletes all cylinders under a certain radius (I use 1cm) + all subsequent cylinders. Finally it averages together neighbouring cylinders n times (I use n=2)

windandtrees_fem's People

Contributors

tobydjackson avatar

Watchers

James Cloos 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.