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

Create body directly with Abaqus mesh #65

Closed
Tracked by #62
kaipartmann opened this issue Apr 8, 2024 · 1 comment · Fixed by #136
Closed
Tracked by #62

Create body directly with Abaqus mesh #65

kaipartmann opened this issue Apr 8, 2024 · 1 comment · Fixed by #136
Labels
enhancement New feature or request good first issue Good for newcomers

Comments

@kaipartmann
Copy link
Owner

The read_inp function of the submodule AbaqusMeshConverter does not return a PointCloud and is not exported, as in v0.2.
To use an Abaqus mesh for the simulations, one has to specifically load the submodule with

using Peridynamics.AbaqusMeshConverter

or has to use Peridynamics.read_inp. Therefore, the current workflow is similar to the following:

using Peridynamics
using Peridynamics.AbaqusMeshConverter

position, volume, point_sets = read_inp("path/to/abaqus_inp_file.inp")
body = Body(BBMaterial(), position, volume)

# for point sets, 1. either specify every set by hand:
point_set!(body, :some_set, point_sets["some_set"])
# ... all other sets

# or 2. use a for loop:
for (set_name, point_ids) in point_sets
    point_set!(body, Symbol(set_name), point_ids)
end

New method for Body:

It would be relatively easy to implement the code above into a new method for Body. Then the mentioned workflow would be much easier:

using Peridynamics

# the point sets are already included without specifying!
body = Body(BBMaterial(), "path/to/abaqus_inp_file.inp")
@kaipartmann kaipartmann added enhancement New feature or request good first issue Good for newcomers labels Apr 8, 2024
@kaipartmann kaipartmann added this to the v0.3.0 milestone Apr 8, 2024
@kaipartmann
Copy link
Owner Author

One thing that has to be considered is the conversion from the strings to symbols. With a field like "Point position top" with whitespace would result in the necessity for the user to specify Symbol("Point position top") when referencing the set. Therefore, maybe a conversion to :Point_positition_top could be a possible addition.

@kaipartmann kaipartmann mentioned this issue Apr 8, 2024
20 tasks
@kaipartmann kaipartmann changed the title Create body from Abaqus mesh Create body directly with Abaqus mesh Apr 8, 2024
@kaipartmann kaipartmann removed this from the v0.3.0 milestone Jul 1, 2024
@kaipartmann kaipartmann linked a pull request Jul 1, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant