4
$\begingroup$

The title says it all. I know there have been a lot of enhancements in the recent versions of AceGen/AceFEM. I would like to know if there is a possibility of removing an element during computation (after SMTAnalysis command).

I know this is doable in AceGen (e.g., via introducing an idata variable and making the residual and tangent ineffective), but I would like to know if there is a direct way of doing this in AceFEM.

Thanks in advance

$\endgroup$

1 Answer 1

6
$\begingroup$

To exclude elements from simulation in AceFEM you can use: SMTElementData[elementSelector, "Active", -100], where elementSelector can be element index e.g. 1, a list of elements: e.g. {1, 2, 3, 4, 5,...}, domain e.g. "DomainName", or some logical expression as described by SMTFindElements which select elements you want to deactivate. -XXX specifies what type of deactivation it is regarding memory and postprocessing. In any case <0 means it will be excluded from Assembly (see help on SMTElementData for details).

Additionally SMTModifyElements[elementSelector, "Assembly" -> False, "Visualization" -> False], that does similar thing. Some actions (like changing no. of global DOFs or element conectivities) require also to run the command SMTIData["SetSolver",1];

$\endgroup$
5
  • $\begingroup$ Thanks, this does the job. $\endgroup$
    – KratosMath
    Aug 29, 2022 at 13:44
  • $\begingroup$ It works fine, but is there any way to remove the elements completely? so that they cannot be found by SMTElementData or SMTElementPostData. According to the documentation, SMTElementData[elementselector,"Active",-1000], deletes the corresponding elements from the memory, however, they can still be found by SMTElementData. $\endgroup$
    – KratosMath
    Aug 30, 2022 at 8:20
  • $\begingroup$ I think not, only adding after SMTAnalysis is possible at the moment (See SMTAddMesh, SMTAddNodes and SMTAddElements). If you want to actualy remove some elements completely you would have to then restart simulation with modified number of elements. When you have a list of active elemetns, you can always just use this instead of list of all elements. Is there any disadvantage of having SMTElementData full length? $\endgroup$ Aug 30, 2022 at 14:28
  • $\begingroup$ Actually, the thing that is bothering me is that the removed elements possess some post-processing (both nodal and Gauss) values, which is a bit puzzling for me. $\endgroup$
    – KratosMath
    Aug 30, 2022 at 15:08
  • 1
    $\begingroup$ Is it possible to attach some inages in your quesiton to see this issue? I dont exactly know how Exactly Ace handles deactivated elements in Postprocessing, but if you run SMTPostData[XXX,"Elements"->activeElements] it should only use values from active elements. It might still interpolate values within inactive elements in SMTShowMesh, but excluding them from showing manually should also work fine. $\endgroup$ Sep 5, 2022 at 19:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.