1!
2!     CalculiX - A 3-dimensional finite element program
3!              Copyright (C) 1998-2021 Guido Dhondt
4!
5!     This program is free software; you can redistribute it and/or
6!     modify it under the terms of the GNU General Public License as
7!     published by the Free Software Foundation(version 2);
8!
9!
10!     This program is distributed in the hope that it will be useful,
11!     but WITHOUT ANY WARRANTY; without even the implied warranty of
12!     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13!     GNU General Public License for more details.
14!
15!     You should have received a copy of the GNU General Public License
16!     along with this program; if not, write to the Free Software
17!     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18!
19      subroutine objective_stress_tot(dgdx,df,ndesi,iobject,jqs,
20     &   irows,dgdu)
21!
22      implicit none
23!
24      integer ndesi,iobject,idesvar,j,jqs(*),irows(*),idof
25!
26      real*8 dgdx(ndesi,*),df(*),dgdu(*)
27!
28!
29!     ----------------------------------------------------------------
30!     Calculation of the total differential:
31!     non-linear:  dgdx = dgdx + dgdu * ( df )
32!     ----------------------------------------------------------------
33!
34!     Calculation of the total differential:
35!
36      do idesvar=1,ndesi
37         do j=jqs(idesvar),jqs(idesvar+1)-1
38            idof=irows(j)
39            dgdx(idesvar,iobject)=dgdx(idesvar,iobject)
40     &           +dgdu(idof)*df(j)
41         enddo
42      enddo
43!
44      return
45      end
46