An unintrusive approach to the computation of derivatives: Applications in nanoscale thermal transport

Thermal Behaviour and Applications of Carbon-Based Nanomaterials(2020)

引用 0|浏览0
暂无评分
摘要
Abstract Computations of nanoscale thermal transport involve a variety of derivative calculations either to compute material properties or to obtain intermediate quantities such as force constants. Derivatives, both total and partial, are also necessary to compute the sensitivity of a given quantity of interest with respect to a chosen independent input variable. In this chapter, we describe an automatic code differentiation technique to compute derivatives of arbitrary order. Code differentiation exploits the concepts of templating and operator overloading in object-oriented programming languages like C++ and Fortran 90 to unintrusively convert existing codes into those yielding derivatives of arbitrary order. Application of this technique to the field of nanoscale thermal transport is demonstrated through the computation of properties such as first-, second-, and third-order force constants of a crystal lattice, the Gruneisen parameter, and group velocities. The technique is demonstrated by computing the sensitivity of second-order force constants of graphene with respect to the fitting parameters of interatomic potential used to describe the crystal, and by computing the sensitivity of force constants to crystal strain. Furthermore, derivative values computed using code differentiation are compared with those obtained using finite difference approaches, and the limitations of finite difference techniques are highlighted. We also demonstrate that automatic code differentiation yields derivative values to machine accuracy, with none of the round-off issues associated with finite difference approaches.
更多
查看译文
关键词
derivatives,thermal,nanoscale,transport
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要