Nagata平滑化時に平均法線で接触法線を上書きしないようにする
!CONTACT に SMOOTHING=NAGATA を指定しても、接触法線が平滑化面から決まらない。
接触探索は中間点を生成して三角形面を TRI6、四角形面を QUAD8 として扱い、その面上で射影点と法線を求める(project_Point2Element)。ところが直後に cal_node_normal が呼ばれ、法線が線形要素ベースの平均法線で上書きされる。cal_node_normal は平滑化指定を参照せず、呼出4箇所(fstr_contact_search.f90 に3、fstr_contact_geom.f90 に1)のいずれも contact%smoothing を確認していない。
結果、射影点は平滑化面、法線は線形面という不一致が生じる。曲面では法線と面の幾何が対応せず、摩擦接触では接線基底 A と接触法線 n の直交性が失われる。
平均法線は要素境界をまたぐ法線の平滑化が目的であり、Nagataパッチが既に果たしている役割である。Nagata指定時は呼ばないのが妥当と考える。