Skip to content
Snippets Groups Projects
Commit 9419bc3a authored by Dave Whipp's avatar Dave Whipp
Browse files

Removed unnecessary passing of strain

parent d614eef3
No related branches found
No related tags found
No related merge requests found
......@@ -34,9 +34,8 @@ subroutine compute_pressure (params,osolve,ov,vo,mat)
! mat is the material matrix for the nmat materials
! materialn contains the material number associated to each lsf
! u,v,w are the nodal velocities from the previous time step/iteration
! temp, pressure and strain are the nodal temperature, pressure and strain
! interpolated from the previous time step/iteration or, in the case of
! the strain, from the 3D cloud
! temp and pressure are the nodal temperature and pressure interpolated from the
! previous time step/iteration
! vo is the structure containing the information on where the void is
! levelcut is the maximum number of levels used for dividing cut cells
! levelapprox is used to improve the estimate of the positive volume
......@@ -105,8 +104,8 @@ do ileaves=1+iproc,osolve%nleaves,nproc
call pressure_cut (params,level,levelmax,osolve%icon(1,ileaves), &
osolve%x,osolve%y,osolve%z,mat,params%materialn, &
ov%unode,ov%vnode,ov%wnode,osolve%temp,press(ileaves),&
osolve%strain,osolve%nnode,lsf_el,osolve%nlsf,r0,s0, &
t0,rst,icut,ileaves,osolve%eviscosity(ileaves))
osolve%nnode,lsf_el,osolve%nlsf,r0,s0,t0,rst,icut, &
ileaves,osolve%eviscosity(ileaves))
deallocate (lsf_el)
endif
enddo
......
......@@ -17,7 +17,7 @@
!------------------------------------------------------------------------------|
subroutine make_pressure (params,icon,xg,yg,zg,viscosity0,penalty,expon,unode, &
vnode,wnode,temp,pressure,strain,nnode,r0,s0,t0,rst, &
vnode,wnode,temp,pressure,nnode,r0,s0,t0,rst, &
eviscosity)
use definitions
......@@ -42,7 +42,6 @@ include 'mpif.h'
! unode,vnode,wnode is the velocity array (obtained from previous time step
! or at least containing the proper velocity at the fixed dofs)
! temp and pressure anre temperature and pressure
! strain is total accumulated strain as interpolated from the 3D cloud
! nnode is number of nodes
! r0,s0,t0 are the bottom left back corner of the part of the element
! we are now integrating (in local r,s,t coordinates)
......@@ -61,7 +60,6 @@ double precision expon
double precision unode(nnode),vnode(nnode),wnode(nnode)
double precision temp(nnode)
double precision pressure
double precision strain(nnode)
integer nnode
double precision r0,s0,t0,rst
double precision eviscosity
......@@ -71,7 +69,7 @@ double precision eviscosity
!------------------------------------------------------------------------------|
!integer nint
integer iproc,nproc,ierr,ic,k,iint,err
double precision viscosity,straintot
double precision viscosity
double precision exx,eyy,ezz,exy,eyz,ezx,E2d,E3d
double precision f1(3,3),defgrad(3,3)
double precision detf1,detf,e2dref,viscomean
......
......@@ -17,9 +17,8 @@
!------------------------------------------------------------------------------|
recursive subroutine pressure_cut (params,level,levelmax,icon,x,y,z,mat, &
materialn,u,v,w,temp,pressure,strain,nnode, &
lsf,nlsf,r0,s0,t0,rst,icut,ileaves, &
eviscosity)
materialn,u,v,w,temp,pressure,nnode,lsf, &
nlsf,r0,s0,t0,rst,icut,ileaves,eviscosity)
!------------------------------------------------------------------------------|
!(((((((((((((((( Purpose of the routine ))))))))))))))))))))))))))))))))))))))
......@@ -35,7 +34,7 @@ recursive subroutine pressure_cut (params,level,levelmax,icon,x,y,z,mat, &
! materialn contains the material number associated to each lsf
! u,v,w is the velocity array (obtained from previous time step
! or at least containing the proper velocity at the fixed dofs)
! temp, pressure and strain are temperature, pressure and strain
! temp and pressure are temperature and pressure
! nnode is number of nodes
! lsf is global array of level set functions defining the surfaces
! nlsf is number of lsfs
......@@ -62,7 +61,6 @@ integer,intent(in) :: materialn(0:nlsf)
double precision,intent(in) :: u(nnode),v(nnode),w(nnode)
double precision,intent(in) :: temp(nnode)
double precision,intent(inout) :: pressure
double precision,intent(in) :: strain(nnode)
integer,intent(in) :: nnode
double precision,intent(in) :: lsf(params%mpe,nlsf)
integer,intent(in) :: nlsf
......@@ -115,18 +113,18 @@ do i=1,nlsf
if (matrule.eq.1 .or. matrule.eq.2) then ! Use majority or minority rule
call set_elem_props_pc(params,mat,matrule,nlsf,nnode,icon,level, &
materialn,vol_lsf,vol_lsf0,x,y,z,u,v,w,temp, &
pressure,strain,r0,s0,t0,rst,xmean,ymean,zmean,&
pressure,r0,s0,t0,rst,xmean,ymean,zmean, &
eviscosity)
else ! Use divFEM
if (level.eq.levelmax) then
call set_elem_props_pc(params,mat,matrule,nlsf,nnode,icon,level, &
materialn,vol_lsf,vol_lsf0,x,y,z,u,v,w,temp, &
pressure,strain,r0,s0,t0,rst,xmean,ymean, &
zmean,eviscosity)
pressure,r0,s0,t0,rst,xmean,ymean,zmean, &
eviscosity)
else
call divide_element_pc(params,mat,level,levelmax,nlsf,nnode,icon, &
ileaves,materialn,lsf,r0,s0,t0,rst,x,y,z,u,v,&
w,temp,pressure,strain,eviscosity)
w,temp,pressure,eviscosity)
endif
endif
deallocate (vol_lsf)
......@@ -144,8 +142,8 @@ call mat_trans_pc(params,mat,matel,xmean,ymean,zmean)
if (icut.eq.0) then
call make_pressure(params,icon,x,y,z,mat(matel)%viscosity,mat(matel)%penalty,&
mat(matel)%expon,u,v,w,temp,pressurep,strain,nnode,r0,s0, &
t0,rst,eviscosity)
mat(matel)%expon,u,v,w,temp,pressurep,nnode,r0,s0,t0,rst, &
eviscosity)
pressure=pressure+pressurep/(8.d0**level)
endif
......@@ -207,8 +205,7 @@ end subroutine get_mat_volume_pc
subroutine set_elem_props_pc (params,mat,matrule,nlsf,nnode,icon,level, &
materialn,vol_lsf,vol_lsf0,x,y,z,u,v,w,temp, &
pressure,strain,r0,s0,t0,rst,xmean,ymean,zmean, &
eviscosity)
pressure,r0,s0,t0,rst,xmean,ymean,zmean,eviscosity)
use definitions
......@@ -227,7 +224,6 @@ double precision,intent(in) :: vol_lsf0
double precision,intent(in) :: x(nnode),y(nnode),z(nnode)
double precision,intent(in) :: u(nnode),v(nnode),w(nnode)
double precision,intent(in) :: temp(nnode)
double precision,intent(in) :: strain(nnode)
double precision,intent(in) :: r0,s0,t0,rst
double precision,intent(in) :: xmean,ymean,zmean
double precision,intent(in) :: eviscosity
......@@ -287,7 +283,7 @@ case default
end select
call make_pressure (params,icon,x,y,z,viscosity,penal,expon,u,v,w,temp, &
pressurep,strain,nnode,r0,s0,t0,rst,eviscosity)
pressurep,nnode,r0,s0,t0,rst,eviscosity)
pressure=pressure+pressurep/(8.d0**level)
......@@ -297,7 +293,7 @@ end subroutine set_elem_props_pc
subroutine divide_element_pc(params,mat,level,levelmax,nlsf,nnode,icon,ileaves,&
materialn,lsf,r0,s0,t0,rst,x,y,z,u,v,w,temp, &
pressure,strain,eviscosity)
pressure,eviscosity)
use definitions
......@@ -317,7 +313,6 @@ double precision,intent(in) :: r0,s0,t0,rst
double precision,intent(in) :: x(nnode),y(nnode),z(nnode)
double precision,intent(in) :: u(nnode),v(nnode),w(nnode)
double precision,intent(in) :: temp(nnode)
double precision,intent(in) :: strain(nnode)
double precision,intent(in) :: eviscosity
double precision,intent(inout) :: pressure
......@@ -375,8 +370,8 @@ do kk=1,2
levelp=level+1
call pressure_cut (params,levelp,levelmax,icon,x,y,z,mat,materialn,u, &
v,w,temp,pressure,strain,nnode,lsfp,nlsf,r0p,s0p, &
t0p,rstp,jcut,ileaves,eviscosity)
v,w,temp,pressure,nnode,lsfp,nlsf,r0p,s0p,t0p,rstp, &
jcut,ileaves,eviscosity)
enddo
enddo
enddo
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment