00001 #ifndef SPLAS1D_H
00002 #define SPLAS1D_H
00003
00004 #include <stdio.h>
00005 #include "strretalg.h"
00006 struct matrix;
00007 struct vector;
00008 struct atsel;
00009
00010
00011
00012
00013
00014
00015
00016
00017 class splas1d
00018 {
00019 public:
00020 splas1d (void);
00021 ~splas1d (void);
00022 void read (FILE *in);
00023 double yieldfunction (matrix &sig,vector &q);
00024 void deryieldfsigma (matrix &sig,matrix &dfds);
00025 void deryieldfq (vector &dq);
00026 void plasmod (matrix &h);
00027 double plasmodscalar (vector &qtr);
00028 void updateq(double dgamma, vector &q);
00029 void nlstresses (long ipp, long im,long ido);
00030 void nonloc_nlstresses (long ipp, long im,long ido);
00031 void matstiff (matrix &d,long ipp,long ido);
00032 void updateval (long ipp, long ido);
00033 void giveirrstrains (long ipp, long ido, vector &epsp);
00034 void changeparam (atsel &atm,vector &val);
00035 double give_consparam (long ipp,long ido);
00036 long give_num_interparam ();
00037 void give_interparam (long ipp,long ido,vector &q);
00038
00039
00040 double fs;
00041
00042 double k;
00043
00044 strretalg sra;
00045 };
00046
00047 #endif