Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F86348782
material_hyper_elastic.cc
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Sat, Oct 5, 23:40
Size
2 KB
Mime Type
text/x-c
Expires
Mon, Oct 7, 23:40 (1 d, 23 h)
Engine
blob
Format
Raw Data
Handle
21402228
Attached To
rMSPPROTO µSpectre prototype implementation
material_hyper_elastic.cc
View Options
/**
* file material_hyper_elastic.cc
*
* @author Till Junge <till.junge@epfl.ch>
*
* @date 01 May 2017
*
* @brief implementation for hyperelastic material law
*
* @section LICENCE
*
* Copyright (C) 2017 Till Junge
*
* µSpectre is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation, either version 3, or (at
* your option) any later version.
*
* µSpectre 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
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with GNU Emacs; see the file COPYING. If not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#include "material_hyper_elastic.hh"
namespace
muSpectre
{
//----------------------------------------------------------------------------//
template
<
Dim_t
s_dim
,
Dim_t
m_dim
>
MaterialHyperElastic
<
s_dim
,
m_dim
>::
MaterialHyperElastic
(
Real
Young
,
Real
Poisson
)
:
Young
(
Young
),
Poisson
(
Poisson
)
{
this
->
lambda
=
this
->
Young
*
this
->
Poisson
/
((
1
+
this
->
Poisson
)
*
(
1
-
2
*
this
->
Poisson
));
this
->
mu
=
this
->
Young
/
(
2
*
(
1
+
this
->
Poisson
));
}
//----------------------------------------------------------------------------//
template
<
Dim_t
s_dim
,
Dim_t
m_dim
>
void
MaterialHyperElastic
<
s_dim
,
m_dim
>::
compute_First_Piola_Kirchhoff_stress
(
const
SecondArray
&
F
,
SecondArray
&
P
)
{
P
=
0
+
F
;
}
//----------------------------------------------------------------------------//
template
<
Dim_t
s_dim
,
Dim_t
m_dim
>
void
MaterialHyperElastic
<
s_dim
,
m_dim
>::
compute_tangent_moduli
(
const
SecondArray
&
F
,
FourthArray
&
K
)
{
K
=
0
*
F
;
}
template
class
MaterialHyperElastic
<
2
,
2
>
;
template
class
MaterialHyperElastic
<
2
,
3
>
;
template
class
MaterialHyperElastic
<
3
,
3
>
;
}
// muSpectre
Event Timeline
Log In to Comment