/** * @file cohesive_internal_field_tmpl.hh * * @author Marco Vocialta * @author Nicolas Richart * * @date creation: Wed Nov 13 2013 * @date last modification: Tue Jul 29 2014 * * @brief implementation of the cohesive internal field * * @section LICENSE * * Copyright (©) 2014 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 . * */ /* -------------------------------------------------------------------------- */ #ifndef __AKANTU_COHESIVE_INTERNAL_FIELD_TMPL_HH__ #define __AKANTU_COHESIVE_INTERNAL_FIELD_TMPL_HH__ __BEGIN_AKANTU__ template CohesiveInternalField::CohesiveInternalField(const ID & id, Material & material) : InternalField(id, material, material.getModel().getFEEngine("CohesiveFEEngine"), dynamic_cast(material).getElementFilter()) { this->element_kind = _ek_cohesive; } template CohesiveInternalField::~CohesiveInternalField() { }; template void CohesiveInternalField::initialize(UInt nb_component) { this->internalInitialize(nb_component); } /* -------------------------------------------------------------------------- */ template FacetInternalField::FacetInternalField(const ID & id, Material & material) : InternalField(id, material, material.getModel().getFEEngine("FacetsFEEngine"), dynamic_cast(material).getFacetFilter()) { this->spatial_dimension -= 1; this->element_kind = _ek_regular; } template FacetInternalField::~FacetInternalField() { }; template void FacetInternalField::initialize(UInt nb_component) { this->internalInitialize(nb_component); } /* -------------------------------------------------------------------------- */ template<> inline void ParsableParamTyped< RandomInternalField >::parseParam(const ParserParameter & in_param) { ParsableParam::parseParam(in_param); RandomParameter r = in_param; param.setRandomDistribution(r); } /* -------------------------------------------------------------------------- */ template<> inline void ParsableParamTyped< RandomInternalField >::parseParam(const ParserParameter & in_param) { ParsableParam::parseParam(in_param); RandomParameter r = in_param; param.setRandomDistribution(r); } __END_AKANTU__ #endif /* __AKANTU_COHESIVE_INTERNAL_FIELD_TMPL_HH__ */