ceed.h (e9b533fb9793b92fee16c1660fbf6414c678b8a7) ceed.h (b7c9bbdafc9b91976b65f80ebb2c5357c2efd8bc)
1/// Copyright (c) 2017, Lawrence Livermore National Security, LLC. Produced at
2/// the Lawrence Livermore National Laboratory. LLNL-CODE-734707. All Rights
3/// reserved. See files LICENSE and NOTICE for details.
4///
5/// This file is part of CEED, a collection of benchmarks, miniapps, software
6/// libraries and APIs for efficient high-order finite element and spectral
7/// element discretizations for exascale applications. For more information and
8/// source code availability see http://github.com/ceed.

--- 343 unchanged lines hidden (view full) ---

352 const CeedScalar **array);
353CEED_EXTERN int CeedVectorNorm(CeedVector vec, CeedNormType type,
354 CeedScalar *norm);
355CEED_EXTERN int CeedVectorScale(CeedVector x, CeedScalar alpha);
356CEED_EXTERN int CeedVectorAXPY(CeedVector y, CeedScalar alpha, CeedVector x);
357CEED_EXTERN int CeedVectorPointwiseMult(CeedVector w, CeedVector x, CeedVector y);
358CEED_EXTERN int CeedVectorReciprocal(CeedVector vec);
359CEED_EXTERN int CeedVectorView(CeedVector vec, const char *fp_fmt, FILE *stream);
1/// Copyright (c) 2017, Lawrence Livermore National Security, LLC. Produced at
2/// the Lawrence Livermore National Laboratory. LLNL-CODE-734707. All Rights
3/// reserved. See files LICENSE and NOTICE for details.
4///
5/// This file is part of CEED, a collection of benchmarks, miniapps, software
6/// libraries and APIs for efficient high-order finite element and spectral
7/// element discretizations for exascale applications. For more information and
8/// source code availability see http://github.com/ceed.

--- 343 unchanged lines hidden (view full) ---

352 const CeedScalar **array);
353CEED_EXTERN int CeedVectorNorm(CeedVector vec, CeedNormType type,
354 CeedScalar *norm);
355CEED_EXTERN int CeedVectorScale(CeedVector x, CeedScalar alpha);
356CEED_EXTERN int CeedVectorAXPY(CeedVector y, CeedScalar alpha, CeedVector x);
357CEED_EXTERN int CeedVectorPointwiseMult(CeedVector w, CeedVector x, CeedVector y);
358CEED_EXTERN int CeedVectorReciprocal(CeedVector vec);
359CEED_EXTERN int CeedVectorView(CeedVector vec, const char *fp_fmt, FILE *stream);
360CEED_EXTERN int CeedVectorGetCeed(CeedVector vec, Ceed *ceed);
360CEED_EXTERN int CeedVectorGetLength(CeedVector vec, CeedInt *length);
361CEED_EXTERN int CeedVectorDestroy(CeedVector *vec);
362
363CEED_EXTERN CeedRequest *const CEED_REQUEST_IMMEDIATE;
364CEED_EXTERN CeedRequest *const CEED_REQUEST_ORDERED;
365CEED_EXTERN int CeedRequestWait(CeedRequest *req);
366
367/// Argument for CeedOperatorSetField that vector is collocated with

--- 58 unchanged lines hidden (view full) ---

426 CeedElemRestriction *rstr_copy);
427CEED_EXTERN int CeedElemRestrictionCreateVector(CeedElemRestriction rstr,
428 CeedVector *lvec, CeedVector *evec);
429CEED_EXTERN int CeedElemRestrictionApply(CeedElemRestriction rstr,
430 CeedTransposeMode t_mode, CeedVector u, CeedVector ru, CeedRequest *request);
431CEED_EXTERN int CeedElemRestrictionApplyBlock(CeedElemRestriction rstr,
432 CeedInt block, CeedTransposeMode t_mode, CeedVector u, CeedVector ru,
433 CeedRequest *request);
361CEED_EXTERN int CeedVectorGetLength(CeedVector vec, CeedInt *length);
362CEED_EXTERN int CeedVectorDestroy(CeedVector *vec);
363
364CEED_EXTERN CeedRequest *const CEED_REQUEST_IMMEDIATE;
365CEED_EXTERN CeedRequest *const CEED_REQUEST_ORDERED;
366CEED_EXTERN int CeedRequestWait(CeedRequest *req);
367
368/// Argument for CeedOperatorSetField that vector is collocated with

--- 58 unchanged lines hidden (view full) ---

