Diffpack Documentation


Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

MovingLS Class Reference

smooth derivatives of finite element fields by moving least squares. More...

#include <MovingLS.h>

Inheritance diagram for MovingLS::

HandleId List of all members.

Public Methods

 MovingLS ()
 ~MovingLS ()
void setBasisType (const String &basis_tp)
void setPrmInWeight (real c_)
void value (NUMT &field_value, Ptv(NUMT) &field_gradient, const FieldsFEatItgPt &field, int field_no, int node)
void smoothFields (FieldsFE &smooth_field, const FieldsFEatItgPt &field, const VecSimple(int) *components_to_be_smoothed=NULL)
void value (NUMT &field_value, Ptv(NUMT) &field_gradient, const Vec(NUMT) &values, const Mat(real) &coords, const Ptv(real) &x_G)
void initSupport (GridFE &grid, const FieldsFEatItgPt &field)

Detailed Description

smooth derivatives of finite element fields by moving least squares.

NAME: MovingLS - smooth derivatives of finite element fields by moving least squares

DESCRIPTION:

The class implements the moving least square interpolant algorithm, by Tabbara, Blacker and Belytschko, for computing smooth and accurate derivatives at fields defined at scattered points only.

Reference: M. Tabbara, T. Blacker and T. Belytschko. Finite element derivative recovery by moving least square interpolants. Comput. Methods Appl. Mech. Engrg., vol 117 (1994), 211-223. The implementation follows the notation in the paper.

EXAMPLE:

Here is an example of how to use class for interpolating a value in a cloud of n point values.

  MovingLS m;
  
  m.setBasisType("QuadPolyn");  // interpolate using quadratic polynomials
  
  const int n = 6;     // no of points with known function values
  const int nsd = 2;   // no of space dimensions
  Mat(real) coords(n, nsd);
  Vec(real) values(n);
  // fill coords and values
  
  Ptv(real) x_G(nsd);  // point where we want to interpolate a value
  
  real f;              // interpolated function value at x_G
  Ptv(real) grad_f;    // interpolated gradient of function at x_G
  
  m.value(f, grad_f, values, coords, x_G);


Constructor & Destructor Documentation

MovingLS::MovingLS ( )
 

MovingLS::~MovingLS ( ) [inline]
 


Member Function Documentation

void MovingLS::initSupport ( GridFE & grid,
const FieldsFEatItgPt & field )
 

void MovingLS::setBasisType ( const String & basis_tp )
 

void MovingLS::setPrmInWeight ( real c_ ) [inline]
 

void MovingLS::smoothFields ( FieldsFE & smooth_field,
const FieldsFEatItgPt & field,
const VecSimple(int) * components_to_be_smoothed = NULL )
 

void MovingLS::value ( NUMT & field_value,
Ptv(NUMT) & field_gradient,
const Vec(NUMT) & values,
const Mat(real) & coords,
const Ptv(real) & x_G )
 

void MovingLS::value ( NUMT & field_value,
Ptv(NUMT) & field_gradient,
const FieldsFEatItgPt & field,
int field_no,
int node )
 


The documentation for this class was generated from the following file:
Copyright © 2003 inuTech GmbH. All rights reserved.