better phase field init

This commit is contained in:
James E McClure 2018-09-04 21:34:00 -04:00
parent af35c194ab
commit 11252ecb38
2 changed files with 17 additions and 9 deletions

View File

@ -2777,11 +2777,15 @@ extern "C" void ScaLBL_PhaseField_Init(int *Map, double *Phi, double *Den, doubl
n = Map[idx]; n = Map[idx];
phi = Phi[n]; phi = Phi[n];
if (phi > 0.f){ if (phi > 1.f){
nA = 1.0; nB = 0.f; nA = 1.0; nB = 0.f;
}
else if (phi < -1.f){
nB = 1.0; nA = 0.f;
} }
else{ else{
nB = 1.0; nA = 0.f; nA=0.5*(phi-1.f);
nB=0.5*(phi+1.f);
} }
Den[idx] = nA; Den[idx] = nA;
Den[Np+idx] = nB; Den[Np+idx] = nB;

View File

@ -3902,12 +3902,16 @@ __global__ void dvc_ScaLBL_PhaseField_Init(int *Map, double *Phi, double *Den, d
n = Map[idx]; n = Map[idx];
phi = Phi[n]; phi = Phi[n];
if (phi > 0.f){ if (phi > 1.f){
nA = 1.0; nB = 0.f; nA = 1.0; nB = 0.f;
} }
else{ else if (phi < -1.f){
nB = 1.0; nA = 0.f; nB = 1.0; nA = 0.f;
} }
else{
nA=0.5*(phi-1.f);
nB=0.5*(phi+1.f);
}
Den[idx] = nA; Den[idx] = nA;
Den[Np+idx] = nB; Den[Np+idx] = nB;