Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F73841817
BodyForce.h
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
Wed, Jul 24, 19:26
Size
1 KB
Mime Type
text/x-c
Expires
Fri, Jul 26, 19:26 (2 d)
Engine
blob
Format
Raw Data
Handle
19279392
Attached To
rLAMMPS lammps
BodyForce.h
View Options
#ifndef BODY_FORCE_H
#define BODY_FORCE_H
#include <map>
#include <string>
using
std
::
map
;
using
std
::
string
;
#include "ATC_TypeDefs.h"
#include "Function.h"
namespace
ATC
{
/**
* @class BodyForce
* @brief Base class for models of body forces in the momentum eqn
*/
class
BodyForce
{
public:
BodyForce
()
{};
virtual
~
BodyForce
()
{};
virtual
bool
body_force
(
const
FIELD_MATS
&
fields
,
DENS_MAT
&
flux
)
const
{
return
false
;
};
};
/**
* @class BodyForceViscous
* @brief viscous body forces
*/
class
BodyForceViscous
:
public
BodyForce
{
public:
BodyForceViscous
(
fstream
&
matfile
,
map
<
string
,
double
>
&
parameters
);
virtual
~
BodyForceViscous
()
{};
virtual
bool
body_force
(
const
FIELD_MATS
&
fields
,
DENS_MAT
&
flux
)
const
{
FIELD_MATS
::
const_iterator
v_field
=
fields
.
find
(
VELOCITY
);
const
DENS_MAT
&
v
=
v_field
->
second
;
flux
=
-
gamma_
*
v
;
return
true
;
}
protected:
double
gamma_
;
};
/**
* @class BodyForceElectricField
* @brief electric field body forces
*/
class
BodyForceElectricField
:
public
BodyForce
{
public:
BodyForceElectricField
(
fstream
&
matfile
,
map
<
string
,
double
>
&
parameters
)
{
throw
ATC_Error
(
"unimplemented due to issues with accessing electric field"
);
}
virtual
~
BodyForceElectricField
()
{};
virtual
bool
body_force
(
const
FIELD_MATS
&
fields
,
DENS_MAT
&
flux
)
const
{
FIELD_MATS
::
const_iterator
v_field
=
fields
.
find
(
VELOCITY
);
const
DENS_MAT
&
v
=
v_field
->
second
;
int
nNodes
=
v
.
nRows
();
flux
.
reset
(
nNodes
,
1
);
return
true
;
}
};
}
#endif
Event Timeline
Log In to Comment