dicengine / dice

Digital Image Correlation Engine (DICe): a stereo DIC application that runs on Mac, Windows, and Linux
Other
340 stars 125 forks source link

shape function with second-order displacement gradient #38

Open Ketucalibur opened 8 years ago

Ketucalibur commented 8 years ago

Thanks for the great source. I think it will be great to add shape function with second order displacement gradient.

dicengine commented 8 years ago

Hi Xichao: I agree. DICe needs some improvement in this regard. Did you have a particular formulation or shape function in mind? Perhaps a reference in the literature?

johntfoster commented 8 years ago

I would recommend using a reproducing kernel formulation to create shape functions of arbitrary order.

dicengine commented 8 years ago

John: Any thoughts on NURBS for interpolants? There's a paper out there for DIC with NURBS, but I wonder if it's worth the effort

johntfoster commented 8 years ago

@dicengine NURBS could be done and should provide a nice high-order interpolant, but is probably not worth the effort.

I suggested the reproducing kernel shape functions because they fit into your data structures nicely, your already doing nearest neighbor searches on a circle, etc. and the RK-shape functions can be constructed to arbitrary order. In fact, if you perform a first-order RK displacement field approximation from a set of discrete points and take the spatial gradient (plus the identity matrix) you get back exactly Silling's nonlocal deformation gradient. Of course, the advantage is you can go to any order you want depending on the smoothness of the kernel in the RK formulation. There are also methods to approximate the gradient directly, see Eq. 2.13 in "An implicit gradient model by a reproducing kernel strain regularization in strain localization problems" by Chen et al.

dicengine commented 6 years ago

Second order shape functions have been added and are accessible in the command line execution of DICe. I haven't exposed a user option in the GUI yet because I need to do more testing. It seems like th quadratic shape functions are harder to get to converge in some cases. I'll continue to look into this.

dicengine commented 5 years ago

Hi,

To use the second order shape functions, you have to create a “shape_function_type” parameter of type “string" in the params.xml file and set it to value “quadratic”. You also need to use the command line for executing DICe. If you use the GUI, the input files will be overwritten when you run the DICe analysis.

The implementation of the quadratic shape functions are in the DICe_LocalShapeFunction.cpp/.h files which are in the src/base directory.

Thanks, Dan

On Feb 12, 2019, at 7:22 AM, iniyanakila notifications@github.com<mailto:notifications@github.com> wrote:

I could not find the Second order shape function implementation. Could you please help me with using second order shape function?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/dicengine/dice/issues/38#issuecomment-462777949, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AOf5usyOJKo9kt2TcLltTcy-BlsCukgJks5vMs4-gaJpZM4IVEUb.

iniyanakila commented 5 years ago

Thanks you, for your post and the code!