chrono::fea::ChBuilderVolumeBoxTetra Class Reference

Description

For testing purposes.

Utility class for creating a box filled with a 3d structured grid of tetrahedral finite elements. Adding nodes and finite elements to fields and domains is up to you.

#include <ChBuilderVolume.h>

Collaboration diagram for chrono::fea::ChBuilderVolumeBoxTetra:

Public Member Functions

void BuildVolume (const ChFrame<> &frame, int nlayers_x, int nlayers_y, int nlayers_z, double W_x, double W_y, double W_z)
 Fills a box with origin (corner) at "frame", with finite elements. More...
 
void AddToDomain (std::shared_ptr< ChDomain > domain)
 After you called BuildVolume(), the builder object has populated its "nodes" and "elements" fields. More...
 

Public Attributes

Ch3DArrayOfNodes nodes
 
Ch3DArrayOfItems< std::array< std::shared_ptr< ChFieldElementTetrahedron4 >, 5 > > elements
 
std::vector< std::shared_ptr< ChFieldElementSurface > > faces_x_hi
 
std::vector< std::shared_ptr< ChFieldElementSurface > > faces_x_lo
 
std::vector< std::shared_ptr< ChFieldElementSurface > > faces_y_hi
 
std::vector< std::shared_ptr< ChFieldElementSurface > > faces_y_lo
 
std::vector< std::shared_ptr< ChFieldElementSurface > > faces_z_hi
 
std::vector< std::shared_ptr< ChFieldElementSurface > > faces_z_lo
 

Member Function Documentation

◆ AddToDomain()

void chrono::fea::ChBuilderVolumeBoxTetra::AddToDomain ( std::shared_ptr< ChDomain domain)

After you called BuildVolume(), the builder object has populated its "nodes" and "elements" fields.

Then you need to add all the elements to the domain, and add all the the nodes to the field(s) of the domain: you can do this by yourself or use this AddDomain() shortcut.

◆ BuildVolume()

void chrono::fea::ChBuilderVolumeBoxTetra::BuildVolume ( const ChFrame<> &  frame,
int  nlayers_x,
int  nlayers_y,
int  nlayers_z,
double  W_x,
double  W_y,
double  W_z 
)

Fills a box with origin (corner) at "frame", with finite elements.

After calling this, you may want to call AddToDomain()

Parameters
frameorigin and rotation of the box being meshed

The documentation for this class was generated from the following files:
  • /builds/uwsbel/chrono/src/chrono/fea/ChBuilderVolume.h
  • /builds/uwsbel/chrono/src/chrono/fea/ChBuilderVolume.cpp