427 CeedElemRestriction *rstr_copy);
428CEED_EXTERN int CeedElemRestrictionCreateVector(CeedElemRestriction rstr,
429 CeedVector *lvec, CeedVector *evec);
430CEED_EXTERN int CeedElemRestrictionApply(CeedElemRestriction rstr,
431 CeedTransposeMode t_mode, CeedVector u, CeedVector ru, CeedRequest *request);
432CEED_EXTERN int CeedElemRestrictionApplyBlock(CeedElemRestriction rstr,
433 CeedInt block, CeedTransposeMode t_mode, CeedVector u, CeedVector ru,
434 CeedRequest *request);
435CEED_EXTERN int CeedElemRestrictionGetCeed(CeedElemRestriction rstr,
436 Ceed *ceed);
434CEED_EXTERN int CeedElemRestrictionGetCompStride(CeedElemRestriction rstr,
435 CeedInt *comp_stride);
436CEED_EXTERN int CeedElemRestrictionGetNumElements(CeedElemRestriction rstr,
437 CeedInt *num_elem);
438CEED_EXTERN int CeedElemRestrictionGetElementSize(CeedElemRestriction rstr,
439 CeedInt *elem_size);
440CEED_EXTERN int CeedElemRestrictionGetLVectorSize(CeedElemRestriction rstr,
441 CeedInt *l_size);

--- 85 unchanged lines hidden (view full) ---

527 const CeedScalar *grad,
528 const CeedScalar *q_ref,
529 const CeedScalar *q_weights, CeedBasis *basis);
530CEED_EXTERN int CeedBasisReferenceCopy(CeedBasis basis, CeedBasis *basis_copy);
531CEED_EXTERN int CeedBasisView(CeedBasis basis, FILE *stream);
532CEED_EXTERN int CeedBasisApply(CeedBasis basis, CeedInt num_elem,
533 CeedTransposeMode t_mode,
534 CeedEvalMode eval_mode, CeedVector u, CeedVector v);
437CEED_EXTERN int CeedElemRestrictionGetCompStride(CeedElemRestriction rstr,
438 CeedInt *comp_stride);
439CEED_EXTERN int CeedElemRestrictionGetNumElements(CeedElemRestriction rstr,
440 CeedInt *num_elem);
441CEED_EXTERN int CeedElemRestrictionGetElementSize(CeedElemRestriction rstr,
442 CeedInt *elem_size);
443CEED_EXTERN int CeedElemRestrictionGetLVectorSize(CeedElemRestriction rstr,
444 CeedInt *l_size);

--- 85 unchanged lines hidden (view full) ---

530 const CeedScalar *grad,
531 const CeedScalar *q_ref,
532 const CeedScalar *q_weights, CeedBasis *basis);
533CEED_EXTERN int CeedBasisReferenceCopy(CeedBasis basis, CeedBasis *basis_copy);
534CEED_EXTERN int CeedBasisView(CeedBasis basis, FILE *stream);
535CEED_EXTERN int CeedBasisApply(CeedBasis basis, CeedInt num_elem,
536 CeedTransposeMode t_mode,
537 CeedEvalMode eval_mode, CeedVector u, CeedVector v);
538CEED_EXTERN int CeedBasisGetCeed(CeedBasis basis, Ceed *ceed);
535CEED_EXTERN int CeedBasisGetDimension(CeedBasis basis, CeedInt *dim);
536CEED_EXTERN int CeedBasisGetTopology(CeedBasis basis, CeedElemTopology *topo);
537CEED_EXTERN int CeedBasisGetNumComponents(CeedBasis basis, CeedInt *num_comp);
538CEED_EXTERN int CeedBasisGetNumNodes(CeedBasis basis, CeedInt *P);
539CEED_EXTERN int CeedBasisGetNumNodes1D(CeedBasis basis, CeedInt *P_1d);
540CEED_EXTERN int CeedBasisGetNumQuadraturePoints(CeedBasis basis, CeedInt *Q);
541CEED_EXTERN int CeedBasisGetNumQuadraturePoints1D(CeedBasis basis,
542 CeedInt *Q_1d);

--- 58 unchanged lines hidden (view full) ---

601CEED_EXTERN int CeedQFunctionGetFields(CeedQFunction qf,
602 CeedInt *num_input_fields,
603 CeedQFunctionField **input_fields,
604 CeedInt *num_output_fields,
605 CeedQFunctionField **output_fields);
606CEED_EXTERN int CeedQFunctionSetContext(CeedQFunction qf,
607 CeedQFunctionContext ctx);
608CEED_EXTERN int CeedQFunctionView(CeedQFunction qf, FILE *stream);
539CEED_EXTERN int CeedBasisGetDimension(CeedBasis basis, CeedInt *dim);
540CEED_EXTERN int CeedBasisGetTopology(CeedBasis basis, CeedElemTopology *topo);
541CEED_EXTERN int CeedBasisGetNumComponents(CeedBasis basis, CeedInt *num_comp);
542CEED_EXTERN int CeedBasisGetNumNodes(CeedBasis basis, CeedInt *P);
543CEED_EXTERN int CeedBasisGetNumNodes1D(CeedBasis basis, CeedInt *P_1d);
544CEED_EXTERN int CeedBasisGetNumQuadraturePoints(CeedBasis basis, CeedInt *Q);
545CEED_EXTERN int CeedBasisGetNumQuadraturePoints1D(CeedBasis basis,
546 CeedInt *Q_1d);

