Commit 4ba55616 authored by Kevin Moreau's avatar Kevin Moreau

Refactored a little, add possibility to export dissipated energy,

add possibility to export damage field at peak load.




git-svn-id: https://svn.ec-nantes.fr/eXlibris/Applis/TLSDuctile@2356 fbbead7c-fb4d-4173-aa67-51132c73c120
parent bb530ca8
This diff is collapsed.
......@@ -64,14 +64,21 @@ protected:
xfem::xVector computeRefForce();
xfem::xVector computeRefDisp();
protected:
// Returns true if it is the peak step in force/displacement curve.
bool isPeakForce();
void initializeValueDouble();
void updateValueDouble();
void selectValueDouble(std::string);
TLSSolver& tls_solver;
// Field and its double manager dedicated to meas of external forces
xfem::xDoubleManager double_manager_meas;
xfem::xField disp_field_meas;
double old_load_factor, load_factor, load_factor_variation;
double old_load_factor, load_factor, load_factor_variation, max_load_factor, max_force_norm, dissipated_energy;
xfem::xVector old_ref_force, ref_force, old_ref_disp, ref_disp;
const double delta_phi_max;
bool is_forced, is_nonlinear, do_anticipated_exit;
......
......@@ -81,6 +81,11 @@ void ElastoDam::sensitivityTo(const std::string& phys_token, double& sensitivity
Observer::tell("load_factor", load_factor);
sensitivity=tmp.contract(eps_ref)*load_factor;
}
else if (phys_token == "delta_dissipated_energy") {
double d=curr->scalar("d");
double delta_d=d-old->scalar("d");
sensitivity=Y_c*hardening_function->getVal(d)*delta_d;
}
else if(phys_token == "Y") {
sensitivityTo("a", sensitivity);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment