Skip to content

Conversation

@knarfnitram
Copy link
Contributor

Description and Context

Selecting a single value for the beam to beam penalty parameter can be cumbersome, this MR modifies the beam contact to specify the penalty parameters by a function instead of single value from the inputfile.
Hence two new parameters, BEAMS_BTBPENALTYPARAM_BY_FUNCT and BEAMS_BTBLINEPENALTYPARAM_BY_FUNCT are introduced, which evaluate the parameters within the contact pair at the specified time.

Two test cases, one for the line and the other for the point penalty value are provided.

Related Issues and Pull Requests

Modifies evaluation of the beam-to-beam
penalty value with respect to a function by time.
for (auto& pair : newbeaminteractionpairs)
{
pair->init(beam_contact_params_ptr_, ele_ptrs);
pair->init(beam_contact_params_ptr_, ele_ptrs, g_state().get_time_n());
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here I am not so sure, if we really want to pass the time into the pair, and especially the previous or next time.

.default_value = -1.0}),
parameter<int>("BEAMS_BTBPENALTYPARAM_BY_FUNCT",
{.description = "Penalty parameter for beam-to-beam point contact by function id",
.default_value = -1}),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's not add a default of -1 anymore. You can also make it a noneable default.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also - would it make more sense to add a new "subsection" and then you chose if you either have a constant value or a function id?

Like it's done with the input fields. Because the parameter is somehow duplicated as far as I understand?

Comment on lines 96 to 99
if (btb_point_penalty_param_ > 0.0 and btb_function_id_for_point_penalty > 0.0)
FOUR_C_THROW(
"Please specify the beam-to-beam point penalty parameter either with BEAMS_BTBPENALTYPARAM "
"or BEAMS_BTBPENALTYPARAM_BY_FUNCT. Not both!");
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you already verify this during input it would probably make more sense

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

Successfully merging this pull request may close these issues.

2 participants