--- 58 unchanged lines hidden (view full) ---

605CEED_EXTERN int CeedQFunctionGetFields(CeedQFunction qf,
606 CeedInt *num_input_fields,
607 CeedQFunctionField **input_fields,
608 CeedInt *num_output_fields,
609 CeedQFunctionField **output_fields);
610CEED_EXTERN int CeedQFunctionSetContext(CeedQFunction qf,
611 CeedQFunctionContext ctx);
612CEED_EXTERN int CeedQFunctionView(CeedQFunction qf, FILE *stream);
613CEED_EXTERN int CeedQFunctionGetCeed(CeedQFunction qf, Ceed *ceed);
609CEED_EXTERN int CeedQFunctionApply(CeedQFunction qf, CeedInt Q,
610 CeedVector *u, CeedVector *v);
611CEED_EXTERN int CeedQFunctionDestroy(CeedQFunction *qf);
612
613CEED_EXTERN int CeedQFunctionFieldGetName(CeedQFunctionField qf_field,
614 char **field_name);
615CEED_EXTERN int CeedQFunctionFieldGetSize(CeedQFunctionField qf_field,
616 CeedInt *size);

--- 56 unchanged lines hidden (view full) ---

673CEED_EXTERN int CeedOperatorMultigridLevelCreateH1(CeedOperator op_fine,
674 CeedVector p_mult_fine, CeedElemRestriction rstr_coarse, CeedBasis basis_coarse,
675 const CeedScalar *interp_c_to_f, CeedOperator *op_coarse,
676 CeedOperator *op_prolong, CeedOperator *op_restrict);
677CEED_EXTERN int CeedOperatorCreateFDMElementInverse(CeedOperator op,
678 CeedOperator *fdm_inv, CeedRequest *request);
679CEED_EXTERN int CeedOperatorSetNumQuadraturePoints(CeedOperator op, CeedInt num_qpts);
680CEED_EXTERN int CeedOperatorView(CeedOperator op, FILE *stream);
614CEED_EXTERN int CeedQFunctionApply(CeedQFunction qf, CeedInt Q,
615 CeedVector *u, CeedVector *v);
616CEED_EXTERN int CeedQFunctionDestroy(CeedQFunction *qf);
617
618CEED_EXTERN int CeedQFunctionFieldGetName(CeedQFunctionField qf_field,
619 char **field_name);
620CEED_EXTERN int CeedQFunctionFieldGetSize(CeedQFunctionField qf_field,
621 CeedInt *size);

--- 56 unchanged lines hidden (view full) ---

678CEED_EXTERN int CeedOperatorMultigridLevelCreateH1(CeedOperator op_fine,
679 CeedVector p_mult_fine, CeedElemRestriction rstr_coarse, CeedBasis basis_coarse,
680 const CeedScalar *interp_c_to_f, CeedOperator *op_coarse,
681 CeedOperator *op_prolong, CeedOperator *op_restrict);
682CEED_EXTERN int CeedOperatorCreateFDMElementInverse(CeedOperator op,
683 CeedOperator *fdm_inv, CeedRequest *request);
684CEED_EXTERN int CeedOperatorSetNumQuadraturePoints(CeedOperator op, CeedInt num_qpts);
685CEED_EXTERN int CeedOperatorView(CeedOperator op, FILE *stream);
686CEED_EXTERN int CeedOperatorGetCeed(CeedOperator op, Ceed *ceed);
687CEED_EXTERN int CeedOperatorGetNumElements(CeedOperator op, CeedInt *num_elem);
688CEED_EXTERN int CeedOperatorGetNumQuadraturePoints(CeedOperator op,
689 CeedInt *num_qpts);
681CEED_EXTERN int CeedOperatorApply(CeedOperator op, CeedVector in,
682 CeedVector out, CeedRequest *request);
683CEED_EXTERN int CeedOperatorApplyAdd(CeedOperator op, CeedVector in,
684 CeedVector out, CeedRequest *request);
685CEED_EXTERN int CeedOperatorDestroy(CeedOperator *op);
686
687CEED_EXTERN int CeedOperatorFieldGetName(CeedOperatorField op_field,
688 char **field_name);

--- 57 unchanged lines hidden ---
690CEED_EXTERN int CeedOperatorApply(CeedOperator op, CeedVector in,
691 CeedVector out, CeedRequest *request);
692CEED_EXTERN int CeedOperatorApplyAdd(CeedOperator op, CeedVector in,
693 CeedVector out, CeedRequest *request);
694CEED_EXTERN int CeedOperatorDestroy(CeedOperator *op);
695
696CEED_EXTERN int CeedOperatorFieldGetName(CeedOperatorField op_field,
697 char **field_name);

--- 57 unchanged lines hidden ---