Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F93919062
heat_diffusion.hh
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
Mon, Dec 2, 12:35
Size
1 KB
Mime Type
text/x-c++
Expires
Wed, Dec 4, 12:35 (23 h, 50 m)
Engine
blob
Format
Raw Data
Handle
22715037
Attached To
rAKA akantu
heat_diffusion.hh
View Options
#include "diffusion_law.hh"
#ifndef AKANTU_HEAT_DIFFUSION_HH
#define AKANTU_HEAT_DIFFUSION_HH
namespace
akantu
{
template
<
Int
dim
>
class
HeatDiffusion
:
public
DiffusionLaw
{
using
Parent
=
DiffusionLaw
;
public
:
HeatDiffusion
(
DiffusionModel
&
model
,
const
ID
&
id
,
const
ID
&
fe_engine_id
=
""
);
void
updateInternalParameters
()
override
;
void
computeDiffusivityGradUOnQuadPoints
(
ElementType
type
,
GhostType
ghost_type
)
override
;
void
computeDiffusivityOnQuadPoints
(
ElementType
type
,
GhostType
ghost_type
)
override
;
decltype
(
auto
)
getArguments
(
ElementType
type
,
GhostType
ghost_type
)
{
return
DiffusionLaw
::
getArguments
<
dim
>
(
type
,
ghost_type
);
}
[[
nodiscard
]]
Real
getStableTimeStep
(
Real
element_size
)
override
;
[[
nodiscard
]]
Real
getRho
()
const
override
{
return
density
*
capacity
;
}
[[
nodiscard
]]
Real
getEnergy
(
const
ID
&
energy_id
)
override
;
[[
nodiscard
]]
Real
getEnergy
(
const
ID
&
energy_id
,
const
Element
&
element
)
override
;
private
:
auto
getThermalEnergy
(
const
Element
&
element
)
->
Real
;
auto
getThermalEnergy
()
->
Real
;
template
<
class
iterator
,
class
t_iterator
>
void
getThermalEnergy
(
iterator
Eth
,
t_iterator
T_it
,
t_iterator
T_end
)
const
;
private
:
Real
density
{
0.
};
/// capacity
Real
capacity
{
0.
};
// conductivity matrix
Matrix
<
Real
>
conductivity
;
// linear variation of the conductivity (for temperature dependent
// conductivity)
Real
conductivity_variation
{
0.
};
// reference temperature for the interpretation of temperature variation
Real
T_ref
{
0.
};
};
}
// namespace akantu
#endif
// AKANTU_HEAT_DIFFUSION_HH
Event Timeline
Log In to Comment