Releases: andrsd/godzilla
Releases · andrsd/godzilla
v0.15.0
What's Changed
New Features
- Adding mass_surface for TET4 by @andrsd in #1031
- Adding math::exp by @andrsd in #1036
- Refactoring exception system by @andrsd in #1037
- Adding
Borrowed{Global|Local}Vectorby @andrsd in #1039 - Adding
Vector::set_values{_local}that acceptsSpanby @andrsd in #1040 - Adding
Matrix::set_valuesthat takesSpanandDynDenseMatrixby @andrsd in #1041 - Adding
Matrix::get_size()which returnsstd::tupleby @andrsd in #1042 - Adding
Matrix::get_local_size()which returnsstd::tupleby @andrsd in #1044 - Adding
LinearProblem::get_ksp()that returns writable reference by @andrsd in #1045 - Enable building against PETSc 3.24 by @andrsd in #1046
- Can only
setdeclared parameters by @andrsd in #1047 Parameters::add_paramreports error on the lineadd_paramwas called by @andrsd in #1048Parameters::getreports the error on the line wheregethappened by @andrsd in #1049Parameters::make_param_requiredreports where error happened by @andrsd in #1050- Adding
String:operator[]by @andrsd in #1051 - Provide parameter name suggestions when set/get operation fails by @andrsd in #1052
- Adding
SNESolver::converged_reason_view_setby @andrsd in #1053 - Adding
KrylovSolver::get_iteration_number()by @andrsd in #1054 - Adding
SNESolver::get_iteration_numberby @andrsd in #1055 - Adding
KrylovSolver::converged_reason_view_setby @andrsd in #1056 - Hook-up converged reason view to
NonlinearProblemby @andrsd in #1057 - Hook-up converged reason view to
LinearProblemby @andrsd in #1058 - Adding
KrylovSolver::get_total_iterationsby @andrsd in #1059 - Adding
SNESolver::get_linear_solve_iterationsby @andrsd in #1060
Fixed Problems
- "name" parameter in
Postprocessors is required by @andrsd in #1028 - Prevent adding post-processors with duplicate names by @andrsd in #1029
- Fixing crash when getting a parameter with default value but mismatching type by @andrsd in #1030
NaturalBoundaryInfocan handle null facet IndexSet by @andrsd in #1034EssentialBoundaryInfocan handle null vertex IndexSet by @andrsd in #1035
API Changes
IndexSet::is_emptyis added to replaceIndexSet::emptyby @andrsd in #1027expect_truenow takesstd::stringandstd::source_locationby @andrsd in #1038
Full Changelog: v0.14.0...v0.15.0
v0.14.0
What's Changed
New features
- Adding execute on capability to
Postprocessorby @andrsd in #1011 - Adding
Label::get_stratum_rangeby @andrsd in #1015 - Adding
copyforArray1Dby @andrsd in #1016 - Adding
Spanby @andrsd in #1017 - Adding
Matrix::create_aijby @andrsd in #1018 - Adding
UnstructuredMesh::get_vertex_numberingby @andrsd in #1019 - Adding
is_closeintomathmodule by @andrsd in #1020
API Changes
- Removing
App::set_problemby @andrsd in #1006 - Renaming
MeshNetworktoNetworkMeshby @andrsd in #1007 - Repurposing Ref for handle to an 'object' by @andrsd in #1010
Array1Dnow expects an MPI communicator when constructed by @andrsd in #1021- Redesigning output system by @andrsd in #1023
Other Changes
Full Changelog: v0.13.0...v0.14.0
v0.13.1
v0.13.0
What's Changed
Fixed Problems
API Changes
- Adding
VectorBorrowedArray{Read}by @andrsd in #999 - Changing API to handle
IndexSetindices by @andrsd in #1000
Other Changes
- Adding
App::make_parametersby @andrsd in #988 - Adding
App::make_problemby @andrsd in #992 - Adding wrapper for
DMLocatePointsby @andrsd in #994 - Adding
Quadrature::create_simplexby @andrsd in #995 - Adding
Quadrature::create_stroud_conicalby @andrsd in #996 - Adding Quadrature::create_tensor_quadrature by @andrsd in #997
- Adding fe::orient by @andrsd in #1003
Full Changelog: v0.12.0...v0.13.0
v0.12.1
What's Changed
API Changes
- Deprecating operator() on
Array1Dby @andrsd in #961 - Adding more error reporting functions by @andrsd in #968
- Removing
Factoryby @andrsd in #969 - Stripping away the old logging capability by @andrsd in #972
- Repurposing
LoggingInterfacefor logging into a file by @andrsd in #977 - Reworking interactions with command line argument parsing by @andrsd in #978
- Using
ExpectedintXYZProblemInterfaceAPIs by @andrsd in #981 - Refactoring
AuxiliaryField::get_field_id()by @andrsd in #982
Other Changes
- Adding
String::replaceby @andrsd in #957 - Adding functions to check element (TRI3, TET4) orientation by @andrsd in #960
- Adding
Expectedby @andrsd in #963 - Adding
BoundingBoxand API to get bounding box from a mesh by @andrsd in #966 - Parameter remembers where it was set by @andrsd in #970
- Fail to compile when trying to generate Qtr dtor with an incomplete type by @andrsd in #998
Full Changelog: v0.11.0...v0.12.1
v0.12.0
What's Changed
Fixed Problems
- Error out when redefining a parameter by @andrsd in #959
ExodusIIOutputworks forProblems with no primary fields by @andrsd in #974- Fixing block restricted output of elemental variables in
ExodusIIOutputby @andrsd in #975 - Correcting types in
CommandLineInterfacefor files by @andrsd in #979
API Changes
- Deprecating operator() on
Array1Dby @andrsd in #961 - Adding more error reporting functions by @andrsd in #968
- Removing
Factoryby @andrsd in #969 - Stripping away the old logging capability by @andrsd in #972
- Repurposing
LoggingInterfacefor logging into a file by @andrsd in #977 - Reworking interactions with command line argument parsing by @andrsd in #978
- Using
ExpectedintXYZProblemInterfaceAPIs by @andrsd in #981 - Refactoring
AuxiliaryField::get_field_id()by @andrsd in #982
Other Changes
- Adding
String::replaceby @andrsd in #957 - Adding functions to check element (TRI3, TET4) orientation by @andrsd in #960
- Adding
Expectedby @andrsd in #963 - Adding
BoundingBoxand API to get bounding box from a mesh by @andrsd in #966 - Parameter remembers where it was set by @andrsd in #970
Full Changelog: v0.11.0...v0.12.0
v0.11.0
What's Changed
API Changes
LineSearchTypeis a class enum by @andrsd in #932- Adding
Stringtype by @andrsd in #933 - MPI communicator is passed by value in API by @andrsd in #938
- Removing unneeded functions by @andrsd in #941
- Default ctor of
FieldIDinitializes toINVALIDfield by @andrsd in #942 - Redesigning "scheme" parameter by @andrsd in #946
- assert_true must be a macro by @andrsd in #950
Other Changes
- Adding wrappers for logarithms by @andrsd in #930
- Adding support for PETSc 3.23 by @andrsd in #931
- Files use
fs::pathtype by @andrsd in #940 - Adding point-wise operations for
Array1Dby @andrsd in #943 - Removing "ts_adapt" from
TransientProblemInterfaceby @andrsd in #944 - Adding
Range::containsby @andrsd in #947 - FileMesh: non-existing mesh file is a hard stop by @andrsd in #948
- Generalize
joinfor containers by @andrsd in #949 - Bump dependencies by @andrsd in #951
Full Changelog: v0.10.0...v0.11.0
v0.10.0
What's Changed
Fixed Problems
- Reference fixes in PCFieldSplit by @andrsd in #875
- Fixing
grad_shapeforTET4by @andrsd in #909 - Normalize path in
RestartFileby @andrsd in #921 L2Diffhonors our way of computing boundary values by @andrsd in #925
API Changes
- Removing
ParametersfromObjectby @andrsd in #873 - Adding MeshFactory by @andrsd in #876
- Removing muPraser by @andrsd in #879
- Removing the adaptor subsystem by @andrsd in #890
- Changing
DiscreteProblemInterface::add_auxiliary_fieldto accept Parameters by @andrsd in #891 - Changing
Problem::add_outputto accept Parameters by @andrsd in #892 - Changing
Problem::add_postprocessorto accept Parameters by @andrsd in #893 - Redoing execute on flags by @andrsd in #901
- Dropping input file and related classes by @andrsd in #904
common_cells_by_vertexin no longer member function by @andrsd in #915- Allow implicit construction of
DenseVectorfrom an initializer list by @andrsd in #916 - Modifying access rights in
CommandLineInterfaceby @andrsd in #919
Other Changes
Parametersare value only by @andrsd in #869- cmake: install FindPETSc.cmake during install by @andrsd in #870
- Redesigning
DiscreteProblemInterface::add_boundary_conditionby @andrsd in #886 - Redesigning DiscreteProblemInterface::add_initial_condition by @andrsd in #887
- Correct types used internally in Mesh objects by @andrsd in #894
- Adding
get_block_id_from_regionby @andrsd in #896 - Adding API to make parameter required by @andrsd in #897
- Adding
Parameters::add_private_paramwith no default by @andrsd in #898 - Adding
TransientProblemInterface::function_domain_errorby @andrsd in #900 - Split CLI functionality from the App class by @andrsd in #903
Loggerreports directly when error/warning occurs by @andrsd in #906- Object: "name" parameter is now public by @andrsd in #907
- Object: "_app" parameter is now required and public by @andrsd in #908
- Adding sin, cos, tan into
mathnamespace by @andrsd in #910 PiecewiseConstantcan be transferred viaParametersby @andrsd in #913- Adding
utils::unreachableby @andrsd in #918 - Adding
PetscObjectWrapper::get_commby @andrsd in #923 - Adding
Vector::get_ownership_rangeby @andrsd in #922 - Parallel restart by @andrsd in #924
CallStackchanges by @andrsd in #926- Adding
expect_trueby @andrsd in #927 Parameter::typereturns demangled type by @andrsd in #928
Full Changelog: v0.9...v0.10.0
v0.9
What's Changed
Fixed Problems
- Report correct order in
DGProblemInterface::get_field_order()by @andrsd in #632 - Fixing
DynDenseMatrix::transposedby @andrsd in #703 - Free allocated
WeakFormObject by @andrsd in #704 - Don't create the partitioner twice by @andrsd in #705
- Destroy SNESolver if we built it by @andrsd in #706
- Fixing
IndexSet::to_std_vectorby @andrsd in #771 - Fixing storage of input file inside App by @andrsd in #783
- Fixing printing of
human_timeby @andrsd in #827 - Fixing orientation of TET4 elements by @andrsd in #836
- Fixing
Logger::printof number of warnings/errors by @andrsd in #838
API Changes
- DGProblemInterface: Components are stored next to each other per node by @andrsd in #639
- Removing polymoprhism from Problem::get_dimension by @andrsd in #682
- Removing
Problem::get_meshby @andrsd in #683 - The
solvemethod on (Non)LinearProblem is no longer virtual by @andrsd in #684 - Adding {pre|post}_solve methods to
NonlinearProblemby @andrsd in #685 FileOutput::get_file_extis private virtual by @andrsd in #687create_preconditionerdoes not return anything by @andrsd in #692- Adding API to get underlying PETSc objects from TimeStepAdapt by @andrsd in #694
- Removing
lprintfby @andrsd in #696 - Rename
lprinttolprintlnby @andrsd in #697 - Applications can set output monitor by @andrsd in #698
- Unifying solver API by @andrsd in #721
pre_solveandpost_solveare virtual by @andrsd in #724- Adding conversion module by @andrsd in #728
- Adding colored version of
lprintlnby @andrsd in #730 - Adding API into LinearProblem so child classes can get access to the … by @andrsd in #731
- Monitors are no longer virtual methods by @andrsd in #732
- Changing API on
IndexSetby @andrsd in #733 App::registerObjects->App::register_objectsby @andrsd in #734- Applications can inject their own
MeshObjectvia an input file by @andrsd in #736 - Renaming
BoundaryInfoAbstracttoAbstractBoundaryInfoby @andrsd in #740 - Refactoring Array1D by @andrsd in #742
- Refactoring Vector API by @andrsd in #743
- StarForest improvements by @andrsd in #751
- Adding API to support parallel communication by @andrsd in #758
- Refactoring
PrintingInterfaceby @andrsd in #759 Terminalrefactoring by @andrsd in #761- Refactoring
TecplotOutputby @andrsd in #763 - Introducing
Ordertype by @andrsd in #789 - Adding
FieldIDtype by @andrsd in #790 - Redoing setters on Parameters by @andrsd in #793
- Rewriting the restart capability by @andrsd in #807
- Adding
ConveredReasonintoTransientProblemInterfaceby @andrsd in #810 create_preconditionerAPI returnsPreconditinerobject by @andrsd in #811- Removing deprecated API by @andrsd in #814
calc_nodal_radiustakesconst &to coordinates by @andrsd in #819MeshObjectusesQtrby @andrsd in #820- Adding
App::get_input_file()by @andrsd in #824 - Refactoring error API by @andrsd in #833
- Refactoring App::check_integrity by @andrsd in #834
- Allow more flexibility in
FileOutputs by @andrsd in #837 - Moving
compute_boundary_localby @andrsd in #842 - Correcting
NonlinearProblemAPI by @andrsd in #851 - Adding missing
noexcepton move constructor and move assigment operator by @andrsd in #858
Other Changes
- Adding
UnstructuredMesh::get_cone_sizeby @andrsd in #616 - Adding
KrylovSolver::get_tolerancesby @andrsd in #617 - Adding
Matrix::create_shellby @andrsd in #619 - Adding
Matrix::set_typeby @andrsd in #618 - Adding
UnstructuredMesh::get_cell_numberingby @andrsd in #620 - Adding
UnstructuredMesh::is_distributedby @andrsd in #621 - Adding
UnstructuredMesh::create_closure_indexby @andrsd in #622 - Adding
UnstructuredMesh::get_point_depthby @andrsd in #623 - Adding more API to access (remote) leaves of the
StarForrest::Graphby @andrsd in #624 - Adding
Label::get_stratum_boundsby @andrsd in #625 UnstructuredMeshcan create 'my_cells' label by @andrsd in #626- Adding
Problem::create_section_subisby @andrsd in #628 - Adding wrapper API to
IndexSetby @andrsd in #629 - Adding
Matrix::transposeby @andrsd in #631 - Compute local solution vector only once before outputing the variables by @andrsd in #633
- Adding more wrapper API into
IndexSetby @andrsd in #634 - Adding
enumeratefor enumerating containers by @andrsd in #635 - Adding operator to pre-multiply a matrix with a scalar by @andrsd in #636
- templ in by @andrsd in #638
- Adding assignment operator for
DynDenseMatrixby @andrsd in #637 - Adding
Matrix::set_valuesfor DynDense{Matrix|Vector} by @andrsd in #640 - Adding
KrylovSolver::get_rhsby @andrsd in #641 - Adding
KrylovSolver::get_operator{s}by @andrsd in #642 - Adding
Vector::copyusingIndexSetby @andrsd in #644 - Adding
Preconditioner::applyby @andrsd in #645 - Set adjacency for DG problems by @andrsd in #646
- Making
LinearProblemmore flexible by @andrsd in #647 - Adding
KrylovSolver::converged_reason_strby @andrsd in #648 - Allow setting KSP type via user parameter in
LinearProblemby @andrsd in #650 - Adding
KrylovSolver::viewby @andrsd in #649 - Adding function for formatting number so that people can actually read them by @andrsd in #651
- Adding
Vector::set_values_localusing {Dyn}DenseVector as arguments by @andrsd in #652 - Adding
Matrix::set_values_localby @andrsd in #653 - Adding
Vector::set_valuesfor{Dyn}DenseVectorby @andrsd in #654 - Allow iteration over empty
IndexSetby @andrsd in #655 - Adding
validation::in_rangeby @andrsd in #656 - Improving
Quadratureencapsulation by @andrsd in #657 - Adding
get_feintoDGProblemInterfaceandFEProblemInterfaceby @andrsd in #658 - Dropping [[nodiscard]] by @andrsd in #659
- Adding
UnstructuredMesh::get_facetsby @andrsd in #660 - Adding
magnitudeforDenseVectorby @andrsd in #661 - Adding
{Dyn}DenseVector::normalizedmethod by @andrsd in #662 - Adding
Section::set_chartusingRangeby @andrsd in #663 - Adding
Section::get_chartthatreturn aRangeby @andrsd in https://github.com...
v0.8
What's Changed
New Features
- Adding operator* for DenseVector and DenseMatrixSymm by @andrsd in #476
- Adding integration coefficients for tri-linear forms by @andrsd in #477
- ExodusII meshes are read in by our code by @andrsd in #479
- Adding UnstructuredMesh::get_face_sets by @andrsd in #487
- Refactoring BC boundary check in its own function by @andrsd in #488
- Adding mat_col and mat_row for DenseVector<T, N> by @andrsd in #489
- Adding TSAbstract for creating custom time stepping schemes by @andrsd in #492
- Improving Terminal API by @andrsd in #498
- Refactoring object registration by @andrsd in #500
- fe::BoundaryInfo provides create_vertex_index_set() by @andrsd in #503
- Refactoring ExecuteOn flags by @andrsd in #504
- Adding Iterator to Array1D by @andrsd in #505
- Adding new API to compute FE volumes using just UnstructuredMesh reference by @andrsd in #506
- Adding API to compute gradient of shape functions using UnstructuredMesh by @andrsd in #507
- Adding initial capability for loading dynamic libraries by @andrsd in #508
- Adding API for auxiliary vecs in Problem by @andrsd in #509
- Making more methods non-virtual by @andrsd in #510
- Improving API so that fields can be restricted to
Labels by @andrsd in #511 - Adding API to set residual/Jacobian in
NonlinearProblemby @andrsd in #513 - Adding wrapper around SNES by @andrsd in #514
- Adding
Init::Initby @andrsd in #516 Appclass improvements by @andrsd in #517- InternalError exception by @andrsd in #520
- Adding
Vector::filter, deprecatingVector::chopby @andrsd in #522 TSAbstractdirectly calls godzilla API by @andrsd in #523- Adding more exodusII element types by @andrsd in #544
- Godzilla name in cmake realm is all lower case by @andrsd in #546
- Renaming GodzillaConfig to Config.h by @andrsd in #547
- Adding
Vector::axpbyby @andrsd in #549 - Adding
Vector::get_typeby @andrsd in #550 - Adding
UnstructuredMesh::compute_cell_volumeby @andrsd in #553 - Adding API for setting vector and matrix type by @andrsd in #551
- HYPRE is optional by @andrsd in #555
fe::coordinatesandfe::connectivityuse PETSc indices by @andrsd in #576- Adding grad shape for TET4 by @andrsd in #579
- cmake improvements by @andrsd in #583
- Array2D is stored in row-major manner by @andrsd in #585
- Adding
Mesh::get_neighborsby @andrsd in #587 - Adding
Matrix::scaleby @andrsd in #586 - Relax access to methods in LinearProblem by @andrsd in #588
- Adding convenience functions for creating
Ranges by @andrsd in #590 - Adding dynamic Dense{Matrix|Vector} by @andrsd in #589
- Adding
UnstructuredMesh::get_vertex_coordinatesby @andrsd in #591 - Adding operator<< for DynDense{Matrix|Vector} by @andrsd in #593
- Adding
KrylovSolver::set_initial_guess_nonzeroby @andrsd in #594 - Adding
KrylovSolver::set_upby @andrsd in #595 - Adding
Vector::set_optionby @andrsd in #596 - Adding
KrylovSolver::set_convergence_testby @andrsd in #597 - Adding
Vector::create_mpiby @andrsd in #598 - Adding more converged reasons for KrylovSolver by @andrsd in #599
- Adding Vector::{get|restore}_sub_vector by @andrsd in #600
- Adding
KrylovSolver::set_typeby @andrsd in #601 IndexSet::create_generaltakes copy mode parameter by @andrsd in #602- Adding
KrylovSolver::set_pc_sideby @andrsd in #603 - mpicpp-lite is pulled as an external dependency by @andrsd in #604
- Adding
Vector::assignby @andrsd in #605 - Adding exception for not implemented cases by @andrsd in #606
- Optimizing operations with
DynDenseMatrixby @andrsd in #608 - Wrapping DM_POLYTOPE_TYPE into PolytopeType class enum by @andrsd in #609
- Improving const correctness on Vector by @andrsd in #610
- Adding
UnstructuredMesh::get_support_sizeby @andrsd in #611 - Adding
Vector::normby @andrsd in #612 - Adding
SNESolver::mat_create_mf()by @andrsd in #613 - Adding SNESolver::{get|set}_type by @andrsd in #614
Fixed Problems
- Output was reporting incorrect warning regarding
onandintervalby @andrsd in #474 - Fixing FileMesh by @andrsd in #475
- Use correct face size when call get_full_join by @andrsd in #483
- Do not output the same timestep twice by @andrsd in #497
- Fixing output for steady-state problems by @andrsd in #501
- cmake: MPI fixes by @andrsd in #521
- Fixing missing dependency in cmake find module by @andrsd in #548
- TimedEvent actualy measures time by @andrsd in #581
API Changes
- Removing Object::check by @andrsd in #480
- Mesh refactoring by @andrsd in #482
- Adding Mesh::view() by @andrsd in #484
- Fixes related to parallel execution by @andrsd in #486
- Changing API for callback by @andrsd in #491
- Moving
get_schemefrom TransientProblemInterface toExplicitProblemInterfaceby @andrsd in #524 compute_fluxforFVProblemInterfaceis a delegate by @andrsd in #526- Renaming
set_up_aux_fieldstocreate_aux_fieldsby @andrsd in #527 - Renaming set_{fe|aux_fe} to set_{field|aux_field} by @andrsd in #529
- Adding
ErrorCodewhich is an alias for PetscErrorCode by @andrsd in #531 FunctionInterfacetakes the spatial dimension from the associatedProblemby @andrsd in #532InitialConditionAPI changes by @andrsd in #533AuxiliaryFieldAPI changes by @andrsd in #534- API changes in
BoundaryConditions by @andrsd in #536 - TransientProblemInterface is using delegates by @andrsd in #540
- L2{Field}Diff is using delegates by @andrsd in #539
FENonlinearProblemuses delegates by @andrsd in #541- Adding
FileMesh::get_file_formatby @andrsd in #545 - Refactoring
fe::common_elements_by_nodeby @andrsd in #552 - Cleanup compute API by @andrsd in #560
- Removing UnstructuredMesh::get_chart(start, end) by @andrsd in #571
- More flexible indexing into Array1D by @andrsd in #572
- Element coordinates are stored as
DenseMatrixinside thefemodule by @andrsd in #573 calc_element_lengthdoes not passconnectanymore by @andrsd in #574- Removing math functions from Array1D by @andrsd in #578
- '_type' param is added during Factory::get_parameters() by @andrsd in https://github.com/andrsd/godzilla/pul...