24#ifndef SURFACE_PARTICLE_3D_H
25#define SURFACE_PARTICLE_3D_H
27 class HemoCellParticle;
30#include "core/cell.hh"
50#if HEMOCELL_MATERIAL_INTEGRATION == 2
60#ifdef SOLIDIFY_MECHANICS
69 #ifdef INTERIOR_VISCOSITY
72 std::vector<hemo::Array<plint, 3>> kernelCoordinates;
94 #ifdef INTERIOR_VISCOSITY
95 normalDirection = copy.normalDirection;
96 kernelCoordinates = copy.kernelCoordinates;
118#ifdef SOLIDIFY_MECHANICS
122#ifdef INTERIOR_VISCOSITY
123 normalDirection = {0.,0.,0.};
127 if (vertexId_ > UINT16_MAX) {
128 std::cerr <<
"(HemoCellParticle) Trying to add more vertexes to a single cell than UINT16_MAX, consider converting vertexid to a long int" << std::endl;
143 #ifdef INTERIOR_VISCOSITY
144 normalDirection = copy.normalDirection;
145 kernelCoordinates = copy.kernelCoordinates;
194 #if HEMOCELL_MATERIAL_INTEGRATION == 1
197 #elif HEMOCELL_MATERIAL_INTEGRATION == 2
Definition hemoCellParticle.h:40
hemo::Array< T, 3 > * force_link
Definition hemoCellParticle.h:80
hemo::Array< T, 3 > * force_area
Definition hemoCellParticle.h:81
hemo::Array< T, 3 > * force_bending
Definition hemoCellParticle.h:79
void advance()
Implements Euler integration with velocity alone.
Definition hemoCellParticle.h:188
std::vector< T > kernelWeights
Definition hemoCellParticle.h:76
HemoCellParticle(hemo::Array< T, 3 > position_, plint cellId_, plint vertexId_, pluint celltype_)
Definition hemoCellParticle.h:109
int getId() const
Definition hemoCellParticle.h:205
plint tag
Definition hemoCellParticle.h:68
serializeValues_t sv
Definition hemoCellParticle.h:65
void setTag(plint tag_)
Definition hemoCellParticle.h:207
HemoCellParticle & operator=(const HemoCellParticle ©)
Definition hemoCellParticle.h:139
plint getTag()
Definition hemoCellParticle.h:206
HemoCellParticle(const serializeValues_t &sv_)
Definition hemoCellParticle.h:133
~HemoCellParticle()
Definition hemoCellParticle.h:87
hemo::Array< T, 3 > * force_visc
Definition hemoCellParticle.h:82
hemo::Array< T, 3 > force_total
Definition hemoCellParticle.h:67
HemoCellParticle(const HemoCellParticle ©)
Definition hemoCellParticle.h:88
void repoint_force_vectors()
Definition hemoCellParticle.h:178
hemo::Array< T, 3 > * force_inner_link
Definition hemoCellParticle.h:83
hemo::Array< T, 3 > * force_volume
Definition hemoCellParticle.h:78
HemoCellParticle * clone() const
Definition hemoCellParticle.h:173
std::vector< plb::Cell< T, DESCRIPTOR > * > kernelLocations
Definition hemoCellParticle.h:75
long int plint
Definition constant_defaults.h:127
long unsigned int pluint
Definition constant_defaults.h:130
#define PARTICLE_ID
Definition hemoCellParticle.h:35
Definition hemoCellParticle.h:45
hemo::Array< T, 3 > v
Definition hemoCellParticle.h:46
hemo::Array< T, 3 > position
Definition hemoCellParticle.h:47
unsigned char celltype
Definition hemoCellParticle.h:58
hemo::Array< T, 3 > force
Definition hemoCellParticle.h:48
hemo::Array< T, 3 > force_repulsion
Definition hemoCellParticle.h:49
unsigned int restime
Definition hemoCellParticle.h:56
uint16_t vertexId
Definition hemoCellParticle.h:55
plint cellId
Definition hemoCellParticle.h:53