b2api
B2000++ API Reference Manual, VERSION 4.6
 
Loading...
Searching...
No Matches
b2plasticity_von_mises_yield_criterion_linear_hardening.H
1//------------------------------------------------------------------------
2// b2plasticity_von_mises_yield_criterion_linear_hardening.H --
3//
4//
5// written by Mathias Doreille
6//
7// Copyright (c) 2007-2012 SMR Engineering & Development SA
8// 2502 Bienne, Switzerland
9//
10// All Rights Reserved. Proprietary source code. The contents of
11// this file may not be disclosed to third parties, copied or
12// duplicated in any form, in whole or in part, without the prior
13// written permission of SMR.
14//------------------------------------------------------------------------
15
16#ifndef B2PLASTICITY_VON_MISES_YIELD_CRITERION_LINEAR_HARDENING_H_
17#define B2PLASTICITY_VON_MISES_YIELD_CRITERION_LINEAR_HARDENING_H_
18
19#include <algorithm>
20
21#include "utils/b2type.H"
22
23namespace b2000 {
24
25class PlasticityVonMisesYieldCriterionLinearHardening {
26public:
27 PlasticityVonMisesYieldCriterionLinearHardening() : yield_stress(-1) {
28 std::fill_n(effective_plastic_strain, 6, 0);
29 }
30
31 void get_stress(
32 const double E, const double P, const double initial_yield_stress, const double hardening,
33 const double strain[6], const EquilibriumSolution equilibrium_solution, double stress[6],
34 double d_stress_d_strain[21]);
35
36 void get_effective_plastic_strain(double eps[6], double& yield_stress_) {
37 std::copy(effective_plastic_strain, effective_plastic_strain + 6, eps);
38 yield_stress_ = yield_stress;
39 }
40
41private:
42 double yield_stress;
43 double effective_plastic_strain[6];
44};
45
46} // namespace b2000
47
48#endif /*B2PLASTICITY_VON_MISES_YIELD_CRITERION_LINEAR_HARDENING_H_*/
Contains the base classes for implementing Finite Elements.
Definition b2boundary_condition.H:32