SIFEL/MEFEL/SRC/slipsurf.cpp File Reference

#include <stdlib.h>
#include <math.h>
#include "slipsurf.h"
#include "global.h"
#include "gtopology.h"
#include "mechmat.h"
#include "mechtop.h"
#include "element.h"

Go to the source code of this file.

Functions

long approx_slip_surf (long id, long *plast_ip, double &a, double &b)
double detect_max_gamma (long *plast_ip, long &max_gamma_ip, long &max_gamma_eid, double gamma_min)
long detect_plast_ip (long nadjelem, long *adjelem, long *plast_ip, long zone_id, long *plast_adjelem)
long detect_plastic_zones (long *plast_ip, double gamma_min)

Function Documentation

long approx_slip_surf ( long  id,
long *  plast_ip,
double &  a,
double &  b 
)

The function interpolates the plastic zone by the slip surface with help of weight least square method. The exponential approximation of the slip surface is assumed in the form y = a*exp(b*x).

Parameters:
id - plastic zone id
plast_ip - array of plastic zone id for particular int. points (plast[ipp] = id of plastic zone)
a - parameter a of the approximation function y = a*exp(b*x) (output)
b - parameter b of the approximation function y = a*exp(b*x) (output)
Return values:
0 - approximation was calculated sucessfully
1 - plastic zone contains less than 2 points => no slip surface can be determined

Created by Tomas Koudelka 03.2013

Definition at line 253 of file slipsurf.cpp.

References mechtop::elements, mechmat::give_consparam(), mechtop::give_ipcoord_elem(), mechtop::give_tnip(), Gtm, element::ipp, gtopology::leso, Mm, Mt, mechtop::ne, print_err(), and reallocm().

Referenced by solve_prob_constr_phases().

double detect_max_gamma ( long *  plast_ip,
long &  max_gamma_ip,
long &  max_gamma_eid,
double  gamma_min 
)

The function searches integration points for the maximum value of the consistency parameter. Only those points are searched that the plastic zone identifier have not yet been assigned to (i.e. plast_ip[i] is zero or negative). The function returns the maximum value of consistency parameter gamma and there are also passed resulting max_gamma_ip and max_gamma_eid by the function arguments.

Parameters:
plast_ip - array with plastic zone numbers of int. points, plast_ip[ipp] > 0 - plastic zone number for the given ipp plast_ip[ipp] = 0 - plasticity was detected but plastic zone id has not been assigned yet plast_ip[ipp] = -1 - no plasticity was detected in the given ipp
max_gamma_ip - integration point id where the maximum value of the consistency parameter was found (output)
max_gamma_eid - element id where the max_gamma_ip was found (output)
gamma_min - the minimum value of the consistency parameter which will be taken into account
Returns:
The function returns the maximum value of the consistency parameter (gamma) which was found in the remaining integration points.

Created by Tomas Koudelka 03.2013

Definition at line 196 of file slipsurf.cpp.

References mechtop::elements, mechmat::give_consparam(), mechtop::give_tnip(), Gtm, element::ipp, gtopology::leso, Mm, Mt, and mechtop::ne.

Referenced by detect_plastic_zones().

long detect_plast_ip ( long  nadjelem,
long *  adjelem,
long *  plast_ip,
long  zone_id,
long *  plast_adjelem 
)

The function searches elements whose numbers are in the array adjelem for integration points with evolved plasticity. The integration points which have nonzero consistency parameter (gamma) are marked in the array plast_ip by the number stored in the zone_id. If the integration point of the i-th adjacent element was newly marked than the plast_adjelem[i] is set to 1.

Parameters:
nadjelem - number of elements which will be searched for int. points in plastic state
adjelem - array with adjacent element numbers (dimension is nadjelem)
plast_ip - array with plastic zone numbers of int. points, plast_ip[ipp] > 0 - plastic zone number for the given ipp plast_ip[ipp] = 0 - plasticity was detected but plastic zone id has not been assigned yet plast_ip[ipp] = -1 - no plasticity was detected in the given ipp
zone_id - actual plastic zone id. It will be assigned to the searched int. points that are in the plastic state
plast_adjelem - array of element numbers whose int. points were found being in the plastic state
Returns:
The function returns number of int. points with nonzero consistency parameter

Created by Tomas Koudelka 03.2013

Definition at line 148 of file slipsurf.cpp.

References mechtop::elements, mechtop::give_tnip(), Gtm, element::ipp, gtopology::leso, and Mt.

Referenced by detect_plastic_zones().

long detect_plastic_zones ( long *  plast_ip,
double  gamma_min 
)

The function detects evolved plastic zones in the integration points. For each detected plastic zone, new id is generated starting from 1. If the consistency parameter (gamma) is zero in the given integration point then the plastic zone id = 0 will be assigned in such the case. Resulting generated id are stored in the array plast_ip.

Parameters:
plast_ip - allocated array where the id of the detected plastic araeas will be stored for each integration point, i.e. plast_ip[ipp] = plastic zone id at the integration point ipp.
gamma_min - the minimum value of the consistency parameter which will be taken into account
Returns:
The function returns the number of plastic zones detected.

Created by Tomas Koudelka, 03.2013

Definition at line 27 of file slipsurf.cpp.

References gtopology::adjacelem(), gtopology::adjelel, detect_max_gamma(), detect_plast_ip(), Gtm, memset(), Mm, Mt, gtopology::nadjelel, mechtop::ne, and mechmat::tnip.

Referenced by solve_prob_constr_phases().


Generated by  doxygen 1.6.2