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) |
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).
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) |
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.
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 |
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.
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 |
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.
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 |
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().