Giter Site home page Giter Site logo

ezhangle / chrono-flex Goto Github PK

View Code? Open in Web Editor NEW

This project forked from projectchrono/chrono-flex

0.0 2.0 0.0 447 KB

A parallel (GPU) implementation of the gradient-deficient beam element using the Absolute Nodal Coordinate Formulation (ANCF).

License: BSD 3-Clause "New" or "Revised" License

CMake 6.15% Cuda 74.26% C 0.22% C++ 19.37%

chrono-flex's Introduction

chrono-flex

This is a general purpose simulator for three dimensional flexible multibody dynamics problems. This implementation uses gradient-deficient Absolute Nodal Coordinate Formulation (ANCF) beam elements to model slender beams. These are two node elements with one position vector and only one gradient vector used as nodal coordinates. Each node thus has six coordinates: three components of the global position vector and three components of the position vector gradient at the node. This formulation displays no shear locking problems for thin and stiff beams. The gradient-deficient ANCF beam element does not describe rotation of the beam about its own axis so the torsional effects cannot be modeled.

pic1691

Features

This software provides a suite of flexible body support implemented in parallel on the GPU, including:

  • gradient-deficient beam elements
  • the ability to connect these elements with bilateral constraints
  • multiple solvers, including Spike::GPU
  • contact with friction

Example

// create the ANCF system
ANCFSystem sys;
sys.setTimeStep(1e-3);
sys.setTolerance(1e-6);

// create an element and add it to the system
double length = 1;
double r = 0.02;
double E = 2e7;
double rho = 2200;
double nu = .3;
Element element = Element(Node(0, 0, 0, 1, 0, 0), Node(length, 0, 0, 1, 0, 0), r, nu, E, rho);
sys.addElement(&element);

// pin the first node to the ground
sys.addConstraint_AbsoluteSpherical(0);

sys.initializeSystem();

// perform a single time step
sys.DoTimeStep();

Animations

Install

  • Download and install CUDA
  • Clone this repository
  • Use CMake to generate a native makefile and workspace that can be used in the compiler environment of your choice

Literature

Credits

(c) Simulation-Based Engineering Laboratory, 2013

chrono-flex's People

Contributors

melanz avatar rserban avatar

Watchers

 avatar  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.