Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to implement non-uniformity simulation of materials? #142

Closed
752096822 opened this issue Apr 3, 2024 · 8 comments
Closed

How to implement non-uniformity simulation of materials? #142

752096822 opened this issue Apr 3, 2024 · 8 comments
Assignees
Labels
feature New feature or request

Comments

@752096822
Copy link

752096822 commented Apr 3, 2024

How to implement non-uniformity simulation of materials?
The parameters such as the elastic modulus of the current model are fixed values. How should I handle the physical parameters changing with the coordinates?

@oldninja
Copy link

oldninja commented Apr 3, 2024

I have the same question. I thought that one way would be to assign many blocks of materials with appropriate values- Painful but doable.
I could help with the implementation if the development team is interested and can point me in their preferred direction.

@752096822
Copy link
Author

For example, how do I implement the following two situations:

  1. The material's elastic modulus or other mechanical parameters vary with the coordinate axis (for example, some function gradient materials)
  2. How to achieve the overall non-uniformity of the Damage Critical Value (for example, it follows a Weibull distribution at different points)

@JTHesse JTHesse added feature New feature or request and removed enhancement labels Apr 3, 2024
@JTHesse
Copy link
Collaborator

JTHesse commented Apr 3, 2024

For parameters that are dependent on values like x,y or t we can utilize Meta.parse, as we did in the eval_bc function.

Alternatively, you can also provide the values via the mesh_file for each node. I'm not sure if we should introduce a reference variable:

Mesh Input:

header: x y block_id volume MY_CRIT_VALUE
0.0 0.0 1 1.0E-02 2
0.1 0.0 1 1.0E-02 3
0.1 0.1 1 1.0E-02 4
...

Input deck:

PeriLab:
  Physics:
      Damage Models:
        Damage:
          Critical Value: MY_CRIT_VALUE
          Damage Model: Critical Energy

What is your opinion @CWillberg?

@oldninja
Copy link

oldninja commented Apr 3, 2024

For example, how do I implement the following two situations:

  1. The material's elastic modulus or other mechanical parameters vary with the coordinate axis (for example, some function gradient materials)

As I understand the code right now, you can try to use the approach as shown in this example: examples/RVE/RVE_abaqus.yaml
which requires some pre-processing before setting up the input file on your end. @JTHesse or @CWillberg please correct me if I'm wrong. It is doable, just need to do some preprocessing.

  1. How to achieve the overall non-uniformity of the Damage Critical Value (for example, it follows a Weibull distribution at different points)

I think you can follow the same approach as 1.

@oldninja
Copy link

oldninja commented Apr 3, 2024

For parameters that are dependent on values like x,y or t we can utilize Meta.parse, as we did in the eval_bc function.

That is what I was looking at over the weekend. I think that is a good idea. Would it be possible to do it for the damage models as well?
The alternative approach you suggest would be good too.

@JTHesse
Copy link
Collaborator

JTHesse commented Apr 3, 2024

@oldninja yes you are right, you could use something similar as the RVE example. But this would be, as you already pointed out, very messy.

That is what I was looking at over the weekend. I think that is a good idea. Would it be possible to do it for the damage models as well?

Yes, should be straightforward! We are going to implement this asap.

@CWillberg
Copy link
Collaborator

@oldninja write an issue. I will implement it tomorrow in the train.

@oldninja
Copy link

oldninja commented Apr 3, 2024

Will do. Thank you @CWillberg and @JTHesse !
Now it is done- should be feature request #143

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants