diff --git a/CMakeLists.txt b/CMakeLists.txt index 8e086848a..55ebe2ad7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,87 +1,89 @@ cmake_minimum_required(VERSION 2.6) project(Akantu_SimTools) set(BUILD_SHARED_LIBS ON CACHE BOOL "Build shared libraries.") set(AKANTU_SIMTOOLS_SRCS common/synchronized_array.cc common/parameter_reader.cc common/manual_restart.cc functions/boundary_functions.cc ntn_contact/ntn_base_contact.cc ntn_contact/ntn_contact.cc - ntrf_contact/ntrf_contact.cc + ntn_contact/ntrf_contact.cc ntn_contact/ntn_base_friction.cc ntn_contact/friction_regularisations/ntn_fricreg_no_regularisation.cc ntn_contact/friction_regularisations/ntn_fricreg_rubin_ampuero.cc ntn_contact/ntn_friction.cc ntn_contact/ntn_initiation_function.cc ) set(AKANTU_SIMTOOLS_HDRS common/ast_common.hh akantu_simtools.hh # headers common/synchronized_array.hh common/parameter_reader.hh common/manual_restart.hh functions/boundary_functions.hh functions/node_filter.hh boundary_conditions/force_based_dirichlet.hh boundary_conditions/spring_bc.hh ntn_contact/ntn_base_contact.hh ntn_contact/ntn_contact.hh - ntrf_contact/ntrf_contact.hh - + ntn_contact/ntrf_contact.hh ntn_contact/ntn_base_friction.hh + ntn_contact/friction_regularisations/ntn_fricreg_no_regularisation.hh ntn_contact/friction_regularisations/ntn_fricreg_rubin_ampuero.hh + ntn_contact/friction_laws/ntn_friclaw_coulomb.hh ntn_contact/friction_laws/ntn_friclaw_coulomb_tmpl.hh ntn_contact/friction_laws/ntn_friclaw_linear_slip_weakening.hh ntn_contact/friction_laws/ntn_friclaw_linear_slip_weakening_tmpl.hh + ntn_contact/ntn_friction.hh - ntrf_contact/ntrf_friction.hh - ntrf_contact/ntrf_friction_tmpl.hh + ntn_contact/ntrf_friction.hh + ntn_contact/ntrf_friction_tmpl.hh ntn_contact/ntn_initiation_function.hh # inlines common/synchronized_array_inline_impl.cc ) find_package(Akantu REQUIRED) include_directories(${AKANTU_INCLUDE_DIR}) add_library(akantu_simtools ${AKANTU_SIMTOOLS_SRCS} ) include_directories(common/) include_directories(ntn_contact/) include_directories(ntn_contact/friction_laws/) include_directories(ntn_contact/friction_regularisations/) include_directories(ntrf_contact/) include_directories(ntrf_contact/friction_laws/) target_link_libraries(akantu_simtools akantu) #target_link_libraries(akantu_simtools ${AKANTU_LIBRARIES}) set_target_properties(akantu_simtools PROPERTIES PUBLIC_HEADER "${AKANTU_SIMTOOLS_HDRS}") install(TARGETS akantu_simtools LIBRARY DESTINATION lib ARCHIVE DESTINATION lib PUBLIC_HEADER DESTINATION include/akantu_simtools ) diff --git a/ntn_contact/friction_laws/ntn_friction_coulomb.cc b/ntn_contact/friction_laws/ntn_friction_coulomb.cc deleted file mode 100644 index 37f26796b..000000000 --- a/ntn_contact/friction_laws/ntn_friction_coulomb.cc +++ /dev/null @@ -1,136 +0,0 @@ -/** - * @file ntn_friction_coulomb.cc - * @author David Kammer <david.kammer@epfl.ch> - * @date Tue Nov 20 14:23:57 2012 - * - * @brief - * - * @section LICENSE - * - * Copyright (©) 2010-2011 EPFL (Ecole Polytechnique Fédérale de Lausanne) - * Laboratory (LSMS - Laboratoire de Simulation en Mécanique des Solides) - * - * Akantu is free software: you can redistribute it and/or modify it under the - * terms of the GNU Lesser General Public License as published by the Free - * Software Foundation, either version 3 of the License, or (at your option) any - * later version. - * - * Akantu is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - * A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more - * details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Akantu. If not, see <http://www.gnu.org/licenses/>. - * - */ - -/* -------------------------------------------------------------------------- */ -// simtools -#include "ntn_friction_coulomb.hh" - -__BEGIN_SIMTOOLS__ - -/* -------------------------------------------------------------------------- */ -NTNFrictionCoulomb::NTNFrictionCoulomb(NTNContact & contact, - const FrictionID & id, - const MemoryID & memory_id) : - NTNFriction(contact,id,memory_id), - mu(0,1,0.,id+":mu",0.,"mu") { - AKANTU_DEBUG_IN(); - - NTNFriction::registerSynchronizedArray(this->mu); - - AKANTU_DEBUG_OUT(); -} - -/* -------------------------------------------------------------------------- */ -void NTNFrictionCoulomb::computeFrictionalStrength() { - AKANTU_DEBUG_IN(); - - SolidMechanicsModel & model = this->contact->getModel(); - UInt dim = model.getSpatialDimension(); - - UInt nb_ntn_pairs = this->contact->getNbContactNodes(); - - // get contact arrays - const SynchronizedArray<bool> & is_in_contact = this->contact->getIsInContact(); - Real * contact_pressure = this->contact->getContactPressure().storage(); - - for (UInt n=0; n<nb_ntn_pairs; ++n) { - // node pair is NOT in contact - if (!is_in_contact(n)) - this->frictional_strength(n) = 0.; - - // node pair is in contact - else { - // compute frictional strength - this->frictional_strength(n) = this->mu(n) * Math::norm(dim, &(contact_pressure[n*dim])); - } - } - - AKANTU_DEBUG_OUT(); -} - -/* -------------------------------------------------------------------------- */ -void NTNFrictionCoulomb::registerSynchronizedArray(SynchronizedArrayBase & array) { - AKANTU_DEBUG_IN(); - - this->mu.registerDependingArray(array); - - AKANTU_DEBUG_OUT(); -} - -/* -------------------------------------------------------------------------- */ -void NTNFrictionCoulomb::dumpRestart(const std::string & file_name) const { - AKANTU_DEBUG_IN(); - - this->mu.dumpRestartFile(file_name); - - AKANTU_DEBUG_OUT(); -} - -/* -------------------------------------------------------------------------- */ -void NTNFrictionCoulomb::readRestart(const std::string & file_name) { - AKANTU_DEBUG_IN(); - - this->mu.readRestartFile(file_name); - - AKANTU_DEBUG_OUT(); -} - -/* -------------------------------------------------------------------------- */ -void NTNFrictionCoulomb::setMu(Real mu) { - AKANTU_DEBUG_IN(); - - NTNFriction::setInternalArray(this->mu, mu); - - AKANTU_DEBUG_OUT(); -} - -/* -------------------------------------------------------------------------- */ -void NTNFrictionCoulomb::setMu(UInt node, Real mu) { - AKANTU_DEBUG_IN(); - - NTNFriction::setInternalArray(this->mu, node, mu); - - AKANTU_DEBUG_OUT(); -} - -/* -------------------------------------------------------------------------- */ -void NTNFrictionCoulomb::printself(std::ostream & stream, int indent) const { - AKANTU_DEBUG_IN(); - std::string space; - for(Int i = 0; i < indent; i++, space += AKANTU_INDENT); - - stream << space << "NTNFrictionCoulomb [" << std::endl; - - stream << space << this->mu << std::endl; - - stream << space << "]" << std::endl; - - - AKANTU_DEBUG_OUT(); -} - -__END_SIMTOOLS__ diff --git a/ntn_contact/friction_laws/ntn_friction_coulomb.hh b/ntn_contact/friction_laws/ntn_friction_coulomb.hh deleted file mode 100644 index 61e064881..000000000 --- a/ntn_contact/friction_laws/ntn_friction_coulomb.hh +++ /dev/null @@ -1,107 +0,0 @@ -/** - * @file ntn_friction_coulomb.hh - * @author David Kammer <david.kammer@epfl.ch> - * @date Tue Nov 20 14:19:43 2012 - * - * @brief implementation of coulomb friction - * - * @section LICENSE - * - * Copyright (©) 2010-2011 EPFL (Ecole Polytechnique Fédérale de Lausanne) - * Laboratory (LSMS - Laboratoire de Simulation en Mécanique des Solides) - * - * Akantu is free software: you can redistribute it and/or modify it under the - * terms of the GNU Lesser General Public License as published by the Free - * Software Foundation, either version 3 of the License, or (at your option) any - * later version. - * - * Akantu is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - * A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more - * details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Akantu. If not, see <http://www.gnu.org/licenses/>. - * - */ - -/* -------------------------------------------------------------------------- */ -#ifndef __AST_NTN_FRICTION_COULOMB_HH__ -#define __AST_NTN_FRICTION_COULOMB_HH__ - -/* -------------------------------------------------------------------------- */ -// simtools -#include "ntn_friction.hh" - -__BEGIN_SIMTOOLS__ - -/* -------------------------------------------------------------------------- */ -using namespace akantu; - -/* -------------------------------------------------------------------------- */ -class NTNFrictionCoulomb : public NTNFriction { - /* ------------------------------------------------------------------------ */ - /* Constructors/Destructors */ - /* ------------------------------------------------------------------------ */ -public: - - NTNFrictionCoulomb(NTNContact & contact, - const FrictionID & id = "friction_coulomb", - const MemoryID & memory_id = 0); - virtual ~NTNFrictionCoulomb() {}; - - /* ------------------------------------------------------------------------ */ - /* Methods */ - /* ------------------------------------------------------------------------ */ -public: - /// register synchronizedarrays for sync - virtual void registerSynchronizedArray(SynchronizedArrayBase & array); - - /// dump restart file - virtual void dumpRestart(const std::string & file_name) const; - - /// read restart file - virtual void readRestart(const std::string & file_name); - - /// function to print the contain of the class - virtual void printself(std::ostream & stream, int indent = 0) const; - -protected: - /// compute frictional strength according to friction law - virtual void computeFrictionalStrength(); - - /* ------------------------------------------------------------------------ */ - /* Accessors */ - /* ------------------------------------------------------------------------ */ -public: - // set friction coefficient to all nodes - void setMu(Real mu); - - // set friction coefficient only to node (global index) - void setMu(UInt node, Real mu); - - /* ------------------------------------------------------------------------ */ - /* Class Members */ - /* ------------------------------------------------------------------------ */ -protected: - // friction coefficient - SynchronizedArray<Real> mu; -}; - - -/* -------------------------------------------------------------------------- */ -/* inline functions */ -/* -------------------------------------------------------------------------- */ - -//#include "ntn_friction_coulomb_inline_impl.cc" - -/// standard output stream operator -inline std::ostream & operator <<(std::ostream & stream, const NTNFrictionCoulomb & _this) -{ - _this.printself(stream); - return stream; -} - -__END_SIMTOOLS__ - -#endif /* __AST_NTN_FRICTION_COULOMB_HH__ */ diff --git a/ntn_contact/friction_laws/ntn_friction_linear_slip_weakening.cc b/ntn_contact/friction_laws/ntn_friction_linear_slip_weakening.cc deleted file mode 100644 index baaa265e5..000000000 --- a/ntn_contact/friction_laws/ntn_friction_linear_slip_weakening.cc +++ /dev/null @@ -1,212 +0,0 @@ -/** - * @file ntn_friction_linear_slip_weakening.cc - * @author David Kammer <david.kammer@epfl.ch> - * @date Tue Nov 20 15:02:59 2012 - * - * @brief - * - * @section LICENSE - * - * Copyright (©) 2010-2011 EPFL (Ecole Polytechnique Fédérale de Lausanne) - * Laboratory (LSMS - Laboratoire de Simulation en Mécanique des Solides) - * - * Akantu is free software: you can redistribute it and/or modify it under the - * terms of the GNU Lesser General Public License as published by the Free - * Software Foundation, either version 3 of the License, or (at your option) any - * later version. - * - * Akantu is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - * A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more - * details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Akantu. If not, see <http://www.gnu.org/licenses/>. - * - */ - -/* -------------------------------------------------------------------------- */ -#include "ntn_friction_linear_slip_weakening.hh" - -__BEGIN_SIMTOOLS__ - -/* -------------------------------------------------------------------------- */ -NTNFrictionLinearSlipWeakening::NTNFrictionLinearSlipWeakening(NTNContact & contact, - const FrictionID & id, - const MemoryID & memory_id) : - NTNFrictionCoulomb(contact,id,memory_id), - weakening_length(0,1,0.,id+":weakening_length",0.,"weakening_length"), - mu_s(0,1,0.,id+":mu_s",0.,"mu_s"), - mu_k(0,1,0.,id+":mu_k",0.,"mu_k"), - slip(0,1,0.,id+":slip",0.,"slip") { - AKANTU_DEBUG_IN(); - - NTNFrictionCoulomb::registerSynchronizedArray(this->weakening_length); - NTNFrictionCoulomb::registerSynchronizedArray(this->mu_s); - NTNFrictionCoulomb::registerSynchronizedArray(this->mu_k); - NTNFrictionCoulomb::registerSynchronizedArray(this->slip); - - // set increment flag of solid mechanics model on - contact.getModel().setIncrementFlagOn(); - - AKANTU_DEBUG_OUT(); -} - -/* -------------------------------------------------------------------------- */ -void NTNFrictionLinearSlipWeakening::computeFrictionCoefficient() { - AKANTU_DEBUG_IN(); - - SolidMechanicsModel & model = this->contact->getModel(); - UInt dim = model.getSpatialDimension(); - UInt nb_ntn_pairs = this->contact->getNbContactNodes(); - - // compute tangential gap - Array<Real> rel_tan_incr(0,dim); - this->contact->computeRelativeTangentialField(model.getIncrement(), - rel_tan_incr); - AKANTU_DEBUG_ASSERT(rel_tan_incr.getSize() == nb_ntn_pairs, - "computeRelativeNormalField does not give back arrays " - << "size == nb_ntn_pairs. nb_ntn_pairs = " << nb_ntn_pairs - << " | array size = " << rel_tan_incr.getSize()); - - Real * rel_tan_incr_p = rel_tan_incr.storage(); - for (UInt n=0; n<nb_ntn_pairs; ++n) { - if (this->is_sticking(n)) { - // reset tangential gap to zero - this->slip(n) = 0.; - this->mu(n) = this->mu_s(n); - } - else { - Real abs_incr = Math::norm(dim, &(rel_tan_incr_p[n*dim])); - this->slip(n) += abs_incr; - - if (this->slip(n) >= this->weakening_length(n)) { - this->mu(n) = this->mu_k(n); - } - else { - // mu = mu_k + (1 - slip / Dc) * (mu_s - mu_k) - this->mu(n) = this->mu_k(n) - + (1 - (this->slip(n) / this->weakening_length(n))) * (this->mu_s(n) - this->mu_k(n)); - } - } - } - - AKANTU_DEBUG_OUT(); -} - -/* -------------------------------------------------------------------------- */ -void NTNFrictionLinearSlipWeakening::computeFrictionalStrength() { - AKANTU_DEBUG_IN(); - - computeFrictionCoefficient(); - NTNFrictionCoulomb::computeFrictionalStrength(); - - AKANTU_DEBUG_OUT(); -} - -/* -------------------------------------------------------------------------- */ -void NTNFrictionLinearSlipWeakening::registerSynchronizedArray(SynchronizedArrayBase & array) { - AKANTU_DEBUG_IN(); - - this->weakening_length.registerDependingArray(array); - - AKANTU_DEBUG_OUT(); -} - -/* -------------------------------------------------------------------------- */ -void NTNFrictionLinearSlipWeakening::dumpRestart(const std::string & file_name) const { - AKANTU_DEBUG_IN(); - - this->weakening_length.dumpRestartFile(file_name); - this->mu_s.dumpRestartFile(file_name); - this->mu_k.dumpRestartFile(file_name); - this->slip.dumpRestartFile(file_name); - - AKANTU_DEBUG_OUT(); -} - -/* -------------------------------------------------------------------------- */ -void NTNFrictionLinearSlipWeakening::readRestart(const std::string & file_name) { - AKANTU_DEBUG_IN(); - - this->weakening_length.readRestartFile(file_name); - this->mu_s.readRestartFile(file_name); - this->mu_k.readRestartFile(file_name); - this->slip.readRestartFile(file_name); - - AKANTU_DEBUG_OUT(); -} - -/* -------------------------------------------------------------------------- */ -void NTNFrictionLinearSlipWeakening::setMuS(Real mu) { - AKANTU_DEBUG_IN(); - - NTNFriction::setInternalArray(this->mu_s, mu); - - AKANTU_DEBUG_OUT(); -} - -/* -------------------------------------------------------------------------- */ -void NTNFrictionLinearSlipWeakening::setMuS(UInt node, Real mu) { - AKANTU_DEBUG_IN(); - - NTNFriction::setInternalArray(this->mu_s, node, mu); - - AKANTU_DEBUG_OUT(); -} - -/* -------------------------------------------------------------------------- */ -void NTNFrictionLinearSlipWeakening::setMuK(Real mu) { - AKANTU_DEBUG_IN(); - - NTNFriction::setInternalArray(this->mu_k, mu); - - AKANTU_DEBUG_OUT(); -} - -/* -------------------------------------------------------------------------- */ -void NTNFrictionLinearSlipWeakening::setMuK(UInt node, Real mu) { - AKANTU_DEBUG_IN(); - - NTNFriction::setInternalArray(this->mu_k, node, mu); - - AKANTU_DEBUG_OUT(); -} - -/* -------------------------------------------------------------------------- */ -void NTNFrictionLinearSlipWeakening::setWeakeningLength(Real length) { - AKANTU_DEBUG_IN(); - - NTNFriction::setInternalArray(this->weakening_length, length); - - AKANTU_DEBUG_OUT(); -} - -/* -------------------------------------------------------------------------- */ -void NTNFrictionLinearSlipWeakening::setWeakeningLength(UInt node, Real length) { - AKANTU_DEBUG_IN(); - - NTNFriction::setInternalArray(this->weakening_length, node, length); - - AKANTU_DEBUG_OUT(); -} - -/* -------------------------------------------------------------------------- */ -void NTNFrictionLinearSlipWeakening::printself(std::ostream & stream, int indent) const { - AKANTU_DEBUG_IN(); - std::string space; - for(Int i = 0; i < indent; i++, space += AKANTU_INDENT); - - stream << space << "NTNFrictionLinearSlipWeakening [" << std::endl; - NTNFrictionCoulomb::printself(stream, indent+1); - - stream << space << this->mu_s << std::endl; - stream << space << this->mu_k << std::endl; - - stream << space << "]" << std::endl; - - - AKANTU_DEBUG_OUT(); -} - -__END_SIMTOOLS__ diff --git a/ntn_contact/friction_laws/ntn_friction_linear_slip_weakening.hh b/ntn_contact/friction_laws/ntn_friction_linear_slip_weakening.hh deleted file mode 100644 index a2190178a..000000000 --- a/ntn_contact/friction_laws/ntn_friction_linear_slip_weakening.hh +++ /dev/null @@ -1,133 +0,0 @@ -/** - * @file ntn_friction_linear_slip_weakening.hh - * @author David Kammer <david.kammer@epfl.ch> - * @date Tue Nov 20 14:56:20 2012 - * - * @brief linear slip weakening friction - * - * @section LICENSE - * - * Copyright (©) 2010-2011 EPFL (Ecole Polytechnique Fédérale de Lausanne) - * Laboratory (LSMS - Laboratoire de Simulation en Mécanique des Solides) - * - * Akantu is free software: you can redistribute it and/or modify it under the - * terms of the GNU Lesser General Public License as published by the Free - * Software Foundation, either version 3 of the License, or (at your option) any - * later version. - * - * Akantu is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - * A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more - * details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Akantu. If not, see <http://www.gnu.org/licenses/>. - * - */ - -/* -------------------------------------------------------------------------- */ -#ifndef __AST_NTN_FRICTION_LINEAR_SLIP_WEAKENING_HH__ -#define __AST_NTN_FRICTION_LINEAR_SLIP_WEAKENING_HH__ - -/* -------------------------------------------------------------------------- */ -// simtools -#include "ntn_contact.hh" -#include "ntn_friction_coulomb.hh" - -__BEGIN_SIMTOOLS__ - -/* -------------------------------------------------------------------------- */ -using namespace akantu; - -/* -------------------------------------------------------------------------- */ -class NTNFrictionLinearSlipWeakening : public NTNFrictionCoulomb { - /* ------------------------------------------------------------------------ */ - /* Constructors/Destructors */ - /* ------------------------------------------------------------------------ */ -public: - - NTNFrictionLinearSlipWeakening(NTNContact & contact, - const FrictionID & id = - "friction_linear_slip_weakening", - const MemoryID & memory_id = 0); - virtual ~NTNFrictionLinearSlipWeakening() {}; - - /* ------------------------------------------------------------------------ */ - /* Methods */ - /* ------------------------------------------------------------------------ */ -public: - /// register synchronizedarrays for sync - virtual void registerSynchronizedArray(SynchronizedArrayBase & array); - - /// dump restart file - virtual void dumpRestart(const std::string & file_name) const; - - /// read restart file - virtual void readRestart(const std::string & file_name); - - /// function to print the contain of the class - virtual void printself(std::ostream & stream, int indent = 0) const; - -protected: - /// compute frictional strength according to friction law - virtual void computeFrictionalStrength(); - - // computes the friction coefficient as a function of slip - virtual void computeFrictionCoefficient(); - - /* ------------------------------------------------------------------------ */ - /* Accessors */ - /* ------------------------------------------------------------------------ */ -public: - // set static friction coefficient to all nodes - void setMuS(Real mu); - - // set static friction coefficient only to node (global index) - void setMuS(UInt node, Real mu); - - // set kinetic friction coefficient to all nodes - void setMuK(Real mu); - - // set kinetic friction coefficient only to node (global index) - void setMuK(UInt node, Real mu); - - // set weakening length to all nodes - void setWeakeningLength(Real length); - - // set weakening length only to node (global index) - void setWeakeningLength(UInt node, Real length); - - /* ------------------------------------------------------------------------ */ - /* Class Members */ - /* ------------------------------------------------------------------------ */ -protected: - // Dc the length over which slip weakening happens - SynchronizedArray<Real> weakening_length; - - // static coefficient of friction - SynchronizedArray<Real> mu_s; - - // kinetic coefficient of friction - SynchronizedArray<Real> mu_k; - - // internal variable = absolut value of tangential gap when last sticked - SynchronizedArray<Real> slip; -}; - - -/* -------------------------------------------------------------------------- */ -/* inline functions */ -/* -------------------------------------------------------------------------- */ - -//#include "ntn_friction_linear_slip_weakening_inline_impl.cc" - -/// standard output stream operator -inline std::ostream & operator <<(std::ostream & stream, const NTNFrictionLinearSlipWeakening & _this) -{ - _this.printself(stream); - return stream; -} - -__END_SIMTOOLS__ - -#endif /* __AST_NTN_FRICTION_LINEAR_SLIP_WEAKENING_HH__ */ diff --git a/ntrf_contact/ntrf_contact.cc b/ntn_contact/ntrf_contact.cc similarity index 100% rename from ntrf_contact/ntrf_contact.cc rename to ntn_contact/ntrf_contact.cc diff --git a/ntrf_contact/ntrf_contact.hh b/ntn_contact/ntrf_contact.hh similarity index 100% rename from ntrf_contact/ntrf_contact.hh rename to ntn_contact/ntrf_contact.hh diff --git a/ntrf_contact/ntrf_friction.hh b/ntn_contact/ntrf_friction.hh similarity index 100% rename from ntrf_contact/ntrf_friction.hh rename to ntn_contact/ntrf_friction.hh diff --git a/ntrf_contact/ntrf_friction_tmpl.hh b/ntn_contact/ntrf_friction_tmpl.hh similarity index 100% rename from ntrf_contact/ntrf_friction_tmpl.hh rename to ntn_contact/ntrf_friction_tmpl.hh