Lines Matching +full:- +full:o
1 // SPDX-FileCopyrightText: Copyright (c) 2017-2024, HONEE contributors.
2 // SPDX-License-Identifier: Apache-2.0 OR BSD-2-Clause
5 #include <dm-utils.h>
6 #include <petsc-ceed.h>
16 @return An error code: 0 - success, otherwise - failure
45 PetscCall(PetscStrallocpy(name, &bc_def_->name)); in BCDefinitionCreate()
47 bc_def_->num_label_values = num_label_values; in BCDefinitionCreate()
48 PetscCall(PetscMalloc1(num_label_values, &bc_def_->label_values)); in BCDefinitionCreate()
49 for (PetscInt i = 0; i < num_label_values; i++) bc_def_->label_values[i] = label_values[i]; in BCDefinitionCreate()
65 if (bc_def_->name) PetscCall(PetscFree(bc_def_->name)); in BCDefinitionDestroy()
66 if (bc_def_->label_values) PetscCall(PetscFree(bc_def_->label_values)); in BCDefinitionDestroy()
67 if (bc_def_->essential_comps) PetscCall(PetscFree(bc_def_->essential_comps)); in BCDefinitionDestroy()
68 if (bc_def_->dm) PetscCall(DMDestroy(&bc_def_->dm)); in BCDefinitionDestroy()
69 if (bc_def_->DestroyCtx) PetscCall((*bc_def_->DestroyCtx)(&bc_def_->ctx)); in BCDefinitionDestroy()
83 @return An error code: 0 - success, otherwise - failure
106 if (is_detailed) PetscCall(DMView(bc_def->dm, viewer)); in BCDefinitionView()
107 PetscCall(PetscViewerASCIIPrintf(viewer, "DM Field: %" PetscInt_FMT "\n", bc_def->dm_field)); in BCDefinitionView()
110 if (bc_def->num_label_values > 0) { in BCDefinitionView()
111 for (PetscInt i = 0; i < bc_def->num_label_values; i++) { in BCDefinitionView()
112 PetscCall(PetscViewerASCIIPrintf(viewer, " %" PetscInt_FMT, bc_def->label_values[i])); in BCDefinitionView()
122 if (bc_def->num_essential_comps > 0) { in BCDefinitionView()
123 for (PetscInt i = 0; i < bc_def->num_essential_comps; i++) { in BCDefinitionView()
124 PetscCall(PetscViewerASCIIPrintf(viewer, " %" PetscInt_FMT, bc_def->essential_comps[i])); in BCDefinitionView()
164 *name = bc_def->name; in BCDefinitionGetInfo()
169 *num_label_values = bc_def->num_label_values; in BCDefinitionGetInfo()
170 *label_values = bc_def->label_values; in BCDefinitionGetInfo()
185 bc_def->num_essential_comps = num_essential_comps; in BCDefinitionSetEssential()
186 PetscCall(PetscMalloc1(num_essential_comps, &bc_def->essential_comps)); in BCDefinitionSetEssential()
187 PetscCall(PetscArraycpy(bc_def->essential_comps, essential_comps, num_essential_comps)); in BCDefinitionSetEssential()
203 *num_essential_comps = bc_def->num_essential_comps; in BCDefinitionGetEssential()
204 *essential_comps = bc_def->essential_comps; in BCDefinitionGetEssential()
218 …PetscCall(BCDefinitionCreate(PetscOptionsObject->comm, name, num_label_values, label_values, bc_de… in PetscOptionsBCDefinition_Private()
234 if (bc_def->dm) PetscCall(DMDestroy(&bc_def->dm)); in BCDefinitionSetDM()
238 bc_def->dm = dm; in BCDefinitionSetDM()
254 *dm = bc_def->dm; in BCDefinitionGetDM()
268 if (bc_def->DestroyCtx) PetscCall((*bc_def->DestroyCtx)(&bc_def->ctx)); in BCDefinitionSetContext()
269 bc_def->ctx = ctx; in BCDefinitionSetContext()
270 bc_def->DestroyCtx = destroy_ctx; in BCDefinitionSetContext()
284 *(void **)ctx = bc_def->ctx; in BCDefinitionGetContext()
298 bc_def->CreateIFunctionQF = create_qf; in BCDefinitionSetIFunction()
299 bc_def->AddIFunctionOperator = add_op; in BCDefinitionSetIFunction()
313 bc_def->CreateIJacobianQF = create_qf; in BCDefinitionSetIJacobian()
314 bc_def->AddIJacobianOperator = add_op; in BCDefinitionSetIJacobian()
336 …if (!bc_def->CreateIFunctionQF || !bc_def->AddIFunctionOperator) PetscFunctionReturn(PETSC_SUCCESS… in BCDefinitionAddOperators()
337 …PetscBool add_ijac = (!bc_def->CreateIJacobianQF || !bc_def->AddIJacobianOperator || !op_ijac) ? P… in BCDefinitionAddOperators()
338 …PetscCheck(bc_def->dm, PETSC_COMM_SELF, PETSC_ERR_ARG_WRONGSTATE, "BCDefinition must have DM set u… in BCDefinitionAddOperators()
340 PetscCall(bc_def->CreateIFunctionQF(bc_def, &qf_ifunction)); in BCDefinitionAddOperators()
341 if (add_ijac) PetscCall(bc_def->CreateIJacobianQF(bc_def, &qf_ijacobian)); in BCDefinitionAddOperators()
343 PetscCall(DMGetLabel(bc_def->dm, "Face Sets", &face_sets_label)); in BCDefinitionAddOperators()
352 … PetscCall(DMPlexCreateFaceLabel(bc_def->dm, face_set_values[f], &face_orientation_label_name)); in BCDefinitionAddOperators()
353 PetscCall(DMGetLabel(bc_def->dm, face_orientation_label_name, &face_orientation_label)); in BCDefinitionAddOperators()
356 …PetscCall(DMLabelCreateGlobalValueArray(bc_def->dm, face_orientation_label, &num_orientations_valu… in BCDefinitionAddOperators()
357 for (PetscInt o = 0; o < num_orientations_values; o++) { in BCDefinitionAddOperators() local
359 PetscInt orientation = orientation_values[o]; in BCDefinitionAddOperators()
361 …PetscCall(bc_def->AddIFunctionOperator(bc_def, face_orientation_label, orientation, qf_ifunction, … in BCDefinitionAddOperators()
362 …if (add_ijac) PetscCall(bc_def->AddIJacobianOperator(bc_def, sub_op_ifunc, face_orientation_label,… in BCDefinitionAddOperators()