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 apply multiple boundary conditions #63

Open
diehlpk opened this issue Oct 6, 2023 · 1 comment
Open

How to apply multiple boundary conditions #63

diehlpk opened this issue Oct 6, 2023 · 1 comment

Comments

@diehlpk
Copy link
Contributor

diehlpk commented Oct 6, 2023

In all the examples, it seems only one boundary condition with multiple planes is applied

  CabanaPD::RegionBoundary plane1( low_x, high_x, low_y - dy, low_y + dy,
                                         low_z, high_z );
        CabanaPD::RegionBoundary plane2( low_x, high_x, high_y - dy,
                                         high_y + dy, low_z, high_z );
        std::vector<CabanaPD::RegionBoundary> planes = { plane1, plane2 };
        auto bc =
            createBoundaryCondition( CabanaPD::ForceCrackBranchBCTag{},
                                     exec_space{}, *particles, planes, b0 );

How can I apply to boundary conditions with different b0 values?

I want to apply one boundary condition with b0 and -b0 on the top and bottom of the geometry.

auto cabana_pd = CabanaPD::createSolverFracture<device_type>(
            inputs, particles, force_model, bc, prenotch );

It seems that bc can only be one object derived from createBoundaryCondition and there is no option to provide a vector.

@streeve
Copy link
Collaborator

streeve commented Oct 6, 2023

I just pushed an update for #33 - the crack branching BC does exactly that. We have plans to generalize boundary conditions in general for dynamic and/or different values for different sets of particles along the lines of what you suggest (which will clean up what I just added quite a bit).

I mostly want to make sure that what we're doing is performant: fusing each BC rather than applying each one separately is the goal.

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

No branches or pull requests

2 participants