This pull-request adds an input file SickleCell.dat, as well as functions in ModIO.F90 for reading the input file into a cell for simulation.
ModRBC.F90 modifications include:
another possible sickle cell model (commented). Unfortunately, this model was ill-conditioned for the simulation
The "RBC_MakeUncurvedSickleSpheroid" subroutine, which creates an uncurved prolate spheroid. To produce the "SickleCell.dat" Sickle Cell model, this uncurved prolate spheroid was then inserted into a flow: vbkg = 8 for 5000 timesteps of size 0.00014, and with mechanical properties equivalent to a healthy Biconcave RBC (celltype 1 in case/tube.F90).
Tube.F90 also contains modifications to include the Sickle cell as celltype #3, where mechanical properties such as shear and bending modulus are set to 3x and 4x higher than a conventional healthy RBC respectively.
As seen in Initcond.F90, we can create a Sickle Cell in a simulation by replacing:
call Rbc_Create(rbc, nlat0, dealias)call RBC_MakeBiconcave(rbc, radEqv, xc)
with:
call ImportReadRbc('Input/SickleCell.dat', rbc, xc)
wherever we want a Sickle Cell instead of a Biconcave RBC.
Currently, Initcond sets up a simulation of 8 cells in single file inside a tube, where cells alternate between healthy and sickle.
This code has been tested through simulations, comprising of:
1 sickle cell
Many sickle cells
Combinations of sickle and other cells
In all cases, errors don't occur and the simulation behaves as expected (as long as the timestep size isn't too large to cause divergence - a suitable size is set in the below input file case_different_celltypes/Input/tube.in).
(code commits are a bit all-over, i recommend probably doing a squash merge once this goes in)
This pull-request adds an input file
SickleCell.dat
, as well as functions inModIO.F90
for reading the input file into a cell for simulation.ModRBC.F90
modifications include:vbkg
= 8 for 5000 timesteps of size 0.00014, and with mechanical properties equivalent to a healthy Biconcave RBC (celltype 1 in case/tube.F90).Tube.F90
also contains modifications to include the Sickle cell as celltype #3, where mechanical properties such as shear and bending modulus are set to 3x and 4x higher than a conventional healthy RBC respectively.As seen in
Initcond.F90
, we can create a Sickle Cell in a simulation by replacing:call Rbc_Create(rbc, nlat0, dealias)
call RBC_MakeBiconcave(rbc, radEqv, xc)
with:call ImportReadRbc('Input/SickleCell.dat', rbc, xc)
wherever we want a Sickle Cell instead of a Biconcave RBC.Currently, Initcond sets up a simulation of 8 cells in single file inside a tube, where cells alternate between healthy and sickle.
This code has been tested through simulations, comprising of:
case_different_celltypes/Input/tube.in
).(code commits are a bit all-over, i recommend probably doing a squash merge once this goes in)