luchete80 / WeldForm

Weakly-Compressible Smoothed Particle Hydrodynamics Parallel Solver for Elasto Plastic and thermal coupled Solid Mechanics
GNU General Public License v3.0
9 stars 5 forks source link

Trimesh ApplyConstVel is not being updating particles velocity #172

Open luchete80 opened 2 years ago

luchete80 commented 2 years ago

Does not make any sense to apply 2 BC for same thing:


        if (domi.Particles[i]->ID == 10) // "FEM", fictitious SPH PARTICLES FROM TRIMESH
        {
            domi.Particles[i]->a        = Vec3_t(0.0,0.0,0.0);
            domi.Particles[i]->v        = Vec3_t(0.0,0.0,-vcompress);
            domi.Particles[i]->va       = Vec3_t(0.0,0.0,-vcompress);
//          domi.Particles[i]->vb       = Vec3_t(0.0,0.0,-vcompress);
//          domi.Particles[i]->VXSPH    = Vec3_t(0.0,0.0,0.0);
        }

    //TODO: Modify this by relating FEM & AND partciles 
    //domi.trimesh->ApplyConstVel(Vec3_t(0.0,0.0,0.0));
    //domi.trimesh->ApplyConstVel(Vec3_t(0.0,0.0,-vcompress));
}
luchete80 commented 2 years ago

Particle and trimesh v and x should be unified internally

Particles properties Used in nb search: Vec3_t xij = Particles[P1]->x - Particles[P2]->x; Used in contact Vec3_t vr = Particles[P1]->v - Particles[P2]->v; //Fraser 3-137

Trimesh properties: Used in contact:

Element* e = trimesh-> element[Particles[P2]->element];
double pplane = e -> pplane; 
double deltat_cont = ( Particles[P1]->h + pplane - dot (Particles[P2]->normal,  Particles[P1]->x) ) / (-delta_);                                //Eq 3-142